[์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ ์‹ค๊ธฐ] ์Šค์ผ€์ค„๋ง(Scheduling)

2022. 7. 22. 01:52

Scheduling

ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ƒ์„ฑ๋˜์–ด ์‹คํ–‰๋  ๋•Œ ํ•„์š”ํ•œ ์‹œ์Šคํ…œ์˜ ์—ฌ๋Ÿฌ ์ž์›์„ ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค์—๊ฒŒ ํ• ๋‹นํ•˜๋Š” ์ž‘์—…
  • ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ƒ์„ฑ๋˜์–ด ์™„๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ํ”„๋กœ์„ธ์Šค๋Š” ์—ฌ๋Ÿฌ ์ข…๋ฅ˜์˜ ์Šค์ผ€์ค„๋ง ๊ณผ์ •์„ ๊ฑฐ์น˜๊ฒŒ ๋จ

 

์Šค์ผ€์ค„๋ง์˜ ์ข…๋ฅ˜

  • ์žฅ๊ธฐ ์Šค์ผ€์ค„๋ง : ์–ด๋–ค ํ”„๋กœ์„ธ์Šค์—๊ฒŒ ์‹œ์Šคํ…œ ์ž์›์„ ํ• ๋‹นํ• ์ง€ ๊ฒฐ์ • → ์ค€๋น„์ƒํƒœ ํ๋กœ ๋ณด๋‚ด๋Š” ์ž‘์—…
  • ์ค‘๊ธฐ ์Šค์ผ€์ค„๋ง : ์–ด๋–ค ํ”„๋กœ์„ธ์Šค๋“ค์ด CPU๋ฅผ ํ• ๋‹น๋ฐ›์„ ๊ฒƒ์ธ์ง€ ๊ฒฐ์ •
  • ๋‹จ๊ธฐ ์Šค์ผ€์ค„๋ง : ํ”„๋กœ์„ธ์Šค ์‹คํ–‰์„ ์œ„ํ•ด CPU ํ• ๋‹น์‹œ๊ธฐ, ํŠน์ • ํ”„๋กœ์„ธ์Šค ์ง€์ •

 

์Šค์ผ€์ค„๋ง์˜ ๋ชฉ์ 

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

 

๋น„์„ ์ (Non-Preemptive) ์Šค์ผ€์ค„๋ง

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

์ข…๋ฅ˜

  • FCFS (First Come Frist Service) : ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ค€๋น„์ƒํƒœ ํ์— ๋„์ฐฉํ•œ ์ˆœ์„œ์— ๋”ฐ๋ผ CPU ํ• ๋‹น. ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜.
  • SJF (Shortest Job First) : ์ค€๋น„์ƒํƒœ ํ์—์„œ ๋Œ€๊ธฐ์ค‘์ธ ํ”„๋กœ์„ธ์Šค ์ค‘ ์‹คํ–‰์‹œ๊ฐ„์ด ๊ฐ€์žฅ ์งง์€ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ข…๋ฃŒ ์‹œ๊นŒ์ง€ ์ž์› ์ ์œ . ๊ฐ€์žฅ ์ ์€ ํ‰๊ท  ๋Œ€๊ธฐ์‹œ๊ฐ„์„ ์ œ๊ณตํ•˜๋Š” ์ตœ์  ์•Œ๊ณ ๋ฆฌ์ฆ˜. ๊ธฐ์•„ ํ˜„์ƒ ๋ฐœ์ƒ
  • ์šฐ์„ ์ˆœ์œ„ (Priority) : ํ”„๋กœ์„ธ์Šค๋ณ„ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ์ฃผ์–ด์ง€๊ณ , ์šฐ์„ ์ˆœ์œ„์— ๋”ฐ๋ผ CPU ํ• ๋‹น
  • HRN (Highest Response-ratio Next) : ํ˜„์žฌ ์‘๋‹ต๋ฅ ์ด ๊ฐ€์žฅ ๋†’์€ ๊ฒƒ์„ ์„ ํƒ → ์šฐ์„ ์ˆœ์œ„ ๊ณ„์‚ฐ์‹ = ( ๋Œ€๊ธฐ์‹œ๊ฐ„ + ์„œ๋น„์Šค(์‹คํ–‰)์‹œ๊ฐ„ ) / ์„œ๋น„์Šค ์‹œ๊ฐ„. ๊ธฐ์•„ ํ˜„์ƒ ์ตœ์†Œํ™” ๊ธฐ๋ฒ•
  • ๊ธฐํ•œ๋ถ€ (Deadline) : ์ž‘์—…๋“ค์ด ๋ช…์‹œ๋œ ์‹œ๊ฐ„์ด๋‚˜ ๊ธฐํ•œ ๋‚ด์— ์™„๋ฃŒ๋˜๋„๋ก ๊ณ„ํš

 

์„ ์ (Preemptive) ์Šค์ผ€์ค„๋ง

ํ•œ ํ”„๋กœ์„ธ์Šค๊ฐ€ CPU๋ฅผ ํ• ๋‹น๋ฐ›์•„ ์‹คํ–‰ ์ค‘์ผ ๋•Œ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์€ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๊ฐ€ CPU๋ฅผ ๊ฐ•์ œ๋กœ ๋นผ์•—์•„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์Šค์ผ€์ค„๋ง ๊ธฐ๋ฒ•
  • ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์€ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋น ๋ฅด๊ฒŒ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅ
  • ์ฃผ๋กœ ๋น ๋ฅธ ์‘๋‹ต ์‹œ๊ฐ„์„ ์š”๊ตฌํ•˜๋Š” ๋Œ€ํ™”์‹ ์‹œ๋ถ„ํ•  ์‹œ์Šคํ…œ์— ์‚ฌ์šฉ
  • ๋งŽ์€ ์˜ค๋ฒ„ํ—ค๋“œ(Overhead) ์ดˆ๋ž˜ (*์˜ค๋ฒ„ํ—ค๋“œ : ์ฒ˜๋ฆฌ์— ๋“œ๋Š” ๊ฐ„์ ‘์  ์ฒ˜๋ฆฌ์‹œ๊ฐ„·๋ฉ”๋ชจ๋ฆฌ)

์ข…๋ฅ˜

  • ๋ผ์šด๋“œ ๋กœ๋นˆ(Round Robin) : ๊ฐ™์€ ํฌ๊ธฐ์˜ CPU ์‹œ๊ฐ„ ํ• ๋‹น
  • SRT(Shortest Remaining Time First) : ๊ฐ€์žฅ ์งง์€ ์‹œ๊ฐ„์ด ์†Œ์š”๋˜๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ๋จผ์ € ์ˆ˜ํ–‰ํ•˜๊ณ , ๋‚จ์€ ์ฒ˜๋ฆฌ ์‹œ๊ฐ„์ด ๋” ์งง๋‹ค๊ณ  ํŒ๋‹จ๋˜๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ค€๋น„ ํ์— ์ƒ๊ธฐ๋ฉด ์–ธ์ œ๋ผ๋„ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์„ ์ ๋จ
  • ๋‹ค๋‹จ๊ณ„ ํ(Multi Level Queue) : ์ž‘์—…๋“ค์„ ์—ฌ๋Ÿฌ ์ข…๋ฅ˜ ๊ทธ๋ฃน ๋ถ„ํ• 
  • ๋‹ค๋‹จ๊ณ„ ํ”ผ๋“œ๋ฐฑ ํ : ํ๋งˆ๋‹ค ์„œ๋กœ ๋‹ค๋ฅธ CPU์‹œ๊ฐ„ ํ• ๋‹น๋Ÿ‰ ๋ถ€์—ฌ, FIFO์™€ ๋ผ์šด๋“œ ๋กœ๋นˆ ์Šค์ผ€์ค„๋ง ๊ธฐ๋ฒ•์„ ํ˜ผํ•ฉํ•œ ๊ฒƒ

BELATED ARTICLES

more