League Of Legends - Link Select [02] ํ”„๋กœ์„ธ์Šค ๊ฐœ์š”
๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿค“ Study/์šด์˜์ฒด์ œ

[02] ํ”„๋กœ์„ธ์Šค ๊ฐœ์š”

by GAMEMING 2024. 3. 15.
728x90

 

 

- ํ”„๋กœ์„ธ์Šค

 : ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ

 : ํฌ๊ทธ๋ผ์šด๋“œ ํ”„๋กœ์„ธ์Šค - ์‚ฌ์šฉ์ž๊ฐ€ ๋ณด๋Š” ์•ž์—์„œ ์‹คํ–‰๋˜๋Š” ํ”„๋กœ์„ธ์Šค

 : ๋ฐฑ๊ทธ๋ผ์šด๋“œ ํ”„๋กœ์„ธ์Šค - ์‚ฌ์šฉ์ž๊ฐ€ ๋ณด์ง€ ๋ชปํ•˜๋Š” ๋’ค์—์„œ ์‹คํ–‰๋˜๋Š” ํ”„๋กœ์„ธ์Šค (์œ ๋‹‰์Šค - ๋ฐ๋ชฌ, ์œ„๋„์šฐ - ์„œ๋น„์Šค)

 

 

 

- ํ”„๋กœ์„ธ์Šค ์ œ์–ด ๋ธ”๋ก (PCB)

 : OS๋Š” PCB๋ฅผ ์ด์šฉํ•ด ํ”„๋กœ์„ธ์Šค์˜ ์‹คํ–‰ ์ˆœ์„œ๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  CPU๋ฅผ ๋น„๋กฏํ•œ ์ž์›์„ ๋ฐฐ๋ถ„ํ•จ

 : PCB๋Š” ์ปค๋„์˜์—ญ, ํ”„๋กœ์„ธ์Šค ์ƒ์„ฑ ์‹œ ๋งŒ๋“ค์–ด์ง€๋ฉฐ ์‹คํ–‰์ด ๋๋‚˜๋ฉด ํ๊ธฐ๋จ

 : ๋‹ค์Œ ์ •๋ณด๋“ค์„ ๋‹ด๊ณ  ์žˆ๋‹ค

  1) ํ”„๋กœ์„ธ์Šค ID (PID) : ํŠน์ • ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•œ ๊ณ ์œ  ๋ฒˆํ˜ธ

 

  2) ๋ ˆ์ง€์Šคํ„ฐ ๊ฐ’ : ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹คํ–‰ํ•˜๋ฉฐ ์‚ฌ์šฉํ–ˆ๋˜ ํ”„๋กœ๊ทธ๋žจ ์นด์šดํ„ฐ๋ฅผ ๋น„๋กฏํ•œ ๋ ˆ์ง€์Šคํ„ฐ ๊ฐ’๋“ค์„ ์ €์žฅํ•จ.

  3) ํ”„๋กœ์„ธ์Šค ์ƒํƒœ : ๋ฐ‘์—์„œ ๋‹ค๋ฃธ

  4) CPU ์Šค์ผ€์ค„๋ง ์ •๋ณด : ํ”„๋กœ์„ธ์Šค๊ฐ€ ์–ธ์ œ, ์–ด๋–ค ์ˆœ์„œ๋กœ CPU๋ฅผ ํ• ๋‹น๋ฐ›์„์ง€์— ๋Œ€ํ•œ ์ •๋ณด

  5) ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ์ •๋ณด : ํ”„๋กœ์„ธ์Šค๋งˆ๋‹ค ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ๋œ ์œ„์น˜๊ฐ€ ๋‹ฌ๋ผ ์ฃผ์†Œ์— ๋Œ€ํ•œ ์ •๋ณด์™€ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์ด ๋‹ด๊น€

  6) ์‚ฌ์šฉํ•œ ํŒŒ์ผ๊ณผ ์ž…์ถœ๋ ฅ์žฅ์น˜ ๋ชฉ๋ก

 

 

 

- ๋ฌธ๋งฅ ๊ตํ™˜

 : ๋ฌธ๋งฅ(Context) - ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค ์ˆ˜ํ–‰์„ ์žฌ๊ฐœํ•˜๊ธฐ ์œ„ํ•ด ๊ธฐ์–ตํ•ด์•ผ ํ•  ์ •๋ณด

 : ๋ฌธ๋งฅ๊ตํ™˜ (Context Switching) : ๊ธฐ์กด ํ”„๋กœ์„ธ์Šค์˜ ๋ฌธ๋งฅ์„ PCB์— ๋ฐฑ์—…ํ•˜๊ณ , ์ƒˆ๋กœ์šด ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ๋ฌธ๋งฅ์„ PCB๋กœ ๋ถ€ํ„ฐ ๋ณต๊ตฌํ•˜์—ฌ ์ƒˆ๋กœ์šด ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ (๋„ˆ๋ฌด ์ž์ฃผํ•˜๋ฉด ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Œ)

 

 

 

- ํ”„๋กœ์„ธ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ

 

  1) ์ฝ”๋“œ ์˜์—ญ(=ํ…์ŠคํŠธ ์˜์—ญ) : ๊ธฐ๊ณ„์–ด๋กœ ์ด๋ฃจ์–ด์ง„ ๋ช…๋ น์–ด ์ €์žฅ, ์ฝ๊ธฐ ์ „์šฉ(read-only) ๊ณต๊ฐ„

  2) ๋ฐ์ดํ„ฐ ์˜์—ญ : ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋˜๋Š” ๋™์•ˆ ์œ ์ง€ํ•  ๋ฐ์ดํ„ฐ ์ €์žฅ(์ „์—ญ๋ณ€์ˆ˜ ๋“ฑ)

  3) ํž™ ์˜์—ญ : ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“œ๋Š” ์‚ฌ๋žŒ์ด ์ง์ ‘ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฐ„, ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜ ๋ฌธ์ œ ์ฃผ์˜

  4) ์Šคํƒ ์˜์—ญ : ๋ฐ์ดํ„ฐ๋ฅผ ์ผ์‹œ์ ์œผ๋กœ ์ €์žฅํ•˜๋Š” ๊ณต๊ฐ„

 

 

 

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

 

  1) ์ƒ์„ฑ ์ƒํƒœ(new) : ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌ๋˜์–ด PCB๋ฅผ ํ• ๋‹น๋ฐ›์€ ์ƒํƒœ

  2) ์ค€๋น„ ์ƒํƒœ(ready) : CPU๋ฅผ ํ• ๋‹น๋ฐ›์•„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์•„์ง ์ž์‹ ์˜ ์ฐจ๋ก€๊ฐ€ ์•„๋‹ˆ๊ธฐ์— ๋Œ€๊ธฐ ์ค‘

      (์ค€๋น„ ์ƒํƒœ์ธ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹คํ–‰ ์ƒํƒœ๋กœ ์ „ํ™˜๋˜๋Š” ๊ฒƒ์„ ๋””์ŠคํŒจ์น˜๋ผ ํ•จ)

  3) ์‹คํ–‰ ์ƒํ„”(running) : CPU๋ฅผ ํ• ๋‹น๋ฐ›์•„ ์‹คํ–‰ ์ค‘์ธ ์ƒํƒœ๋ฅผ ์˜๋ฏธ

  4) ๋Œ€๊ธฐ ์ƒํƒœ(blocked) : ์ž…์ถœ๋ ฅ์žฅ์น˜์˜ ์ž‘์—…์„ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์ƒํƒœ

  5) ์ข…๋ฃŒ ์ƒํƒœ(terminated) : ํ”„๋กœ์„ธ์Šค ์ข…๋ฃŒ ์ƒํƒœ, PCB์™€ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‚ฌ์šฉํ•œ ๋ฉ”๋ชจ๋ฆฌ ์ •๋ฆฌ

 

 

 

- ํ”„๋กœ์„ธ์Šค ๊ณ„์ธต ๊ตฌ์กฐ

  : ํ”„๋กœ์„ธ์Šค๋Š” ์‹คํ–‰ ๋„์ค‘ ์‹œ์Šคํ…œ ํ˜ธ์ถœ์„ ํ†ตํ•ด ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค ์ƒ์„ฑ ๊ฐ€๋Šฅ -> ์ƒˆ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ƒ์„ฑํ•œ ํ”„๋กœ์„ธ์Šค = ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค, ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค์— ์˜ํ•ด ์ƒ์„ฑ๋œ ํ”„๋กœ์„ธ์Šค = ์ž์‹ ํ”„๋กœ์„ธ์Šค

  : ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์ž„์œผ๋กœ PID๋Š” ๋‹ค๋ฆ„. (์ผ๋ถ€ ์šด์˜์ฒด์ œ์—์„  ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค์˜ PID์ธ PPID๊ฐ€ ๊ธฐ๋ก๋˜๊ธฐ๋„)

  : ์ตœ์ดˆ ํ”„๋กœ์„ธ์Šค PID๋Š” ํ•ญ์ƒ 1๋ฒˆ

 

 

 

- ํ”„๋กœ์„ธ์Šค ์ƒ์„ฑ

 : ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค๋ฅผ ํ†ตํ•ด ์ƒ์„ฑ๋œ ์ž์‹ ํ”„๋กœ์„ธ์Šค๋“ค์€ fork()๋ฅผ ํ†ตํ•ด ์ž์‹ ์˜ ๋ณต์‚ฌ๋ณธ์„ ์ž์‹ ํ”„๋กœ์„ธ์Šค๋กœ ์ƒ์„ฑํ•˜๊ณ , ์ž์‹ ํ”„๋กœ์„ธ์Šค๋Š” exec๋ฅผ ํ†ตํ•ด ์ž์‹ ์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ๊ต์ฒดํ•จ.

 

: fork์™€ exec๋Š” system call.

 1) fork : ์ž๊ธฐ ์ž์‹  ํ”„๋กœ์„ธ์Šค์˜ ๋ณต์‚ฌ๋ณธ์„ ๋งŒ๋“ฆ, PID๊ฐ’์ด๋‚˜ ์ €์žฅ๋œ ๋ฉ”๋ชจ๋ฆฌ ์œ„์น˜๋Š” ๋‹ค๋ฆ„

 2) exec : ์ž์‹ ์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ์ƒˆ๋กœ์šด ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ๋ฎ์–ด์”€ (์ƒˆ๋กœ์šด ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ์ „ํ™˜ํ•ด ์‹คํ–‰ํ•˜๋Š” ์‹œ์Šคํ…œ ํ˜ธ์ถœ)

 

=> forkํ•œ ํ›„ exec๋ฅผ ์‹คํ–‰ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ : ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค์™€ ์ž์‹ ํ”„๋กœ์„ธ์Šค๋Š” ๊ฐ™์€ ์ฝ”๋“œ๋ฅผ ๋ณ‘ํ–‰ํ•˜๋ฉฐ ์‹คํ–‰ํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋จ.

 

 

 

- ์Šค๋ ˆ๋“œ(thread)

 : ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์‹คํ–‰์˜ ๋‹จ์œ„๋กœ ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์Šค๋ ˆ๋“œ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Œ. (ํ•˜๋‚˜์˜ ์Šค๋ ˆ๋“œ์—์„œ ์—ฌ๋Ÿฌ ๋ถ€๋ถ„์„ ๋™์‹œ์— ์‹คํ–‰ ๊ฐ€๋Šฅ)

 

 

* ์œ„ ์‚ฌ์ง„์— ๋ณผ ์ˆ˜ ์žˆ๋‹ค์‹œํ”ผ ํ”„๋กœ์„ธ์Šค์˜ ์Šค๋ ˆ๋“œ๋Š” ํ•„์š”ํ•œ ์ตœ์†Œํ•œ์˜ ์ •๋ณด(ํ”„๋กœ๊ทธ๋žจ ์นด์šดํ„ฐ ๋“ฑ์˜ ๋ ˆ์ง€์Šคํ„ฐ, ์Šคํƒ)๋งŒ์„ ์œ ์ง€ํ•œ ์ฑ„ ํ”„๋กœ์„ธ์Šค ์ž์›์„ ๊ณต์œ ํ•˜๋ฉฐ ์‹คํ–‰๋œ๋‹ค -> ์ฝ”๋“œ/๋ฐ์ดํ„ฐ/ํž™ ์˜์—ญ/ ํŒŒ์ผ

 

 

 

- ๋ฉ€ํ‹ฐํ”„๋กœ์„ธ์Šค์™€ ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ

 : ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋™์‹œ์— ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์„ ๋ฉ€ํ‹ฐํ”„๋กœ์„ธ์Šค, ์—ฌ๋Ÿฌ ์Šค๋ ˆ๋“œ๋กœ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋™์‹œ์— ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์„ ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ๋ผ ํ•จ

 : ๋ฌด์—‡์ด ๋‹ค๋ฅธ๊ฐ€? -> ํ”„๋กœ์„ธ์Šค๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์ž์›์„ ๊ณต์œ ํ•˜์ง€ ์•Š๊ณ  ๋ชจ๋“  ์ž์›์ด ๋ณต์ œ๋˜์–ด ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌ๋œ๋‹ค. (PID์™€ ์ €์žฅ๋œ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ ์ œ์™ธ) -> ๋ฉ”๋ชจ๋ฆฌ ๋‚ญ๋น„

 : ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ์—์„œ ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค์— ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธฐ๋ฉด ํ”„๋กœ์„ธ์Šค ์ „์ฒด์— ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธธ ์ˆ˜๋„ ์žˆ์Œ