CS/OS

ν”„λ‘œμ„ΈμŠ€μ™€ μ“°λ ˆλ“œ(process, thread)

deo2kim 2020. 10. 9. 20:52
λ°˜μ‘ν˜•

πŸ“” κΈ°λ³Έ μš©μ–΄ 정리

  • ν”„λ‘œκ·Έλž¨: μ‹€ν–‰ν•  수 μžˆλŠ” 파일 (μΉ΄μΉ΄μ˜€ν†‘, 크둬, λ‘€ 같은 것)
  • ν”„λ‘œμ„ΈμŠ€: 싀행쀑인 ν”„λ‘œκ·Έλž¨ λ˜λŠ” μ‹€ν–‰ν•˜κ³  μžˆλŠ” μƒνƒœ(μœ„μ™€ 같은 ν”„λ‘œκ·Έλž¨μ„ 싀행함)
  • ν”„λ‘œμ„Έμ„œ: ν”„λ‘œμ„ΈμŠ€κ°€ λ™μž‘ν•  수 μžˆλ„λ‘ ν•˜λŠ” ν•˜λ“œμ›¨μ–΄(CPU)
  • μŠ€λ ˆλ“œ: ν”„λ‘œμ„ΈμŠ€ λ‚΄μ—μ„œ μ‹€ν–‰λ˜λŠ” μž‘μ—… λ‹¨μœ„

πŸ“” ν”„λ‘œμ„ΈμŠ€

  • ν”„λ‘œμ„ΈμŠ€λŠ” μ»΄ν“¨ν„°μ˜ μžμ›(μ½”λ“œ, 데이터, νž™, μŠ€νƒ)을 λ°›μ•„ ν•œλ²ˆμ— ν•˜λ‚˜μ˜ 일을 μ²˜λ¦¬ν•¨
    • μ½”λ“œ: ν”„λ‘œκ·Έλž¨μ˜ μ½”λ“œ
    • 데이터: μ „μ—­λ³€μˆ˜
    • νž™: λ™μ μœΌλ‘œ ν• λ‹Ήλ˜λŠ” λ©”λͺ¨λ¦¬
    • μŠ€νƒ: 호좜된 ν•¨μˆ˜, λ§€κ°œλ³€μˆ˜, μ§€μ—­λ³€μˆ˜ λ“± μž„μ‹œμ μΈ 자료
  • ν•˜μ§€λ§Œ μš°λ¦¬λŠ” μŒμ•…λ“€μœΌλ©΄μ„œ μ½”λ”©ν•˜κ³ , 검색도 ν•œλ‹€.
    • μ‹€μ œλ‘œ λ™μ‹œμ— μ΄λ£¨μ–΄μ§€λŠ” 것도 있고, λ™μ‹œμ— μ΄λ£¨μ–΄μ§€λŠ”κ²ƒμ²˜λŸΌ λ³΄μ΄λŠ” 것도 μžˆλ‹€.
    • λ™μ‹œμ„±(Concurrency): ν”„λ‘œμ„Έμ„œ ν•˜λ‚˜κ°€ μ—¬λŸ¬ μž‘μ—…λ“€μ„ μ‘°κΈˆμ”© λŒμ•„κ°€λ©΄μ„œ ν•˜λŠ”κ²ƒ
      • μ‘°κΈˆμ”© 이것저것 μž‘μ—…ν•˜λ©΄μ„œ μ „ν™˜ν•˜λŠ” 속도가 맀우 빨라 λ™μ‹œμ— ν•˜λŠ” κ²ƒμ²˜λŸΌ λ³΄μž„
    • 병렬적(Parallelism): ν”„λ‘œμ„ΈμŠ€ ν•˜λ‚˜μ— μ—¬λŸ¬κ°œμ˜ μ½”μ–΄κ°€ 각각 λ™μ‹œμ— μž‘μ—…μ„ μˆ˜ν–‰
      • λ“€μ–Όμ½”μ–΄ λ“±... λ©€ν‹°μ½”μ–΄
  • λ©€ν‹° ν”„λ‘œμ„ΈμŠ€: μž‘μ—…μ„ μ—¬λŸ¬κ°€μ§€ ν•  수 μžˆμ§€λ§Œ 각각 λ”°λ‘œ λ©”λͺ¨λ¦¬λ₯Ό 가지고 μžˆμ–΄μ„œ λΉ„νš¨μœ¨μ΄ λ°œμƒν•œλ‹€.
    • 각각의 μ˜μ—­μ„ λ©”λͺ¨λ¦¬μ— 올리고 λ‚΄λ¦¬λŠ” μž‘μ—…μ΄ ν•„μš”ν•¨(context switching이 무거움)
    • ν”„λ‘œμ„ΈμŠ€λΌλ¦¬ 정보λ₯Ό κ³΅μœ ν•˜κΈ° μœ„ν•΄μ„œλŠ” λ”°λ‘œ 톡신이 ν•„μš”ν•˜λ‹€.
    • λ•Œλ¬Έμ— μ“°λ ˆλ“œκ°€ 생김

 

πŸ“” μŠ€λ ˆλ“œ

  • ν•œ ν”„λ‘œμ„ΈμŠ€ λ‚΄μ—μ„œλ„ λ™μ‹œμ— μž‘μ—…μ„ 진행할 수 μžˆλŠ”λ° 이λ₯Ό μŠ€λ ˆλ“œλΌκ³  ν•œλ‹€.
  • 각 μŠ€λ ˆλ“œλŠ” μ½”λ“œ, 데이터, νž™μ€ ν”„λ‘œμ„ΈμŠ€μ™€ κ³΅μœ ν•΄μ„œ μ‚¬μš©ν•˜κ³ , κ°œλ³„μ μœΌλ‘œ μŠ€νƒμ˜μ—­μ„ 가진닀.
    • μžμ›μ„ κ³΅μœ ν•˜κΈ° λ•Œλ¬Έμ— μ†λ„λ©΄μ—μ„œ λΉ λ₯΄λ‹€(context switching 이 가벼움)
    • ν•˜μ§€λ§Œ λ™μ‹œμ— μ†λŒ€λ©΄ 좩돌이 일어날 수 μžˆλ‹€
  • μŠ€λ ˆλ“œμ˜ 단점:
    • 디버깅이 κΉŒλ‹€λ‘­λ‹€
    • ν•œ ν”„λ‘œμ„ΈμŠ€ μ•ˆμ˜ μŠ€λ ˆλ“œμ— λ¬Έμ œκ°€ 생기면 λ‹€λ₯Έ μŠ€λ ˆλ“œλ„ λ¬Έμ œκ°€ 생김
    • 같은 데이터λ₯Ό κ³΅μœ ν•˜κΈ°μ— 데이터 동기화에 μ£Όμ˜ν•΄μ•Όν•¨

 

λ°˜μ‘ν˜•