์šด์˜์ฒด์ œ ์ด๋ก  - ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ ๋ชจ๋ธ

2023. 7. 26. 22:44ยท ๐Ÿ’ป Computer Science/Operating System
๋ชฉ์ฐจ
  1. (1) ์‚ฌ์šฉ์ž ์ˆ˜์ค€ ์Šค๋ ˆ๋“œ (User-Level Thread)
  2. (1-1) ์ด๋ก 
  3. (1-2) ์žฅ์ 
  4. (1-3) ๋‹จ์ 
  5. (2) ์ปค๋„ ์ˆ˜์ค€ ์Šค๋ ˆ๋“œ (Kernel-level thread)
  6. (2-1) ์ด๋ก 
  7. (2-2) ์žฅ์ 
  8. (2-3) ๋‹จ์ 
  9. (3) ๋ฉ€ํ‹ฐ๋ ˆ๋ฒจ ์Šค๋ ˆ๋“œ (Multi-level thread) or ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์Šค๋ ˆ๋“œ (Hybrid thread)
  10. (3-1) ์ด๋ก 
  11. [Note] TCB (Thread Control Block)

1) ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ ๋ชจ๋ธ

  • ์•ž์—์„œ ์ด์•ผ๊ธฐํ–ˆ๋“ฏ์ด ํ”„๋กœ์„ธ์Šค๋Š” ์ปค๋„ ํ”„๋กœ์„ธ์Šค์™€ ์‚ฌ์šฉ์ž ํ”„๋กœ์„ธ์Šค๋กœ ๋‚˜๋‰˜๋ฉฐ ์Šค๋ ˆ๋“œ์—๋„ ์ปค๋„ ์Šค๋ ˆ๋“œ์™€ ์‚ฌ์šฉ์ž ์Šค๋ ˆ๋“œ๊ฐ€ ์žˆ๋‹ค.

 

ยท ์ปค๋„ ์Šค๋ ˆ๋“œ : ์ปค๋„์ด ์ง์ ‘ ์ƒ์„ฑํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ์Šค๋ ˆ๋“œ์ด๋‹ค.
ยท ์‚ฌ์šฉ์ž ์Šค๋ ˆ๋“œ : ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ์˜ํ•ด ๊ตฌํ˜„๋œ ์ผ๋ฐ˜์ ์ธ ์Šค๋ ˆ๋“œ์ด๋‹ค.

 

  • ์‚ฌ์šฉ์ž ์Šค๋ ˆ๋“œ๊ฐ€ ์ปค๋„ ์Šค๋ ˆ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์‹œ์Šคํ…œ ํ˜ธ์ถœ๋กœ ์ปค๋„ ๊ธฐ๋Šฅ์„ ์ด์šฉํ•ด์•ผ ํ•˜๋Š”๋ฐ ์ด ๋•Œ, ์ปค๋„ ์Šค๋ ˆ๋“œ์™€ ์‚ฌ์šฉ์ž ์Šค๋ ˆ๋“œ์˜ ๋Œ€์‘ ๋ฐฉ์‹์— ๋”ฐ๋ผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ถ„๋ฅ˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

(1) ์‚ฌ์šฉ์ž ์ˆ˜์ค€ ์Šค๋ ˆ๋“œ (User-Level Thread)

 

(1-1) ์ด๋ก 

  • ์šด์˜์ฒด์ œ๊ฐ€ ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์„ ๋•Œ, ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ์ดˆ๊ธฐ์˜ ์‹œ์Šคํ…œ์—์„œ ์ด์šฉ๋˜์—ˆ๋‹ค.

 

  • ์ด ์Šค๋ ˆ๋“œ๋Š” ์œ ์ € ๋ ˆ๋ฒจ์—์„œ ์Šค๋ ˆ๋“œ๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ด€๋ จ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„ํ•˜๋ฉฐ, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ์ปค๋„์ด ์ง€์›ํ•˜๋Š” ์Šค์ผ€์ค„๋ง์ด๋‚˜ ๋™๊ธฐํ™” ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ๋Œ€์‹  ๊ตฌํ˜„ํ•ด์ค€๋‹ค.

 

  • ๊ทธ๋Ÿฌ๋ฏ€๋กœ ์ปค๋„ ์ž…์žฅ์—์„œ ์ด ์Šค๋ ˆ๋“œ๋Š” ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค์ฒ˜๋Ÿผ ๋ณด์ด๋ฉฐ, ์‚ฌ์šฉ์ž ์Šค๋ ˆ๋“œ๋Š” ์ปค๋„ ์ž…์žฅ์—์„œ๋Š” ์ผ๋ฐ˜ ํ”„๋กœ์„ธ์Šค์ด์ง€๋งŒ ์ปค๋„์ด ํ•˜๋Š” ์ผ์„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ๋Œ€์‹  ์ฒ˜๋ฆฌํ•˜์—ฌ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์Šค๋ ˆ๋“œ๋ฅผ ์ž‘๋™ํ•œ๋‹ค.

 

  • ๋”ฐ๋ผ์„œ, ์‚ฌ์šฉ์ž ํ”„๋กœ์„ธ์Šค ๋‚ด์— ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์Šค๋ ˆ๋“œ๊ฐ€ ์กด์žฌํ•˜์ง€๋งŒ ์ปค๋„์˜ ์Šค๋ ˆ๋“œ ํ•˜๋‚˜์™€ ์—ฐ๊ฒฐ๋˜๊ธฐ ๋•Œ๋ฌธ์— โ€œ1 to Nโ€ ๋ชจ๋ธ์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

 

  • ์‚ฌ์šฉ์ž ์Šค๋ ˆ๋“œ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์ง์ ‘ ์Šค์ผ€์ค„๋ง์„ ํ•˜๊ณ  ์ž‘์—…์— ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ๋งฅ ๊ตํ™˜์ด ํ•„์š” ์—†๋‹ค!

 

โ†’ ํ”„๋กœ์„ธ์Šค A์—๊ฒŒ ํ• ๋‹น๋œ ํƒ€์ž„ ์Šฌ๋ผ์ด์Šค๊ฐ€ ๋‹จ์ˆœํ•˜๊ฒŒ โ€œ5nsโ€๋ผ ๊ฐ€์ •ํ•œ๋‹ค๋ฉด ํ”„๋กœ์„ธ์Šค A์˜ ์‚ฌ์šฉ์ž ์Šค๋ ˆ๋“œ ์Šค์ผ€์ค„๋Ÿฌ์˜ ์ •์ฑ…์— ์˜ํ•ด ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž ์Šค๋ ˆ๋“œ๊ฐ€ ์ด ์‹œ๊ฐ„์„ ๋‚˜๋ˆ ์„œ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜๊ฒŒ ๋œ๋‹ค.

 

(1-2) ์žฅ์ 

  • ์šด์˜์ฒด์ œ์—์„œ ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ๋ฅผ ์ง€์›ํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค.

 

  • ์Šค์ผ€์ค„๋ง ๊ฒฐ์ •์ด๋‚˜ ๋™๊ธฐํ™”๋ฅผ ์œ„ํ•ด ์ปค๋„์„ ํ˜ธ์ถœํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ ์ปค๋„ ๋ ˆ๋ฒจ ์Šค๋ ˆ๋“œ๋ณด๋‹ค ์˜ค๋ฒ„ ํ—ค๋“œ๊ฐ€ ์ ๋‹ค.

 

โ†’ ์‚ฌ์šฉ์ž ์˜์—ญ ์Šค๋ ˆ๋“œ์—์„œ ์ž‘์—…์„ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— OS ์Šค์ผ€์ค„๋Ÿฌ์˜ ๋ฌธ๋งฅ ๊ตํ™˜์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š”๋‹ค. (์œ ์ €๋ ˆ๋ฒจ ์Šค๋ ˆ๋“œ ์Šค์ผ€์ค„๋Ÿฌ๋ฅผ ์ด์šฉํ•จ)

 

โ†’ ์ฆ‰, ์ปค๋„์˜ ๊ด€๋ฆฌ๋ฅผ ๋ฐ›์ง€ ์•Š๊ณ  ์ปค๋„ ๋˜ํ•œ ์‚ฌ์šฉ์ž ์Šค๋ ˆ๋“œ์˜ ์กด์žฌ๋ฅผ ๋ชจ๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ๋ชจ๋“œ ๊ฐ„์˜ ์ „ํ™˜์ด ์—†๊ณ  ์„ฑ๋Šฅ ์ด๋“์ด ๋ฐœ์ƒํ•œ๋‹ค.

 

(1-3) ๋‹จ์ 

  • ์‹œ์Šคํ…œ ์ „๋ฐ˜์— ๊ฑธ์นœ ์Šค์ผ€์ค„๋ง ์šฐ์„ ์ˆœ์œ„๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š๋Š”๋‹ค.

 

โ†’ ์–ด๋–ค ์Šค๋ ˆ๋“œ๊ฐ€ ๋จผ์ € ๋™์ž‘ํ•  ์ง€ ์•Œ ์ˆ˜ ์—†๋‹ค.

 

  • ํ”„๋กœ์„ธ์Šค์— ์†ํ•œ ์‚ฌ์šฉ์ž ์Šค๋ ˆ๋“œ ์ค‘ I/O ์ž‘์—… ๋“ฑ์— ์˜ํ•ด ํ•˜๋‚˜๋ผ๋„ Block์ด ๊ฑธ๋ฆฐ๋‹ค๋ฉด ์ „์ฒด ์‚ฌ์šฉ์ž ์Šค๋ ˆ๋“œ๊ฐ€ Block ๋œ๋‹ค.

 

โ†’ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์‚ฌ์šฉ์ž ์Šค๋ ˆ๋“œ๊ฐ€ ํ•˜๋‚˜์˜ ์ปค๋„ ์Šค๋ ˆ๋“œ์™€ ์—ฐ๊ฒฐ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ปค๋„ ์Šค๋ ˆ๋“œ๊ฐ€ ์ž…์ถœ๋ ฅ ์ž‘์—…์„ ์œ„ํ•ด ๋Œ€๊ธฐ ์ƒํƒœ์— ๋“ค์–ด๊ฐ€๊ฒŒ ๋˜๋ฉด ๋ชจ๋“  ์‚ฌ์šฉ์ž ์Šค๋ ˆ๋“œ๊ฐ€ ๊ฐ™์ด ๋Œ€๊ธฐํ•˜๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค.

 

โ†’ ์ปค๋„ ์ž…์žฅ์—์„œ๋Š” ํ•˜๋‚˜์˜ ๋‹จ์ผ ์Šค๋ ˆ๋“œ ํ”„๋กœ์„ธ์Šค์ด๋ฏ€๋กœ ์ผ๋ถ€ ์Šค๋ ˆ๋“œ๋งŒ ๋Œ€๊ธฐ ์ƒํƒœ๋กœ ๋ณด๋‚ผ ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

  • CPU ์ฝ”์–ด ์‚ฌ์šฉ์œจ์ด ๋งค์šฐ ๋–จ์–ด์ง„๋‹ค.

 

โ†’ ํ•œ ํ”„๋กœ์„ธ์Šค์˜ ํƒ€์ž„ ์Šฌ๋ผ์ด์Šค๋ฅผ ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž ์Šค๋ ˆ๋“œ๊ฐ€ ๊ณต์œ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์—ฌ๋Ÿฌ ๊ฐœ์˜ CPU๋ฅผ ๋™์‹œ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.

 

โ†’ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ปค๋„ ์ž…์žฅ์—์„œ ์‚ฌ์šฉ์ž ์Šค๋ ˆ๋“œ๋Š” ํ•˜๋‚˜์˜ ๋‹จ์ผ ์Šค๋ ˆ๋“œ ํ”„๋กœ์„ธ์Šค๋กœ ์ธ์‹๋˜๋ฏ€๋กœ ์ž‘์—…์„ ์—ฌ๋Ÿฌ ์ฝ”์–ด์— ๋‚˜๋ˆŒ ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

โ†’ ํ˜„๋Œ€์˜ CPU๋Š” ๊ณผ๊ฑฐ์™€ ๋‹ค๋ฅด๊ฒŒ ์‹ฑ๊ธ€ ์ฝ”์–ด๊ฐ€ ์•„๋‹Œ ๋ฉ€ํ‹ฐ ์ฝ”์–ด์ด๋ฏ€๋กœ ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ๋ฅผ ์ง€์›ํ•˜๋Š” ์ปค๋„์—์„œ๋Š” ์Šค๋ ˆ๋“œ๋ฅผ ์—ฌ๋Ÿฌ CPU ์ฝ”์–ด์— ๋‚˜๋ˆ„์–ด ์ž‘์—…ํ•˜์—ฌ CPU๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ํ˜„๋Œ€์˜ ์šด์˜์ฒด์ œ์—์„œ๋Š” User-level Thread ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค.

 

  • ๋ณด์•ˆ์— ์ทจ์•ฝํ•˜๋‹ค.

 

โ†’ ์ปค๋„ ๋ ˆ๋ฒจ์—์„œ๋Š” ๊ณต์œ  ๋ณ€์ˆ˜๋ฅผ ๋ณดํ˜ธํ•˜๋Š” ์žฅ์น˜๊ฐ€ ์žˆ์œผ๋‚˜ ์ด๋Ÿฌํ•œ ์„œ๋น„์Šค๋ฅผ ์ปค๋„์ด ์•„๋‹Œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ๊ตฌํ˜„ํ•ด์•ผ ํ•œ๋‹ค.

 

(2) ์ปค๋„ ์ˆ˜์ค€ ์Šค๋ ˆ๋“œ (Kernel-level thread)

 

(2-1) ์ด๋ก 

  • ์ปค๋„์ด ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ๋ฅผ ์ง€์›ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ํ•˜๋‚˜์˜ ์‚ฌ์šฉ์ž ์Šค๋ ˆ๋“œ๊ฐ€ ํ•˜๋‚˜์˜ ์ปค๋„ ์Šค๋ ˆ๋“œ์™€ ์—ฐ๊ฒฐ๋˜๊ธฐ ๋•Œ๋ฌธ์— โ€œ1 to 1โ€ ๋ชจ๋ธ์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

 

โ†’ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ƒ์„ฑ์ด ๋˜๋ฉด ์ปค๋„์€ ์ œ์–ดํ•˜๊ธฐ ์œ„ํ•œ ์ปค๋„ ์ˆ˜์ค€์˜ ์Šค๋ ˆ๋“œ๋ฅผ 1๊ฐœ ๋งŒ๋“ค๊ธฐ ๋•Œ๋ฌธ์— ํ”„๋กœ์„ธ์Šค๋Š” ์ ์–ด๋„ ํ•˜๋‚˜ ์ด์ƒ์˜ ์ปค๋„ ์Šค๋ ˆ๋“œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

 

  • ์ปค๋„ ์Šค๋ ˆ๋“œ๋Š” ๋…๋ฆฝ์ ์œผ๋กœ ์Šค์ผ€์ค„๋ง์ด ๋˜๋ฏ€๋กœ ํŠน์ • ์Šค๋ ˆ๋“œ๊ฐ€ ๋Œ€๊ธฐ ์ƒํƒœ์— ๋“ค์–ด๊ฐ€๋„ ๋‹ค๋ฅธ ์Šค๋ ˆ๋“œ๋Š” ์ž‘์—…์„ ๊ณ„์†ํ•  ์ˆ˜ ์žˆ๊ณ , ๋˜ํ•œ ์ปค๋„์ด ์ œ๊ณตํ•˜๋Š” ๋ณดํ˜ธ ๊ธฐ๋Šฅ๊ณผ ๊ฐ™์€ ๋ชจ๋“  ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

 

(2-2) ์žฅ์ 

  • ์ปค๋„์ด ๊ฐ ์Šค๋ ˆ๋“œ๋ฅผ ๊ฐœ๋ณ„์ ์œผ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.

 

  • ์ปค๋„์ด ์ง์ ‘ ์Šค๋ ˆ๋“œ๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์•ˆ์ •์„ฑ๊ณผ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์ด ์ œ๊ณต๋œ๋‹ค.

 

  • ํ•˜๋‚˜์˜ ์Šค๋ ˆ๋“œ๊ฐ€ ๋Œ€๊ธฐ ์ƒํƒœ์— ์žˆ์–ด๋„ ๋‹ค๋ฅธ ์Šค๋ ˆ๋“œ๋Š” ์ž‘์—…์„ ๊ณ„์†ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

  • ์ปค๋„ ์Šค๋ ˆ๋“œ์™€ 1:1๋กœ ์—ฐ๊ฒฐ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์—ฌ๋Ÿฌ CPU ์ฝ”์–ด์— ํ•œ๊บผ๋ฒˆ์— Dispatch ํ•  ์ˆ˜ ์žˆ์–ด ๋ฉ€ํ‹ฐํ”„๋กœ์„ธ์„œ ํ™˜๊ฒฝ์—์„œ ๋งค์šฐ ๋น ๋ฅด๊ฒŒ ๋™์ž‘ํ•œ๋‹ค.

 

(2-3) ๋‹จ์ 

  • ์Šค์ผ€์ค„๋ง๊ณผ ๋™๊ธฐํ™”๋ฅผ ์œ„ํ•ด ๋งค๋ฒˆ ์ปค๋„์„ ํ˜ธ์ถœํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฌด๊ฒ๊ณ  ์˜ค๋ž˜ ๊ฑธ๋ฆฐ๋‹ค.

 

โ†’ ์ฆ‰, ์‚ฌ์šฉ์ž ๋ชจ๋“œ์—์„œ ์ปค๋„ ๋ชจ๋“œ๋กœ์˜ ์ „ํ™˜์ด ๋นˆ๋ฒˆํ•˜๊ฒŒ ์ด๋ฃจ์–ด์ ธ ์„ฑ๋Šฅ ์ €ํ•˜๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. (๋ฌธ๋งฅ ๊ตํ™˜์œผ๋กœ ์ธํ•œ ์˜ค๋ฒ„ํ—ค๋“œ ๋ถ€ํ•˜ ๅคš)

 

(3) ๋ฉ€ํ‹ฐ๋ ˆ๋ฒจ ์Šค๋ ˆ๋“œ (Multi-level thread) or ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์Šค๋ ˆ๋“œ (Hybrid thread)

 

(3-1) ์ด๋ก 

  • ์‚ฌ์šฉ์ž ์Šค๋ ˆ๋“œ์™€ ์ปค๋„ ์Šค๋ ˆ๋“œ๋ฅผ ํ˜ผํ•ฉํ•œ ๋ฐฉ์‹์œผ๋กœ โ€œM to Nโ€ ๋ชจ๋ธ์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

 

โ†’ ๋ฉ€ํ‹ฐ๋ ˆ๋ฒจ ์Šค๋ ˆ๋“œ์—์„œ๋Š” ์ปค๋„ ์Šค๋ ˆ๋“œ์˜ ๊ฐœ์ˆ˜๊ฐ€ ์‚ฌ์šฉ์ž ์Šค๋ ˆ๋“œ ๊ฐœ์ˆ˜๋ณด๋‹ค ๊ฐ™๊ฑฐ๋‚˜ ์ ์–ด์•ผ ํ•œ๋‹ค.

 

  • ๋ฉ€ํ‹ฐ๋ ˆ๋ฒจ ์Šค๋ ˆ๋“œ๋Š” ์‚ฌ์šฉ์ž ์Šค๋ ˆ๋“œ์™€ ์ปค๋„ ์Šค๋ ˆ๋“œ์˜ ๋ฐฉ์‹์„ ํ˜ผ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉ์ž ์Šค๋ ˆ๋“œ์™€ ์ปค๋„ ์Šค๋ ˆ๋“œ์˜ ์žฅ๋‹จ์ ์„ ๋ชจ๋‘ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”๋ฐ ํ•˜๋‚˜์˜ ์ปค๋„ ์Šค๋ ˆ๋“œ๊ฐ€ ๋Œ€๊ธฐ ์ƒํƒœ์— ๋“ค์–ด๊ฐ€๊ฒŒ ๋˜๋ฉด ๋‹ค๋ฅธ ์ปค๋„ ์Šค๋ ˆ๋“œ๊ฐ€ ๋Œ€์‹  ์ž‘์—…์„ ํ•˜์—ฌ ์‚ฌ์šฉ์ž ์Šค๋ ˆ๋“œ๋ณด๋‹ค ์œ ์—ฐํ•˜๊ฒŒ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.

 

  • ๋‹ค๋งŒ, ์ปค๋„ ์Šค๋ ˆ๋“œ๋ฅผ ๊ฐ™์ด ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์—ฌ์ „ํžˆ ๋ฌธ๋งฅ ๊ตํ™˜ ์‹œ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ์žˆ์–ด ์‚ฌ์šฉ์ž ์Šค๋ ˆ๋“œ๋งŒํผ ๋น ๋ฅด์ง€ ์•Š๋‹ค.

 

  • ๋”ฐ๋ผ์„œ, ๋น ๋ฅด๊ฒŒ ์›€์ง์—ฌ์•ผ ํ•˜๋Š” ์Šค๋ ˆ๋“œ๋Š” ์‚ฌ์šฉ์ž ์Šค๋ ˆ๋“œ๋กœ ์ž‘๋™ํ•˜๊ณ  ์•ˆ์ •์ ์œผ๋กœ ์›€์ง์—ฌ์•ผ ํ•˜๋Š” ์Šค๋ ˆ๋“œ๋Š” ์ปค๋„ ์Šค๋ ˆ๋“œ๋กœ ์ž‘๋™ํ•œ๋‹ค.

 

[Note] TCB (Thread Control Block)

  • ๊ธฐ์กด์˜ ์šด์˜์ฒด์ œ์—์„œ ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ์„ ์„ค๋ช…ํ•  ๋•Œ, PCB๋ฅผ ์˜ˆ์‹œ๋กœ ๋“ค์–ด ์„ค๋ช…ํ•˜๋‚˜ ์ด๊ฒƒ์€ ์‹ฑ๊ธ€ ์Šค๋ ˆ๋“œ, ๋ฉ€ํ‹ฐ ํ”„๋กœ์„ธ์Šค ํ™˜๊ฒฝ์œผ๋กœ ์ „์ œํ•˜๊ณ  ์„ค๋ช…ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

 

  • ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ ๋ชจ๋ธ์—์„œ๋Š” CPU์— ์„ธํŒ…ํ•ด์•ผ ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ ์นด์šดํ„ฐ๋ฅผ ๋น„๋กฏํ•œ ๊ฐ์ข… ๋ ˆ์ง€์Šคํ„ฐ๋“ค์„ ์Šค๋ ˆ๋“œ๋ณ„๋กœ ์ €์žฅํ•ด์•ผ ํ•˜๋Š”๋ฐ ์ด ๋•Œ, ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋กœ TCB ์ด๋‹ค.

 

  • Multi thread, Multi Process ํ™˜๊ฒฝ์—์„œ ํ”„๋กœ๊ทธ๋žจ ์นด์šดํ„ฐ๋ฅผ ๋น„๋กฏํ•œ ๊ฐ์ข… ๋ ˆ์ง€์Šคํ„ฐ๋“ค์„ TCB (Thread Control Block)์— ์ €์žฅ์„ ํ•˜๋ฉฐ ์ด๋Ÿฌํ•œ TCB๋Š” PCB์— ์ €์žฅ๋˜์–ด ์ง„๋‹ค.

๋ฐ˜์‘ํ˜•

'๐Ÿ’ป Computer Science > Operating System' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

์šด์˜์ฒด์ œ ์ด๋ก  - ํ”„๋กœ์„ธ์Šค vs ์Šค๋ ˆ๋“œ  (0) 2023.07.26
์šด์˜์ฒด์ œ ์ด๋ก  - ์ปค๋„๊ณผ ์ธํ„ฐํŽ˜์ด์Šค  (0) 2023.07.26
  1. (1) ์‚ฌ์šฉ์ž ์ˆ˜์ค€ ์Šค๋ ˆ๋“œ (User-Level Thread)
  2. (1-1) ์ด๋ก 
  3. (1-2) ์žฅ์ 
  4. (1-3) ๋‹จ์ 
  5. (2) ์ปค๋„ ์ˆ˜์ค€ ์Šค๋ ˆ๋“œ (Kernel-level thread)
  6. (2-1) ์ด๋ก 
  7. (2-2) ์žฅ์ 
  8. (2-3) ๋‹จ์ 
  9. (3) ๋ฉ€ํ‹ฐ๋ ˆ๋ฒจ ์Šค๋ ˆ๋“œ (Multi-level thread) or ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์Šค๋ ˆ๋“œ (Hybrid thread)
  10. (3-1) ์ด๋ก 
  11. [Note] TCB (Thread Control Block)
'๐Ÿ’ป Computer Science/Operating System' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • ์šด์˜์ฒด์ œ ์ด๋ก  - ํ”„๋กœ์„ธ์Šค vs ์Šค๋ ˆ๋“œ
  • ์šด์˜์ฒด์ œ ์ด๋ก  - ์ปค๋„๊ณผ ์ธํ„ฐํŽ˜์ด์Šค
Dev_sHu
Dev_sHu
๊ณต๋ถ€์šฉ ๋ธ”๋กœ๊ทธ์ž…๋‹ˆ๋‹ค. :)
๋ฐ˜์‘ํ˜•
Dev_sHu
All about IT
Dev_sHu
์ „์ฒด
์˜ค๋Š˜
์–ด์ œ
  • ์ „์ฒด (144)
    • ๐Ÿ“š ์—ฐ์žฌ ์‹œ๋ฆฌ์ฆˆ (23)
      • ์ฃผ๋‹ˆ์–ด ๊ฐœ๋ฐœ์ž๊ฐ€ ์•Œ๋ฉด ์ข‹์„ ๋‚ด์šฉ (11)
      • ์ž์ฃผ ์“ฐ์ด๋Š” IT ์šฉ์–ด ์ •๋ฆฌ (6)
      • ์žก๋‹คํ•œ IT ์ •๋ณด (2)
      • ํ•ญํ•ด ํ”Œ๋Ÿฌ์Šค 99 (4)
    • ๐ŸŽฎ Toy Project (2)
    • ๐Ÿ’ฏ Coding Test (35)
      • ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ…Œ์ŠคํŠธ (14)
      • SQL ํ…Œ์ŠคํŠธ (21)
    • ๐Ÿ’ป Computer Science (14)
      • Hardware (4)
      • Operating System (3)
      • Network (4)
      • Database (3)
      • Data Structures (0)
      • Algorithms (0)
    • ๐ŸŒ Front End (0)
      • HTML5 (0)
      • CSS3 (0)
    • ๐Ÿ‘จโ€๐Ÿ’ป Back End (30)
      • Spring (5)
      • MySQL (12)
      • Redis (3)
      • OOP (0)
      • Design Pattern (0)
      • HTTP (2)
      • Servlet (1)
      • JDBC (7)
      • MSA (0)
    • ๐Ÿ› ๏ธ Devops (12)
      • HAProxy (1)
      • Linux (6)
      • Virtual Machine (4)
      • Container (0)
      • Ansible (1)
    • ๐Ÿง Programming (20)
      • Java (10)
      • Python (10)
    • ๐ŸŒฅ๏ธ Cloud (2)
      • AWS (1)
      • Oracle Cloud (0)
    • ๐Ÿ’พ Storage (5)
      • MiniO (3)
    • ๐Ÿ” Security & Hacking (1)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • ๋ฐฉ๋ช…๋ก

๊ณต์ง€์‚ฌํ•ญ

  • ๊ตฌ๊ธ€ ์• ๋“œ์„ผ์Šค ํ†ต๊ณผํ–ˆ๋„ค์š” !!!
  • ์•ˆ๋…•ํ•˜์„ธ์š”.

์ธ๊ธฐ ๊ธ€

hELLO ยท Designed By ์ •์ƒ์šฐ.v4.2.2
Dev_sHu
์šด์˜์ฒด์ œ ์ด๋ก  - ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ ๋ชจ๋ธ
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”

๊ฐœ์ธ์ •๋ณด

  • ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ
  • ํฌ๋Ÿผ
  • ๋กœ๊ทธ์ธ

๋‹จ์ถ•ํ‚ค

๋‚ด ๋ธ”๋กœ๊ทธ

๋‚ด ๋ธ”๋กœ๊ทธ - ๊ด€๋ฆฌ์ž ํ™ˆ ์ „ํ™˜
Q
Q
์ƒˆ ๊ธ€ ์“ฐ๊ธฐ
W
W

๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๊ธ€

๊ธ€ ์ˆ˜์ • (๊ถŒํ•œ ์žˆ๋Š” ๊ฒฝ์šฐ)
E
E
๋Œ“๊ธ€ ์˜์—ญ์œผ๋กœ ์ด๋™
C
C

๋ชจ๋“  ์˜์—ญ

์ด ํŽ˜์ด์ง€์˜ URL ๋ณต์‚ฌ
S
S
๋งจ ์œ„๋กœ ์ด๋™
T
T
ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ ์ด๋™
H
H
๋‹จ์ถ•ํ‚ค ์•ˆ๋‚ด
Shift + /
โ‡ง + /

* ๋‹จ์ถ•ํ‚ค๋Š” ํ•œ๊ธ€/์˜๋ฌธ ๋Œ€์†Œ๋ฌธ์ž๋กœ ์ด์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํ‹ฐ์Šคํ† ๋ฆฌ ๊ธฐ๋ณธ ๋„๋ฉ”์ธ์—์„œ๋งŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.