Skip to content

Latest commit

ย 

History

History
53 lines (29 loc) ยท 5.94 KB

03_Scheduling.md

File metadata and controls

53 lines (29 loc) ยท 5.94 KB

CPU ์Šค์ผ€์ค„๋ง

์„ ์ ํ˜• ์Šค์ผ€์ค„๋ง์™€ ๋น„์„ ์ ํ˜• ์Šค์ผ€์ค„๋ง์˜ ์ฐจ์ด๋ฅผ ๋งํ•ด๋ณด์„ธ์š”.

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

FCFS ์Šค์ผ€์ค„๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋ญ”์ง€ ์•Œ์•„์š”?

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

์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋งŽ์ด ์“ธ๊นŒ์š”?

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

๊ทธ๋Ÿผ Shortest Job First ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์–ด๋–จ๊นŒ์š”?

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

๊ทธ๋Ÿผ ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋งŽ์ด ์“ธ๊นŒ์š”?

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

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

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

๋ผ์šด๋“œ ๋กœ๋นˆ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๋‹จ์ ์€ ์—†์„๊นŒ์š”?

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

๊ทธ๋Ÿผ Priority ์Šค์ผ€์ค„๋ง์˜ ๋‹จ์ ์€์š”?

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

์ด ๋ฌธ์ œ๋Š” ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”?

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

๋ฉ€ํ‹ฐ ๋ ˆ๋ฒจ ํ์— ๋Œ€ํ•ด์„œ ๋“ค์–ด๋ดค์–ด์š”?

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

๊ทธ๋Ÿผ ๋ฉ€ํ‹ฐ ๋ ˆ๋ฒจ ํ”ผ๋“œ๋ฐฑ ํ๋Š” ๋ญ์˜ˆ์š”?

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

์‹ค์‹œ๊ฐ„ ์Šค์ผ€์ค„๋ง์—๋Š” ์–ด๋–ค ๋ฐฉ๋ฒ•์ด ์žˆ์–ด์š”?

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