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

์Šค์ผ€์ค„๋ง ์„ฑ๋Šฅ ํ‰๊ฐ€ ๊ธฐ์ค€

์ผ๋ฐ˜์ ์œผ๋กœ ์Šค์ผ€์ค„๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์„ฑ๋Šฅ์„ ํ‰๊ฐ€ํ•˜๋Š” ๋ฐ ํ‰๊ท  ๋Œ€๊ธฐ์‹œ๊ฐ„๊ณผ ํ‰๊ท  ๋ฐ˜ํ™˜์‹œ๊ฐ„์ด ์ด์šฉ๋จ

์Šค์ผ€์ค„๋ง ์„ฑ๋Šฅ ํ‰๊ฐ€ ๊ธฐ์ค€

  • ํ‰๊ท  ๋Œ€๊ธฐ์‹œ๊ฐ„(Average Waiting Time)
    : ๊ฐ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ˆ˜ํ–‰์ด ์™„๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ์ค€๋น„ ํ์—์„œ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์‹œ๊ฐ„์˜ ํ•ฉ์˜ ํ‰๊ท ๊ฐ’
  • ํ‰๊ท  ๋ฐ˜ํ™˜์‹œ๊ฐ„(Average Turnaround Time)
    : ๊ฐ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ƒ์„ฑ๋œ ์‹œ์ ๋ถ€ํ„ฐ ์ˆ˜ํ–‰์ด ์™„๋ฃŒ๋œ ์‹œ์ ๊นŒ์ง€์˜ ์†Œ์š” ์‹œ๊ฐ„์˜ ํ‰๊ท ๊ฐ’

<์˜ˆ์ œ>

์Šค์ผ€์ค„๋ง ์„ฑ๋Šฅ ํ‰๊ฐ€ ๊ธฐ์ค€ ์˜ˆ์ œ

  • A๋Š” 0์˜ ์‹œ๊ฐ„์— ์ค€๋น„ ํ์— ์‚ฝ์ž…. 2์˜ ์‹œ๊ฐ„์— ํ์—์„œ ๋‚˜์™€ CPU์— ํ• ๋‹น๋˜์—ˆ๊ธฐ์— A์˜ ๋Œ€๊ธฐ์‹œ๊ฐ„์€ (ํ• ๋‹น๋œ ์‹œ๊ฐ„ 2 - ํ ์‚ฝ์ž… ์‹œ๊ฐ„ 0 = 2).
    A์˜ ํ”„๋กœ์„ธ์Šค ์‹คํ–‰์ด ๋๋‚œ ์‹œ๊ฐ„์€ 5.
    A์˜ ๋ฐ˜ํ™˜์‹œ๊ฐ„์€ (์‹คํ–‰ ๋๋‚œ ์‹œ๊ฐ„ 5 - ํ ์‚ฝ์ž… ์‹œ๊ฐ„ 0 = 5)
  • B๋Š” 1์˜ ์‹œ๊ฐ„์— ์ค€๋น„ ํ์— ์‚ฝ์ž…. A ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋๋‚œ ์‹œ๊ฐ„์ธ 5์˜ ์‹œ๊ฐ„์— B๋Š” CPU์— ํ• ๋‹น๋˜์—ˆ๊ธฐ์— B์˜ ํ• ๋‹น๋œ ์‹œ๊ฐ„์€ 5.
    B์˜ ๋Œ€๊ธฐ์‹œ๊ฐ„์€ (ํ• ๋‹น๋œ ์‹œ๊ฐ„ 5 - ํ ์‚ฝ์ž… ์‹œ๊ฐ„ 1 = 4).
    B์˜ ํ”„๋กœ์„ธ์Šค ์‹คํ–‰์ด ๋๋‚œ ์‹œ๊ฐ„์€ 9.
    B์˜ ๋ฐ˜ํ™˜์‹œ๊ฐ„์€ (์‹คํ–‰ ๋๋‚œ ์‹œ๊ฐ„ 9 - ํ ์‚ฝ์ž… ์‹œ๊ฐ„ 1 = 8)

๋‘ ํ”„๋กœ์„ธ์Šค์˜ ํ‰๊ท  ๋Œ€๊ธฐ์‹œ๊ฐ„์€ (2+4)/2=3
ํ‰๊ท  ๋ฐ˜ํ™˜์‹œ๊ฐ„์€ (5+8)/2=6.5

๋‹ค์–‘ํ•œ ์Šค์ผ€์ค„๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜

FCFS(First-Come First-Served) ์Šค์ผ€์ค„๋ง

  • ๋น„์„ ์  ์Šค์ผ€์ค„๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • ์ค€๋น„ ํ์— ๋„์ฐฉํ•œ ์ˆœ์„œ์— ๋”ฐ๋ผ ๋””์ŠคํŒจ์น˜
  • ์žฅ์ 
    • ์Šค์ผ€์ค„๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ค‘ ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ๊ธฐ๋ฒ•
  • ๋‹จ์ 
    • ์งง์€ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๊ธด ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๊ฑฐ๋‚˜, ์ค‘์š”ํ•œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋‚˜์ค‘์— ์ˆ˜ํ–‰๋  ์ˆ˜ ์žˆ์Œ
    • ํ”„๋กœ์„ธ์Šค๋“ค์˜ ๋„์ฐฉ ์ˆœ์„œ์— ๋”ฐ๋ผ ํ‰๊ท  ๋ฐ˜ํ™˜์‹œ๊ฐ„์ด ํฌ๊ฒŒ ๋ณ€ํ•จ

FCFS
FCFS ์˜ˆ

SJF(Shortest Job First) ์Šค์ผ€์ค„๋ง

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

SJF ์˜ˆ

SRT(Shortest Remaining Time) ์Šค์ผ€์ค„๋ง

  • ์„ ์  ์Šค์ผ€์ค„๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • ์‹คํ–‰์ด ๋๋‚  ๋•Œ๊นŒ์ง€ ๋‚จ์€ ์‹œ๊ฐ„ ์ถ”์ •์น˜๊ฐ€ ๊ฐ€์žฅ ์งง์€ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋จผ์ € ๋””์ŠคํŒจ์น˜
  • ์žฅ์ 
    • SJF๋ณด๋‹ค ํ‰๊ท  ๋Œ€๊ธฐ์‹œ๊ฐ„์ด๋‚˜ ํ‰๊ท  ๋ฐ˜ํ™˜์‹œ๊ฐ„์—์„œ ํšจ์œจ์ 
    • ๋Œ€ํ™”ํ˜• ์šด์˜์ฒด์ œ์— ์œ ์šฉ
  • ๋‹จ์ 
    • ๊ฐ ํ”„๋กœ์„ธ์Šค์˜ ์‹คํ–‰์‹œ๊ฐ„ ์ถ”์ , ์„ ์ ์„ ์œ„ํ•œ ๋ฌธ๋งฅ ๊ตํ™˜ ๋“ฑ SJF๋ณด๋‹ค ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ํผ

SRT ์˜ˆ

RR(Round Robin) ์Šค์ผ€์ค„๋ง

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

RR
RR ์˜ˆ์ œ 1
RR ์˜ˆ์ œ 2

HRN(Highest Response Ratio Next) ์Šค์ผ€์ค„๋ง

  • ๋น„์„ ์  ์Šค์ผ€์ค„๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • ์ค€๋น„ ํ์—์„œ ๊ธฐ๋‹ค๋ฆฌ๋Š” ํ”„๋กœ์„ธ์Šค ์ค‘ ์‘๋‹ต๋น„์œจ์ด ๊ฐ€์žฅ ํฐ ๊ฒƒ์„ ๋จผ์ € ๋””์ŠคํŒจ์น˜
  • ์˜ˆ์ƒ ์‹คํ–‰์‹œ๊ฐ„์ด ์งง์„์ˆ˜๋ก, ๋Œ€๊ธฐ์‹œ๊ฐ„์ด ๊ธธ์ˆ˜๋ก ์‘๋‹ต๋น„์œจ์ด ์ปค์ง
  • ์žฅ์ : SJF์˜ ๋‹จ์ ์„ ๋ณด์™„

HRN
HRN ์˜ˆ

๋‹ค๋‹จ๊ณ„ ํ”ผ๋“œ๋ฐฑ ํ ์Šค์ผ€์ค„๋ง

  • ์„ ์  ์Šค์ผ€์ค„๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • I/O ์ค‘์‹ฌ ํ”„๋กœ์„ธ์Šค์™€ CPU ์ค‘์‹ฌ ํ”„๋กœ์„ธ์Šค์˜ ํŠน์„ฑ์— ๋”ฐ๋ผ ์„œ๋กœ ๋‹ค๋ฅธ ์‹œ๊ฐ„ ํ• ๋‹น๋Ÿ‰ ๋ถ€์—ฌ
  • n๊ฐœ์˜ ๋‹จ๊ณ„(๋‹จ๊ณ„ 1 ~ ๋‹จ๊ณ„ n)
  • ๊ฐ ๋‹จ๊ณ„๋งˆ๋‹ค ํ•˜๋‚˜์”ฉ์˜ ํ ์กด์žฌ
  • ๋‹จ๊ณ„๊ฐ€ ์ปค์งˆ์ˆ˜๋ก ์‹œ๊ฐ„ ํ• ๋‹น๋Ÿ‰๋„ ์ปค์ง

๋‹ค๋‹จ๊ณ„ ํ”ผ๋“œ๋ฐฑ ํ

  • ์Šค์ผ€์ค„๋ง ๋ฐฉ๋ฒ•
    • ์‹ ๊ทœ ํ”„๋กœ์„ธ์Šค๋Š” ๋‹จ๊ณ„ 1์˜ ํ์—์„œ FIFO(First-In First-Out) ์ˆœ์„œ์— ๋”ฐ๋ผ CPU ์ ์œ 
    • ์ž…์ถœ๋ ฅ ๊ฐ™์€ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด CPU๋ฅผ ์–‘๋ณดํ•˜๊ณ  ๋Œ€๊ธฐ์ƒํƒœ๋กœ ๊ฐ”๋‹ค๊ฐ€ ๋‹ค์‹œ ์ค€๋น„์ƒํƒœ๊ฐ€ ๋  ๋•Œ์—๋Š” ํ˜„์žฌ์™€ ๋™์ผํ•œ ๋‹จ๊ณ„์˜ ํ์— ๋ฐฐ์น˜
    • ์‹œ๊ฐ„ ํ• ๋‹น๋Ÿ‰์„ ๋‹ค ์ผ์ง€๋งŒ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ข…๋ฃŒ๋˜์ง€ ๋ชปํ–ˆ๋‹ค๋ฉด ๋‹ค์Œ ๋‹จ๊ณ„์˜ ํ๋กœ ์ด๋™ ๋ฐฐ์น˜
    • ๋งˆ์ง€๋ง‰ ๋‹จ๊ณ„ n์—์„œ๋Š” RR ์Šค์ผ€์ค„๋ง ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘
    • ๋‹จ๊ณ„ k์˜ ํ์— ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ CPU๋ฅผ ํ• ๋‹น๋ฐ›์œผ๋ ค๋ฉด ๋‹จ๊ณ„ 1๋ถ€ํ„ฐ ๋‹จ๊ณ„ k-1๊นŒ์ง€ ๋ชจ๋“  ํ๊ฐ€ ๋น„์–ด์žˆ์–ด์•ผ๋งŒ ํ•จ
  • ์žฅ์ 
    • I/O์œ„์ฃผ์˜ ํ”„๋กœ์„ธ์Šค(๋Œ€ํ™”ํ˜•)๋Š” ๋†’์€ ์šฐ์„ ๊ถŒ ์œ ์ง€
    • ์—ฐ์‚ฐ ์œ„์ฃผ์˜ CPU ์ค‘์‹ฌ ํ”„๋กœ์„ธ์Šค๋Š” ๋‚ฎ์€ ์šฐ์„ ๊ถŒ์ด์ง€๋งŒ ๊ธฐ ์‹œ๊ฐ„ ํ• ๋‹น๋Ÿ‰ ๊ฐ€์ง
  • ์ ์‘์  ๋‹ค๋‹จ๊ณ„ ํ”ผ๋“œ๋ฐฑ ํ ์Šค์ผ€์ค„๋ง
    • ์‹œ๊ฐ„ ํ• ๋‹น๋Ÿ‰์„ ๋‹ค ์“ฐ๊ธฐ ์ „์— CPU๋ฅผ ๋ฐ˜๋‚ฉํ•˜๋Š” ๊ฒฝ์šฐ, ํ•˜๋‚˜ ์ž‘์€ ๋‹จ๊ณ„์˜ ํ๋กœ ์ด๋™ ๋ฐฐ์น˜
    • ์—ฐ์‚ฐ ์œ„์ฃผ์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ I/O ์œ„์ฃผ๋กœ ๋ฐ”๋€๋‹ค๋ฉด ์ ์  ์ž‘์€ ๋‹จ๊ณ„๋กœ ๋ฐฐ์น˜ ๊ฐ€๋Šฅ

๋ณธ ๊ธ€์€ ํ•œ๊ตญ๋ฐฉ์†กํ†ต์‹ ๋Œ€ํ•™๊ต ๊ฐ•์˜๋ฅผ ์ฐธ๊ณ ํ•ด ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค.

'๐Ÿ–ฅ CS > OS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[OS] ํ”„๋กœ์„ธ์Šค ๊ฐœ์š”  (0) 2022.04.03
[OS] ์šด์˜์ฒด์ œ ๊ฐœ์š”  (0) 2022.04.02
๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค!