[OS] ν”„λ‘œμ„ΈμŠ€μ™€ μŠ€λ ˆλ“œ
Computer Science

[OS] ν”„λ‘œμ„ΈμŠ€μ™€ μŠ€λ ˆλ“œ

728x90
λ°˜μ‘ν˜•

 

πŸ’« 간단 κ°œλ…

πŸ’¬ ν”„λ‘œμ„ΈμŠ€(Process)

ν˜„μž¬ 싀행쀑인 ν”„λ‘œκ·Έλž¨μ΄λ©°, μš΄μ˜μ²΄μ œλ‘œλΆ€ν„° 고유 곡간과 μžμ›μ„ ν• λ‹Ή λ°›μ•„ μ‹€ν–‰λ˜λŠ” μž‘μ—… λ‹¨μœ„

πŸ’¬ μŠ€λ ˆλ“œ(Thread)

ν•΄λ‹Ή ν”„λ‘œμ„ΈμŠ€ μ•ˆμ—μ„œμ˜ μž‘μ—… 흐름을 λ³΄μ—¬μ£ΌλŠ” μ‹€ν–‰ λ‹¨μœ„, ν•œ ν”„λ‘œμ„ΈμŠ€ λ‚΄ μŠ€λ ˆλ“œλ“€ κ°„ λ©”λͺ¨λ¦¬λ₯Ό κ³΅μœ ν•œλ‹€. 

 

πŸ’« μ£Όμš” νŠΉμ§•

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

  • μš΄μ˜μ²΄μ œλ‘œλΆ€ν„° 고유의 μ£Όμ†Œ 곡간과 μžμ›μ„ ν• λ‹Ή λ°›μ•„ μ‹€ν–‰

  • CODE, DATA, HEAP, STACK ꡬ쑰둜 이루어져 있음

  • λ‹€λ₯Έ ν”„λ‘œμ„ΈμŠ€μ˜ 영ν–₯을 받지 μ•Šκ³  λ…λ¦½μ μœΌλ‘œ μ‹€ν–‰

  • κ³Όκ±°μ—λŠ” ν•˜λ‚˜μ˜ ν”„λ‘œμ„ΈμŠ€λ§Œ μ‹€ν–‰ν•  수 μžˆμ—ˆμ§€λ§Œ, μ§€κΈˆμ€ 병렬 μ²˜λ¦¬ν•˜λŠ” 'λ©€ν‹° ν”„λ‘œμ„ΈμŠ€(λ©€ν‹° νƒœμŠ€ν‚Ή)' κ°€λŠ₯

πŸ’¬ μŠ€λ ˆλ“œ(Thread)

  • ν•œ ν”„λ‘œμ„ΈμŠ€ λ‚΄μ—μ„œ μ—¬λŸ¬ μŠ€λ ˆλ“œλ₯Ό λ™μ‹œμ— μ‹€ν–‰ κ°€λŠ₯ -> λ°”λ‘œ 'λ©€ν‹° μŠ€λ ˆλ“œ'

  • μŠ€νƒμ€ κ³ μœ ν•˜κ²Œ ν• λ‹Ή λ°›μ§€λ§Œ κ·Έ μ™Έ μ½”λ“œ, 데이터, νž™ μ˜μ—­μ€ λ‹€λ₯Έ μŠ€λ ˆλ“œλ“€κ³Ό ν•¨κ»˜ 곡유

  • λ”°λΌμ„œ ν•œ μŠ€λ ˆλ“œμ— μ—λŸ¬κ°€ λ°œμƒν•˜λ©° ν•΄λ‹Ή ν”„λ‘œμ„ΈμŠ€ λ‚΄ λͺ¨λ“  μŠ€λ ˆλ“œκ°€ κ°•μ œ μ’…λ£Œλ¨

 

πŸ’« λ©€ν‹° ν”„λ‘œμ„ΈμŠ€μ™€ λ©€ν‹° μŠ€λ ˆλ“œ

πŸ’¬ λ©€ν‹° ν”„λ‘œμ„ΈμŠ€

  • μž₯점 : μ•ˆμ „μ„± -> ν”„λ‘œμ„ΈμŠ€ κ°„ λ©”λͺ¨λ¦¬ μΉ¨λ²” 문제 ν•΄κ²°

  • 단점 :  Context Switching으둜 μΈν•œ μ„±λŠ₯ μ €ν•˜, μž‘μ—…λŸ‰ λ§Žμ„ 수둝 μ˜€λ²„ν—€λ“œ λ°œμƒ

πŸ’¬ λ©€ν‹° μŠ€λ ˆλ“œ

  • μž₯점 : Context-Switchingν•  λ•Œ κ³΅μœ ν•˜κ³  μžˆλŠ” λ©”λͺ¨λ¦¬λ§ŒνΌμ˜ λ©”λͺ¨λ¦¬ μžμ›μ„ μ ˆμ•½, μž‘μ—… μ‘λ‹΅μ‹œκ°„ λΉ λ₯΄λ‹€

  • 단점 :  동기화 문제, ν”„λ‘œκ·Έλž˜λ° 및 디버깅이 κΉŒλ‹€λ‘œμ›€, μŠ€λ ˆλ“œ ν•˜λ‚˜μ˜ 였λ₯˜λŠ” 곧 λͺ¨λ“  μŠ€λ ˆλ“œ κ°•μ œ μ’…λ£Œ

 

πŸ‘‰λ©€ν‹°μŠ€λ ˆλ“œλŠ” μž₯단점 λͺ¨λ‘ μžˆμ§€λ§Œ, μŠ€λ ˆλ“œ κΈ°λ³Έ ꡬ쑰상 λ©”λͺ¨λ¦¬λ₯Ό κ³΅μœ ν•˜κΈ° λ•Œλ¬Έμ— λ©€ν‹° ν”„λ‘œμ„ΈμŠ€ 보닀 λ©€ν‹° μŠ€λ ˆλ“œκ°€ CPU μžμ›μ„ 아끼고 효율적으둜 μ‚¬μš©ν•  수 μžˆλ‹€.

 

 

 

 

 

 

 

ν•΄λ‹Ή λ‚΄μš©μ€ CSλ₯Ό 개인적으둜 κ³΅λΆ€ν•˜λ©° μ •λ¦¬ν•œ λ‚΄μš©μž…λ‹ˆλ‹€.

잘λͺ»λœ λΆ€λΆ„μ΄λ‚˜ λΆ€μ‘±ν•œ 점은 λŒ“κΈ€λ‘œ ν”Όλ“œλ°± μ£Όμ‹œλ©΄ κ°μ‚¬ν•˜κ² μŠ΅λ‹ˆλ‹€. πŸ™‡‍♂️

λ°˜μ‘ν˜•