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

[OS] ์Šค์ผ€์ค„๋Ÿฌ์˜ ์ข…๋ฅ˜: ์žฅ๊ธฐ, ์ค‘๊ธฐ, ๋‹จ๊ธฐ ์Šค์ผ€์ค„๋Ÿฌ

by dar0m! 2021. 8. 4.

 

์žฅ๊ธฐ ์Šค์ผ€์ค„๋Ÿฌ(long term scheduler)

์–ด๋–ค ํ”„๋กœ์„ธ์Šค๋ฅผ ์ค€๋น„ํ์— ๋„ฃ์„ ๊ฒƒ์ธ๊ฐ€ ๊ฒฐ์ •

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

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

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

 

์ค‘๊ธฐ ์Šค์ผ€์ค„๋Ÿฌ(medium term scheduler)

๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌ๋œ ํ”„๋กœ์„ธ์Šค ์ˆ˜ ๊ด€๋ฆฌ

๋„ˆ๋ฌด ๋งŽ์€ ํ”„๋กœ์„ธ์Šค์—๊ฒŒ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹นํ•ด ์‹œ์Šคํ…œ์˜ ์„ฑ๋Šฅ์ด ์ €ํ•˜๋˜๋Š” ๊ฒฝ์šฐ ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌ๋œ ํ”„๋กœ์„ธ์Šค์˜ ์ˆ˜๋ฅผ ๋™์ ์œผ๋กœ ์กฐ์ ˆํ•˜๊ธฐ ์œ„ํ•ด ์ถ”๊ฐ€๋œ ์Šค์ผ€์ค„๋Ÿฌ. 

  • ์Šค์™€ํ•‘(Swapping) : ์žฅ๊ธฐ ์Šค์ผ€์ค„๋Ÿฌ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ์™€ ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค์˜ ์ˆ˜๋ฅผ ์กฐ์ ˆํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.
    • ๋งŒ์•ฝ ๋ฉ”๋ชจ๋ฆฌ์— ๋งŽ์€ ์ˆ˜์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ ์žฌ๋˜์–ด ํ”„๋กœ์„ธ์Šค ๋‹น ๋ณด์œ ํ•˜๊ณ  ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ๋Ÿ‰์ด ๊ทน๋„๋กœ ์ ์–ด์ง€๋ฉด CPU ์ˆ˜ํ–‰์— ๋‹น์žฅ ํ•„์š”ํ•œ ํ”„๋กœ์„ธ์Šค์˜ ์ฃผ์†Œ ๊ณต๊ฐ„์กฐ์ฐจ๋„ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ ค๋†“๊ธฐ ์–ด๋ ค์šด ์ƒํ™ฉ์ด ๋ฐœ์ƒํ•˜๊ฒŒ ๋œ๋‹ค.
    • ๊ทธ๋ ‡๊ฒŒ ๋˜๋ฉด ๋””์Šคํฌ I/O๊ฐ€ ์ˆ˜์‹œ๋กœ ๋ฐœ์ƒํ•˜๊ฒŒ ๋˜์–ด ์‹œ์Šคํ…œ์˜ ์„ฑ๋Šฅ์ด ์‹ฌ๊ฐํ•˜๊ฒŒ ์ €ํ•˜๋  ์ˆ˜ ์žˆ๋‹ค.
      • ๊ฐ€์ƒ๋ฉ”๋ชจ๋ฆฌ ์ฒด์ œ์—์„œ ๋„ˆ๋ฌด๋งŽ์€ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ ์žฌ๋˜๋ฉด ํ•˜๋“œ๋””์Šคํฌ ์ž…์ถœ๋ ฅ์ด ๊ณผ๋‹คํ•ด์ ธ์„œ ์‹œ์Šคํ…œ์ด ๊ฑฐ์˜ ๋ฉˆ์ถ”๋Š” ํ˜„์ƒ์ด ๋ฐœ์ƒ(Trashing)
      • Trashing : ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์— ์ ‘๊ทผํ•˜๊ฒŒ ๋  ๋•Œ, ๋ฉ”๋ชจ๋ฆฌ์— ํŽ˜์ด์ง€ ๋ถ€์žฌ(=ํŽ˜์ด์ง€ ํดํŠธ(Page fault)์œจ์ด ๋†’์€ ๊ฒƒ์„ ์˜๋ฏธ
    • ์ด๋Ÿฐ ๊ฒฝ์šฐ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ์™€ ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค ์ค‘ ์ผ๋ถ€์˜ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ†ต์งธ๋กœ ๋นผ์•—์•„ ๊ทธ ๋‚ด์šฉ์„ ๋””์Šคํฌ์˜ ์Šค์™‘ ์˜์—ญ์— ์ €์žฅํ•ด ๋‘”๋‹ค. ์ด์™€ ๊ฐ™์€ ํ–‰์œ„๋ฅผ ์Šค์™‘ ์•„์›ƒ(swap out)์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.
    • ๋””์Šคํฌ๋กœ ์Šค์™‘ ์•„์›ƒ์‹œ์ผœ์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ๋ด‰์‡„ ์ƒํƒœ(์ค‘๋‹จ ์ƒํƒœ)์— ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค๋“ค์„ ์ฒซ๋ฒˆ์งธ๋กœ ์Šค์™‘ ์•„์›ƒ ์‹œํ‚ต๋‹ˆ๋‹ค. ์ด์œ ๋Š” ๋ด‰์‡„ ์ƒํƒœ์˜ ํ”„๋กœ์„ธ์Šค๋“ค์€ ๋‹น์žฅ CPU๋ฅผ ํš๋“ํ•  ๊ฐ€๋Šฅ์„ฑ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
    • ๋ด‰์‡„ ์ƒํƒœ์˜ ํ”„๋กœ์„ธ์Šค๋“ค์„ ์Šค์™‘ ์•„์›ƒ์‹œ์ผœ๋„ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ์ค‘๊ธฐ ์Šค์ผ€์ค„๋Ÿฌ๋Š” ํƒ€์ด๋จธ ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ๋ฐœ์ƒํ•ด ์ค€๋น„ ํ๋กœ ์ด๋™ํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ์ถ”๊ฐ€์ ์œผ๋กœ ์Šค์™‘์•„์›ƒ ์‹œํ‚จ๋‹ค.
    • ๋ฉ”๋ชจ๋ฆฌ์— ์—ฌ์œ ๊ฐ€ ์ƒ๊ธฐ๋ฉด ๋‹ค์‹œ ์ ์žฌ(swap in)ํ•œ๋‹ค.

์ค‘๊ธฐ ์Šค์ผ€์ค„๋Ÿฌ์˜ ๋“ฑ์žฅ์œผ๋กœ ํ”„๋กœ์„ธ์Šค์˜ ์ƒํƒœ์—๋Š” ์ค‘์ง€(suspenden, stopped) ์ƒํƒœ๊ฐ€ ์ถ”๊ฐ€ ๋˜์—ˆ์œผ๋ฉฐ ์ค‘์ง€ ์ƒํƒœ์˜ ํ”„๋กœ์„ธ์Šค๋Š” ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ†ต์งธ๋กœ ๋นผ์•—๊ธฐ๊ณ  ๋””์Šคํฌ๋กœ ์Šค์™‘ ์•„์›ƒ๋œ๋‹ค. ์ค‘์ง€ ์ƒํƒœ๋Š” ์ค‘์ง€ ์ค€๋น„ ์ƒํƒœ์™€ ๋ด‰์‡„ ์ค‘์ง€ ์ƒํƒœ๊ฐ€ ์žˆ๋‹ค.

  • ์ค‘์ง€ ์ค€๋น„(suspended ready) : ์ค€๋น„ ์ƒํƒœ์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ค‘๊ธฐ ์Šค์ผ€์ค„๋Ÿฌ์— ์˜ํ•ด ๋””์Šคํฌ๋กœ swap out
  • ๋ด‰์‡„ ์ค‘์ง€(suspended block) : ๋ด‰์‡„ ์ƒํƒœ์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ค‘๊ธฐ ์Šค์ผ€์ค„๋Ÿฌ์— ์˜ํ•ด ๋””์Šคํฌ๋กœ swap out

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

 

๋‹จ๊ธฐ ์Šค์ผ€์ค„๋Ÿฌ(short term scheduler)

๋ฉ”๋ชจ๋ฆฌ ๋‚ด์˜ ์ค€๋น„ ์ƒํƒœ์— ์žˆ๋Š” ์ž‘์—… ์ค‘ ์‹คํ–‰ ํ•  ํ”„๋กœ์„ธ์Šค๋ฅผ ์„ ํƒํ•˜์—ฌ CPU๋ฅผ ํ• ๋‹น

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

  • ์ผ๋ฐ˜์ ์œผ๋กœ ์Šค์ผ€์ค„๋Ÿฌ๋ผ ํ•จ์€ ๋‹จ๊ธฐ ์Šค์ผ€์ค„๋Ÿฌ๋ฅผ ์˜๋ฏธํ•˜๋ฉฐ ๋‹จ๊ธฐ ์Šค์ผ€์ค„๋Ÿฌ๋Š” ๋ฏธ๋ฆฌ ์ •ํ•œ ์Šค์ผ€์ค„๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋”ฐ๋ผ cpu๋ฅผ ํ• ๋‹น ํ•  ํ”„๋กœ์„ธ์Šค๋ฅผ ์„ ํƒํ•œ๋‹ค.
  • ๋‹จ๊ธฐ ์Šค์ผ€์ค„๋Ÿฌ๋Š” ๋ฐ€๋ฆฌ ์„ธ์ปจํŠธ(ms) ์ดํ•˜์˜ ์‹œ๊ฐ„ ๋‹จ์œ„๋กœ ๋งค์šฐ ๋นˆ๋ฒˆํ•˜๊ฒŒ ํ˜ธ์ถœ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ˆ˜ํ–‰ ์†๋„๊ฐ€ ์ถฉ๋ถ„ํžˆ ๋นจ๋ผ์•ผ ํ•œ๋‹ค.

 

์ •๋ฆฌ

์Šค์ผ€์ค„๋Ÿฌ ์ข…๋ฅ˜ ๊ด€๋ จ๋œ ์ƒํƒœ
์žฅ๊ธฐ ์Šค์ผ€์ค„๋Ÿฌ ์ƒ์„ฑ ์ƒํƒœ ๊ด€๋ฆฌ
์ค‘๊ธฐ ์Šค์ผ€์ค„๋Ÿฌ ์ค‘๋‹จ๋œ ์ค€๋น„, ์ค€๋น„, ์ค‘๋‹จ๋œ ๋Œ€๊ธฐ, ๋Œ€๊ธฐ ์ƒํƒœ ๊ด€๋ฆฌ
๋‹จ๊ธฐ ์Šค์ผ€์ค„๋Ÿฌ ์ค€๋น„, ์‹คํ–‰, ๋Œ€๊ธฐ ์ƒํƒœ ๊ด€๋ฆฌ

 

์ฐธ๊ณ 

๋Œ“๊ธ€