Computer Science/์šด์˜์ฒด์ œ

์šด์˜์ฒด์ œ ๊ฐœ์š”

kite707 2025. 5. 24. 00:04

์šด์˜์ฒด์ œ์˜ ์—ญํ• 

์šด์˜์ฒด์ œ์˜ ์—ญํ• ์€ ํฌ๊ฒŒ 2๊ฐ€์ง€๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค.

  1. ์ž์› ๊ด€๋ฆฌ ๋ฐ ํ• ๋‹น
  2. ํ”„๋กœ์„ธ์Šค ๋ฐ ์Šค๋ ˆ๋“œ ๊ด€๋ฆฌ

์—ฌ๊ธฐ์„œ 1๋ฒˆ์˜ ์ž์›์€ CPU, ๋ฉ”๋ชจ๋ฆฌ, ๋ณด์กฐ๊ธฐ์–ต์žฅ์น˜ ๋“ฑ์ด๋‹ค.

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

2๋ฒˆ ํ”„๋กœ์„ธ์Šค ๋ฐ ์Šค๋ ˆ๋“œ ๊ด€๋ฆฌ๋Š” ์ด๋ฏธ ์‹คํ–‰์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ(ํ”„๋กœ์„ธ์Šค)์— ์ž์›์„ ํ• ๋‹นํ•˜๊ณ  ๋‚ด๋ถ€์— ์žˆ๋Š” ์Šค๋ ˆ๋“œ๋ผ๋Š” ์‹คํ–‰์˜ ๋‹จ์œ„๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

์ฆ‰ ์šด์˜์ฒด์ œ๋Š” ์ž์› ๊ด€๋ฆฌ์ž์ด๋‹ค.

 

์‹œ์Šคํ…œ ์ฝœ๊ณผ ์ด์ค‘ ๋ชจ๋“œ

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

์ผ๋ฐ˜์ ์œผ๋กœ ์‘์šฉํ”„๋กœ๊ทธ๋žจ๋“ค์€ CPU, ๋ฉ”๋ชจ๋ฆฌ๊ฐ™์€ ์ž์›์— ์ง์ ‘์ ์œผ๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋‹ค. ์ด๋ฅผ ์œ„ํ•ด์„œ๋Š” ์‹œ์Šคํ…œ ์ฝœ์„ ํ˜ธ์ถœํ•ด ์šด์˜์ฒด์ œ๋ฅผ ์กฐ์ž‘ํ•ด ์ž์›์— ์ ‘๊ทผํ•ด์•ผํ•œ๋‹ค.

์‹œ์Šคํ…œ ์ฝœ์˜ ์ฒ˜๋ฆฌ ๊ณผ์ •์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

์‹œ์Šคํ…œ ์ฝœ ํ˜ธ์ถœ -> ์†Œํ”„ํŠธ์›จ์–ด ์ธํ„ฐ๋ŸฝํŠธ ๋ฐœ์ƒ -> ์ปค๋„๋ชจ๋“œ ์ „ํ™˜ -> ์šด์˜์ฒด์ œ ์ฝ”๋“œ ์‹คํ–‰ -> ์‚ฌ์šฉ์ž ๋ชจ๋“œ๋กœ ์ „ํ™˜

์ด๋ ‡๊ฒŒ ์‚ฌ์šฉ์ž/์ปค๋„ ๋ชจ๋“œ๋กœ ๋‚˜๋ˆ  ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์„ ์ด์ค‘ ๋ชจ๋“œ(dual mode)๋ผ๊ณ  ํ•œ๋‹ค. ์‹ค์ˆ˜๋กœ๋ผ๋„ ์‚ฌ์šฉ์ž ๋ชจ๋“œ์—์„œ ์ž์›์— ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•จ์ด๋‹ค.

 

ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ

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

ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹คํ–‰๋˜๋ฉด ์ปค๋„ ์˜์—ญ์— ํ”„๋กœ์„ธ์Šค ์ œ์–ด ๋ธ”๋ก(PCB) ์ •๋ณด๊ฐ€ ์ €์žฅ๋˜๊ณ , ์‚ฌ์šฉ์ž ์˜์—ญ์— ์ฝ”๋“œ์˜์—ญ, ๋ฐ์ดํ„ฐ ์˜์—ญ, ํž™ ์˜์—ญ, ์Šคํƒ ์˜์—ญ์ด ์ €์žฅ๋œ๋‹ค.

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

๋งŒ์•ฝ ์ž์›์€ ํ•ด์ œ๋˜์—ˆ๋Š”๋ฐ PCB๋Š” ๋‚จ์•„์žˆ๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค. ์ด๋ฅผ ์ข€๋น„ ํ”„๋กœ์„ธ์Šค(zombie process)๋ผ๊ณ  ํ•œ๋‹ค.

ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹คํ–‰๋˜๋ ค๋ฉด ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌ๋˜์–ด์•ผ ํ•œ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌ๋œ ํ”„๋กœ์„ธ์Šค๋“ค์€ CPU๋ฅผ ์ •ํ•ด์ง„ ์‹œ๊ฐ„๋งŒํผ ๋‚˜๋ˆ ์„œ ์‚ฌ์šฉํ•œ๋‹ค. ์ •ํ•ด์ง„ ์‹œ๊ฐ„์ด ๋๋‚ฌ๋‹ค๋Š” ๊ฒƒ์€ ํƒ€์ด๋จธ ์ธํ„ฐ๋ŸฝํŠธ์— ์˜ํ•ด ์•Œ๊ฒŒ ๋˜๋Š”๋ฐ, ํ”„๋กœ์„ธ์Šค A๋Š” ์ž์‹ ์˜ ์ฐจ๋ก€๊ฐ€ ๋˜๋ฉด CPU๋ฅผ ์‚ฌ์šฉํ•˜๋‹ค๊ฐ€ ํƒ€์ด๋จธ ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ๋‹ค์Œ ํ”„๋กœ์„ธ์ŠคB์— CPU์‚ฌ์šฉ๊ถŒ์„ ๋„˜๊ธฐ๊ณ  ๋‹ค์‹œ ๊ธฐ๋‹ค๋ฆฐ๋‹ค.

์ด๋•Œ ํ”„๋กœ์„ธ์Šค A๋Š” ํ”„๋กœ๊ทธ๋žจ ์นด์šดํ„ฐ, ๋ ˆ์ง€์Šคํ„ฐ ๊ฐ’, ๋ฉ”๋ชจ๋ฆฌ ์ •๋ณด ๋“ฑ ์ž‘์—…ํ•˜๋˜ ์ •๋ณด๋ฅผ ์ €์žฅํ•ด๋†”์•ผ ํ•œ๋‹ค. ์ด๋Ÿฐ ์ •๋ณด๋“ค์„ Context๋ผ๊ณ  ํ•˜๋Š”๋ฐ ์ด๊ฒƒ์€ PCB(Process Control Block)์— ์ €์žฅ๋œ๋‹ค. ์ด๋ ‡๊ฒŒ PCB์— ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๊ณ  B์—๊ฒŒ CPU ์‚ฌ์šฉ๊ถŒ์„ ๋„˜๊ฒผ๋‹ค๊ฐ€ ๋‹ค์‹œ A์˜ ์ฐจ๋ก€๊ฐ€ ๋Œ์•„์˜ค๋ฉด ์šด์˜์ฒด์ œ๋Š” A์˜ PCB์—์„œ Context๋ฅผ ๊ฐ€์ ธ์™€ ๊ฐ’๋“ค์„ ๋ณต๊ตฌํ•œ๋‹ค.

์ด๋ ‡๊ฒŒ ๊ธฐ์กด ํ”„๋กœ์„ธ์Šค์˜ Context๋ฅผ PCB์— ๋ฐฑ์—…ํ•˜๊ณ  PCB์—์„œ Context๋ฅผ ๋ณต๊ตฌํ•˜์—ฌ ์ƒˆ๋กœ์šด ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์„ Context Switching์ด๋ผ๊ณ  ํ•œ๋‹ค.

 

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

ํ”„๋กœ์„ธ์Šค๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด ์—ฌ๋Ÿฌ ์ƒํƒœ๋ฅผ ๊ฑฐ์น˜๋ฉฐ ์‹คํ–‰๋œ๋‹ค. ์šด์˜์ฒด์ œ๋Š” PCB๋ฅผ ํ†ตํ•ด ํ”„๋กœ์„ธ์Šค์˜ ์ƒํƒœ๋ฅผ ์ธ์‹ํ•˜๊ณ  ๊ด€๋ฆฌํ•œ๋‹ค.