๊ธ€ ์ž‘์„ฑ์ž: ๋˜ฅํด๋ฒ .
๋ฐ˜์‘ํ˜•

1. ์Šค์ผ€์ค„๋Ÿฌ / ์Šค์ผ€์ค„๋ง์ด๋ž€?


 ์ž‘์—… ๊ด€๋ฆฌ์ž๋ฅผ ์‹คํ–‰ํ•ด ๋ณธ ์ ์ด ์žˆ๋‹ค๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ํ™”๋ฉด์„ ๋ณธ ์ ์ด ์žˆ์„ ๊ฒƒ์ด๋‹ค.

[๊ทธ๋ฆผ 1] ์ž‘์—… ๊ด€๋ฆฌ์ž์—์„œ ํ”„๋กœ์„ธ์Šค ์ƒํƒœ

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

 

 ์ด ํ”„๋กœ์„ธ์Šค๋“ค์€ ์–ด๋””์—์„œ ์–ด๋–ป๊ฒŒ ์‹คํ–‰๋˜๋Š” ๊ฑธ๊นŒ? ๋‹ต์€, ์ปดํ“จํ„ฐ์˜ ๋‘๋‡Œ๋ผ ํ•˜๋Š” CPU์˜ ์ฝ”์–ด์—์„œ ์‹คํ–‰๋˜๊ณ  ์žˆ๋‹ค. ์˜›๋‚ ์—๋Š” ์ผ๋ฐ˜ ์†Œ๋น„์ž์šฉ CPU์˜ ๊ฒฝ์šฐ 1๊ฐœ์˜ ์ฝ”์–ด๋ฅผ ๊ฐ€์ง€๋Š” ๊ฒƒ์ด ๋Œ€๋ถ€๋ถ„์ด์—ˆ๋‹ค. ์ด ๋ง์€ CPU๊ฐ€ ํ•œ ๋ฒˆ์— ํ•œ ๊ฐœ์˜ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค๋Š” ๊ฒƒ์ธ๋ฐ, ๋„๋Œ€์ฒด ๊ทธ ์‹œ์ ˆ์—๋Š” ์ธํ„ฐ๋„ท์„ ํ•˜๋ฉด์„œ ์Œ์•…์„ ๋“ฃ๊ณ  ๋™์‹œ์— ๊ฒŒ์ž„๋„ ํ•  ์ˆ˜ ์žˆ์—ˆ๋˜ ๊ฑธ๊นŒ?

 

 ๋ฐ”๋กœ ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ(Context switching)์ด๋ผ๋Š” ๊ธฐ์ˆ  ๋•Œ๋ฌธ์— ๊ฐ€๋Šฅํ•˜๋‹ค. ์ปดํ“จํ„ฐ์—์„œ ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋  ๋•Œ ๊ฒ‰์œผ๋กœ๋Š” ํ”„๋กœ๊ทธ๋žจ์ด ์—ฐ์†์ ์œผ๋กœ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด์ง€๋งŒ ์‹ค์ œ๋กœ๋Š” ๊ทธ๋ ‡์ง€ ์•Š๋‹ค.

 

[๊ทธ๋ฆผ 2] ์ฝ”์–ด ํ•˜๋‚˜์—์„œ ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰ ๋ชจ์Šต

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

 

 ๊ทธ๋ ‡๋‹ค๋ฉด ์–ด๋–ค ๊ธฐ์ค€์œผ๋กœ ์Šค์œ„์นญ ๋˜๋Š” ๊ฒƒ ์ผ๊นŒ? ์ด ๊ธฐ์ค€์„ ์šด์˜์ฒด์ œ์˜ ์Šค์ผ€์ค„๋Ÿฌ(scheduler)๊ฐ€ ๊ฒฐ์ •ํ•˜๊ณ  ๊ธฐ์ค€์—๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์•Œ๊ณ ๋ฆฌ์ฆ˜๋“ค์ด ์žˆ๋‹ค.

 

 

 

2. ์Šค์ผ€์ค„๋ง ๋ฐฉ์‹


 ์Šค์ผ€์ค„๋ง์—๋Š” ํฌ๊ฒŒ ์„ ์ ํ˜•(Preemptive) ์Šค์ผ€์ค„๋ง๊ณผ ๋น„์„ ์ ํ˜•(Non-Preemptive) ์Šค์ผ€์ค„๋ง 2๊ฐ€์ง€ ๋ฐฉ์‹์œผ๋กœ ๋‚˜๋‰œ๋‹ค.

 

2.1) ์„ ์ ํ˜•(Preemptive) ์Šค์ผ€์ค„๋ง

 ํ”„๋กœ์„ธ์Šค๊ฐ€ CPU๋ฅผ ํ• ๋‹น๋ฐ›์•„ ์‹คํ–‰ ์ค‘์ด๋”๋ผ๋„ I/O๋‚˜ ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒƒ๋„ ์•„๋‹ˆ๊ณ  ๋ชจ๋“  ์ž‘์—…์„ ๋๋‚ด์ง€๋„ ์•Š์•˜๋Š”๋ฐ, ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๊ฐ€ CPU๋ฅผ ๊ฐ•์ œ๋กœ ๋นผ์•—์„ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ์‹์ด๋‹ค.

 

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

 

 

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

 ์„ ์ ํ˜•๊ณผ ๋ฐ˜๋Œ€๋กœ, ํ”„๋กœ์„ธ์Šค๊ฐ€ CPU๋ฅผ ์ ์œ ํ•˜๊ณ  ์žˆ๋‹ค๋ฉด ์ด๋ฅผ ๋นผ์•—์„ ์ˆ˜ ์—†๋Š” ๋ฐฉ์‹์ด๋‹ค. ํ•œ ํ”„๋กœ์„ธ์Šค๊ฐ€ CPU๋ฅผ ์ ์œ ํ–ˆ๋‹ค๋ฉด, I/O๋‚˜ ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ๋ฐœ์ƒ ๋˜๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ข…๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๊ฐ€ CPU๋ฅผ ์ ์œ ํ•˜์ง€ ๋ชปํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

 

 ํ•„์š”ํ•œ ์Šค์œ„์นญ๋งŒ ์ผ์–ด๋‚˜๊ธฐ ๋•Œ๋ฌธ์— ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ์ƒ๋Œ€์ ์œผ๋กœ ์ ์ง€๋งŒ ํ”„๋กœ์„ธ์Šค ๋ฐฐ์น˜์— ๋”ฐ๋ผ ํšจ์œจ์„ฑ ์ฐจ์ด๊ฐ€ ๋งŽ์ด ๋‚œ๋‹ค.

 

 

 

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


3.1) First-Come, First-Served(FCFS)

 FCFS๋Š” ๋น„์„ ์ ํ˜•(Non-Preemptive) ์Šค์ผ€์ค„๋ง์œผ๋กœ, ๋จผ์ € ์˜จ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋จผ์ € CPU๋ฅผ ์ ์œ ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

Process Burst Time(msec)
P1 15
P2 6
P3 3

 

 ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ฐจ๋ก€๋Œ€๋กœ P1, P2, P3 ์ˆœ์„œ๋Œ€๋กœ ๋“ค์–ด์™”๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๊ณ  ํ‰๊ท  ๋Œ€๊ธฐ์‹œ๊ฐ„์„ ๊ณ„์‚ฐํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

 

 โ— Average Waiting Time:  (0+15+21) / 3= 12msec

 

๋งŒ์•ฝ, ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋“ค์–ด์˜จ ์ˆœ์„œ๊ฐ€ P3, P2, P1์ด๋ผ๋ฉด ์•„๋ž˜์ฒ˜๋Ÿผ ๋ฐ”๋€” ๊ฒƒ์ด๋‹ค.

 

โ— Average Waiting Time:  (0+3+9) / 3= 4 msec

 

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

 

P1, P2, P3 ์ˆœ์„œ๋กœ ๋“ค์–ด์˜จ ๊ฒƒ์„ Convoy Effect๋ผ๊ณ  ํ•˜๋Š”๋ฐ, ์ด๋Š” CPU ์‹œ๊ฐ„์„ ์˜ค๋ž˜ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋จผ์ € ์ˆ˜ํ–‰ํ•˜๋Š” ๋™์•ˆ ๋‚˜๋จธ์ง€ ํ”„๋กœ์„ธ์Šค๋“ค์€ ๊ทธ๋งŒํผ ์˜ค๋ž˜ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๊ฒƒ์„ ์ผ์ปซ๋Š”๋‹ค. ์ด๋Š” FCFS์˜ ๋‹จ์  ์ค‘ ํ•˜๋‚˜๋‹ค.

 

3.2) Shortest-Job-First(SJF)

 SJF๋Š” ๊ฐ€์žฅ ์งง๊ฒŒ ์ˆ˜ํ–‰๋˜๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ๊ฐ€์žฅ ๋จผ์ € ์ˆ˜ํ–‰๋˜๋Š” ๋ฐฉ์‹์„ ๋งํ•œ๋‹ค.

SJF๋Š” ์„ ์ ํ˜•(Preemptive)๊ณผ ๋น„์„ ์ ํ˜•(Non-Preemptive) ๋ฐฉ์‹ ๋ชจ๋‘ ๊ฐ€๋Šฅํ•˜๋‹ค.

Process Burst Time(msec)
P1 15
P2 6
P3 3

โ— Average Waiting Time:  (0+3+9) / 3= 4 msec

 

๊ฐ„๋‹จํ•˜๊ฒŒ, FCFS๋ฐฉ์‹์—์„œ ๊ฐ€์žฅ CPU ์‚ฌ์šฉ์‹œ๊ฐ„์ด ๋‚ฎ์€ ์‹œ๊ฐ„ ์ˆœ์„œ๋Œ€๋กœ ๋“ค์–ด์˜จ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.

์ˆ˜ํ•™์ ์œผ๋กœ ์–ด๋–ค ๋ฐฉ์‹๋ณด๋‹ค ํ‰๊ท  ๋Œ€๊ธฐ์‹œ๊ฐ„์ด ์งง๋‹ค๊ณ  ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ. ๊ทธ๋ ‡๋‹ค๋ฉด SJF๊ฐ€ ๊ฐ€์žฅ ํšจ์œจ์ ์ธ ์Šค์ผ€์ค„๋ง ๋ฐฉ์‹์ผ๊นŒ? ์‚ฌ์‹ค ์ด ์Šค์ผ€์ค„๋ง ๋ฐฉ๋ฒ•์€ ๋งค์šฐ ๋น„ํ˜„์‹ค์ ์ด๋‹ค.

 

 ํ˜„์‹ค์ ์ธ ์ปดํ“จํ„ฐ ํ™˜๊ฒฝ์—์„œ๋Š” ํ”„๋กœ์„ธ์Šค์˜ CPU ์ ์œ  ์‹œ๊ฐ„์„ ์•Œ ์ˆ˜ ์—†์„๋ฟ๋”๋Ÿฌ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹คํ–‰ ์ค‘์—๋Š” ๋งŽ์€ ๋ณ€์ˆ˜๊ฐ€ ์กด์žฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— CPU ์ ์œ  ์‹œ๊ฐ„์„ ์•Œ๋ ค๋ฉด ์‹ค์ œ๋กœ ์ˆ˜ํ–‰ํ•˜์—ฌ ์ธก์ •ํ•˜๋Š” ์ˆ˜๋ฐ–์— ์—†๋‹ค. ํ•˜์ง€๋งŒ ์ด๋Š” ํฐ ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค๋ฏ€๋กœ ์ž˜ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š”๋‹ค.

 

3.3) Priority

 Priority ์Šค์ผ€์ค„๋ง์€ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์€ ํ”„๋กœ์„ธ์Šค ๋จผ์ € ์„ ํƒ๋˜๋Š” ์Šค์ผ€์ค„๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค.

Priority ์Šค์ผ€์ค„๋ง์€ ์—ญ์‹œ, ์„ ์ ํ˜•(Preemptive)๊ณผ ๋น„์„ ์ ํ˜•(Non-Preemptive) ๋ฐฉ์‹ ๋ชจ๋‘ ๊ฐ€๋Šฅํ•˜๋‹ค.

Priority๊ฐ€ ๋‚ฎ์„์ˆ˜๋ก ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์ž.

Process Burst Time(msec) Priority
P1 10 3
P2 1 1
P3 2 4
P4 1 2

 

โ— Average Waiting Time:  (0+1+2+12) / 4= 3.75 msec

 

 ์šฐ์„ ์ˆœ์œ„๋ฅผ ์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์—๋Š” ํฌ๊ฒŒ ๋‚ด๋ถ€์ ์ธ ์š”์†Œ์™€ ์™ธ๋ถ€์ ์ธ ์š”์†Œ๋กœ ๋‚˜๋‰œ๋‹ค.

  • Internal: Time limit, Memory Requirement, I/O to CPU burst(I/O ์ž‘์—…์€ ๊ธธ๊ณ , CPU ์ž‘์—…์€ ์งง์€ ํ”„๋กœ์„ธ์Šค ์ˆœ)

  • External: Amount of funds being paid, Political Factors ๋“ฑ

 Priority ์Šค์ผ€์ค„๋ง์˜ ๋ฌธ์ œ์ ์€ Starvation(๊ธฐ์•„)์ด ์žˆ๋‹ค. Starvation์€ ํ”„๋กœ์„ธ์Šค๊ฐ€ CPU ์ ์œ ๋ฅผ ์˜ค๋žซ๋™์•ˆ ํ•˜์ง€ ๋ชปํ•˜๋Š” ํ˜„์ƒ์„ ์ผ์ปซ๋Š”๋ฐ, ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋งค์šฐ ๋‚ฎ์€ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋Œ€๊ธฐํ•˜๊ณ  ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž. ์ด ํ”„๋กœ์„ธ์Šค๋Š” ์•„๋ฌด๋ฆฌ ์˜ค๋ž˜ ๊ธฐ๋‹ค๋ ค๋„ CPU๋ฅผ ์ ์œ ํ•˜์ง€ ๋ชปํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋งค์šฐ ํฌ๋‹ค.

์‹ค์ œ ์ปดํ“จํ„ฐ ํ™˜๊ฒฝ์—์„œ๋„ ์ƒˆ๋กœ์šด ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋Š์ž„์—†์ด ๋“ค์–ด์˜ค๊ณ , ์ด๋Ÿฌํ•œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ชจ๋‘ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’๋‹ค๋ฉด ์ด๋ฏธ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ๋˜ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋‚ฎ์€ ํ”„๋กœ์„ธ์Šค๋Š” ํ•˜์—ผ์—†์ด ๊ธฐ๋‹ค๋ฆฌ๊ฒŒ ๋œ๋‹ค.

 

 ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ Aging์ด ์žˆ๋Š”๋ฐ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋‚ฎ์€ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๋™์•ˆ ์ผ์ • ์‹œ๊ฐ„์ด ์ง€๋‚˜๋ฉด ์šฐ์„ ์ˆœ์œ„๋ฅผ ์ผ์ •๋Ÿ‰ ๋†’์—ฌ์ฃผ๋Š” ๋ฐฉ์‹์ด๋‹ค. ์ด๋ ‡๊ฒŒ ํ•œ๋‹ค๋ฉด ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋‚ฎ๋”๋ผ๋„ ์‹œ๊ฐ„์ด ์ง€๋‚˜๋ฉด ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์•„์ง€๋ฏ€๋กœ ์ˆ˜ํ–‰๋  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์•„์ง„๋‹ค.

 

 

3.4) Round-Robin(RR)

 Round-Robin(RR)์€ ์ผ์ • ์‹œ๊ฐ„์„ ์ •ํ•˜์—ฌ ๊ฐ๊ฐ์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ด ์‹œ๊ฐ„ ๋™์•ˆ๋งŒ ์ˆ˜ํ–‰ํ•˜๊ณ  ๋‹ค์‹œ ๋Œ€๊ธฐ ์ƒํƒœ๋กœ ๋Œ์•„๊ฐ€๋Š” ๋ฐฉ์‹์„ ๋งํ•œ๋‹ค. Round-Robin์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์„ ์ ํ˜•(Preemptive)์ด๋‹ค. ์ผ์ • ์‹œ๊ฐ„์ด ๋๋‚˜๋ฉด ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๋กœ CPU๋ฅผ ๋„˜๊ฒจ์ฃผ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

(Time Quantum = 3 msec)

Process Burst Time(msec)
P1 24
P2 3
P3 3

 ์œ„์—์„œ ๋งํ•œ ์ผ์ • ์‹œ๊ฐ„์„ Time Quantum(Time Slice)์ด๋ผ ๋ถ€๋ฅธ๋‹ค. Time Quantum์€ ์ผ๋ฐ˜์ ์œผ๋กœ 10~100 msec ์‚ฌ์ด์˜ ๋ฒ”์œ„๋ฅผ ๊ฐ–๋Š”๋‹ค. ์œ„์˜ ์˜ˆ๋Š” Time Quantum์ด 3 msec์ด๊ณ  ํ•ด๋‹น ๋‹จ์œ„๋ณ„๋กœ CPU๋ฅผ ์ ์œ ํ•˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 

โ— Average Waiting Time:  (0+3+6+6) / 3= 5 msec

 

RR๋ฐฉ์‹์€ Time Quantum์˜ ํฌ๊ธฐ์— ๋”ฐ๋ผ ๋งค์šฐ ์˜์กด์ ์ธ ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

Time Quantum ํฌ๊ธฐ๋ฅผ ๋ฌดํ•œ์— ๊ฐ€๊น๊ฒŒ ์„ค์ •ํ•œ๋‹ค๋ฉด FCFS์™€ ๋™์ผํ•˜๊ฒŒ ๋™์ž‘ํ•˜๊ณ . ๋ฐ˜๋Œ€๋กœ, ๋งค์šฐ ์ž‘๊ฒŒ ์„ค์ •ํ•˜๋ฉด ์Šค์œ„์นญ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ๋งค์šฐ ์ปค์„œ ๋น„ํšจ์œจ ์ ์ด๋‹ค. ์ฆ‰ Time Quantum ๊ฐ’์„ ์ ๋‹นํ•œ ํฌ๊ธฐ๋กœ ์„ค์ •ํ•ด์ค˜์•ผ ํ•œ๋‹ค.

 

 

์ฐธ๊ณ  ๋ฐ ์ถœ์ฒ˜


https://modoocode.com/269

https://velog.io/@codemcd/%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9COS-6.-CPU-%EC%8A%A4%EC%BC%80%EC%A4%84%EB%A7%81
๋ฐ˜์‘ํ˜•