# [OS] Process๋ž€ ๋ฌด์—‡์ด๊ณ , Thread์™€์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ผ๊นŒ?
Study Repository

[OS] Process๋ž€ ๋ฌด์—‡์ด๊ณ , Thread์™€์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ผ๊นŒ?

by rlaehddnd0422

ํ”„๋กœ์„ธ์Šค๋ž€?

  • ์ปดํ“จํ„ฐ์—์„œ ์—ฐ์†์ ์œผ๋กœ ์‹คํ–‰๋˜๊ณ  ์žˆ๋Š” ์ปดํ“จํ„ฐ ํ”„๋กœ๊ทธ๋žจ์„ ๋งํ•ฉ๋‹ˆ๋‹ค.
  1. ๋””์Šคํฌ๋กœ๋ถ€ํ„ฐ ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌ๋˜์–ด CPU๋กœ๋ถ€ํ„ฐ ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ํ• ๋‹น์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  2. ์šด์˜์ฒด์ œ๋กœ๋ถ€ํ„ฐ ์ฃผ์†Œ ๊ณต๊ฐ„, ํŒŒ์ผ, ๋ฉ”๋ชจ๋ฆฌ ๋“ฑ์„ ํ• ๋‹น๋ฐ›๋Š”๋ฐ ์ด๋ฅผ ์ด์นญํ•˜์—ฌ ํ”„๋กœ์„ธ์Šค๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

ํ”„๋กœ์„ธ์Šค๋Š” ํ”„๋กœ๊ทธ๋žจ๊ณผ ๋ญ๊ฐ€ ๋‹ค๋ฅธ๊ฐ€?

"ํ”„๋กœ๊ทธ๋žจ"์€ ๋ณด์กฐ๊ธฐ์–ต์žฅ์น˜(SSD, ํ•˜๋“œ๋””์Šคํฌ)์— ์กด์žฌํ•˜๋ฉฐ ์‹คํ–‰๋˜๊ธฐ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๋ช…๋ น์–ด์™€ ์ •์ ์ธ ๋ฐ์ดํ„ฐ์˜ ๋ฌถ์Œ์ž…๋‹ˆ๋‹ค. ์ฆ‰ ํ”„๋กœ๊ทธ๋žจ์€ ๋‹จ์ˆœํžˆ ๋ช…๋ น์–ด์™€ ๋ฐ์ดํ„ฐ์˜ ๋ฌถ์Œ์ผ ๋ฟ, ์ƒ๋ช…์„ ๊ฐ€์ง€๊ณ  ์žˆ์ง€์•Š์Šต๋‹ˆ๋‹ค. 

์ด ํ”„๋กœ๊ทธ๋žจ์˜ ๋ช…๋ น์–ด์™€ ์ •์  ๋ฐ์ดํ„ฐ๊ฐ€ "๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌ"๋˜๋Š” ์ˆœ๊ฐ„ ์ƒ๋ช…์ด ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋œ๋‹ค๊ณ  ๋ณด์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

 

ํ”„๋กœ๊ทธ๋žจ์˜ ๋ช…๋ น์–ด์™€ ์ •์  ๋ฐ์ดํ„ฐ --- (๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌ) ---> ํ”„๋กœ์„ธ์Šค 

ํ”„๋กœ์„ธ์Šค์˜ ๊ตฌ์„ฑ

: ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ ์ •๋ณด๋Š” ํ”„๋กœ์„ธ์Šค ์ œ์–ด๋ธ”๋ก, PCB(Process Control Block)๋˜๋Š” ํ”„๋กœ์„ธ์Šค ๊ธฐ์ˆ ์ž(Process Descriptor)๋ผ๊ณ  ๋ถ€๋ฅด๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„ PCB๋ผ๊ณ  ๋ถ€๋ฅด๋ฉฐ PCB์—๋Š” ์•„๋ž˜์˜ ํ”„๋กœ์„ธ์Šค ์ •๋ณด๋ฅผ ๋‹ด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. 

์šด์˜์ฒด์ œ๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ํ”„๋กœ์„ธ์Šค์˜ ์ƒ์„ฑ๊ณผ ๋™์‹œ์— ๊ณ ์œ ํ•œ PCB ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.. 

 

1) PID 

  • ๊ฐ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ตฌ๋ณ„ํ•  ์ˆ˜ ์žˆ๋Š” ์‹๋ณ„ ๋ฒˆํ˜ธ

2) ํ”„๋กœ์„ธ์Šค ์ƒํƒœ 

  • new, ready, running, waiting, terminated ๋“ฑ์˜ ์ƒํƒœ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.
  • ํ”„๋กœ์„ธ์Šค๋“ค์„ ์ƒํƒœ ์ „์ด๋ฅผ ํ†ตํ•ด ์ฒด๊ณ„์ ์œผ๋กœ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค. 

3) ์Šค์ผ€์ค„๋ง ์šฐ์„ ์ˆœ์œ„ 

์šด์˜์ฒด์ œ๋Š” ์—ฌ๋Ÿฌ๊ฐœ์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋™์‹œ์— ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด๋Š” ํ™˜์ƒ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • ์šด์˜์ฒด์ œ๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ CPU์—์„œ ์‹คํ–‰๋˜๋Š” ์ˆœ์„œ๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๊ฒƒ์„ ์Šค์ผ€์ฅด๋ง์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.
  • ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์€ ํ”„๋กœ์„ธ์Šค๋Š” ๋จผ์ € ์‹คํ–‰๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

4) ๊ถŒํ•œ 

  • ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ์ž์›์„ ๊ฒฐ์ •ํ•˜๋Š” ์ •๋ณด

5) ํ”„๋กœ์„ธ์Šค์˜ ๋ถ€๋ชจ์™€ ์ž์‹ ํ”„๋กœ์„ธ์Šค

  • ์ตœ์ดˆ๋กœ ์ƒ์„ฑ๋˜๋Š” int ํ”„๋กœ์„ธ์Šค๋ฅผ ์ œ์™ธํ•˜๊ณ  ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค๋Š” ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ณต์ œํ•ด์„œ ์ƒ์„ฑ๋˜๊ณ  ์ด ๊ณ„์ธต ๊ตฌ์กฐ๋Š” ํŠธ๋ฆฌ ํ˜•ํƒœ๋กœ ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๊ฐ ํ”„๋กœ์„ธ์Šค๋Š” ์ž์‹ ํ”„๋กœ์„ธ์Šค์™€ ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Œ

6) ํ”„๋กœ์„ธ์Šค์˜ "๋ฐ์ดํ„ฐ์™€ ๋ช…๋ น์–ด"๊ฐ€ ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ ์œ„์น˜๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ํฌ์ธํ„ฐ

 

  •  ํ”„๋กœ์„ธ์Šค๋Š” ์‹คํ–‰์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ํ”„๋กœ๊ทธ๋žจ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  •  ํ”„๋กœ๊ทธ๋žจ์— ๋Œ€ํ•œ ์ •๋ณด๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ๊ฐ€์ง€๋Š” ์ž์‹ ๋งŒ์˜ ์ฃผ์†Œ ๊ณต๊ฐ„์— ์ €์žฅ์ด ๊ณต๊ฐ„์— ๋Œ€ํ•œ ํฌ์ธํ„ฐ ๊ฐ’์„ ๋งํ•ฉ๋‹ˆ๋‹ค.

์ด ์ฃผ์†Œ๊ณต๊ฐ„์€ Text, Data, BSS, Heap, Stack ์˜์—ญ์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์–ด ์œ„ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ๊ฐ ์˜์—ญ์—์„œ ํ”„๋กœ๊ทธ๋žจ์˜ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

 

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

 

7 ) ํ”„๋กœ์„ธ์Šค์— ํ• ๋‹น๋œ ์ž์›๋“ค์„ ๊ฐ€๋ฆฌํ‚ค๋Š” ํฌ์ธํ„ฐ

  • ๋ง ๊ทธ๋Œ€๋กœ ํ• ๋‹น๋œ ์ž์›๋“ค์ด ์กด์žฌํ•˜๋Š” ๊ณต๊ฐ„์— ๋Œ€ํ•œ ํฌ์ธํ„ฐ ๊ฐ’

8) ํ”„๋กœ๊ทธ๋žจ ์นด์šดํ„ฐ (PC)

  • CPU๊ฐ€ ๋‹ค์Œ์œผ๋กœ ์‹คํ–‰ํ•œ ๋ช…๋ น์–ด๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฐ’
  • CPU๋Š” ๊ธฐ๊ณ„์–ด๋ฅผ ํ•œ ๋‹จ์œ„๋กœ ์ฝ์–ด์„œ ์ฒ˜๋ฆฌํ•˜๋Š”๋ฐ, ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์Œ์œผ๋กœ ์‹คํ–‰ํ•  ๊ธฐ๊ณ„์–ด๊ฐ€ ์ €์žฅ๋œ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฐ’

์–ด๋–ป๊ฒŒ ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋™์‹œ์— ์‹คํ–‰๋  ์ˆ˜ ์žˆ์„๊นŒ?

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


์“ฐ๋ ˆ๋“œ(Thread)๋ž€?

์“ฐ๋ ˆ๋“œ๋Š” ์œ„์—์„œ ๋งํ•œ "ํ”„๋กœ์„ธ์Šค"์˜ ์‹คํ–‰๋‹จ์œ„์ž…๋‹ˆ๋‹ค.
ํ”„๋กœ์„ธ์Šค : ๋ณ„๋„์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์—์„œ ์‹คํ–‰
์Šค๋ ˆ๋“œ : ๋™์ผํ•œ ํ”„๋กœ์„ธ์Šค ๋‚ด์˜ ๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์—์„œ ์‹คํ–‰
  • ํ•œ ํ”„๋กœ์„ธ์Šค ๋‚ด์—์„œ ๋™์ž‘๋˜๋Š” ์—ฌ๋Ÿฌ ์‹คํ–‰ ํ๋ฆ„์œผ๋กœ ํ”„๋กœ์„ธ์Šค ๋‚ด์˜ ์ฃผ์†Œ ๊ณต๊ฐ„์ด๋‚˜ ์ž์›์„ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค์—๋Š” ํ•œ ๊ฐœ ์ด์ƒ์˜ ์“ฐ๋ ˆ๋“œ๊ฐ€ ์กด์žฌํ•˜์—ฌ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  • ์ผ๋ฐ˜์ ์œผ๋กœ ํ•˜๋‚˜์˜ ํ”„๋กœ๊ทธ๋žจ์€ ํ•˜๋‚˜์˜ ์Šค๋ ˆ๋“œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์ง€๋งŒ, ํ”„๋กœ๊ทธ๋žจ์˜ ํ™˜๊ฒฝ์— ๋”ฐ๋ผ ๋‹ค์ˆ˜์˜ ์“ฐ๋ ˆ๋“œ๋ฅผ ๊ฐ€์ง€๊ณ  ๋™์‹œ์— ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ด๋Ÿฌํ•œ ๋™์ž‘ ๋ฐฉ์‹์„ "๋ฉ€ํ‹ฐ ์“ฐ๋ ˆ๋”ฉ"์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.
  • ํ”„๋กœ์„ธ์Šค์™€ ๊ฐ™์ด ์‹คํ–‰, ์ค€๋น„, ๋Œ€๊ธฐ ๋“ฑ์˜ ์‹คํ–‰ ์ƒํƒœ๋ฅผ ๊ฐ€์ง€๋ฉฐ ์‹คํ–‰ ์ƒํƒœ๊ฐ€ ๋ณ€ํ• ๋•Œ๋งˆ๋‹ค ์“ฐ๋ ˆ๋“œ ๋ฌธ๋งฅ๊ตํ™˜(context switching)์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  • ๊ฐ ์“ฐ๋ ˆ๋“œ๋ณ„๋กœ ์ž์‹ ๋งŒ์˜ ๋…๋ฆฝ๋œ ์Šคํƒ๊ณผ ๋ ˆ์ง€์Šคํ„ฐ๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค.
  • ์Šคํƒ์€ ํ•จ์ˆ˜ ํ˜ธ์ถœ ์‹œ ์ „๋‹ฌ๋˜๋Š” ์ธ์ž, ๋˜๋Œ์•„๊ฐˆ ์ฃผ์†Œ๊ฐ’ ๋ฐ ํ•จ์ˆ˜ ๋‚ด์—์„œ ์„ ์–ธํ•˜๋Š” ๋ณ€์ˆ˜ ๋“ฑ์„ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์ด๋ฏ€๋กœ ์Šคํƒ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์ด ๋…๋ฆฝ์ ์ด๋ผ๋Š” ๊ฒƒ์€ ๋…๋ฆฝ์ ์ธ ํ•จ์ˆ˜ ํ˜ธ์ถœ์ด ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ๊ฒƒ์ด๊ณ  ์ด๋Š” ๋…๋ฆฝ์ ์ธ ์‹คํ–‰ ํ๋ฆ„์ด ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.
  • ๋”ฐ๋ผ์„œ ๋…๋ฆฝ์ ์ธ ์‹คํ–‰ ํ๋ฆ„์„ ์œ„ํ•œ ์ตœ์†Œ ์กฐ๊ฑด์œผ๋กœ ๋…๋ฆฝ๋œ ์Šคํƒ์„ ํ• ๋‹นํ•ฉ๋‹ˆ๋‹ค.

 

<์ฐธ๊ณ  ์ž๋ฃŒ>

 

[์šด์˜์ฒด์ œ] ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ญ์ง€?

[์šด์˜์ฒด์ œ] ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ญ์ง€? ๋ชฉ์ฐจ [์šด์˜์ฒด์ œ] ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ญ์ง€? ๊ฐœ์š” ํ”„๋กœ์„ธ์Šค๋ž€ ๋‹จ์–ด๋ฅผ ๋ณธ์ ์žˆ๋‚˜์š”? ํ”„๋กœ์„ธ์Šค๋ž€? ํ”„๋กœ๊ทธ๋žจ๊ณผ ๋ญ๊ฐ€ ๋‹ค๋ฅด์ง€? ์–ด๋–ป๊ฒŒ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋™์‹œ์— ์‹คํ–‰๋  ์ˆ˜ ์žˆ์„

bowbowbow.tistory.com

 

[์šด์˜์ฒด์ œ ์ด๋ก ] ์Šค๋ ˆ๋“œ(Thread)

1. ์Šค๋ ˆ๋“œ(Thread)์˜ ๊ฐœ๋…์Šค๋ ˆ๋“œ๋ž€ ํ”„๋กœ๊ทธ๋žจ(ํ”„๋กœ์„ธ์Šค) ์‹คํ–‰์˜ ๋‹จ์œ„์ด๋ฉฐ ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค๋Š” ์—ฌ๋Ÿฌ๊ฐœ์˜ ์Šค๋ ˆ๋“œ๋กœ ๊ตฌ์„ฑ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์Šค๋ ˆ๋“œ๋“ค์€ ํ”„๋กœ์„ธ์Šค์— ํ• ๋‹น๋œ ๋ฉ”๋ชจ

arer.tistory.com

 

 

๋ธ”๋กœ๊ทธ์˜ ์ •๋ณด

Study Repository

rlaehddnd0422

ํ™œ๋™ํ•˜๊ธฐ