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

JeongMinยท2023๋…„ 9์›” 22์ผ
0
post-thumbnail

ํ”„๋กœ๊ทธ๋žจ

  • ์ปดํ“จํ„ฐ์—์„œ ์–ด๋–ค ์ž‘์—…์„ ์œ„ํ•ด ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์ •์ ์ธ ์ƒํƒœ์˜ ํŒŒ์ผ์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

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

  • ์šด์˜์ฒด์ œ๊ฐ€ ํ•„์š”ํ•œ ์ž์›์„ ํ• ๋‹นํ•ด์ค€ ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค.

ํ”„๋กœ์„ธ์Šค ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„

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

Stack์˜์—ญ

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

Heap ์˜์—ญ

  • ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ํ•„์š”ํ•  ๋•Œ๋งˆ๋‹ค ์‚ฌ์šฉํ•˜๋Š” ๋™์ ์ธ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์ด๋‹ค. heap ์˜์—ญ์€ ๋Ÿฐํƒ€์ž„์— ๊ฒฐ์ •๋œ๋‹ค. ์ด ์˜์—ญ์€ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ ๊ฐ’์— ์˜ํ•ด์„œ๋งŒ ์ฐธ์กฐ๋˜๊ณ  ์‚ฌ์šฉ๋œ๋‹ค.
  • ์ž๋ฐ”์—์„œ ๊ฐ์ฒด๊ฐ€ heap์˜์—ญ์— ์ƒ์„ฑ๋˜๊ณ  GC์— ์˜ํ•ด ์ •๋ฆฌ๋œ๋‹ค.

Data ์˜์—ญ

  • ์ „์—ญ๋ณ€์ˆ˜, ์ •์ ๋ณ€์ˆ˜, ๋ฐฐ์—ด, ๊ตฌ์กฐ์ฒด ๋“ฑ์ด ์ €์žฅ๋˜๋Š” ๊ณต๊ฐ„์ด๋‹ค. ์ดˆ๊ธฐํ™”๋œ ๋ฐ์ดํ„ฐ๋Š” Data(GVAR)์˜์—ญ์— ์ €์žฅ๋˜๊ณ , ์ดˆ๊ธฐํ™”๋˜์ง€ ์•Š์œผ๋ฉด BSS ์˜์—ญ์— ์ €์žฅ๋œ๋‹ค.
  • ๋‘˜๋กœ ๊ตฌ๋ถ„๋œ ์ด์œ ๋Š” ์ดˆ๊ธฐํ™”๋œ ๋ฐ์ดํ„ฐ๋Š” ์ดˆ๊ธฐ ๊ฐ’์„ ์ €์žฅํ•ด์•ผ ํ•˜๋ฏ€๋กœ Data ์˜์—ญ์— ์ €์žฅ๋˜์–ด ROM์— ์ €์žฅ๋œ๋‹ค. ์ดˆ๊ธฐํ™”๋˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ๋Š” RAM์— ์ €์žฅํ•ด ROM์˜ ๋ถ€๋‹ด์„ ์ค„์—ฌ์ค€๋‹ค.

Code ์˜์—ญ

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

์Šค๋ ˆ๋“œ

  • ํ”„๋กœ์„ธ์Šค ์•ˆ์—์„œ ํ•œ ๊ฐ€์ง€ ์ž‘์—…์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ์ˆœ์ฐจ์ ์œผ๋กœ ์‹คํ–‰๋˜๋Š” ํ•˜๋‚˜์˜ ํ๋ฆ„์ด๋‹ค.

์Šค๋ ˆ๋“œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„

  • ํ”„๋กœ์„ธ์Šค์™€ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ์ผ์น˜ํ•œ๋‹ค. ํ•˜์ง€๋งŒ ํ”„๋กœ์„ธ์Šค์™€ ๋‹ค๋ฅด๊ฒŒ stack์„ ์ œ์™ธํ•˜๊ณ  ๋‹ค๋ฅธ ๊ณต๊ฐ„์€ ๊ณต์œ ํ•œ๋‹ค.

ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ์˜ ์ฐจ์ด์ 

  • ํ”„๋กœ์„ธ์Šค๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๊ฐ„์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„ ์ ‘๊ทผ์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค. ์ ‘๊ทผ์„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ ํ”„๋กœ์„ธ์Šค๊ฐ„์˜ ํ†ต์‹ ์„ ํ•ด์•ผํ•œ๋‹ค.

  • ์Šค๋ ˆ๋“œ๋Š” ๊ฐ™์€ ํ”„๋กœ์„ธ์Šค ์•ˆ์—์„œ ์‹คํ–‰๋˜๋ฏ€๋กœ code, data, heap์€ ๊ณต์œ ํ•˜๋ฉฐ ๋™์ž‘ํ•œ๋‹ค. ๊ฐ๊ฐ์˜ ์Šค๋ ˆ๋“œ๋“ค์€ ๋ณ„๋„์˜ ๋ ˆ์ง€์Šคํ„ฐ์™€ stack์„ ๊ฐ–๊ณ  ์žˆ๋‹ค.

  • ํ”„๋กœ์„ธ์Šค๋Š” ์Šค๋ ˆ๋“œ์˜ ์ปจํ…Œ์ด๋„ˆ์ด๋‹ค. ๊ทธ๋ž˜์„œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์Šค๋ ˆ๋“œ์— ๋น„ํ•ด ์ƒ์„ฑ/์ข…๋ฃŒ ์‹œ๊ฐ„์ด๋‚˜ ์ปจํ…์ŠคํŠธ ์ „ํ™˜์— ๋งŽ์€ ์‹œ๊ฐ„์ด ์†Œ์š”๋˜๊ณ  ์ž์› ์†Œ๋ชจ๋„ ๋งŽ๋‹ค.


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

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

PCB์— ๋‹ด๊ธด ์ •๋ณด

  • ํฌ์ธํ„ฐ: ํ”„๋กœ์„ธ์Šค์˜ ํ˜„์žฌ ์œ„์น˜๋ฅผ ์ €์žฅํ•˜๋Š” ํฌ์ธํ„ฐ ์ •๋ณด๋‹ค.

  • ํ”„๋กœ์„ธ์Šค ์ƒํƒœ: ์ƒ์„ฑ(New), ์ค€๋น„(Ready), ์‹คํ–‰(Running), ๋Œ€๊ธฐ(Waiting), ์ข…๋ฃŒ(Terminated) ์ƒํƒœ๋ฅผ ์ €์žฅํ•œ๋‹ค.

  • ํ”„๋กœ์„ธ์Šค ๋ฒˆํ˜ธ: ํŠน์ • ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด ๋ถ€์—ฌํ•˜๋Š” ๊ณ ์œ ํ•œ ๋ฒˆํ˜ธ

  • ๋ ˆ์ง€์Šคํ„ฐ: ๋ ˆ์ง€์Šคํ„ฐ ๊ฐ’์€ ํ”„๋กœ์„ธ์Šค์˜ ์‹คํ–‰ ์ƒํƒœ๋ฅผ ์ €์žฅํ•˜๊ณ  ๋ณต์›ํ•˜๋Š”๋ฐ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•œ๋‹ค. ๊ทธ๊ฒƒ์„ ํ†ตํ•ด ์ด์ „์— ์ž‘์—…ํ–ˆ๋˜ ๊ฒƒ๋“ค์„ ๊ทธ๋Œ€๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

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

  • ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ์ •๋ณด: ํ”„๋กœ์„ธ์Šค๋งˆ๋‹ค ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ๋œ ์œ„์น˜๊ฐ€ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ์–ด๋Š ์ฃผ์†Œ์— ์ €์žฅ๋˜์–ด ์žˆ๋Š”์ง€์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ๋‹ด๊ฒจ์žˆ๋‹ค. PCB์—๋Š” ๋ฒ ์ด์Šค ๋ ˆ์ง€์Šคํ„ฐ, ํ•œ๊ณ„ ๋ ˆ์ง€์Šคํ„ฐ ๊ฐ’๊ณผ ๊ฐ™์€ ์ •๋ณด๋“ค์ด ๋‹ด๊ธฐ๊ณ  ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ” ์ •๋ณด๋„ ๋‹ด๊ธด๋‹ค.

  • ์‚ฌ์šฉํ•œ ํŒŒ์ผ๊ณผ ์ž…์ถœ๋ ฅ์žฅ์น˜ ๋ชฉ๋ก: ์–ด๋–ค ์ž…์ถœ๋ ฅ ์žฅ์น˜๊ฐ€ ์ด ํ”„๋กœ์„ธ์Šค์— ํ• ๋‹น๋˜์—ˆ๋Š”์ง€, ์–ด๋–ค ํŒŒ์ผ๋“ค์„ ์—ด์—ˆ๋Š”์ง€์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ๋‹ด๊ฒจ์žˆ๋‹ค.


์Šค๋ ˆ๋“œ ์ œ์–ด ๋ธ”๋ก(TCB)

  • ์Šค๋ ˆ๋“œ์˜ ์ •๋ณด๋Š” TCB์— ์ €์žฅ๋œ๋‹ค. ํ”„๋กœ์„ธ์Šค๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์Šค๋ ˆ๋“œ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ PCB๋Š” TCB ๋ฆฌ์ŠคํŠธ๋ฅผ ๋œปํ•œ๋‹ค.

๋ฉ€ํ‹ฐ ํ”„๋กœ์„ธ์Šค

  • ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์„œ๋กœ ํ˜‘๋ ฅ์ ์œผ๋กœ ์ผ์„ ์ฒ˜๋ฆฌํ•˜๊ฑฐ๋‚˜ ์ž‘์—…์„ ๋ณ‘๋ ฌ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

์žฅ์ 

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

๋‹จ์ 

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

๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ

  • ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค์•ˆ์—์„œ ๋™์‹œ์— ์‹คํ–‰๋˜๋Š” ํ๋ฆ„์ด ์—ฌ๋Ÿฌ ๊ฐœ์ธ ๊ฒƒ์ด๋‹ค.

์žฅ์ 

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

๋‹จ์ 

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

์Šค๋ ˆ๋“œ ํ’€

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

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

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

๋””์ŠคํŒจ์น˜์— ์˜ํ•œ ์ค€๋น„(Ready) โ†’ ์‹คํ–‰(Running)

  • Ready Queue ๋งจ ์•ž์— ์žˆ๋˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ํ”„๋กœ์„ธ์„œ๋ฅผ ์ ์œ ํ•˜๋Š” ๊ฒƒ์„ ๋””์ŠคํŒจ์น˜๋ผ๊ณ  ํ•œ๋‹ค.

ํƒ€์ž„์•„์›ƒ์— ์˜ํ•œ ์‹คํ–‰(Runnig) โ†’ ์ค€๋น„(Ready)

  • ํƒ€์ž„์•„์›ƒ์— ์˜ํ•œ ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์‹คํ–‰ ์ƒํƒœ์˜ ํ”„๋กœ์„ธ์Šค๋Š” Ready Queue์˜ ๊ฐ€์žฅ ๋’ท ๋‹จ์— ์œ„์น˜ํ•˜๊ณ  Ready Queue์˜ ์ฒซ ๋ฒˆ์งธ ํ”„๋กœ์„ธ์Šค๋Š” Running ์ƒํƒœ๊ฐ€ ๋œ๋‹ค.

Block์— ์˜ํ•œ ์‹คํ–‰(Running) โ†’ ๋Œ€๊ธฐ(Wait)

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

wakeup์— ์˜ํ•œ ๋Œ€๊ธฐ(Wait) โ†’ ์ค€๋น„(Ready)

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

๋ฌธ๋งฅ ๊ตํ™˜(context switch)

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

IPC(Inter Process Communication)

  • ํ”„๋กœ์„ธ์Šค๊ฐ„์— ํ†ต์‹ ํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.
  • ํ”„๋กœ์„ธ์Šค๋Š” ์™„์ „ํžˆ ๋…๋ฆฝ๋œ ์‹คํ–‰๊ฐ์ฒด์ด๋‹ค. ์„œ๋กœ ๊ฐ„์˜ ํ†ต์‹ ์„ ์œ„ํ•ด์„œ ์ปค๋„ ์˜์—ญ์—์„œ IPC๋ผ๋Š” ๋‚ด๋ถ€ ํ”„๋กœ์„ธ์Šค๊ฐ„ ํ†ต์‹ ์„ ์ œ๊ณตํ•˜๊ณ , ํ”„๋กœ์„ธ์Šค๋Š” ์ปค๋„์ด ์ œ๊ณตํ•˜๋Š” IPC๋ฅผ ์ด์šฉํ•ด์„œ ํ”„๋กœ์„ธ์Šค๊ฐ„ ํ†ต์‹ ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.

IPC ์ข…๋ฅ˜

  • ํŒŒ์ดํ”„: ๋‘ ๊ฐœ์˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ์—ฐ๊ฒฐํ•˜๊ณ  ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์“ฐ๊ธฐ๋งŒ ํ•˜๊ณ  ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ธฐ๋งŒ ํ•œ๋‹ค.

  • ๋ฉ”์‹œ์ง€ ํ: FIFO ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง€๋Š” ๊ฒƒ์œผ๋กœ ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค ๊ฐ„์— ๋น„๋™๊ธฐ์ ์œผ๋กœ ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ์„ธ๋งˆํฌ์–ด: ํ”„๋กœ์„ธ์Šค ๊ฐ„ ๋ฐ์ดํ„ฐ๋ฅผ ๋™๊ธฐํ™”ํ•˜๊ณ  ๋ณดํ˜ธํ•˜๋Š”๋ฐ ๋ชฉ์ ์ด ์žˆ๋‹ค. ๊ณต์œ  ์ž์›์— ๋Œ€ํ•œ ์ ‘์†์„ ์ œ์–ดํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ์‹ ํ˜ธ์ด๋‹ค.

  • ์†Œ์ผ“: ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ํ”„๋กœ์„ธ์Šค๊ฐ„์— ํ†ต์‹ ์„ ์ง„ํ–‰ํ•œ๋‹ค.

  • ๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ: ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค ๊ฐ„์— ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ๊ณต์œ ํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋‹ค.

0๊ฐœ์˜ ๋Œ“๊ธ€