CPU Scheduling

์šด์˜์ฒด์ œ ํฌ์ŠคํŒ…์—์„œ ์ž ์‹œ ๋งํ–ˆ๋“ฏ, CPU ์Šค์ผ€์ค„๋ง์€ ์ปดํ“จํ„ฐ์˜ ํ”„๋กœ์„ธ์Šค ๋“ค์—๊ฒŒ ์–ด๋–ป๊ฒŒ, ์–ธ์ œ CPU๋ฅผ ํ• ๋‹นํ•  ๊ฒƒ์ธ์ง€ ๊ฒฐ์ •ํ•˜๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค. ๋ณด๋‹ค ํšจ์œจ์ ์œผ๋กœ CPU ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ๊ณผ์ •์ด๊ธฐ ๋•Œ๋ฌธ์— ํ”„๋กœ์„ธ์Šค์˜ ๊ทœ๋ชจ, ์ ์šฉ์‹œ๊ธฐ์— ๋”ฐ๋ผ 3๊ฐ€์ง€ ๋‹จ๊ณ„๋กœ ๋‚˜๋‰œ๋‹ค.

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

  • ์ค‘๊ธฐ ์Šค์ผ€์ค„๋ง : ๋ฉ”๋ชจ๋ฆฌ ๋ถ€์กฑํ˜„์ƒ์ด ๋ฐœ์ƒํ•  ๊ฒฝ์šฐ, ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ๋œ ํ”„๋กœ์„ธ์Šค ์ค‘ ์–ด๋–ค ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ์ œ๊ฑฐํ• ์ง€ ๊ฒฐ์ •ํ•˜๋Š” ๋‹จ๊ณ„์ด๋‹ค.

  • ๋‹จ๊ธฐ ์Šค์ผ€์ค„๋ง : CPU ๋ฅผ ํ• ๋‹น ๋ฐ›๊ธฐ ์œ„ํ•ด ๊ธฐ๋‹ค๋ฆฌ๋Š” ํ”„๋กœ์„ธ์Šค ์ค‘, ์–ด๋–ค ํ”„๋กœ์„ธ์Šค๋ฅผ ์„ ํƒํ•˜์—ฌ ํ• ๋‹นํ• ์ง€ ๊ฒฐ์ •ํ•˜๋Š” ๋‹จ๊ณ„์ด๋‹ค.

์ด ๊ณผ์ •์„ ํ†ตํ•ด CPU ๋ฅผ ํ• ๋‹นํ•˜๊ฒŒ ๋˜๋Š”๋ฐ, ํ• ๋‹น๋ฐ›์„ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ๋ฐ”๋กœ ์Šค์ผ€์ค„๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ด๋‹ค.

์Šค์ผ€์ค„๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜

์ด ์Šค์ผ€์ค„๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ํฌ๊ฒŒ ์„ ์ ํ˜• ์Šค์ผ€์ค„๋ง / ๋น„์„ ์ ํ˜• ์Šค์ผ€์ค„๋ง 2๊ฐ€์ง€๋กœ ๋‚˜๋‰œ๋‹ค.

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

    • ํ”„๋กœ์„ธ์Šค๋Š” ํฌ๊ฒŒ ์ปค๋„ ํ”„๋กœ์„ธ์Šค, ์ผ๋ฐ˜ ํ”„๋กœ์„ธ์Šค๋กœ ๋‚˜๋‰˜๋Š”๋ฐ ์ปค๋„ ํ”„๋กœ์„ธ์Šค๋Š” ์šด์˜์ฒด์ œ์˜ ํ•ต์‹ฌ ๊ธฐ๋Šฅ (์‹œ์Šคํ…œ ์•ˆ์ •์„ฑ / ๋ณด์•ˆ)์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ํ”„๋กœ์„ธ์Šค๋กœ, ์ผ๋ฐ˜ ํ”„๋กœ์„ธ์Šค ๋ณด๋‹ค ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’๋‹ค.

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

์šด์˜์ฒด์ œ๊ฐ€ ํ”„๋กœ์„ธ์Šค ์‹คํ–‰์ค‘, ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๋กœ ์ œ์–ด๊ถŒ์„ ๋บ์€ ํ›„ ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค๋ฅผ ์ค‘์ง€์‹œํ‚ค๊ณ , ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋” ๋†’์€ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค ์—๊ฒŒ ์ œ์–ด๊ถŒ์„ ๋„˜๊ฒจ์ฃผ๋Š” ๋ฐฉ์‹์„ ๋งํ•œ๋‹ค.

Priority Scheduling

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

์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์€, ๋‹ค์‹œ๋งํ•ด ์ค‘์š”ํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ํ”„๋กœ์„ธ์Šค ๋ถ€ํ„ฐ ์‹คํ–‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ค‘๊ฐ„์— ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์€ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๊ณ„์† ๋“ค์–ด์˜ฌ๊ฒฝ์šฐ์— ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋‚ฎ์€ ํ”„๋กœ์„ธ์Šค๋Š” ๊ณ„์†ํ•ด์„œ ๊ธฐ๋‹ค๋ฆด์ˆ˜ ๋ฐ–์— ์—†๋Š” ํ˜„์ƒ์ด ๋ฐœ์ƒํ•œ๋‹ค.

Round Robin

๊ฐ ํ”„๋กœ์„ธ์Šค ์—๊ฒŒ ์ผ์ •ํ•œ ์‹œ๊ฐ„์„ ๋ถ€์—ฌํ•˜๊ณ  ํ•ด๋‹น ์‹œ๊ฐ„์ด ์ง€๋‚˜๋ฉด ๋‹ค์Œ ํ”„๋กœ์„ธ์Šค ์—๊ฒŒ CPU ๋ฅผ ๋„˜๊ฒจ์ฃผ๋Š” ๋ฐฉ์‹(๋„˜๊ฒจ์ฃผ๋Š” ์‹œ๊ฐ„์„ ํ• ๋‹น์‹œ๊ฐ„์ด๋ผ๊ณ  ํ•œ๋‹ค.) ์ด๋‹ค. ์ด ํ• ๋‹น์‹œ๊ฐ„์ด ์งง์œผ๋ฉด ์žฆ์€ ์˜ ๋ฐœ์ƒ์œผ๋กœ ์˜ค๋ฒ„ํ—ค๋“œ ๊ฐ€ ์ปค์งˆ์ˆ˜ ์žˆ๊ณ , ๊ธธ๋ฉด ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๋“ค์˜ ๋Œ€๊ธฐ์‹œ๊ฐ„์ด ๊ธธ์–ด์ง„๋‹ค.

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

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

FCFS (First-Come, First-Served)

์šฐ๋ฆฌ์—๊ฒŒ ์ต์ˆ™ํ•œ ์„ ์ฐฉ์ˆœ๋ฐฉ์‹์ด๋‹ค. CPU๊ฐ€ ํ˜„์žฌ ์‹คํ–‰์ค‘์ธ ์ž‘์—…์„ ์™„๋ฃŒํ•˜๋ฉด, ๋Œ€๊ธฐ์ค‘์ธ ํ”„๋กœ์„ธ์Šค ์ค‘ ๊ฐ€์žฅ ๋จผ์ € ๋“ค์–ด์˜จ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ๋ฐฉ์‹์ด์ง€๋งŒ, ๋จผ์ € ๋“ค์–ด์˜จ ํ”„๋กœ์„ธ์Šค์˜ ์ž‘์—…์ฒ˜๋ฆฌ์‹œ๊ฐ„์ด ๊ธธ๊ฒฝ์šฐ, ํ‰๊ท  ๋Œ€๊ธฐ์‹œ๊ฐ„์ด ๊ธธ์–ด์งˆ์ˆ˜ ์žˆ๋‹ค.

SJF (Shortest Job first)

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

Last updated