๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿช CS

CPU Scheduling์ด ๋ญ”๊ฐ€์š”?

CPU ์Šค์ผ€์ค„๋ง์„ ์•Œ๊ธฐ ์ „, ํ”„๋กœ์„ธ์Šค ๊ด€๋ฆฌ์— ๋Œ€ํ•ด ์•Œ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค!

 

ํ”„๋กœ์„ธ์Šค ๊ด€๋ฆฌ๋ž€?

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

์–ด๋–ค ์˜๋ฏธ์—์„œ๋Š” ํ”„๋กœ์„ธ์„œ(CPU) ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์ด๋ผ๊ณ  ๋ณผ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ CPU๋ฅผ ์ ์œ ํ•ด์•ผ ํ•  ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฒฐ์ •ํ•˜๊ณ , ์‹ค์ œ๋กœ CPU๋ฅผ ํ”„๋กœ์„ธ์Šค์— ํ• ๋‹นํ•˜๋ฉฐ, ์ด ํ”„๋กœ์„ธ์Šค ๊ฐ„ ๊ณต์œ  ์ž์› ์ ‘๊ทผ๊ณผ ํ†ต์‹  ๋“ฑ์„ ๊ด€๋ฆฌํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

  • ํ”„๋กœ์„ธ์Šค : ํ”„๋กœ๊ทธ๋žจ์„ ๋ฉ”๋ชจ๋ฆฌ ์ƒ์—์„œ ์‹คํ–‰์ค‘์ธ ์ž‘์—…
  • ์Šค๋ ˆ๋“œ : ํ”„๋กœ์„ธ์Šค ์•ˆ์—์„œ ์‹คํ–‰๋˜๋Š” ์—ฌ๋Ÿฌ ํ๋ฆ„ ๋‹จ์œ„

์ •๋ฆฌํ•˜์ž๋ฉด, ์•„๋ž˜์™€ ๊ฐ™์€ ๋‹ด๋‹น์„ ๋งก๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค๐Ÿ’‍

  • ํ”„๋กœ์„ธ์Šค ์Šค์ผ€์ค„๋ง ๋ฐ ๋™๊ธฐํ™” ๊ด€๋ฆฌ ๋‹ด๋‹น
  • ํ”„๋กœ์„ธ์Šค ์ƒ์„ฑ๊ณผ ์ œ๊ฑฐ, ์‹œ์ž‘๊ณผ ์ •์ง€, ๋ฉ”์‹œ์ง€ ์ „๋‹ฌ ๋“ฑ์˜ ๊ธฐ๋Šฅ ๋‹ด๋‹น

๊ด€๋ฆฌ ์ข…๋ฅ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ํ”„๋กœ์„ธ์Šค, ์Šค๋ ˆ๋“œ
  • ์Šค์ผ€์ค„๋ง
  • ๋™๊ธฐํ™”
  • IPC ํ†ต์‹ 

์ด ์ค‘ ์˜ค๋Š˜์€ ์Šค์ผ€์ค„๋ง์— ๊ด€ํ•ด ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค !

 

 

CPU Scheduling

ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹คํ–‰๋˜๋Š” ๋ฐฉ์‹๊ณผ ์ˆœ์„œ๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” CPU์—์„œ ์ˆ˜ํ–‰ํ•˜๋Š” ์ž‘์—…

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

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

 

์™œ ์‚ฌ์šฉํ•˜๋Š”๊ฐ€?

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

์ด๋กœ ์ธํ•ด CPU ๋ฆฌ์†Œ์Šค ํ™œ์šฉ๋„๊ฐ€ ๋–จ์–ด์ง€๊ณ  ํ”„๋กœ์„ธ์Šค ๋Œ€๊ธฐ ์‹œ๊ฐ„์ด ๊ธธ์–ด์ ธ ์‹œ์Šคํ…œ ์„ฑ๋Šฅ์ด ์ €ํ•˜๋˜๊ณ  ์‚ฌ์šฉ์ž ์ƒ์‚ฐ์„ฑ์ด ์ €ํ•˜๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

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

  • ์˜ˆ์ƒ ๋ฒ„์ŠคํŠธ ์‹œ๊ฐ„ : ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹คํ–‰์„ ์™„๋ฃŒํ•˜๋Š” ๋ฐ ๊ฑธ๋ฆฌ๋Š” ์˜ˆ์ƒ ์‹œ๊ฐ„

 

๋ชฉํ‘œ์™€ ๋Œ€์ƒ

  • ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋  ๋•Œ๋Š” CPU ์Šค์ผ€์ค„๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์–ด๋–ค ํ”„๋กœ๊ทธ๋žจ์— CPU ์†Œ์œ ๊ถŒ์„ ์ค„ ๊ฒƒ์ธ์ง€ ๊ฒฐ์ •
  • ๋ชฉํ‘œ : CPU ์ด์šฉ๋ฅ ์€ ๋†’๊ฒŒ, ์ฃผ์–ด์ง„ ์‹œ๊ฐ„์— ๋งŽ์€ ์ผ์„ ํ•˜๊ฒŒ, ์ค€๋น„ ํ(ready queue)์— ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค๋Š” ์ ๊ฒŒ, ์‘๋‹ต ์‹œ๊ฐ„์€ ์งง๊ฒŒ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•ฉ๋‹ˆ๋‹ค.
  • ๋Œ€์ƒ : Ready Queue์— ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค๋“ค

 

์Šค์ผ€์ค„๋ง ์œ ํ˜•

์„ ์ , ๋น„์„ ์  ์Šค์ผ€์ค„๋ง ๋‘ ๊ฐ€์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์„ ์  (preemptive)
    • CPU ๋ฆฌ์†Œ์Šค๊ฐ€ ์ œํ•œ๋œ ๊ธฐ๊ฐ„ ๋™์•ˆ๋งŒ ํ”„๋กœ์„ธ์Šค์— ํ• ๋‹น๋œ ํ›„ ํšŒ์ˆ˜๋˜์–ด ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์— ํ• ๋‹น๋ฉ๋‹ˆ๋‹ค.
    • ๋ผ์šด๋“œ๋กœ๋นˆ
    • SRF
    • ๋‹ค๋‹จ๊ณ„ ํ
  • ๋น„์„ ์  (non-preeptive)
    • ํ˜„์žฌ ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹คํ–‰์„ ์™„๋ฃŒํ•œ ํ›„์—๋งŒ ์ƒˆ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.
    • FCFS
    • SJF
    • ์šฐ์„ ์ˆœ์œ„(HRN)

 

 

๋น„์„ ์ ํ˜• ๋ฐฉ์‹

ํ”„๋กœ์„ธ์Šค๊ฐ€ ์Šค์Šค๋กœ CPU ์†Œ์œ ๊ถŒ์„ ํฌ๊ธฐํ•˜๋Š” ๋ฐฉ์‹์ด๋ฉฐ, ๊ฐ•์ œ๋กœ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ค‘์ง€ํ•˜์ง€ ์•Š๋Š”๋‹ค. ๋”ฐ๋ผ์„œ ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ์œผ๋กœ ์ธํ•œ ๋ถ€ํ•˜๊ฐ€ ์ ๋‹ค.

  1. FCFS(First Come, First Served)
    • ๊ฐ€์žฅ ๋จผ์ € ์˜จ ๊ฒƒ์„ ๊ฐ€์žฅ ๋จผ์ € ์ฒ˜๋ฆฌํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜
    • ๊ธธ๊ฒŒ ์ˆ˜ํ–‰๋˜๋Š” ํ”„๋กœ์„ธ์Šค ๋•Œ๋ฌธ์— ‘์ค€๋น„ ํ์—์„œ ์˜ค๋ž˜ ๊ธฐ๋‹ค๋ฆฌ๋Š” ํ˜•์ƒ(convoy effect)’์ด ๋ฐœ์ƒํ•˜๋Š” ๋‹จ์ 
  2. SJF(Shortest Job First)
    ์‹คํ–‰ ์‹œ๊ฐ„์ด ๊ฐ€์žฅ ์งง์€ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฐ€์žฅ ๋จผ์ € ์‹คํ–‰ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜
    • ๊ธด ์‹œ๊ฐ„์„ ๊ฐ€์ง„ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹คํ–‰๋˜์ง€ ์•Š๋Š” ํ˜„์ƒ(starvation)์ด ์ผ์–ด๋‚˜๋ฉฐ ํ‰๊ท  ๋Œ€๊ธฐ ์‹œ๊ฐ„์ด ๊ฐ€์žฅ ์งง์Šต๋‹ˆ๋‹ค.
    • ํ•˜์ง€๋งŒ ์‹ค์ œ๋กœ๋Š” ์‹คํ–‰ ์‹œ๊ฐ„์„ ์•Œ ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๊ณผ๊ฑฐ์˜ ์‹คํ–‰ํ–ˆ๋˜ ์‹œ๊ฐ„์„ ํ† ๋Œ€๋กœ ์ถ”์ธกํ•ด์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  3. ์šฐ์„ ์ˆœ์œ„(HRN, Hightest Response-ratio Next)
    • ๊ธฐ์กด SJF ์Šค์ผ€์ค„๋ง์˜ ๊ฒฝ์šฐ ๊ธด ์‹œ๊ฐ„์„ ๊ฐ€์ง„ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹คํ–‰๋˜์ง€ ์•Š๋Š” ํ˜„์ƒ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์˜ค๋ž˜๋œ ์ž‘์—…์ผ์ˆ˜๋ก ‘์šฐ์„ ์ˆœ์œ„๋ฅผ ๋†’์ด๋Š” ๋ฐฉ๋ฒ•(aging)’์„ ํ†ตํ•ด ๋‹จ์ ์„ ๋ณด์™„ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋งํ•ฉ๋‹ˆ๋‹ค.
    • ์ฆ‰, ์šฐ์„ ์ˆœ์œ„๋ฅผ ๊ณ„์‚ฐํ•˜์—ฌ ์ ์œ  ๋ถˆํ‰๋“ฑ์„ ๋ณด์™„ํ•œ ๋ฐฉ๋ฒ•(SJF์˜ ๋‹จ์  ๋ณด์™„)
    • ์šฐ์„ ์ˆœ์œ„ = (๋Œ€๊ธฐ์‹œ๊ฐ„ + ์‹คํ–‰์‹œ๊ฐ„) / ์‹คํ–‰์‹œ๊ฐ„

 

์„ ์ ํ˜• ๋ฐฉ์‹

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

 

 

  1. ๋ผ์šด๋“œ ๋กœ๋นˆ(RR, Round Robin)
    ํ˜„๋Œ€ ์ปดํ“จํ„ฐ๊ฐ€ ์“ฐ๋Š” ์Šค์ผ€์ค„๋ง์ธ ์šฐ์„ ์ˆœ์œ„ ์Šค์ผ€์ค„๋ง์˜ ์ผ์ข…์œผ๋กœ ๊ฐ ํ”„๋กœ์„ธ์Šค๋Š” ๋™์ผํ•œ ํ• ๋‹น ์‹œ๊ฐ„์„ ์ฃผ๊ณ  ๊ทธ ์‹œ๊ฐ„ ์•ˆ์— ๋๋‚˜์ง€ ์•Š์œผ๋ฉด ๋‹ค์‹œ ์ค€๋น„ ํ(ready queue)์˜ ๋’ค๋กœ ๊ฐ€๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜
    • ํ• ๋‹น ์‹œ๊ฐ„์ด ๋„ˆ๋ฌด ํฌ๋ฉด FCFS๊ฐ€ ๋˜๊ณ  ์งง์œผ๋ฉด ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ์ด ์žฆ์•„์ ธ์„œ ์˜ค๋ฒ„ํ—ค๋“œ, ์ฆ‰ ๋น„์šฉ์ด ์ปค์ง‘๋‹ˆ๋‹ค.
    • ์ผ๋ฐ˜์ ์œผ๋กœ ์ „์ฒด ์ž‘์—… ์‹œ๊ฐ„์€ ๊ธธ์–ด์ง€์ง€๋งŒ ํ‰๊ท  ์‘๋‹ต ์‹œ๊ฐ„์€ ์งง์•„์ง„๋‹ค๋Š” ํŠน์ง•
    • ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ์—์„œ ํŠธ๋ž˜ํ”ฝ ๋ถ„์‚ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ๋„ ์‚ฌ์šฉ
      • ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ : ์‚ฌ์šฉ์ž์™€ ์„œ๋ฒ„ ๊ทธ๋ฃน ์‚ฌ์ด์— ์œ„์น˜ํ•˜๋ฉฐ ๋ณด์ด์ง€ ์•Š๋Š” ์ด‰์ง„์ž ์—ญํ• ์„ ํ•˜์—ฌ ๋ชจ๋“  ๋ฆฌ์†Œ์Šค ์„œ๋ฒ„๊ฐ€ ๋™์ผํ•˜๊ฒŒ ์‚ฌ์šฉ๋˜๋„๋ก ํ•˜๋Š” ๋””๋ฐ”์ด์Šค
      • ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ : ์—ฌ๋Ÿฌ์„œ๋ฒ„์— ํŠธ๋ž˜ํ”ฝ ๋ถ„์‚ฐ ์‹œ์ผœ์ฃผ๋Š” ๊ฒƒ
  1. SRF(Shortest Remaining Time First)
    • ์ค‘๊ฐ„์— ์‹คํ–‰ ์‹œ๊ฐ„์ด ๋” ์งง์€ ์ž‘์—…์ด ๋“ค์–ด์™€๋„ ๊ธฐ์กด ์งง์€ ์ž‘์—…์„ ๋ชจ๋‘ ์ˆ˜ํ–‰ํ•˜๊ณ  ๊ทธ ๋‹ค์Œ ์งง์€ ์ž‘์—…์„ ์ด์–ด๋‚˜๊ฐ€๋Š”๋ฐ, SRF๋Š” ์ค‘๊ฐ„์— ๋” ์งง์€ ์ž‘์—…์ด ๋“ค์–ด์˜ค๋ฉด ์ˆ˜ํ–‰ํ•˜๋˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ค‘์ง€ํ•˜๊ณ  ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜
  1. ๋‹ค๋‹จ๊ณ„ ํ(Multilevel-Queue)
    • ์šฐ์„ ์ˆœ์œ„์— ๋”ฐ๋ฅธ ์ค€๋น„ ํ๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ ์‚ฌ์šฉํ•˜๊ณ , ํ๋งˆ๋‹ค ๋ผ์šด๋“œ ๋กœ๋นˆ์ด๋‚˜ FCFS ๋“ฑ ๋‹ค๋ฅธ ์Šค์ผ€์ค„๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ ์šฉํ•œ ๊ฒƒ์„ ๋งํ•ฉ๋‹ˆ๋‹ค. 
      1. ํ ๊ฐ„์˜ ํ”„๋กœ์„ธ์Šค ์ด๋™์ด ์•ˆ ๋˜๋ฏ€๋กœ ์Šค์ผ€์ค„๋ง ๋ถ€๋‹ด์ด ์ ์ง€๋งŒ ์œ ์—ฐ์„ฑ์ด ๋–จ์–ด์ง€๋Š” ํŠน์„ฑ
      2. ์šฐ์„ ์ˆœ์œ„์ค‘๊ฐ„ ์šฐ์„ ์ˆœ์œ„ - ์ƒํ˜ธ ์ž‘์šฉ์ ์ธ ํ”„๋กœ์„ธ์Šค - SJF -> CPU
      3. ๋‚ฎ์€ ์šฐ์„ ์ˆœ์œ„ - ๋ฐฐ์น˜ ํ”„๋กœ์„ธ์Šค - RR -> CPU
      4. ๋†’์€ ์šฐ์„ ์ˆœ์œ„ - ์‹œ์Šคํ…œ ํ”„๋กœ์„ธ์Šค - FCFS -> CPU

 

์ด๋ ‡๊ฒŒ CPU ์Šค์ผ€์ค„๋Ÿฌ๋Š” ํ”„๋กœ์„ธ์Šค์˜ ์šฐ์„  ์ˆœ์œ„, ํ”„๋กœ์„ธ์Šค์˜ CPU ๋ฒ„์ŠคํŠธ ๊ธธ์ด, ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ค€๋น„ ๋Œ€๊ธฐ์—ด์—์„œ ๋Œ€๊ธฐ ์ค‘์ธ ์‹œ๊ฐ„ ๋ฐ ์‚ฌ์šฉ ์ค‘์ธ ์Šค์ผ€์ค„๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ๊ฐ™์€ ์š”์†Œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฒฐ์ •์„ ๋‚ด๋ฆฝ๋‹ˆ๋‹ค.