λ‚˜λ§Œμ˜ μ˜€λž˜λ‹¬λ¦¬κΈ°λ₯Ό ν•˜λŠ” μ‚¬λžŒ

Become a ghost

Computer Science/Operating system 운영체제

[250312] 운영체제 μŠ€λ ˆλ“œ(Thread) κ°œλ… 정리 / μžλ°” μŠ€λ ˆλ“œ 예제

jennnnna 2025. 3. 13. 01:58

μŠ€λ ˆλ“œ(Thread)  

λŒ€λΆ€λΆ„μ˜ ν”„λ‘œκ·Έλž¨λ“€ (ν”„λ‘œμ„ΈμŠ€) 이 μ„œλ‘œ 독립적인 일듀을 λΆˆν•„μš”ν•˜κ²Œ 순차적으둜 μˆ˜ν–‰ν•˜λŠ” 점을 κ°œμ„ ν•˜κΈ° μœ„ν•΄ 

ν”„λ‘œμ„ΈμŠ€λ³΄λ‹€ μž‘κ³ , λ…λ¦½μ μœΌλ‘œ μŠ€μΌ€μ€„λ§μ΄ κ°€λŠ₯ν•œ μŠ€λ ˆλ“œ(CPU 에 보내져 μ‹€ν–‰λ˜λŠ” λ‹¨μœ„) κ°œλ…μ΄ λ‚˜μ˜€κ²Œ λ˜μ—ˆλ‹€. 

 

πŸ’‘ 각 ν”„λ‘œμ„ΈμŠ€λŠ” λ…λ¦½λœ μ£Όμ†Œ 곡간을 μ‚¬μš©ν•˜κΈ° λ•Œλ¬Έμ— ν”„λ‘œμ„ΈμŠ€ κ°„ 톡신을 μœ„ν•΄μ„œλŠ” λ©”μ‹œμ§€ 큐, μ„Έλ§ˆ 포어, 곡유 λ©”λͺ¨λ¦¬ λ“± μ‹œμŠ€ν…œ μžμ›μ΄ ν•„μš”ν–ˆμŒ.

 

πŸ’‘λ¬Όλ¦¬μ μœΌλ‘œ ν•˜λ‚˜μ˜ CPU 둜 λ™μ‹œμ— ν•œ 개 μ΄μƒμ˜ μŠ€λ ˆλ“œκ°€ μˆ˜ν–‰λ  μˆ˜λŠ” μ—†λ‹€. 즉, cpu λŠ” 맀우 λΉ λ₯΄κ²Œ μŠ€λ ˆλ“œμ—μ„œ λ‹€μŒ μŠ€λ ˆλ“œλ‘œ κ΅ν™˜(switch) λ˜μ–΄ μΈκ°„μ˜ λˆˆμ—λŠ” 그것듀이 λ™μ‹œμ— μ„œλΉ„μŠ€ λ°›λŠ” κ²ƒμœΌλ‘œ 보일 뿐이닀. 

 

μŠ€λ ˆλ“œμ— λŒ€ν•΄μ„œ 

- 각 μŠ€λ ˆλ“œλŠ” 독립적이닀.

- μŠ€λ ˆλ“œμ˜ μ‹€ν–‰, μ’…λ£Œ μˆœμ„œλŠ” μ˜ˆμΈ‘ν•  수 μ—†λ‹€ 

- ν”„λ‘œκ·Έλž¨μ— μžˆλŠ” μŠ€λ ˆλ“œ μˆ˜λŠ” λ‹€λ₯Έ μŠ€λ ˆλ“œμ—κ²Œ μ•Œλ €μ§€μ§€ μ•ŠμŒ 

- μŠ€λ ˆλ“œλŠ” ν”„λ‘œκ·Έλž¨ μ™ΈλΆ€μ—μ„œ 보이지 μ•ŠμŒ 

- μŠ€λ ˆλ“œλŠ” μ„œλ‘œ λ…λ¦½μ μ΄μ§€λ§Œ ν•œ μŠ€λ ˆλ“œκ°€ μ·¨ν•œ 행동은 λ‹€λ₯Έ μŠ€λ ˆλ“œμ—κ²Œ 영ν–₯ λ―ΈμΉœλ‹€ 

- ν”„λ‘œμ„ΈμŠ€μ˜ μΌλΆ€λ‘œμ„œ ν”„λ‘œμ„ΈμŠ€ μžμ›μ„ κ³΅μœ ν•˜μ§€λ§Œ 독립적인 μŠ€λ ˆλ“œλ‘œμ„œ μ²˜λ¦¬μ‹œκ°„, μŠ€νƒ, λ ˆμ§€μŠ€ν„°λ“€μ΄ 할당됨. 

- ν”„λ‘œμ„ΈμŠ€κ°€ exit() μ‹œμŠ€ν…œ μ½œμ„ 톡해 μ’…λ£Œλ˜λ©΄ λͺ¨λ“  μŠ€λ ˆλ“œλ“€μ΄ μ’…λ£Œλœλ‹€. 

 

 

단일 μŠ€λ ˆλ“œν˜• ν”„λ‘œμ„ΈμŠ€μ™€ 닀쀑 μŠ€λ ˆλ“œν˜• ν”„λ‘œμ„ΈμŠ€ 

좜처: https://eun-jeong.tistory.com/19 흔듀리며 ν”ΌλŠ” 꽃

 

πŸ’‘λ‹€μ€‘ μŠ€λ ˆλ“œν˜• ν”„λ‘œμ„ΈμŠ€: κ°κ° μŠ€λ ˆλ“œλŠ” νž™, μŠ€νƒœν‹±, μ½”λ“œλŠ” κ³΅μœ ν•˜μ§€λ§Œ μŠ€λ ˆλ“œ 고유의 λ ˆμ§€μŠ€ν„°, μŠ€νƒ 을 가진닀. 

 

 

닀쀑 μŠ€λ ˆλ”©μ΄λž€

- λ‹€μˆ˜μ˜ μŠ€λ ˆλ“œλ₯Ό μ΄μš©ν•˜μ—¬ ν•˜λ‚˜μ˜ ν”„λ‘œκ·Έλž¨μ„ λ™μ‹œμ— μ²˜λ¦¬ν•˜λŠ” 것. 

 

 

닀쀑 ν”„λ‘œμ„Έμ‹±κ³Όμ˜ 차이점

- ν•˜λ‚˜μ˜ ν”„λ‘œμ„ΈμŠ€ μ•ˆμ—μ„œ ν•„μš”ν•œ μžμ›λ“€μ„ κ³΅μœ ν•˜κΈ° λ•Œλ¬Έμ— μžμ›μ˜ 생성 및 관리가 μ€‘λ³΅λ˜λŠ” 것을 μ΅œμ†Œν™”ν•  수 μžˆλ‹€. 

 

μ€‘λŸ‰ ν”„λ‘œμ„ΈμŠ€ (Heavy Weight Process)

- ν•˜λ‚˜μ˜ μŠ€λ ˆλ“œλ₯Ό 가진 ν”„λ‘œμ„ΈμŠ€. ν”„λ‘œμ„ΈμŠ€ 내에 μŠ€λ ˆλ“œκ°€ μ—†μœΌλ©΄ μˆ˜ν–‰λ  수 μ—†λ‹€. 

 

κ²½λŸ‰ ν”„λ‘œμ„ΈμŠ€ (Light Weight Process)

- ν”„λ‘œμ„ΈμŠ€ 내에 λ‘κ°œ μ΄μƒμ˜ μŠ€λ ˆλ“œλ₯Ό ν¬ν•¨ν•˜κ³  μžˆμ„ 경우 

 

 

 

 

 


 

μ•Œλ¦Ό: *개인 곡뢀 λͺ©μ μœΌλ‘œ μ •λ¦¬ν•œ κΈ€μž…λ‹ˆλ‹€* 

μ°Έκ³ ν•œ μ±…: 운영체제 (λ°•κ·œμ„, κΉ€μ°½μˆ˜, λ°°μΈν•œ, 이쀀연, 박홍진 μ§€μŒ) - 생λŠ₯좜판

 

이 μ±… μ§„μ§œ 가독성 μ΅œμ•…μ΄λ‹€ .... μ§„μ§œ μ΅œμ΅œμ•…μž„ 

아무리 μ „κ³΅μ„œμ μ΄λΌμ§€λ§Œ λ„ˆλ¬΄ν•œ μˆ˜μ€€μž„ γ…‹γ…‹γ…‹

말을 μΌλΆ€λŸ¬ μ–΄λ ΅κ²Œ 써놓은 건가 ? 걍 μ˜μ–΄ μ›μ„œ κ·ΈλŒ€λ‘œ λ²ˆμ—­ν•΄μ„œ κ°–λ‹€ 쓴건가? μ•„λ‹ˆ μ˜μ–΄ μ›μ„œ κ·ΈλŒ€λ‘œ 썼으면 였히렀 μ‰¬μ›Œμ•Όμ§€;; 

유튜브 μΆ”μ²œκΈ€ 보고 μ€‘κ³ λ‘œ μƒ€λŠ”λ° ν•œ λ¬Έμž₯ ν•œ λ¬Έμž₯을 죄닀 κΌ¬μ•„λ†“μŒ

μ•ˆκ·Έλž˜λ„ μ–΄λ €μš΄ κ³Όλͺ©μΈλ° μ΄ν•΄ν•˜λŠ”λ° 두 배둜 였래 κ±Έλ¦¬λŠ” μ€‘μž„.

μ²˜μŒμ—λŠ” κ³Όλͺ©μ΄ μ–΄λ €μ›Œμ„œ κ·ΈλŸ°κ±΄κ°€? λ‚΄κ°€ λ¬Έμ œμΈκ°€ μ‹Άμ—ˆλŠ”λ° 두 μ„Έλ²ˆ 읽고도 이해 μ•ˆλ˜λŠ” λ¬Έμž₯ 지피티가 ν•΄μ„ν•΄μ€„λ•Œλ§ˆλ‹€ λ„λŒ€μ²΄ μ™œ μ΄λ ‡κ²Œ μ„€λͺ…을 해놓은건지 이해가 μ•ˆλœλ‹€. 걍 λ‹Ήμ—°ν•œ μ–˜κΈ°λ₯Ό κ²λ‚˜ μ–΄λ ΅κ²Œ μ μ–΄λ†“μŒ. 이게 λ­”. 

 

무튼... 이걸둜 λκΉŒμ§€ μ–΄μΌ€ 읽징