๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ“ŒCS/OS

[OS] ํ”„๋กœ์„ธ์Šค

by dar0m! 2021. 4. 2.
์ด ๊ธ€์€ '๊ทธ๋ฆผ์œผ๋กœ ๋ฐฐ์šฐ๋Š” ๊ตฌ์กฐ์™€ ์›๋ฆฌ ์šด์˜์ฒด์ œ' ๊ฐœ์ •3ํŒ์„ ์ฐธ๊ณ ํ•˜์—ฌ ์ž‘์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ฒจ๋ถ€๋œ ์ด๋ฏธ์ง€๋Š” ์ง์ ‘ ์ œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋ชฉ์ฐจ

1. ํ”„๋กœ์„ธ์Šค ๊ฐœ๋…๊ณผ ์ƒํƒœ ๋ณ€ํ™”

  • ๊ฐœ๋…
  • ํ•„์š”์ž์›
  • ํ”„๋กœ๊ทธ๋žจ๊ณผ ํ”„๋กœ์„ธ์Šค ์ฐจ์ด
  • ๊ด€์ ์— ๋”ฐ๋ฅธ ํ”„๋กœ์„ธ์Šค
  • ํ”„๋กœ์„ธ์Šค ์ข…๋ฅ˜
  • ํ”„๋กœ์„ธ์Šค ์ƒํƒœ ๋ณ€ํ™”์™€ ์ƒํƒœ ์ •๋ณด
  • ํ”„๋กœ์„ธ์Šค ์ œ์–ด ๋ธ”๋ก
  • ํ”„๋กœ์„ธ์Šค์˜ ๋ฌธ๋งฅ ๊ตํ™˜

2. ํ”„๋กœ์„ธ์Šค์˜ ๊ด€๋ฆฌ

  • ํ”„๋กœ์„ธ์Šค์˜ ๊ตฌ์กฐ
  • ํ”„๋กœ์„ธ์Šค์˜ ์ƒ์„ฑ
  • ํ”„๋กœ์„ธ์Šค์˜ ์ข…๋ฃŒ
  • ํ”„๋กœ์„ธ์Šค์˜ ์ œ๊ฑฐ
  • ํ”„๋กœ์„ธ์Šค์˜ ์ค‘๋‹จ๊ณผ ์žฌ์‹œ์ž‘
  • ํ”„๋กœ์„ธ์Šค์˜ ์šฐ์„ ์ˆœ์œ„ ๋ณ€๊ฒฝ
  • ํ”„๋กœ์„ธ์Šค์˜ ๋ฌธ๋งฅ ๊ตํ™˜

1. ํ”„๋กœ์„ธ์Šค ๊ฐœ๋…๊ณผ ์ƒํƒœ ๋ณ€ํ™”

๊ฐœ๋…

ํ”„๋กœ๊ทธ๋žจ๊ณผ ํ”„๋กœ์„ธ์Šค : ํ”„๋กœ๊ทธ๋žจ์ด ๋ฉ”๋ชจ๋ฆฌ๋กœ ์ ์žฌ๋˜๋ฉด ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋จ

์ผ๋ฐ˜์ ์ธ ํ”„๋กœ์„ธ์Šค ์ •์˜๋Š” '์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ'์ด๋‹ค. ์‹คํ–‰ ์ค‘์ด๋ผ๋Š” ์˜๋ฏธ๋Š” ๋””์Šคํฌ์— ์žˆ๋˜ ํ”„๋กœ๊ทธ๋žจ์„ ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌํ•˜์—ฌ ์šด์˜์ฒด์ œ์˜ ์ œ์–ด๋ฅผ ๋ฐ›๋Š” ์ƒํƒœ๊ฐ€ ๋˜์—ˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋Š” ์ž์‹ ๋งŒ์˜ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ(์ฃผ์†Œ ๊ณต๊ฐ„)์ด ์žˆ์Œ์„ ์˜๋ฏธํ•œ๋‹ค. ๋˜ํ•œ, ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰์˜ ์ธ์Šคํ„ด์Šค๋„๋œ๋‹ค. ๋”ฐ๋ผ์„œ ์›น ๋ธŒ๋ผ์šฐ์ € ์ฐฝ์„ ํ•œ ๊ฐœ ์—ด๋ฉด ํ”„๋กœ์„ธ์Šค ํ•œ ๊ฐœ๋ฅผ ์ƒ์„ฑํ•˜๊ณ , ์›น ๋ธŒ๋ผ์šฐ์ € 2๊ฐœ ์—ด๋ฉด ํ”„๋กœ์„ธ์Šค 2๊ฐœ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

๋˜ํ•œ ์•„๋ž˜์™€ ๊ฐ™์€ ๋‹ค์–‘ํ•œ ์ •์˜๋„ ์žˆ๋‹ค.

  • ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ
  • ๋น„๋™๊ธฐ์ (asynchronous) ํ–‰์œ„
  • ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ์‹œ์ €
  • ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ์‹œ์ €์˜ ์ œ์–ด ์ถ”์ 
  • ์šด์˜์ฒด์ œ์— ๋“ค์–ด ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค ์ œ์–ด ๋ธ”๋ก(PCB)
  • ํ”„๋กœ์„ธ์„œ์— ํ• ๋‹นํ•˜์—ฌ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐœ์ฒด ๋””์ŠคํŒจ์น˜(dispatch)๊ฐ€ ๊ฐ€๋Šฅํ•œ ๋Œ€์ƒ

ํ•„์š” ์ž์›

ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ์ด ๋˜๋ ค๋ฉด ํ”„๋กœ์„ธ์„œ ์ ์œ  ์‹œ๊ฐ„, ๋ฉ”๋ชจ๋ฆฌ, ํŒŒ์ผ, ์ž…์ถœ๋ ฅ์žฅ์น˜ ๊ฐ™์€ ์ž์›์ด ํ•„์š”ํ•œ๋ฐ, ํ”„๋กœ์„ธ์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ์‹คํ–‰ํ•  ๋•Œ ์ด ์ž์›์„ ํ• ๋‹นํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ”„๋กœ์„ธ์Šค๋Š” ํ˜„์žฌ ํ™œ๋™ ์ƒํƒœ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ํ”„๋กœ๊ทธ๋žจ ์นด์šดํ„ฐ, ํ”„๋กœ์„ธ์„œ์˜ ํ˜„์žฌ ํ™œ๋™(๋ ˆ์ง€์Šคํ„ฐ ๋‚ด์šฉ)๋„ ํฌํ•จํ•œ๋‹ค.

ํ”„๋กœ๊ทธ๋žจ๊ณผ ํ”„๋กœ์„ธ์Šค ์ฐจ์ด

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

 

๊ด€์ ์— ๋”ฐ๋ฅธ ํ”„๋กœ์„ธ์Šค

  • ์‚ฌ์šฉ์ž ๊ด€์ ์˜ ํ”„๋กœ์„ธ์Šค
  • ์‹œ์Šคํ…œ ๊ด€์ ์˜ ํ”„๋กœ์„ธ์Šค

์‚ฌ์šฉ์ž/์‹œ์Šคํ…œ ๊ด€์ ์˜ ํ”„๋กœ์„ธ์Šค

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

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

์‹คํ–‰ ์ˆœ์„œ๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ์Šค์ผ€์ค„๋Ÿฌ๋Š” ๋””์Šคํฌ์— ์ €์žฅ๋œ ํ”„๋กœ๊ทธ๋žจ์— ํ”„๋กœ์„ธ์„œ๋ฅผ ํ• ๋‹นํ•ด์„œ ์žฅ์น˜๋‚˜ ๋ฉ”๋ชจ๋ฆฌ ๊ฐ™์€ ํŒŒ์ผ ์ž์›์„ ์ฐธ์กฐํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ”„๋กœ์„ธ์Šค๋ฅผ ์ง€์›ํ•˜๊ณ  ํ˜‘๋ ฅํ•˜์—ฌ ๊ต์ฐฉ ์ƒํƒœ, ๋ณดํ˜ธ, ๋™๊ธฐํ™” ๊ฐ™์€ ์ •๋ณด๋ฅผ ๊ตํ™˜ํ•œ๋‹ค.

 

ํ”„๋กœ์„ธ์Šค ์ข…๋ฅ˜

ํ”„๋กœ์„ธ์Šค๋Š” ์ˆ˜ํ–‰ํ•˜๋Š” ์—ญํ• ์— ๋”ฐ๋ผ

  • '์‹œ์Šคํ…œ(์ปค๋„) ํ”„๋กœ์„ธ์Šค'์™€
  • '์‚ฌ์šฉ์ž ํ”„๋กœ์„ธ์Šค'๋กœ ๊ตฌ๋ถ„ํ•˜๊ณ 

๋ณ‘ํ–‰ ์ˆ˜ํ–‰ ๋ฐฉ๋ฒ•์— ๋”ฐ๋ผ

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

 

ํ”„๋กœ์„ธ์Šค ์ƒํƒœ ๋ณ€ํ™”์™€ ์ƒํƒœ ์ •๋ณด

์šด์˜์ฒด์ œ๋Š” ํ”„๋กœ์„ธ์Šค์˜ ์‹คํ–‰์„ ์ œ์–ดํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ”„๋กœ์„ธ์Šค๋Š” ์‹คํ–‰ํ•˜๋ฉด์„œ ์ƒํƒœ๊ฐ€ ๋ณ€ํ•˜๋ฏ€๋กœ ์šด์˜์ฒด์ œ๋Š” ํ”„๋กœ์„ธ์Šค ์ œ์–ด์— ํ•„์š”ํ•œ ์ƒํƒœ๋ฅผ ์ ๊ฒ€ํ•˜๊ณ  ํ”„๋กœ์„ธ์„œ๋ฅผ ์ œ์–ดํ•œ๋‹ค. ํ”„๋กœ์„ธ์Šค์˜ ์ƒํƒœ ๋ณ€ํ™”๋ฅผ ์•Œ์•„๋ณธ ํ›„ ํ”„๋กœ์„ธ์Šค ์ƒํƒœ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๋Š” ์ œ์–ด ๋ธ”๋ก์„ ์‚ดํŽด๋ณธ๋‹ค.

ํ”„๋กœ์„ธ์Šค ์ƒํƒœ ๋ณ€ํ™”

์šด์˜์ฒด์ œ์˜ ์ข…๋ฅ˜์— ๋”ฐ๋ผ ํ”„๋กœ์„ธ์Šค์˜ ์ƒํƒœ๋ฅผ ๋‹ค๋ฅด๊ฒŒ ํ‘œํ˜„ํ•˜๊ธฐ๋„ ํ•˜์ง€๋งŒ, ์–ด๋Š ํ•œ์ˆœ๊ฐ„ ๋Œ€๋ถ€๋ถ„์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ค€๋น„๋‚˜ ๋Œ€๊ธฐ ์ƒํƒœ๋กœ ๋ฐ”๋€Œ๋ฉด์„œ ํ•˜๋‚˜๋งŒ ์‹คํ–‰ ์ƒํƒœ๊ฐ€ ๋œ๋‹ค๋Š” ์ ์ด ์ค‘์š”ํ•˜๋‹ค.

  • ์ค€๋น„ → ์‹คํ–‰ : (dispatch)

    ์ค€๋น„ ํ ๋งจ ์•ž์— ์žˆ๋˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ํ”„๋กœ์„ธ์„œ๋ฅผ ์ ์œ ํ•˜๋Š” ๊ฒƒ์„ ๋””์ŠคํŒจ์น˜๋ผ๊ณ  ํ•œ๋‹ค. ๋‹ค์ค‘ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์šด์˜์ฒด์ œ์—์„œ๋Š” ์‹คํ–‰ ์ƒํƒœ์ธ ํ”„๋กœ์„ธ์Šค๊ฐ€ ํ• ๋‹น๋œ ์‹œ๊ฐ„๋งŒํผ๋งŒ ํ”„๋กœ์„ธ์„œ๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ํ•˜์—ฌ ํŠน์ • ํ”„๋กœ์„ธ์Šค๊ฐ€ ํ”„๋กœ์„ธ์„œ๋ฅผ ๊ณ„์† ๋…์ ํ•˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•œ๋‹ค.

  • ์‹คํ–‰ → ์ค€๋น„ : (timeout)
    ์šด์˜์ฒด์ œ๋Š” ์‹คํ–‰ ์ƒํƒœ์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ํ”„๋กœ์„ธ์„œ๋ฅผ ๊ณ„์† ๋…์ ํ•˜์ง€ ์•Š๋„๋ก ์ธํ„ฐ๋ŸฝํŠธ ํด๋ก์„ ๋‘์–ด ํ”„๋กœ์„ธ์Šค๊ฐ€ ํ• ๋‹น๋œ ์‹œ๊ฐ„ ๋™์•ˆ๋งŒ ํ”„๋กœ์„ธ์„œ๋ฅผ ์ ์œ ํ•˜๊ฒŒ ํ•œ๋‹ค. ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ผ์ • ์‹œ๊ฐ„์ด ์ง€๋‚˜๋„, ์ฆ‰ ํƒ€์ž„์•„์›ƒ๋˜์–ด๋„ ํ”„๋กœ์„ธ์„œ๋ฅผ ๋ฐ˜ํ™˜ํ•˜์ง€ ์•Š์œผ๋ฉด ํด๋ก์ด ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ๋ฐœ์ƒ์‹œ์ผœ ์šด์˜์ฒด์ œ์—์„œ ํ”„๋กœ์„ธ์„œ ์ œ์–ด๊ถŒ์„ ๋ถ€์—ฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์‹คํ–‰ ์ƒํƒœ์˜ ํ”„๋กœ์„ธ์„œ๋Š” ์ค€๋น„ ์ƒํƒœ๊ฐ€ ๋˜๊ณ , ์ค€๋น„ ๋ฆฌ์ŠคํŠธ์˜ ์ฒซ ๋ฒˆ์งธ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹คํ–‰ ์ƒํƒœ๊ฐ€ ๋œ๋‹ค.

  • ์‹คํ–‰ → ๋Œ€๊ธฐ(๋ณด๋ฅ˜) : (block)

    ํ• ๋‹น๋œ ์‹œ๊ฐ„ ์ด์ „์— ์‹คํ–‰ ์ƒํƒœ์˜ ํ”„๋กœ์„ธ์Šค์— ์ž…์ถœ๋ ฅ ์—ฐ์‚ฐ ๋“ฑ์ด ํ•„์š”ํ•˜๊ฑฐ๋‚˜ ์ƒˆ๋กœ์šด ์ž์› ์š”์ฒญ ๋“ฑ์˜ ๋ฌธ์ œ๋กœ ํ”„๋กœ์„ธ์„œ๋ฅผ ์Šค์Šค๋กœ ์–‘๋„ํ•˜๋ฉด ๋Œ€๊ธฐ ์ƒํƒœ๊ฐ€ ๋œ๋‹ค.
  • ๋Œ€๊ธฐ(๋ณด๋ฅ˜) → ์ค€๋น„ : (wake up)

    ํ”„๋กœ์„ธ์Šค๋Š” ์ž…์ถœ๋ ฅ ์ž‘์—…์ด ๋๋‚˜๋ฉด ๊นจ์›€(wake up)์œผ๋กœ ๋Œ€๊ธฐ์—์„œ ์ค€๋น„ ์ƒํƒœ๊ฐ€ ๋œ๋‹ค.

ํ”„๋กœ์„ธ์Šค๋Š” ์‹œ์Šคํ…œ์—์„œ ์ค€๋น„ → ์‹คํ–‰ → ๋Œ€๊ธฐ ์ƒํƒœ๋กœ ๋ฐ”๋€Œ๋ฉด์„œ ์‹คํ–‰ํ•˜๊ณ  ์ข…๋ฃŒํ•˜๋Š”๋ฐ, ์‹œ์Šคํ…œ์„ ๋– ๋‚ ๋•Œ๊นŒ์ง€ ์ด ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•œ๋‹ค. ํ”„๋กœ์„ธ์Šค์˜ ์ƒํƒœ ๋ณ€ํ™”๋Š” ์šด์˜์ฒด์ œ๊ฐ€ ์ž‘์—… ์Šค์ผ€์ค„๋Ÿฌ์™€ ํ”„๋กœ์„ธ์Šค ์Šค์ผ€์ค„๋Ÿฌ ๊ฐ™์€ ํ”„๋กœ์„ธ์„œ ์Šค์ผ€์ค„๋Ÿฌ๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ด€๋ฆฌํ•œ๋‹ค. ์ž‘์—… ์Šค์ผ€์ค„๋Ÿฌ๋Š” ์Šคํ’€๋Ÿฌ๊ฐ€ ๋””์Šคํฌ์— ์ €์žฅํ•œ ์ž‘์—… ์ค‘ ์‹คํ–‰ํ•  ์ž‘์—…์„ ์„ ์ •ํ•˜๊ณ  ์ค€๋น„ ๋ฆฌ์ŠคํŠธ์— ์‚ฝ์ž…ํ•˜์—ฌ ๋‹ค์ค‘ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ์ •๋„๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ”„๋กœ์„ธ์Šค ์Šค์ผ€์ค„๋Ÿฌ๋Š” ์œ„์˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์„ ์ •ํ•œ ์ž‘์—…์˜ ์ƒํƒœ๋ฅผ ๋ณ€ํ™”์‹œํ‚ค๋ฉฐ ํ”„๋กœ์„ธ์Šค์˜ ์ƒ์„ฑ์—์„œ ์ข…๋ฃŒ๊นŒ์ง€ ๊ณผ์ •์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

  • ์Šคํ’€๋Ÿฌ : ๋Œ€๊ธฐ์—ด ๊ด€๋ฆฌํ”„๋กœ๊ทธ๋žจ ๋˜๋Š” ์ธ์‡„ ๊ด€๋ฆฌ ์†Œํ”„ํŠธ์›จ์–ด. ์Šคํ’€๋Ÿฌ๋Š” ์šฐ์„  ์ˆœ์œ„๋ฅผ ์ž‘์—…์— ํ• ๋‹นํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๊ณ , ์ธ์‡„ํ•  ๋•Œ ์‚ฌ์šฉ์ž์—๊ฒŒ ์•Œ๋ฆฌ๋ฉฐ, ํ”„๋ฆฐํ„ฐ๋ผ๋ฆฌ ์„œ๋กœ ์ž‘์—…์„ ๋‚˜๋ˆ„๋Š” ๋“ฑ์˜ ์ผ์„ ๋‹ด๋‹นํ•œ๋‹ค.(์ถœ์ฒ˜)

์‹คํ–‰ ์ƒํƒœ์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ํ”„๋กœ์„ธ์„œ๋ฅผ ์ž๋ฐœ์ ์œผ๋กœ ๋ฐ˜ํ™˜ํ•˜๊ธฐ ์ „์— ํ• ๋‹น๋œ ์‹œ๊ฐ„์ด ์ง€๋‚˜๋ฉด ์ด ํ”„๋กœ์„ธ์Šค๋Š” ์ค€๋น„ ์ƒํƒœ๊ฐ€ ๋œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰ํ•˜๋‹ค ์ž…์ถœ๋ ฅ ๋ช…๋ น(๋˜๋Š” ์‹œ๊ฐ„์ด ๋งŽ์ด ํ•„์š”ํ•œ ๋น„์Šทํ•œ ์š”์ฒญ)์ด ๋ฐœ์ƒํ•˜๋ฉด ๋Œ€๊ธฐ ์ƒํƒœ๊ฐ€ ๋œ๋‹ค. ๋Œ€๊ธฐ ์ƒํƒœ์ธ ํ”„๋กœ์„ธ์Šค๋Š” ๋Œ€๊ธฐ ์›์ธ์„ ์ œ๊ฑฐํ•˜๋ฉด ์ค€๋น„ ์ƒํƒœ๋กœ ๋ฐ”๋€Œ๊ณ , ๋””์ŠคํŒจ์ฒ˜(distatcher)๊ฐ€ ์ค€๋น„ ์ƒํƒœ์ธ ํ”„๋กœ์„ธ์Šค์— ํ”„๋กœ์„ธ์„œ๋ฅผ ํ• ๋‹นํ•˜๋ฉด ๋‹ค์‹œ ์‹คํ–‰ ์ƒํƒœ๋กœ ๋ฐ”๋€๋‹ค. ์—ฌ๊ธฐ์„œ ๋””์ŠคํŒจ์ฒ˜๋Š” ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์Šค์ผ€์ค„๋Ÿฌ๊ฐ€ ์„ ํƒํ•œ ํ”„๋กœ์„ธ์Šค์— ํ”„๋กœ์„ธ์„œ๋ฅผ ํ• ๋‹นํ•˜๋Š” ๋ชจ๋“ˆ์ด๋‹ค.

ํ”„๋กœ์„ธ์Šค์™€ ๋””์ŠคํŒจ์ฒ˜ : ๋””์ŠคํŒจ์ฒ˜๊ฐ€ P3 ํ”„๋กœ์„ธ์Šค์— ํ”„๋กœ์„ธ์„œ๋ฅผ ํ• ๋‹นํ•˜๋Š” ์˜ˆ

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

PCB๋Š” ํ”„๋กœ์„ธ์„œ๋ฅผ ๊ด€๋ฆฌํ•˜๋ ค๊ณ  ์œ ์ง€ํ•˜๋Š” ๋ฐ์ดํ„ฐ ๋ธ”๋ก ๋˜๋Š” ๋ ˆ์ฝ”๋“œ์˜ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์ด๋‹ค. PCB๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ์ •๋ณด๋“ค๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ๋‹ค.

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

ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ƒ์„ฑ๋˜๋ฉด ๋ฉ”๋ชจ๋ฆฌ์— ํ”„๋กœ์„ธ์Šค ์ œ์–ด ๋ธ”๋ก์„ ์ƒ์„ฑํ•˜๊ณ , ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹คํ–‰์„ ์ข…๋ฃŒํ•˜๋ฉด ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค ์ œ์–ด ๋ธ”๋ก๋„ ์‚ญ์ œํ•œ๋‹ค. ์šด์˜์ฒด์ œ์˜ ๋ชจ๋“  ๋ชจ๋“ˆ์ด ํ”„๋กœ์„ธ์Šค ์ œ์–ด ๋ธ”๋ก ์ •๋ณด๋ฅผ ์ฝ๊ณ  ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

ํ”„๋กœ์„ธ์Šค์˜ ๋ฌธ๋งฅ ๊ตํ™˜

์ธํ„ฐ๋ŸฝํŠธ๋‚˜ ์‹œ์Šคํ…œ ํ˜ธ์ถœ ๋“ฑ์œผ๋กœ ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค์˜ ์ œ์–ด๋ฅผ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์— ๋„˜๊ฒจ ์‹คํ–‰ ์ƒํƒœ๊ฐ€ ๋˜๋„๋ก ํ•˜๋Š” ๊ฒƒ์„ ํ”„๋กœ์„ธ์Šค ๋ฌธ๋งฅ ๊ตํ™˜์ด๋ผ๊ณ  ํ•œ๋‹ค. ํ”„๋กœ์„ธ์Šค ๋ฌธ๋งฅ ๊ตํ™˜์ด ์ผ์–ด๋‚˜๋ฉด ํ”„๋กœ์„ธ์„œ์˜ ๋ ˆ์ง€์Šคํ„ฐ์— ์žˆ๋˜ ๋‚ด์šฉ์„ ๋‚˜์ค‘์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์ €์žฅํ•œ๋‹ค. ํ”„๋กœ์„ธ์Šค P1๊ณผ P2๊ฐ„์˜ ํ”„๋กœ์„ธ์Šค ๋ฌธ๋งฅ ๊ตํ™˜ ์˜ˆ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

 

ํ”„๋กœ์„ธ์Šค ๋ฌธ๋งฅ ๊ตํ™˜ ์˜ˆ

2. ํ”„๋กœ์„ธ์Šค์˜ ๊ด€๋ฆฌ

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

์šด์˜์ฒด์ œ๋Š” ํ”„๋กœ์„ธ์Šค์—์„œ ์ƒ์„ฑ, ์ข…๋ฃŒ, ์ œ๊ฑฐ, ์ค‘๋‹จ(์„œ์ŠคํŽœ๋“œ suspend), ์žฌ์‹œ์ž‘, ์šฐ์„ ์ˆœ์œ„ ๋ณ€๊ฒฝ, ๋Œ€๊ธฐ, ๋ฌธ๋งฅ ๊ตํ™˜ ๋“ฑ ๋‹ค์–‘ํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Š” ๋จผ์ € ํ”„๋กœ์„ธ์Šค์˜ ๊ตฌ์กฐ๋ฅผ ์•Œ์•„์•ผ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค.

ํ”„๋กœ์„ธ์Šค๋Š” ์‹คํ–‰ ์ค‘์— ํ”„๋กœ์„ธ์Šค ์ƒ์„ฑ ์‹œ์Šคํ…œ ํ˜ธ์ถœ์„ ์ด์šฉํ•ด์„œ ์ƒˆ๋กœ์šด ํ”„๋กœ์„ธ์Šค๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋”ฐ. ์ด๋•Œ ํ”„๋กœ์„ธ์Šค ์ƒ์„ฑ ์ˆœ์„œ๋ฅผ ์ €์žฅํ•˜๊ณ  ๋ถ€๋ชจ-์ž์‹ ๊ด€๊ณ„๋ฅผ ์œ ์ง€ํ•˜์—ฌ ๊ณ„์ธต์ ์œผ๋กœ ์ƒ์„ฑํ•œ๋‹ค. ํ”„๋กœ์„ธ์Šค๋ฅผ ์ƒˆ๋กœ ์ƒ์„ฑํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๋Š” ๋ถ€๋ชจ ํ”„๋กœ์„ธ์„œ(parent process)์ด๊ณ , ์ƒ์„ฑ๋˜๋Š” ํ”„๋กœ์„ธ์Šค๋Š” ์ž์‹ ํ”„๋กœ์„ธ์Šค(child process) ๋˜๋Š” ์„œ๋ธŒ ํ”„๋กœ์„ธ์Šค(subprocess)์ด๋‹ค. ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค๋Š” ์ž์‹ ํ”„๋กœ์„ธ์„œ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•˜๋ฉด์„œ ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ํ˜•์„ฑํ•˜๋Š”๋ฐ, ์ด๋Ÿฐ ํ”„๋กœ์„ธ์Šค ๊ณ„์ธต ๊ตฌ์กฐ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

์œ ๋‹‰์Šค ์‹œ์Šคํ…œ์˜ ํ”„๋กœ์„ธ์Šค ๊ณ„์ธต ๊ตฌ์กฐ ์˜ˆ

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

์šด์˜์ฒด์ œ๋‚˜ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์š”์ฒญ์„ ๋ฐ›์•„ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ƒ์„ฑํ•˜๋ฉด, ์šด์˜์ฒด์ œ๋Š” ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค์—์„œ ํ”„๋กœ์„ธ์Šค ์ œ์–ด ๋ธ”๋ก์„ ๋งŒ๋“ค์–ด ์ฃผ์†Œ ๊ณต๊ฐ„์„ ํ• ๋‹นํ•œ๋‹ค.

์ผ๊ด„ ์ฒ˜๋ฆฌ ํ™˜๊ฒฝ์—์„œ๋Š” ์ค€๋น„ ํ์— ์ž‘์—…์ด ๋„์ฐฉํ•  ๋•Œ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ณ ,
๋Œ€ํ™”ํ˜• ํ™˜๊ฒฝ์—์„œ๋Š” ์ƒˆ๋กœ์šด ์‚ฌ์šฉ์ž๊ฐ€ ๋กœ๊ทธ์˜จํ•  ๋•Œ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

ํ”„๋กœ์„ธ์Šค ์ƒ์„ฑ ์„ธ๋ถ€ ์ž‘์—…

  1. ์ƒˆ๋กœ์šด ํ”„๋กœ์„ธ์Šค์— ํ”„๋กœ์„ธ์Šค ์‹๋ณ„์ž๋ฅผ ํ• ๋‹น
  2. ํ”„๋กœ์„ธ์Šค์˜ ๋ชจ๋“  ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ํฌํ•จํ•  ์ˆ˜ ์žˆ๋Š” ์ฃผ์†Œ ๊ณต๊ฐ„๊ณผ ํ”„๋กœ์„ธ์Šค ์ œ์–ด ๋ธ”๋ก ๊ณต๊ฐ„์„ ํ• ๋‹น
  3. ํ”„๋กœ์„ธ์Šค ์ œ์–ด ๋ธ”๋ก์„ ์ดˆ๊ธฐํ™”. ํ”„๋กœ์„ธ์Šค ์ƒํƒœ, ํ”„๋กœ๊ทธ๋žจ ์นด์šดํ„ฐ ๋“ฑ ์ดˆ๊ธฐํ™”, ์ž์› ์š”์ฒญ, ํ”„๋กœ์„ธ์Šค ์ œ์–ด ์ •๋ณด(์šฐ์„ ์ˆœ์œ„) ๋“ฑ์„ ํฌํ•จํ•œ๋‹ค.
  4. ๋งํฌ๋ฅผ ๊ฑด๋‹ค(ํ•ด๋‹น ํ์— ์‚ฝ์ž…ํ•œ๋‹ค).

ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋ ค๋ฉด ํ”„๋กœ์„ธ์„œ ์ ์œ  ์‹œ๊ฐ„, ๋ฉ”๋ชจ๋ฆฌ, ํŒŒ์ผ, ์ž…์ถœ๋ ฅ์žฅ์น˜ ๋“ฑ ์ž์›์ด ํ•„์š”ํ•˜๋‹ค. ์ž์‹ ํ”„๋กœ์„ธ์Šค๋Š” ์šด์˜์ฒด์ œ์—์„œ ์ง์ ‘ ํ•„์š”ํ•œ ์ž์›์„ ์–ป๊ฑฐ๋‚˜ ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค์˜ ์ž์›์„ ์ผ๋ถ€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋•Œ ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค๋Š” ์ž์‹ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ์ž์›์„ ์ œํ•œํ•ด์„œ ํŠน์ • ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ž์‹ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋„ˆ๋ฌด ๋งŽ์ด ์ƒ์„ฑํ•˜์—ฌ ์‹œ์Šคํ…œ์— ๋ถ€๋‹ด์„ ์ฃผ๋Š” ๊ฒƒ์„ ๋ง‰์„ ์ˆ˜ ์žˆ๋‹ค. ํ”„๋กœ์„ธ์Šค๋ฅผ ์ƒ์„ฑํ•  ๋•Œ๋Š” ์ด๋Ÿฐ ์ž์› ์™ธ์—๋„ ์ผ๋ถ€ ์ดˆ๊ธฐํ™” ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค์—์„œ ์ž์‹ ํ”„๋กœ์„ธ์Šค๋กœ ์ „๋‹ฌํ•˜๊ธฐ๋„ ํ•œ๋‹ค.

ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ƒˆ๋กœ์šด ํ”„๋กœ์„ธ์Šค๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ๋‹ค์Œ ๋‘ ๊ฐ€์ง€ ์‹คํ–‰์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค์™€ ์ž์‹ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋™์‹œ์— ์‹คํ–‰ํ•œ๋‹ค.
  • ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค๋Š” ์ž์‹ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ชจ๋‘ ์ข…๋ฃŒํ•  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฐ๋‹ค.

fork ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๋Š” ํฌ๊ฒŒ ๋‘ ๊ฐ€์ง€์ด๋‹ค.

  1. ๋ถ€๋ชจ์™€ ๋™์ผํ•œ ์ž์‹์„ ๋ณต์ œํ•˜๋Š” ๊ฒƒ
  2. fork ๋ช…๋ น์–ด๋ฅผ ํ˜ธ์ถœํ•œ ํ›„ exec ๋ช…๋ น์–ด๋ฅผ ์—ฐ๋‹ฌ์•„ ํ˜ธ์ถœํ•˜์—ฌ ์ž์‹ ํ”„๋กœ์„ธ์Šค์˜ ์ฃผ์†Œ ๊ณต๊ฐ„์„ ๋ณ„๋„ ํ”„๋กœ๊ทธ๋žจ ์ฃผ์†Œ ๊ณต๊ฐ„์œผ๋กœ ๋ฎ์–ด์“ฐ๋Š” ๊ฒƒ์ด๋‹ค.

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

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

์œ ๋‹‰์Šค ์ฒด๊ณ„์—์„œ init ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹คํ–‰์ด ๋˜๋ฉด init์„ fork๋ฅผ ํ•˜๊ณ  fork๋œ ํ”„๋กœ์„ธ์Šค๋ฅผ exec์œผ๋กœ ๋ฎ์–ด์”Œ์šฐ๋„๋ก ํ•˜์—ฌ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ณ„์† ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ์‹์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 

[์œ ๋‹‰์Šค] fork์™€ exec

fork์™€ exec์— ๊ด€ํ•ด์„œ ์•Œ์•„๋ณด๋„๋ก ํ•œ๋‹ค.

blackinkgj.github.io

 

ํ”„๋กœ์„ธ์Šค์˜ ์ข…๋ฃŒ

ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋งˆ์ง€๋ง‰ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๋ฉด ์ข…๋ฃŒํ•˜์—ฌ ์šด์˜์ฒด์ œ์— ํ”„๋กœ์„ธ์Šค์˜ ์‚ญ์ œ๋ฅผ ์š”์ฒญํ•œ๋‹ค.

์ผ๊ด„ ์ฒ˜๋ฆฌ ํ™˜๊ฒฝ์—์„œ๋Š” ์ž‘์—… ์ข…๋ฃŒ๋ฅผ ์˜๋ฏธํ•˜๋Š” ์‹ ํ˜ธ๋กœ ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ๋ฐœ์ƒํ•˜๊ฑฐ๋‚˜ ์‹œ์Šคํ…œ ํ˜ธ์ถœ๋กœ ์ค‘๋‹จ ๋ช…๋ น์„ ์ „๋‹ฌํ•˜์—ฌ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ข…๋ฃŒํ•œ๋‹ค.
๋Œ€ํ™”ํ˜• ํ™˜๊ฒฝ์—์„œ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๋กœ๊ทธ์˜คํ”„ํ•˜๊ฑฐ๋‚˜ ํ„ฐ๋ฏธ๋„์„ ๋‹ซ์œผ๋ฉด ํ”„๋กœ์„ธ์Šค๋ฅผ ์ข…๋ฃŒํ•œ๋‹ค.

์ด์™ธ์— ์˜ค๋ฅ˜๋‚˜ abort ๋ช…๋ น์–ด๋กœ๋„ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ข…๋ฃŒํ•  ์ˆ˜ ์žˆ๋‹ค. abort ๋ช…๋ น์–ด๋Š” ์ข…๋ฃŒํ•  ํ”„๋กœ์„ธ์Šค์˜ ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค๋งŒ ํ˜ธ์ถœํ•˜๋Š”๋ฐ, ๋ถ€๋ชจ๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ž„์˜๋กœ ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค๋ฅผ ์ค‘๋‹จํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ž์‹ ํ”„๋กœ์„ธ์Šค๋Š” ์ข…๋ฃŒํ•  ๋•Œ ์ž์‹ ์˜ ์‹๋ณ„์ž๋ฅผ ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค์— ์ „๋‹ฌํ•œ๋‹ค.

๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ข…๋ฃŒํ•˜๋ฉด ๋ณดํ†ต ์ž์‹ ํ”„๋กœ์„ธ์Šค๋Š” ํ•„์š”์น˜ ์•Š์œผ๋ฏ€๋กœ ์šด์˜์ฒด์ œ๊ฐ€ ์ž์‹ ํ”„๋กœ์„ธ์Šค๋„ ์ข…๋ฃŒํ•˜๋Š”๋ฐ, ์ด๋ฅผ ์—ฐ์† ์ข…๋ฃŒ๋ผ๊ณ  ํ•œ๋‹ค.

ํ”„๋กœ์„ธ์Šค๋ฅผ ์ข…๋ฃŒํ•˜๋Š” ์ƒํ™ฉ

  • ์ •์ƒ ์ข…๋ฃŒ : ํ”„๋กœ์„ธ์Šค๊ฐ€ ์šด์˜์ฒด์ œ์˜ ์„œ๋น„์Šค๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ
  • ์‹œ๊ฐ„ ์ดˆ๊ณผ : ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ช…์‹œ๋œ ์ „์ฒด ์‹œ๊ฐ„์„ ์ดˆ๊ณผํ•˜์—ฌ ์‹คํ–‰ํ•˜๊ฑฐ๋‚˜ ๋ช…์‹œ๋œ ์‹œ๊ฐ„์„ ์ดˆ๊ณผํ•˜๋ฉด์„œ ์–ด๋–ค ์ด๋ฒคํŠธ ๋ฐœ์ƒ์„ ๊ธฐ๋‹ค๋ฆด ๋•Œ
  • ์‹คํŒจ : ํŒŒ์ผ ๊ฒ€์ƒ‰ ์‹คํŒจ, ์ž…์ถœ๋ ฅ์ด ๋ช…์‹œ๋œ ํšŸ์ˆ˜๋ฅผ ์ดˆ๊ณผํ•˜์—ฌ ์‹คํŒจํ•  ๋•Œ
  • ์‚ฐ์ˆ  ์˜ค๋ฅ˜, ๋ณดํ˜ธ ์˜ค๋ฅ˜, ๋ฐ์ดํ„ฐ ์˜ค๋ฅ˜ ๋“ฑ
  • ๋ฉ”๋ชจ๋ฆฌ ๋ถ€์กฑ, ์•ก์„ธ์Šค ์œ„๋ฐ˜ ๋“ฑ

์œ ๋‹‰์Šค์—์„œ๋Š” exit ๋ช…๋ น์–ด๋กœ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ข…๋ฃŒํ•˜๊ณ , ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค๋Š”  wait ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž์‹ ํ”„๋กœ์„ธ์Šค์˜ ์ข…๋ฃŒ๋ฅผ ๊ธฐ๋‹ค๋ฆฐ๋‹ค. wait ๋ช…๋ น์–ด๋Š” ์ž์‹ ํ”„๋กœ์„ธ์Šค์˜ ์‹๋ณ„์ž๋ฅผ ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค์— ๋Œ๋ ค์ฃผ๋ฏ€๋กœ ์–ด๋–ค ์ž์‹ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ข…๋ฃŒํ–ˆ๋Š”์ง€ ์•Œ๋ ค์ค€๋‹ค.

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

ํ”„๋กœ์„ธ์Šค ์ œ๊ฑฐ๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ํŒŒ๊ดดํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ํ”„๋กœ์„ธ์Šค๋ฅผ ์ œ๊ฑฐํ•˜๋ฉด ์‚ฌ์šฉํ•˜๋˜ ์ž์›์„ ์‹œ์Šคํ…œ์— ๋Œ๋ ค์ฃผ๊ณ , ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค๋Š” ์‹œ์Šคํ…œ ๋ฆฌ์ŠคํŠธ๋‚˜ ํ…Œ์ด๋ธ”์—์„œ ์‚ฌ๋ผ์ ธ ํ”„๋กœ์„ธ์Šค ์ œ์–ด ๋ธ”๋ก์„ ํšŒ์ˆ˜ํ•œ๋‹ค. ํ•˜์ง€๋งŒ ํ”„๋กœ๊ทธ๋žจ์€ ์—ฌ์ „ํžˆ ๋””์Šคํฌ์— ์ €์žฅํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ž์‹ ํ”„๋กœ์„ธ์Šค๋Š” ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ œ๊ฑฐํ•˜๋ฉด ์ž๋™์œผ๋กœ ์ œ๊ฑฐ๋œ๋‹ค.

ํ”„๋กœ์„ธ์Šค์˜ ์ค‘๋‹จ๊ณผ ์žฌ์‹œ์ž‘

์•ž์„œ ์‚ดํŽด๋ณธ ํ”„๋กœ์„ธ์Šค์˜ ์ค€๋น„, ์‹คํ–‰, ๋Œ€๊ธฐ ์ƒํƒœ๋งŒ ์ด์šฉํ•˜๋ฉด ์ž…์ถœ๋ ฅ ๋™์ž‘์ด ์ผ๋ฐ˜ ์—ฐ์‚ฐ๋ณด๋‹ค ๋Š๋ ค ์‹œ์Šคํ…œ์ด ๋Œ€๋ถ€๋ถ„ ์œ ํœด ์ƒํƒœ์ด๋‹ค. ๋‹ค์ค‘ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ™˜๊ฒฝ์—์„œ๋„ ํ”„๋กœ์„ธ์„œ์˜ ๋™์ž‘์‹œ๊ฐ„์ด ์ž…์ถœ๋ ฅ๋ณด๋‹ค ์งง์•„ ํ”„๋กœ์„ธ์Šค ๋ฌธ๋งฅ ๊ตํ™˜์ด ์ผ์–ด๋‚œ ํ›„์—๋„ ๊ธฐ๋‹ค๋ฆฌ๊ฒŒ ๋˜๋ฏ€๋กœ ๋Œ€๋ถ€๋ถ„ ์œ ํœด์‹œ๊ฐ„์ด ๋œ๋‹ค.

์‹œ์Šคํ…œ ์œ ํœด์‹œ๊ฐ„ ๋ฌธ์ œ๋Š” ํ”„๋กœ์„ธ์Šค ์ค‘๋‹จ(์ผ์‹œ์ •์ง€) ์ƒํƒœ๋ฅผ ์ด์šฉํ•˜์—ฌ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค. ์šด์˜์ฒด์ œ๋Š” ์ƒˆ๋กœ์šด ํ”„๋กœ์„ธ์Šค๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ์‹คํ–‰ํ•˜๊ฑฐ๋‚˜ ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ค‘๋‹จํ–ˆ๋‹ค๊ฐ€ ๋‹ค์‹œ ์‹คํ–‰ํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ํ›„์ž์˜ ๋ฐฉ๋ฒ•์„ ์ด์šฉํ•˜๋ฉด ์‹œ์Šคํ…œ ์ „์ฒด์˜ ๋ถ€ํ•˜๋ฅผ ์ฆ๊ฐ€์‹œํ‚ค์ง€ ์•Š์œผ๋ฉด์„œ ํ”„๋กœ์„ธ์Šค์— ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋‹ค. ์‹คํ–‰์—์„œ ๋Œ€๊ธฐ๊ฐ€ ์•„๋‹Œ ์ค‘๋‹จ ์ƒํƒœ๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด ํŠน์ • ์ด๋ฒคํŠธ์˜ ๋ฐœ์ƒ์„ ๊ธฐ๋‹ค๋ฆฌ๋ฉด์„œ ๋Œ€๊ธฐ ์ƒํƒœ๊ฐ€ ๋œ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ํ•ด๋‹น ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ ์ฆ‰์‹œ ์‹คํ–‰ ์ƒํƒœ๋กœ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋Š” ์ด์ ์ด ์žˆ๋‹ค.

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

ํ”„๋กœ์„ธ์Šค์˜ ์ค‘๋‹จ๊ณผ ์žฌ์‹œ์ž‘์ด ์ผ์–ด๋‚˜๋Š” ์ƒํ™ฉ

  • ์‹œ์Šคํ…œ์— ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด, ์ค‘๋‹จํ–ˆ๋‹ค๊ฐ€ ์‹œ์Šคํ…œ์ด ๊ธฐ๋Šฅ์„ ํšŒ๋ณตํ•˜๋ฉด ๋‹ค์‹œ ์žฌ์‹œ์ž‘ ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ํ”„๋กœ์„ธ์Šค์— ์˜์‹ฌ์Šค๋Ÿฌ์šด ๋ถ€๋ถ„์ด ์žˆ์œผ๋ฉด ํ”„๋กœ์„ธ์Šค๋ฅผ ์ค‘๋‹จํ•˜์—ฌ ํ™•์ธํ•œ ํ›„ ์žฌ์‹œ์ž‘ํ•˜๊ฑฐ๋‚˜ ์ข…๋ฃŒํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์ฒ˜๋ฆฌํ•  ์ž‘์—…์ด ๋„ˆ๋ฌด ๋งŽ์•„ ์‹œ์Šคํ…œ์— ๋ถ€๋‹ด์ด ๋˜๋ฉด(๋„ˆ๋ฌด ๋งŽ์€ ์ ์žฌ) ํ”„๋กœ์„ธ์Šค ๋ช‡ ๊ฐœ๋ฅผ ์ค‘๋‹จํ–ˆ๋‹ค๊ฐ€ ์‹œ์Šคํ…œ์ด ์ •์ƒ ์ƒํƒœ๋กœ ๋Œ์•„์™”์„ ๋•Œ ์žฌ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋Œ€๋‹ค์ˆ˜ ์‹œ์Šคํ…œ์€ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์ „์— ์ž์›์„ ํ• ๋‹น๋ฐ›๊ณ  ์‹คํ–‰์„ ์‹œ์ž‘ํ•˜์ง€๋งŒ, ๋‹ค์ค‘ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ™˜๊ฒฝ์—์„œ๋Š” ์ž์›์˜ ์ด์šฉ๋ฅ ๊ณผ ์‹œ์Šคํ…œ ํšจ์œจ์„ ๋†’์ด๋ ค๊ณ  ์ž์›์„ ๋™์ ์œผ๋กœ ํ• ๋‹นํ•œ๋‹ค. ์ด๋•Œ ์ž์›์„ ํ• ๋‹น๋ฐ›์œผ๋ ค๊ณ  ๊ธฐ๋‹ค๋ฆฌ๋Š” ์ƒํƒœ๊ฐ€ '๋Œ€๊ธฐ'์ด๊ณ , ํ• ๋‹น๋ฐ›์€ ์ž์›์„ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์ƒํƒœ๊ฐ€ '์ค‘๋‹จ'์ด๋‹ค.

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

ํ”„๋กœ์„ธ์Šค์— ์ค‘๋‹จ๋œ ์ค€๋น„ ์ƒํƒœ์™€ ์ค‘๋‹จ๋œ ๋Œ€๊ธฐ ์ƒํƒœ๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ์ƒํƒœ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค. 

์ค‘๋‹จ๊ณผ ์žฌ์‹œ์ž‘์„ ์ถ”๊ฐ€ํ•œ ํ”„๋กœ์„ธ์Šค์˜ ์ƒํƒœ ๋ณ€ํ™”

์ค‘๋‹จ์€ ํ”„๋กœ์„ธ์Šค ์ž์‹ ์ด๋‚˜ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๋กœ ๊ฐ€๋Šฅํ•œ๋ฐ, ๋‹จ์ผ ์ฒ˜๋ฆฌ ์‹œ์Šคํ…œ์—์„œ๋Š” ์Šค์Šค๋กœ ์ค‘๋‹จํ•˜๋Š” ๋ฐ˜๋ฉด, ๋‹ค์ค‘ ์ฒ˜๋ฆฌ ์‹œ์Šคํ…œ์—์„œ๋Š” ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์„œ๊ฐ€ ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ค‘๋‹จํ•  ์ˆ˜ ์žˆ๋‹ค. ์ค‘๋‹จ๋œ ํ”„๋กœ์„ธ์Šค๋Š” ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์„œ๊ฐ€ ์žฌ์‹œ์ž‘ํ•˜๊ธฐ ์ „์—๋Š” ์‹คํ–‰ํ•  ์ˆ˜ ์—†๋‹ค.

ํ”„๋กœ์„ธ์Šค์˜ ์šฐ์„ ์ˆœ์œ„ ๋ณ€๊ฒฝ

ํ”„๋กœ์„ธ์Šค ์Šค์ผ€์ค„๋Ÿฌ๋Š” ํ”„๋กœ์„ธ์Šค ์ œ์–ด ๋ธ”๋ก์— ์žˆ๋Š” ์šฐ์„ ์ˆœ์œ„๋ฅผ ์ด์šฉํ•˜์—ฌ ์ค€๋น„ ๋ฆฌ์ŠคํŠธ์˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ฒ˜๋ฆฌํ•œ๋‹ค. ์ค€๋น„ ๋ฆฌ์ŠคํŠธ์˜ ํ”„๋กœ์„ธ์„œ๋Š” ํ”„๋กœ์„ธ์„œ ์ค‘์‹ฌ ํ”„๋กœ์„ธ์Šค์™€ ์ž…์ถœ๋ ฅ ์ค‘์‹ฌ ํ”„๋กœ์„ธ์Šค๋กœ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ž…์ถœ๋ ฅ ์ค‘์‹ฌ ํ”„๋กœ์„ธ์Šค๋Š” ์†๋„๊ฐ€ ๋Š๋ฆฌ๋ฉด์„œ ๋น ๋ฅธ ์‘๋‹ต์„ ์š”๊ตฌํ•˜๋Š” ๋‹จ๋ง๊ธฐ ์ž…์ถœ๋ ฅ์— ๋†’์€ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๋ถ€์—ฌํ•˜๊ณ , ์†๋„๊ฐ€ ๋น ๋ฅธ ๋””์Šคํฌ ์ž…์ถœ๋ ฅ ํ”„๋กœ์„ธ์Šค์—๋Š” ๋‚ฎ์€ ์šฐ์„ ์ˆ˜์œ„๋ฅผ ๋ถ€์—ฌํ•œ๋‹ค. ์ด๋•Œ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋‚ฎ์€ ํ”„๋กœ์„ธ์Šค์—๋Š” ์‹œ๊ฐ„์„ ๋งŽ์ด ํ• ๋‹นํ•˜๊ณ , ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์€ ํ”„๋กœ์„ธ์Šค์—๋Š” ์‹œ๊ฐ„์„ ์ ๊ฒŒ ํ• ๋‹นํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ์ž…์ถœ๋ ฅ ์ค‘์‹ฌ ํ”„๋กœ์„ธ์Šค๋Š” ํ”„๋กœ์„ธ์„œ๋ฅผ ์งง๊ฒŒ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋„๋ก ํ•˜๊ณ , ํ”„๋กœ์„ธ์„œ ์ค‘์‹ฌ ํ”„๋กœ์„ธ์Šค๋Š” ํ”„๋กœ์„ธ์„œ๋ฅผ ๊ธธ๊ฒŒ ์‚ฌ์šฉํ•˜๋˜ ์‚ฌ์šฉ ํšŸ์ˆ˜๋ฅผ ์ค„์—ฌ์„œ ๊ท ํ˜•์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค.

ํ”„๋กœ์„ธ์Šค์˜ ๋ฌธ๋งฅ ๊ตํ™˜

ํ˜„์žฌ ์‹คํ–‰ํ•˜๋Š” ํ”„๋กœ์„ธ์Šค์™€ ๋ณ„๋„๋กœ ์™ธ๋ถ€์—์„œ ์ด๋ฒคํŠธ(์˜ˆ : ์ž…์ถœ๋ ฅ ๋™์ž‘์˜ ์ข…๋ฃŒ)๊ฐ€ ์ผ์–ด๋‚˜๋ฉด ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

  • ์ž…์ถœ๋ ฅ ์ธํ„ฐ๋ŸฝํŠธ : ์ž…์ถœ๋ ฅ ๋™์ž‘์ด ๋ฐœ์ƒํ–ˆ์Œ์„ ํ™•์ธํ•˜๊ณ  ์ด๋ฒคํŠธ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ์ค€๋น„ ์ƒํƒœ๋กœ ๋ฐ”๊พผ ํ›„ ์‹คํ–‰ํ•  ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค.
  • ํด๋ก ์ธํ„ฐ๋ŸฝํŠธ : ํ˜„์žฌ ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค์˜ ํ• ๋‹น ์‹œ๊ฐ„์„ ์กฐ์‚ฌํ•˜์—ฌ ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ค€๋น„ ์ƒํƒœ๋กœ ๋ฐ”๊พธ๊ณ , ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰ ์ƒํƒœ๋กœ ๋ฐ”๊พผ๋‹ค.

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

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

๋ฌธ๋งฅ ๊ตํ™˜์ด ๋ฐœ์ƒํ•  ๋•Œ

  • ์ค€๋น„ → ์‹คํ–‰
  • ์‹คํ–‰ → ์ค€๋น„
  • ์‹คํ–‰ → ๋Œ€๊ธฐ

๋ฌธ๋งฅ ๊ตํ™˜ ์˜ˆ

ํ˜„์žฌ ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค Pj์—์„œ ๋ฌธ๋งฅ ๊ตํ™˜์„ ์š”์ฒญํ•˜๋ฉด, ์šฐ์„  ์‚ฌ์šฉ์ž ๋ชจ๋“œ์—์„œ ์ปค๋„ ๋ชจ๋“œ๋กœ Pj์˜ ์ œ์–ด๊ฐ€ ๋„˜์–ด๊ฐ€๋ฉด์„œ ํ”„๋กœ์„ธ์Šค Pj๋ฅผ ์ข…๋ฃŒํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‹ค์‹œ ์‹œ์ž‘ ํ•  ์ˆ˜ ์žˆ๋„๋ก  Pj์˜ ํ˜„์žฌ ํ•˜๋“œ์›จ์–ด ์ƒํƒœ๋ฅผ PCBj์— ์ €์žฅํ•˜๊ณ  ๋‹ค์Œ์— ์‹คํ–‰ํ•  ํ”„๋กœ์„ธ์Šค๋กœ Pk๋ฅผ ์„ ํƒํ•œ๋‹ค. Pk ์ •๋ณด๋ฅผ PCBk์—์„œ ์–ป์–ด ์™€ ํ”„๋กœ์„ธ์„œ์— ์žฌ์ €์žฅํ•˜๊ณ ๋Š” ์‚ฌ์šฉ์ž ๋ชจ๋“œ๋กœ ๋Œ์•„์™€์„œ ํ”„๋กœ์„ธ์„œ Pk๋ฅผ ์‹คํ–‰ํ•œ๋‹ค.

๋ฌธ๋งฅ ๊ตํ™˜์€ ๋ ˆ์ง€์Šคํ„ฐ ๋ฌธ๋งฅ ๊ตํ™˜, ์ž‘์—… ๋ฌธ๋งฅ ๊ตํ™˜, ์Šค๋ ˆ๋“œ ๋ฌธ๋งฅ ๊ตํ™˜, ํ”„๋กœ์„ธ์Šค ๋ฌธ๋งฅ ๊ตํ™˜์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ํ”„๋กœ์„ธ์Šค์™€ ์šด์˜์ฒด์ œ๊ฐ€ ๋ฌธ๋งฅ์˜ ๊ตฌ์„ฑ ์—ฌ๋ถ€๋ฅผ ๊ฒฐ์ •ํ•˜๋ฏ€๋กœ ์šด์˜์ฒด์ œ๋ฅผ ์„ค๊ณ„ํ•  ๋•Œ ์ฃผ์š” ๊ด€์‹ฌ์‚ฌ๋Š” ๊ฐ€๋Šฅํ•œ ํ•œ ๋ถˆํ•„์š”ํ•œ ๋ฌธ๋งฅ ๊ตํ™˜์„ ์ค„์ด๋Š” ๊ฒƒ์ด๋‹ค. ์‹ค์ œ๋กœ ๊ตฌํ˜„ํ•˜๊ธฐ๊ฐ€ ์‰ฝ์ง€ ์•Š๋‹ค. ์Šค๋ ˆ๋“œ๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ฌธ๋งฅ ๊ตํ™˜์„ ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.

๋Œ“๊ธ€