Deep_Dev
Published 2023. 12. 12. 15:11
์šด์˜์ฒด์ œ ๐Ÿ’ป/CS

๐Ÿ“š CS Study

 

์šด์˜์ฒด์ œ

โœ…  ํ”„๋กœ์„ธ์Šค ( Process ) 

โœ๏ธ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ฌด์—‡์ธ๊ฐ€ ?

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

 

โœ๏ธํ”„๋กœ์„ธ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ๊ตฌ์กฐ๋Š” ์–ด๋–ป๊ฒŒ ์ƒ๊ฒผ๋‚˜ ?

์Šคํƒ์˜์—ญ : ์ง€์—ญ๋ณ€์ˆ˜, ๋งค๊ฐœ๋ณ€์ˆ˜, ๋ฆฌํ„ด ๊ฐ’ ๋“ฑ์ด ์ž„์‹œ๋กœ ์ €์žฅ๋˜์–ด ๊ณ ์ •๋œ ํฌ๊ธฐ์˜ ๊ณต๊ฐ„์ด๋‹ค. ์ฃผ๋กœ ํ•จ์ˆ˜๊ฐ€ ๋ถˆ๋ ธ์„ ๋•Œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ–ˆ๋‹ค๊ฐ€ ํ•จ์ˆ˜๊ฐ€ ์ข…๋ฃŒ๋  ๋•Œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

ํž™ ์˜์—ญ : ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋™์ž‘์ค‘์— ๋™์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ํ• ๋‹นํ•˜๋Š” ๊ณต๊ฐ„์ด๋‹ค.

๋ฐ์ดํ„ฐ ์˜์—ญ : ๋ฐ์ดํ„ฐ ์˜์—ญ์—๋Š” ํ”„๋กœ๊ทธ๋žจ์ด ์‹œ์ž‘๋  ๋•Œ ์ƒ์„ฑ๋˜๋Š” ์ „์—ญ๋ณ€์ˆ˜, ์ •์ ๋ณ€์ˆ˜ ๋“ฑ์ด ์ €์žฅ๋œ๋‹ค.

  • Blocked State Symbol ์˜์—ญ : ๋ฐ์ดํ„ฐ ์˜์—ญ์—๋Š” BBS ์˜์—ญ์ด ํฌํ•จ๋˜์–ด ์žˆ๋‹ค. BSS ์˜์—ญ์€ ์ดˆ๊ธฐํ™” ๋˜์ง€ ์•Š์€ ์ •์ ๋ณ€์ˆ˜์™€ ์ „์—ญ๋ณ€์ˆ˜๊ฐ€ ์ €์žฅ๋œ๋‹ค. ์ดˆ๊ธฐํ™” ๋˜์ง€ ์•Š์€ ๋ณ€์ˆ˜๋“ค์€ ๊ฐ’์„ ์ €์žฅํ•  ํ•„์š”๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๊ณต๊ฐ„์˜ ๋‚ญ๋น„๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•ด BSS ์˜์—ญ์„ ๊ตฌ๋ถ„ํ•œ๋‹ค.

์ฝ”๋“œ์˜์—ญ : ์ฝ”๋“œ ์˜์—ญ์€ ํ”„๋กœ๊ทธ๋žจ์˜ ๋ช…๋ น์„ ์ €์žฅํ•œ๋‹ค.

 

โœ๏ธ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๊ฐ€์ง€๋Š” ๋ชจ๋“  ์ƒํƒœ

NEW : ์ƒˆ๋กญ๊ฒŒ ์ƒ์„ฑ๋œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๊ฐ€์ง€๋Š” ์ƒํƒœ

READY : ์ค€๋น„ ํ์—์„œ ์šด์˜์ฒด์ œ์— ์˜ํ•ด CPU์— ๋กœ๋“œ๋˜๊ธธ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์ƒํƒœ

RUNNING : CPU์— ๋กœ๋“œ๋˜์–ด ์‹คํ–‰์ค‘์ธ ์ƒํƒœ

WATING : I/O ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ํ•ด๋‹น ์ด๋ฒคํŠธ๊ฐ€ ์ฒ˜๋ฆฌ๋˜๋Š” ๋™์•ˆ, ํ˜น์€ ์–ด๋–ค ์ด๋ฒคํŠธ๋ฅผ ๊ธฐ๋‹ค๋ฆด ๋•Œ Device queue์—์„œ ๋Œ€๊ธฐํ•˜๋Š” ์ƒํƒœ

TERMINATED : ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ข…๋ฃŒ๋˜๊ณ  CPU์—์„œ ์ œ๊ฑฐ๋˜์—ˆ์„ ๋•Œ์˜ ์ƒํƒœ

 

โœ๏ธ ์ธํ„ฐ๋ŸฝํŠธ์™€ ํŠธ๋žฉ์˜ ์ฐจ์ด

์ธํ„ฐ๋ŸฝํŠธ๋Š” ํ•˜๋“œ์›จ์–ด์— ์˜ํ•ด ๋ฐœ์ƒ๋œ๋‹ค. ํ•˜๋“œ์›จ์–ด ์žฅ์น˜๊ฐ€ CPU๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•  ๋•Œ, ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ๋ฐœ์ƒ์‹œํ‚จ๋‹ค.

ํŠธ๋žฉ์€ ์†Œํ”„ํŠธ์›จ์–ด์— ์˜ํ•ด ๋ฐœ์ƒ๋œ๋‹ค. ์–ด๋–ค ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ CPU์—๊ฒŒ ์†Œํ”„ํŠธ์›จ์–ด ๋™์ž‘์— ํ•„์š”ํ•œ ๋™์ž‘์„ ์š”๊ตฌํ•  ๋•Œ ํŠธ๋žฉ์„ ๋ฐœ์ƒ์‹œํ‚จ๋‹ค.

 

โœ๏ธ ์‹œ์Šคํ…œ ์ฝœ์ด๋ž€ 

์‹œ์Šคํ…œ ์ฝœ์€ ํ”„๋กœ์„ธ์Šค๊ฐ€ ํŠธ๋žฉ์„ ๋ฐœ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋„๋ก ํ•˜๊ธฐ ์œ„ํ•ด  OS์—์„œ ์ œ๊ณตํ•˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค์ด๋‹ค.

ํ”„๋กœ์„ธ์Šค๋Š” ์‹œ์Šคํ…œ ์ฝœ์„ ๋ฐœ์ƒ์‹œ์ผœ ์ž์‹ ์ด ์ง์ ‘ ์ธํ„ฐ๋ŸฝํŠธ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š๊ณ  ์šด์˜์ฒด์ œ๊ฐ€ ์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋„๋ก ํ•œ๋‹ค. ์šด์˜์ฒด์ œ๋Š” ์š”์ฒญ๋ฐ›์€ ์‹œ์Šคํ…œ ์ฝœ์„ ISR(Interrupt Service Routine) ์—์„œ ์ฐพ์•„ ๋ฏธ๋ฆฌ ์ •์˜๋œ ์‹œ์Šคํ…œ ์ฝœ ์ฒ˜๋ฆฌ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

 

โœ๏ธ PCB ( Process Control Block ) ์ด๋ž€?

PCB๋Š” ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋‹ด๊ณ  ์žˆ๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค. ์ด PCB๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ด€๋ฆฌํ•œ๋‹ค. PCB๋Š” ํ”„๋กœ์„ธ์Šค์˜ ์ƒ์„ฑ๊ณผ ํ•จ๊ป˜ ๋งŒ๋“ค์–ด์ง„๋‹ค.

PCB๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ •๋ณด

  • ํ”„๋กœ์„ธ์Šค ID
  • ํ”„๋กœ์„ธ์Šค ์ƒํƒœ
  • ํ”„๋กœ๊ทธ๋žจ ์นด์šดํ„ฐ
  • ๊ณ„์ •์ •๋ณด
  • ์Šค์ผ€์ค„๋ง ์ •๋ณด
  • ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค์™€ ์ž๋…€ ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ ์นด์šดํ„ฐ
  • ๋ ˆ์ง€์Šคํ„ฐ ์ •๋ณด
  • ์ž…์ถœ๋ ฅ ์ƒํƒœ

 

โœ๏ธ ์ปจํ…์ŠคํŠธ ์Šค์œ„์น˜๋ž€ 

์ปจํ…์ŠคํŠธ ์Šค์œ„์น˜๋Š” CPU๋ฅผ ์ ์œ ํ•˜๋˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ธํ„ฐ๋ŸฝํŠธ์— ์˜ํ•ด ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๋กœ ๊ต์ฒดํ•  ๋•Œ, ๊ธฐ์กด ํ”„๋กœ์„ธ์Šค์˜ ๋ ˆ์ง€์Šคํ„ฐ ๊ฐ’์„ ์ €์žฅํ•˜๊ณ  ์ƒˆ๋กœ์šด ํ”„๋กœ์„ธ์Šค์˜ ๋ ˆ์ง€์Šคํ„ฐ๊ฐ’์„ CPU ๋ ˆ์ง€์Šคํ„ฐ๋กœ ๋กœ๋“œํ•˜๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค.

์ด ๋•Œ, ๋ ˆ์ง€์Šคํ„ฐ ๊ฐ’์„ ์ €์žฅํ•˜๊ณ  ์ƒˆ๋กœ์šด ๊ฐ’์œผ๋กœ ๋ ˆ์ง€์Šคํ„ฐ๋ฅผ ์ฑ„์šฐ๋Š” ๋™์•ˆ CPU๋Š” ๋‹ค๋ฅธ ์ž‘์—…์„ ํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ํฐ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

 

โœ๏ธ Orphan ํ”„๋กœ์„ธ์Šค์™€ Zombie ํ”„๋กœ์„ธ์Šค๋ž€

Orpahn ํ”„๋กœ์„ธ์Šค๋Š” ์ž๋…€ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ข…๋ฃŒ๋˜๊ธฐ ์ „์— ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค๊ฐ€ wait ์‹œ์Šคํ…œ ์ฝœ๋กœ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๊ณ  ์ข…๋ฃŒ๋œ ์ƒํƒœ๋ฅผ ๋งํ•œ๋‹ค. ๋ฆฌ๋ˆ…์Šค ์šด์˜์ฒด์ œ์˜ ๊ฒฝ์šฐ์—๋Š” Orphan ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ง‰๊ธฐ ์œ„ํ•ด ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋จผ์ € ์ข…๋ฃŒ๋œ ์ž๋…€ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ฃจํŠธ ํ”„๋กœ์„ธ์Šค์ธ init ํ”„๋กœ์„ธ์Šค์˜ ์ž์‹์œผ๋กœ ํŽธ์ž…์‹œํ‚ค๊ณ  ์ฃผ๊ธฐ์ ์œผ๋กœ wait ์‹œ์Šคํ…œ์ฝœ์„ ํ˜ธ์ถœํ•˜์—ฌ ์ž๋…€ ํ”„๋กœ์„ธ์Šค๋“ค์˜ ์ƒํƒœ๋ฅผ ํšŒ์ˆ˜ํ•œ๋‹ค.

Zombie ํ”„๋กœ์„ธ์Šค๋Š” ์ž๋…€ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ข…๋ฃŒ๋˜์—ˆ์ง€๋งŒ ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค๊ฐ€ ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค๋ฅผ ํšŒ์ˆ˜ํ•˜์ง€ ๋ชปํ•œ ๊ฒฝ์šฐ๋ฅผ ๋งํ•œ๋‹ค. ์ž๋…€ ํ”„๋กœ์„ธ์Šค๋Š” ์ข…๋ฃŒ๋์ง€๋งŒ ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค๊ฐ€ wait์„ ํ•˜์ง€ ์•Š์€ ์ƒํƒœ์—์„œ ๋ฐœ์ƒํ•œ๋‹ค.

 

โœ๏ธ ์ข€๋น„ ํ”„๋กœ์„ธ์Šค์˜ ๋ฌธ์ œ 

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

 

โœ๏ธ ํ”„๋กœ์„ธ์Šค ๊ฐ„ ํ†ต์‹  ๋ฐฉ๋ฒ•

์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์„œ๋กœ ํ†ต์‹ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ ๋ฐฉ๋ฒ•์ด๋‚˜ ๋ฉ”์„ธ์ง€ ํŒจ์‹ฑ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.

๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ๋Š” ํ•œ ํ”„๋กœ์„ธ์Šค์— ๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์„ค์ •ํ•˜๊ณ  ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๋“ค์ด ํ•ด๋‹น ๋ฉ”๋ชจ๋ฆฌ์— ์ ‘๊ทผํ•˜์—ฌ ๋ฒ„ํผ๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ๊ณต์œ ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

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

 

โœ๏ธ CPU ์Šค์ผ€์ค„๋Ÿฌ๋ž€

Ready ํ์—์„œ CPU์— ๋กœ๋“œ๋˜๊ธธ ๊ธฐ๋‹ค๋ฆฌ๋Š” ํ”„๋กœ์„ธ์Šค๋“ค ์ค‘ ์–ด๋–ค ํ”„๋กœ์„ธ์Šค๋ฅผ ๋กœ๋“œํ•  ๊ฒƒ์ธ์ง€ ๊ฒฐ์ •ํ•œ๋‹ค. ๋‹จ๊ธฐ ์Šค์ผ€์ค„๋Ÿฌ๋ผ๊ณ ๋„ ํ•œ๋‹ค.

 

โœ๏ธ ์žฅ๊ธฐ ์Šค์ผ€์ค„๋Ÿฌ๋ž€

job ์Šค์ผ€์ค„๋Ÿฌ๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ์— ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค์ค‘ ์–ด๋–ค ํ”„๋กœ์„ธ์Šค๋ฅผ ์ค€๋น„ ํ์— ๋„ฃ์„์ง€ ๊ฒฐ์ •๋˜๋Š” ์Šค์ผ€์ค„๋Ÿฌ์ด๋‹ค. ๋˜ํ•œ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ์™€ ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค์˜ ์ˆซ์ž๋ฅผ ์ œ์–ดํ•ด์„œ dgree of multiprogramming์„ ๊ด€๋ฆฌํ•œ๋‹ค.

 

โœ๏ธ ๋‹ค๋ฅธ ์Šค์ผ€์ค„๋Ÿฌ ?

์ค‘๊ธฐ์Šค์ผ€์ค„๋Ÿฌ๊ฐ€ ์žˆ๋‹ค. ๋งŒ์•ฝ ๋ฉ”๋ชจ๋ฆฌ์— ๋„ˆ๋ฌด ๋งŽ์€ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์˜ฌ๋ผ์˜ค๊ฒŒ ๋˜๋ฉด ์ค‘๊ธฐ ์Šค์ผ€์ค„๋Ÿฌ๋Š” ๋ฉ”๋ชจ๋ฆฌ์— ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฐ•์ œ๋กœ ๋””์Šคํฌ์˜ ์Šค์™‘ ์˜์—ญ์— ์ €์žฅํ•œ๋‹ค. ์ด๋ฅผ swap-out ์ด๋ผ๊ณ  ํ•œ๋‹ค.

 

โœ๏ธ ๋ฉ€ํ‹ฐ ํƒœ์Šคํ‚น๊ณผ ๋ฉ€ํ‹ฐ ํ”„๋กœ์„ธ์‹ฑ์˜ ์ฐจ์ด

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

๋ฉ€ํ‹ฐ ํ”„๋กœ์„ธ์‹ฑ์€ ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์„œ๊ฐ€ ์—ฌ๋Ÿฌ ์ž‘์—…์„ ๋ณ‘๋ ฌ์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค.

 

 

โœ… Thread ( ์Šค๋ ˆ๋“œ )

โœ๏ธ ์Šค๋ ˆ๋“œ๊ฐ€ ๋ฌด์—‡์ธ๊ฐ€

ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ˆ˜ํ–‰ํ•˜๋Š” ์ž‘์—…์˜ ์‹คํ–‰๋‹จ์œ„์ด๋‹ค. ์Šค๋ ˆ๋“œ๋Š” ํ”„๋กœ์„ธ์Šค ๋‚ด๋ถ€์— ์กด์žฌํ•˜๋ฉฐ ํ”„๋กœ์„ธ์Šค๊ฐ€ ํ• ๋‹น๋ฐ›์€ ์ž์›์„ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

 

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

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

 

โœ๏ธ ๊ฐ ์Šค๋ ˆ๋“œ๊ฐ€ ๋…๋ฆฝ์ ์ธ ์Šคํƒ ์˜์—ญ์„ ๊ฐ€์ง€๋Š” ์ด์œ 

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

 

โœ๏ธ ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋”ฉ๊ณผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 

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

 

โœ๏ธ ์‚ฌ์šฉ์ž ์ˆ˜์ค€ ์Šค๋ ˆ๋“œ์™€ ์ปค๋„ ์ˆ˜์ค€ ์Šค๋ ˆ๋“œ์˜ ์ฐจ์ด

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

์ปค๋„ ์ˆ˜์ค€ ์Šค๋ ˆ๋“œ๋Š” ์šด์˜์ฒด์ œ๊ฐ€ ์ƒ์„ฑํ•˜๊ณ  ๊ด€๋ฆฌํ•œ๋‹ค.

 

โœ๏ธ ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋”ฉ์˜ ๋ฌธ์ œ์ 

๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋”ฉ์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋ฉด ๋ชจ๋“  ์Šค๋ ˆ๋“œ๋“ค์ด ๋ฐ์ดํ„ฐ ์˜์—ญ, ํž™ ์˜์—ญ, ์ฝ”๋“œ ์˜์—ญ์„ ๊ณต์œ ํ•˜๊ฒŒ ๋œ๋‹ค. ์ด ๋•Œ ๋‹ค์ˆ˜์˜ ์Šค๋ ˆ๋“œ๊ฐ€ ๋ฐ์ดํ„ฐ ์˜์—ญ๊ณผ ํž™ ์˜์—ญ์˜ ๋ฐ์ดํ„ฐ์— ๋™์‹œ์— ์ ‘๊ทผํ•˜๊ฒŒ ๋˜๋ฉด ๋™๊ธฐํ™” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด Mutex๋‚˜ Semaphore ๊ฐ™์€ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•œ๋‹ค.

 

 

โœ… CPU ์Šค์ผ€์ค„๋ง

โœ๏ธ ์„ ์ ํ˜• ์Šค์ผ€์ค„๋ง๊ณผ ๋น„์„ ์ ํ˜• ์Šค์ผ€์ค„๋ง์˜ ์ฐจ์ด

์„ ์ ํ˜• ์Šค์ผ€์ค„๋ง์€ CPU์— ํ• ๋‹น๋œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ž‘์—…์ด ์™„์ „ํžˆ ๋๋‚˜์ง€ ์•Š๋„๋ก ๊ฐ•์ œ์ ์œผ๋กœ ๊ธฐ์กด ํ”„๋กœ์„ธ์Šค๋ฅผ ์ƒˆ๋กœ์šด ํ”„๋กœ์„ธ์Šค๋กœ ๊ต์ฒดํ•ด๋ฒ„๋ฆฌ๋Š” ์Šค์ผ€์ค„๋ง ๋ฐฉ๋ฒ•์ด๋‹ค.

๋น„์„ ์ ํ˜• ์Šค์ผ€์ค„๋ง์€ ๋ฐ˜๋Œ€๋กœ CPU์— ํ• ๋‹น๋œ ํ”„๋กœ์„ธ์Šค์˜ ์ž‘์—…์ด ์™„์ „ํžˆ ๋๋‚œ ์ดํ›„์— CPU์— ํ• ๋‹น๋˜๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ต์ฒดํ•˜๋Š” ์Šค์ผ€์ค„๋ง ๋ฐฉ๋ฒ•์ด๋‹ค.

 

โœ๏ธ FCFS ์Šค์ผ€์ค„๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜

์ค€๋น„ ํ์— ๋จผ์ € ๋„์ฐฉํ•œ ํ”„๋กœ์„ธ์Šค๋ฅผ CPU์— ํ• ๋‹นํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๋กœ ์„ ํƒํ•˜๋Š” ์Šค์ผ€์ค„๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค.

 

โœ๏ธ FCFS๋ฅผ ์ž์ฃผ ์‚ฌ์šฉ ํ• ๊นŒ?

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

 

โœ๏ธ SJF ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์–ด๋–จ๊นŒ?

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

 

โœ๏ธ ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์ž์ฃผ ์‚ฌ์šฉ ํ• ๊นŒ?

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

 

โœ๏ธ ๊ทธ๋ ‡๋‹ค๋ฉด ์‹ค์ œ๋กœ๋Š” ์–ด๋–ค ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ฃผ์š” ์‚ฌ์šฉํ• ๊นŒ 

RR ์ด๋‚˜ Priority ์Šค์ผ€์ค„๋ง์„ ํ•จ๊ป˜ ์‚ฌ์šฉํ•œ๋‹ค. RR ์Šค์ผ€์ค„๋ง์€ Time quantum ์ด๋ผ๊ณ  ๋ถ€๋ฅด๋Š” ํƒ€์ž„ ์Šคํƒœํ”„๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์Šค์ผ€์ค„๋ง์„ ํ•œ๋‹ค.

 

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

 

Priority ์Šค์ผ€์ค„๋ง์€ ์ค€๋น„ ํ์— ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค๋“ค์„ ์šฐ์„ ์ˆœ์œ„์— ๋”ฐ๋ผ CPU์— ํ• ๋‹นํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ์ƒˆ๋กœ์šด ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ค€๋น„ ํ์— ๋„์ฐฉํ–ˆ์„ ๋•Œ, ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’๋‹ค๋ฉด ๋„์ฐฉ์‹œ๊ฐ„๊ณผ๋Š” ๊ด€๊ณ„์—†์ด ๋จผ์ € ์„ ํƒ๋œ๋‹ค.

 

โœ๏ธ RR ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๋‹จ์ ์€ ?

Time Quantum ์— ์˜์กด์ ์ด๋‹ค. ๋งŒ์•ฝ Time quantum์ด ์ค€๋น„ ํ์— ์žˆ๋Š” ๊ฐ ํ”„๋กœ๋ ˆ์Šค์˜ ์ˆ˜ํ–‰์‹œ๊ฐ„๋ณด๋‹ค ๊ธธ๋‹ค๋ฉด, FCFS๊ณผ ๋™์ผํ•œ ์Šค์ผ€์ค„๋ง์ด ๋œ๋‹ค. ๋ฐ˜๋Œ€๋กœ Time quantum์ด ๋„ˆ๋ฌด ์งง๋‹ค๋ฉด, ํ”„๋กœ์„ธ์Šค์˜ ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ์ด ์ง€๋‚˜์น˜๊ฒŒ ๋งŽ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.

 

โœ๏ธ Priority ์Šค์ผ€์ค„๋ง ๋‹จ์ ์€?

์šฐ์„ ์ˆœ์œ„์— ๋”ฐ๋ผ ์Šค์ผ€์ค„๋ง์„ ํ•˜๊ฒŒ๋˜๋ฉด ์šฐ์„ ์ˆœ์œ„๊ฐ€ ์ƒ๋Œ€์ ์œผ๋กœ ๋‚ฎ์€ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹คํ–‰๋˜์ง€ ๋ชปํ•˜๊ณ  ์žฅ์‹œ๊ฐ„๋™์•ˆ ์ค€๋น„ ํ์— ๋‚จ์•„์žˆ์„ ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿฐ ํ˜„์ƒ์„ Stravation ํ˜น์€ Identinite Blocking ์ด๋ผ๊ณ  ํ•œ๋‹ค. 

 

โœ๏ธ ์ด ๋ฌธ์ œ๋Š” ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐ ?

๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค. ์ฒซ๋ฒˆ์งธ๋Š” Aging๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•˜์—ฌ ์ค€๋น„ ํ์— ์˜ค๋ž˜ ๋จธ๋ฌด๋Š” ํ”„๋กœ์„ธ์Šค์˜ ์šฐ์„ ์ˆœ์œ„๋ฅผ ์ ์ง„์ ์œผ๋กœ ๋†’์—ฌ์ฃผ๋Š” ๋ฐฉ์‹์ด๋‹ค. ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์€ RR ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์„ž์–ด์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค. RR์€ ๊ณต์ •ํ•˜๊ฒŒ ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค์—๊ฒŒ CPU๋ฅผ ์ ์œ ํ•˜๊ฒŒ ํ•œ๋‹ค. ์šฐ์„ ์ˆœ์œ„์— ๋”ฐ๋ผ ํ”„๋กœ์„ธ์Šค๋“ค์ด ์ •๋ ฌ๋˜๊ณ  ํ”„๋กœ์„ธ์Šค๋“ค์— ๋Œ€ํ•ด RR์„ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ํ์˜ ๋’ค์— ์œ„์น˜ํ•œ ํ”„๋กœ์„ธ์Šค๋„ CPU ์ ์œ ์˜ ๊ธฐํšŒ๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

 

โœ๏ธ ๋ฉ€ํ‹ฐ ๋ ˆ๋ฒจ ํ๋ž€ ?

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

 

โœ๏ธ  ๋ฉ€ํ‹ฐ ๋ ˆ๋ฒจ ํ”ผ๋“œ๋ฐฑ ํ๋ž€ ?

์—ฌ๋Ÿฌ ํ๋กœ ๋‚˜๋ˆˆ ์ค€๋น„ ํ์˜ ์ƒ์œ„ ๊ณ„์ธต์— time quantum ์„ ๋‘์–ด CPU ์‚ฌ์šฉ์‹œ๊ฐ„์— ๋”ฐ๋ผ ํ”„๋กœ์„ธ์Šค์˜ ์œ„์น˜๋ฅผ ๋ฐ”๊ฟ”์ฃผ๊ณ  ์Šค์ผ€์ค„๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋‹จ๊ณ„๋ณ„๋กœ ๋‹ค๋ฅด๊ฒŒ ์ ์šฉํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค.

 

โœ๏ธ ์‹ค์‹œ๊ฐ„ ์Šค์ผ€์ค„๋ง์—๋Š” ์–ด๋–ค ๋ฐฉ๋ฒ•์ด ์žˆ์„๊นŒ

Rate Monotonic ์Šค์ผ€์ค„๋ง์ด ์žˆ๋‹ค. ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ํ”„๋กœ์„ธ์Šค์˜ ์šฐ์„ ์ˆœ์œ„์— ๋”ฐ๋ผ CPU์— ํ”„๋กœ์„ธ์Šค๋ฅผ ์Šค์ผ€์ค„๋งํ•œ๋‹ค. ์ด ๋•Œ, ์šฐ์„ ์ˆœ์œ„๋Š” ๊ฐ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๊ฐ€์ง€๋Š” CPU ์š”์ฒญ ์ฃผ๊ธฐ์— ๋”ฐ๋ผ ์ฃผ๊ธฐ๊ฐ€ ์งง์€ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋†’์€ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๊ฐ€์ง€๊ฒŒ ๋œ๋‹ค.

๋‹ค์Œ์€ Earlist Deadline First ์Šค์ผ€์ค„๋ง์ด๋‹ค. ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๊ฐ ํ”„๋กœ์„ธ์Šค์˜ ๋งˆ๊ฐ์‹œ๊ฐ„์„ ๊ธฐ์ค€์œผ๋กœ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๋ถ€์—ฌํ•œ๋‹ค. ๋งˆ๊ฐ์‹œ๊ฐ„์ด ๋น ๋ฅด๋ฉด ๋†’์€ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋ถ€์—ฌ๋œ๋‹ค. ๊ฐ ํ”„๋กœ์„ธ์Šค๋“ค์€ ์ž์‹ ์ด ์‹คํ–‰๊ฐ€๋Šฅํ•œ ์ƒํƒœ๊ฐ€ ๋˜๋ฉด ์‹œ์Šคํ…œ์˜ ์ž์‹ ์˜ ๋งˆ๊ฐ์‹œ๊ฐ„์„ ์•Œ๋ฆฌ๊ณ  ์ด ๋งˆ๊ฐ์‹œ๊ฐ„์œผ๋กœ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๋ถ€์—ฌํ•˜๊ฒŒ ๋œ๋‹ค. ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์ด๋ก ์ ์œผ๋กœ ์™„๋ฒฝํ•˜์ง€๋งŒ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๊ต์ฒด๋˜๋ฉด์„œ ๋ฐœ์ƒํ•˜๋Š” ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ์˜ ์˜ค๋ฒ„ํ—ค๋“œ ๋•Œ๋ฌธ์— ๋”œ๋ ˆ์ด๊ฐ€ ์ƒ๊ฒจ ์‹ค์ œ๋กœ๋Š” ๊ตฌํ˜„์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.

 

โœ… ๋™๊ธฐํ™” 

โœ๏ธ Race Condition์ด๋ž€

์Šค๋ ˆ๋“œ๊ฐ€ ๋ฐ์ดํ„ฐ์— ์–ด๋–ค ์ˆœ์„œ๋กœ ์ ‘๊ทผํ•˜๋Š”์ง€์— ๋”ฐ๋ผ ์‹คํ–‰๊ฒฐ๊ณผ๊ฐ€ ๋‹ฌ๋ผ์ง€๋Š” ์ƒํ™ฉ

 

โœ๏ธ ์ž„๊ณ„๊ตฌ์—ญ์ด ๋ฌด์—‡์ด๊ณ  ์ž„๊ณ„๊ตฌ์—ญ ๋ฌธ์ œ ํ•ด๊ฒฐ์„ ์œ„ํ•œ ํ•„์ˆ˜ ์š”๊ตฌ ์กฐ๊ฑด

์ž„๊ณ„๊ตฌ์—ญ์€ ์–ด๋–ค ์ฝ”๋“œ์˜ ์˜์—ญ์—์„œ ๋‹ค์ˆ˜์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์„œ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณต์œ ํ•˜๋Š” ๋ถ€๋ถ„. ํ•œ๋ฒˆ์— ์—ฌ๋Ÿฌ ์Šค๋ ˆ๋“œ๊ฐ€ ์ ‘๊ทผํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€๊ฒฝํ•˜๋ฉด ๋™๊ธฐํ™” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

์ž„๊ณ„๊ตฌ์—ญ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์„ธ๊ฐ€์ง€ ์š”๊ตฌ์กฐ๊ฑด์„ ๋งŒ์กฑ์‹œ์ผœ์•ผ ํ•œ๋‹ค.

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

 

โœ๏ธ ์ž„๊ณ„๊ตฌ์—ญ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ํ•˜๋“œ์›จ์–ด์ ์ธ ๋ฐฉ๋ฒ•

Test&Set๊ณผ Compare-and-Swap์ด ์žˆ๋‹ค. ๋‘ ๋ฐฉ๋ฒ• ๋ชจ๋‘ ์ž„๊ณ„๊ตฌ์—ญ ์ง„์ž…์„ ์œ„ํ•œ ์›์ž์ ์ธ ์—ฐ์‚ฐ์„ ๋ณด์žฅํ•œ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์ƒํ˜ธ๋ฐฐ์ œ์™€ ์ง„ํ–‰์กฐ๊ฑด์„ ๋งŒ์กฑ์‹œํ‚จ๋‹ค. ํ•˜์ง€๋งŒ ํ•œ๋ฒˆ ์ž„๊ณ„๊ตฌ์—ญ์— ์ง„์ž…ํ–ˆ๋˜ ์Šค๋ ˆ๋“œ๊ฐ€ ๋‹ค์‹œ ์ž„๊ณ„๊ตฌ์—ญ์œผ๋กœ ์žฌ์ง„์ž…ํ•˜๋Š” ๊ฒƒ์„ ์ œํ•œํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ํ•œ์ • ๋Œ€๊ธฐ ์š”๊ตฌ์กฐ๊ฑด์„ ๋งŒ์กฑ์‹œํ‚ค์ง€๋Š” ๋ชปํ•œ๋‹ค.

 

โœ๏ธ ์„ธ๋งˆํฌ์–ด๋ž€ 

Wait, Signal์˜ ์›์ž์  ๋ช…๋ น์„ ์‚ฌ์šฉํ•ด์„œ ๊ณต์œ ์ž์› ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ๋‹ค. ์„ธ๋งˆํฌ์–ด๋Š” ์ •์ˆ˜๊ฐ’์„ ๊ฐ€์ง€๊ณ  ์ด ๊ฐ’์ด ์ž„๊ณ„๊ตฌ์—ญ ๋‚ด์— ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•œ ์ž์›์˜ ๊ฐœ์ˆ˜๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ์–ด๋–ค ์Šค๋ ˆ๋“œ๊ฐ€ ์ž์›์„ ํš๋“ํ•˜๋ฉด ์„ธ๋งˆํฌ์–ด์˜ ๊ฐ’์ด ๊ฐ์†Œํ•˜๊ณ , ๋ฐฉ์ถœํ•˜๋ฉด ์„ธ๋งˆํฌ์–ด์˜ ๊ฐ’์ด ์ฆ๊ฐ€ํ•œ๋‹ค.

 

โœ๏ธ ์„ธ๋งˆํฌ์–ด์˜ ๋‹จ์ 

์Šค๋ ˆ๋“œ๊ฐ€ ์ž„๊ณ„๊ตฌ์—ญ์— ์ž๋ฆฌ๊ฐ€ ์ƒ๊ธธ ๋•Œ๊นŒ์ง€ ๋ฌดํ•œ๋ฃจํ”„๋ฅผ ๋Œ๋ฉฐ ๊ธฐ๋‹ค๋ฆฌ๊ฒŒ ํ•˜๋Š” ์Šคํ•€๋ฝ์œผ๋กœ ๊ตฌํ˜„๋˜์–ด ์žˆ๋‹ค. ์ด ๋•Œ๋ฌธ์— ๋ถˆํ•„์š”ํ•œ CPU Time์„ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค.

 

โœ๏ธ ๊ทธ๋Ÿผ ๋ฎคํ…์Šค๋ž€ ๋ฌด์—‡์ธ๊ฐ€

๋ฎคํ…์Šค๋Š” ๋ฝ์„ ํš๋“ํ•œ ์Šค๋ ˆ๋“œ๋งŒ์ด ๋ฝ์„ ๋ฐฉ์ถœํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ˜๋ฉด์— ์„ธ๋งˆํฌ์–ด๋Š” signal ํ•จ์ˆ˜์— ์˜ํ•ด ๋ฝ์„ ํš๋“ํ•˜๊ณ  ์žˆ์ง€ ์•Š์€ ์Šค๋ ˆ๋“œ๋„ ์„ธ๋งˆํฌ์–ด์˜ ๊ฐ’์„ ์ฆ๊ฐ€์‹œ์ผœ ๋‹ค๋ฅธ ์Šค๋ ˆ๋“œ๋ฅผ ์ž„๊ณ„๊ตฌ์—ญ์œผ๋กœ ์ง„์ž…์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.

 

โœ๏ธ DeadLock์ด๋ž€

ํ”„๋กœ์„ธ์Šค๋‚˜ ์Šค๋ ˆ๋“œ๊ฐ€ ์„œ๋กœ์˜ ์ž์›์„ ์–ป๊ธฐ ์œ„ํ•ด ๋ฌดํ•œ์ •ํ•˜๊ฒŒ ๋Œ€๊ธฐํ•˜๊ณ  ์žˆ๋Š” ์ƒํƒœ

 

โœ๏ธ DeadLock์˜ ๋ฐœ์ƒ์กฐ๊ฑด

4๊ฐ€์ง€ ์กฐ๊ฑด

  • ์ƒํ˜ธ๋ฐฐ์ œ : ํ•œ ์Šค๋ ˆ๋“œ๋งŒ ์ž์›์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์ ์œ ๋Œ€๊ธฐ : ์ด๋ฏธ ํ•˜๋‚˜์˜ ์ž์›์„ ์ ์œ ํ•˜๊ณ  ์žˆ๋Š” ์ƒํƒœ์—์„œ ๋‹ค๋ฅธ ์Šค๋ ˆ๋“œ์— ํ• ๋‹น๋œ ์ž์›์„ ์ ์œ ํ•˜๋ ค๋Š” ์Šค๋ ˆ๋“œ๊ฐ€ ์กด์žฌํ•ด์•ผํ•œ๋‹ค.
  • ๋น„์„ ์  : ํ•œ ์Šค๋ ˆ๋“œ์— ํ• ๋‹น๋œ ์ž์›์€ ์Šค์Šค๋กœ ๋ฐฉ์ถœํ•  ๋•Œ๊นŒ์ง€ ์„ ์ ๋  ์ˆ˜ ์—†๋‹ค.
  • ์ˆœํ™˜๋Œ€๊ธฐ : ์ž์›์„ ์ ์œ ํ•˜๋ ค๋Š” ์Šค๋ ˆ๋“œ๋“ค์ด ์ˆœํ™˜ํ˜•ํƒœ๋กœ ์ž์› ์ ์œ ๋ฅผ ์œ„ํ•ด ๋Œ€๊ธฐํ•ด์•ผ ํ•œ๋‹ค.

 

โœ๏ธ DeadLock์„ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•

4๊ฐ€์ง€ ๋ฐฉ๋ฒ•

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

 

โœ๏ธ ์ž์› ํ• ๋‹น ๊ทธ๋ž˜ํ”„ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ž€

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

 

โœ๏ธ ์€ํ–‰์› ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ž€

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

 

โœ… ๋ฉ”๋ชจ๋ฆฌ

โœ๏ธ MMU๋ž€?

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

 

โœ๏ธ Swapping์ด๋ž€?

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

 

โœ๏ธ Swapping์˜ ๋ฌธ์ œ์  

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

 

โœ๏ธ ์—ฐ์† ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น ๋ฐฉ๋ฒ•

- ์ตœ์ดˆ์ ํ•ฉ : ๋ฉ”๋ชจ๋ฆฌ์˜ ์‹œ์ž‘์ด๋‚˜ ๋์ง€์ ๋ถ€ํ„ฐ ํƒ์ƒ‰ํ•˜๋ฉด์„œ ์š”์ฒญ๋ฐ›์€ ํ”„๋กœ์„ธ์Šค๋ฅผ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฐ„์ด ๋ฐœ๊ฒฌ๋˜๋ฉด ๊ณง๋ฐ”๋กœ ํ• ๋‹น

- ์ตœ์ ์ ํ•ฉ : ์ „์ฒด ๋ฉ”๋ชจ๋ฆฌ์— ๋‚จ์€ ๊ณต๊ฐ„์„ ๋‹ค ํ™•์ธํ•ด๋ณด๊ณ  ์š”์ฒญ๋ฐ›์€ ํ”„๋กœ์„ธ์Šค๋ฅผ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ์ž‘์€ ๊ณต๊ฐ„์— ํ• ๋‹น

- ์ตœ์•…์ ํ•ฉ : ์ „์ฒด ๋ฉ”๋ชจ๋ฆฌ์— ๋‚จ์€ ๊ณต๊ฐ„์„ ๋‹ค ํ™•์ธํ•ด๋ณด๊ณ  ์š”์ฒญ๋ฐ›์€ ํ”„๋กœ์„ธ์Šค๋ฅผ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ํฐ ๊ณต๊ฐ„์— ํ• ๋‹น

 

โœ๏ธ ๋ฉ”๋ชจ๋ฆฌ๋‹จํŽธํ™”์— ๋Œ€ํ•ด์„œ

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

 

โœ๏ธ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์ด๋ž€

ํ•œ ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ ๋…ผ๋ฆฌ์ฃผ์†Œ์™€ ๋ฌผ๋ฆฌ ์ฃผ์†Œ๋ฅผ ๋งตํ•‘ํ•œ ์ •๋ณด๋ฅผ ๊ฐ€์ง„ ํ…Œ์ด๋ธ”์ด๋‹ค. ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์€ ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ๋˜๊ณ  ๊ฐ ํ”„๋กœ์„ธ์Šค๋“ค์€ PTBR ( Page Table Base Register )๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์˜ ํฌ์ธํ„ฐ๋ฅผ ์ €์žฅํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ณ€๊ฒฝ๋  ๋•Œ๋Š” ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์„ ๊ต์ฒดํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ํฌ์ธํ„ฐ ์ฃผ์†Œ๋งŒ ๋ฐ”๊ฟ”์„œ ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ์ตœ์†Œํ™”ํ•œ๋‹ค.

 

โœ๏ธ TLB๋ฅผ ์™œ ์“ฐ๊ณ  ์–ด๋–ป๊ฒŒ ์“ฐ๋Š”๊ฑด์ง€ ?

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

 

CPU ์š”์ฒญํ•˜๋Š” ์ฃผ์†Œ๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด ๋ฐ”๋กœ ํŽ˜์ด์ง€์— ์ ‘๊ทผํ•˜์ง€ ์•Š๊ณ  TLB์— ํ•ด๋‹น ๋…ผ๋ฆฌ์ฃผ์†Œ์— ๋Œ€ํ•œ ๋งตํ•‘ ์ฃผ์†Œ๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•œ๋‹ค. ๋งŒ์•ฝ ๋งตํ•‘์ •๋ณด๊ฐ€ ์กด์žฌํ•œ๋‹ค๋ฉด ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์„ ๊ฑฐ์น˜์ง€ ์•Š๊ณ  ๊ณง๋ฐ”๋กœ ๋งตํ•‘๋œ ๋ฌผ๋ฆฌ ์ฃผ์†Œ์— ์ ‘๊ทผํ•œ๋‹ค. ๋งŒ์•ฝ ์ •๋ณด๊ฐ€ ์—†๋‹ค๋ฉด ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์„ ์ฝ์–ด ๋ฌผ๋ฆฌ์ฃผ์†Œ๋ฅผ ํ™•์ธํ•œ ๋’ค ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

 

โœ๏ธ ๊ณต์œ ํŽ˜์ด์ง€๋ž€?

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

 

โœ๏ธ ์š”๊ตฌํŽ˜์ด์ง•์ด๋ž€ ?

ํ”„๋กœ์„ธ์Šค์˜ ํŽ˜์ด์ง€๋ฅผ ๋ชจ๋‘ ๋ฉ”๋ชจ๋ฆฌ์— ๋กœ๋“œํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋‹น์žฅ ์‚ฌ์šฉํ•  ํŽ˜์ด์ง€๋งŒ ๋กœ๋“œํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์˜ ์—”ํŠธ๋ฆฌ์— valid bit์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๊ตฌํ˜„ํ•œ๋‹ค. ๋งŒ์•ฝ CPU์— ์ ‘๊ทผํ•˜๋ ค๋Š” ํŽ˜์ด์ง€๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ์—†๋‹ค๋ฉด invalid bit ๋ฅผ ํ‘œ์‹œํ•˜๊ณ  ๋ฉ”๋ชจ๋ฆฌ์— ์กด์žฌํ•œ๋‹ค๋ฉด valid bit ๋กœ ํ‘œ์‹œํ•œ๋‹ค.

 

โœ๏ธ ํŽ˜์ด์ง€ ํดํŠธ๊ฐ€ ์ผ์–ด๋‚ฌ์„ ๋•Œ ์–ด๋–ค ์ผ์ด ์ผ์–ด๋‚˜๋Š”์ง€ ?

CPU๊ฐ€ ์š”์ฒญํ•œ ๋…ผ๋ฆฌ์ฃผ์†Œ๊ฐ€ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ” ์ƒ์— invalid ๋น„ํŠธ๋กœ ์„ค์ •๋˜์–ด ์žˆ๋‹ค๋ฉด ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์ด CPU๋กœ ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ๋ณด๋‚ธ๋‹ค. ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ๋ฐ›์€ CPU๋Š” ์šด์˜์ฒด์ œ์—๊ฒŒ Page Fault Routing์„ ์š”๊ตฌํ•œ๋‹ค. ์šด์˜์ฒด์ œ๋Š” backing store ํ˜น์€ ์Šค์™‘ ๊ณต๊ฐ„์—์„œ CPU๊ฐ€ ์›ํ•˜๋Š” ํŽ˜์ด์ง€๋ฅผ ๋ฉ”๋ชจ๋ฆฌ๋กœ ๊ฐ€์ ธ์˜จ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์˜ valid bit๋ฅผ valid๋กœ ๋ฐ”๊ฟ”์ค€๋‹ค.

 

โœ๏ธ ์ง€์—ญ์„ฑ์˜ ์›๋ฆฌ

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

 

โœ๏ธ ํŽ˜์ด์ง€ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์ข…๋ฅ˜

FIFO : ๊ฐ€์žฅ ๋จผ์ € ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ์™”๋˜ ํŽ˜์ด์ง€๋ฅผ ๋””์Šคํฌ๋กœ ๋‚ด๋ณด๋‚ธ๋‹ค.

OPT : ํ˜„์žฌ ๋ฉ”๋ชจ๋ฆฌ์— ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค ์ค‘ ๊ฐ€์žฅ ์˜ค๋žซ๋™์•ˆ ์‚ฌ์šฉ๋˜์ง€ ์•Š์€ ํŽ˜์ด์ง€๋ฅผ ์„ ํƒ ( SJF์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๊ตฌํ˜„ ๋ถˆ๊ฐ€๋Šฅ )

LFU : ์ผ์ • ์ฃผ๊ธฐ๋™์•ˆ ์ฐธ์กฐํšŸ์ˆ˜๊ฐ€ ๊ฐ€์žฅ ์ ์€ ํŽ˜์ด์ง€๋ฅผ ์„ ํƒ

LRU : ๋งˆ์ง€๋ง‰์œผ๋กœ ๊ฐ€์žฅ ์˜ค๋žซ๋™์•ˆ ์ฐธ์กฐ๋˜์ง€ ์•Š์€ ํŽ˜์ด์ง€๋ฅผ ์„ ํƒ

 

'๐Ÿ’ป > CS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

์ž๋ฃŒ๊ตฌ์กฐ  (1) 2024.01.02