๊ด€๋ฆฌ ๋ฉ”๋‰ด

Tech Log ๐Ÿ› ๏ธ

์Šค์ผ€์ค„๋ง ๊ฐœ๋… ์ •๋ฆฌ ๋ณธ๋ฌธ

Computer Science/์šด์˜์ฒด์ œ

์Šค์ผ€์ค„๋ง ๊ฐœ๋… ์ •๋ฆฌ

sehaan 2023. 12. 28. 16:56

์Šค์ผ€์ค„๋ง์ด๋ž€?

CPU ๋ฒ„์ŠคํŠธ*๋ฅผ ๊ณ ๋ คํ•˜์—ฌ ์šด์˜์ฒด์ œ๊ฐ€ ๊ณต์ •ํ•˜๊ณ  ํ•ฉ๋ฆฌ์ ์œผ๋กœ CPU ์ž์›์„ ๋ถ„๋ฐฐํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

 

CPU ๋ฒ„์ŠคํŠธ: CPU๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ตฌ๊ฐ„

 

์Šค์ผ€์ค„๋ง์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 

์Šค์ผ€์ค„๋ง์˜ ์ฃผ์š” ๋ชฉ์ ์€ ๋ฉ€ํ‹ฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ™˜๊ฒฝ์—์„œ CPU์˜ ์œ ํœด(idle) ์‹œ๊ฐ„์„ ์ตœ์†Œํ™”ํ•˜์—ฌ CPU์˜ ์ด์šฉ๋ฅ ์„ ์ตœ๋Œ€ํ•˜ํ•˜๋Š” ๊ฒƒ์— ์žˆ๋‹ค.

๋ฌผ๋ก  ์•„๋ฌด ํ”„๋กœ์„ธ์Šค๋‚˜ ๋žœ๋ค์œผ๋กœ ๋„ฃ์–ด์„œ๋Š” ์•ˆ๋˜๊ณ  ํ”„๋กœ์„ธ์Šค๋“ค์˜ ์—ฌ๋Ÿฌ ์กฐ๊ฑด๋“ค์„ ๊ณ ๋ คํ•ด์„œ ์–ด๋–ค ๊ฒƒ๋ถ€ํ„ฐ ์ฒ˜๋ฆฌํ•  ์ง€ ๊ฒฐ์ •ํ•œ๋‹ค.

 

ํ•œ๊ฐ€์ง€ ์˜ˆ๋ฅผ ๋“ค์–ด๋ณด์ž

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

์ด ๊ฒฝ์šฐ ์ผ๋ฐ˜์ ์œผ๋กœ ์ž…์ถœ๋ ฅ ์ž‘์—…์ด ์šฐ์„  ์ˆœ์œ„๋ฅผ ๊ฐ€์ง„๋‹ค. 

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

 

CPU ์Šค์ผ€์ค„๋ง์€ ์ด์ฒ˜๋Ÿผ ์ค‘์š”์„ฑ๊ณผ ์šฐ์„  ์ˆœ์œ„๋ฅผ ๊ณ ๋ คํ•ด์„œ ํ”„๋กœ์„ธ์Šค๋“ค์—๊ฒŒ ์ž์›์„ ํ• ๋‹นํ•ด์ค€๋‹ค.

๋งŒ์•ฝ ๋ฌด์กฐ๊ฑด ๋จผ์ € ์š”์ฒญํ•œ ์ˆœ์„œ๋Œ€๋กœ ์ฒ˜๋ฆฌํ•œ๋‹ค๋ฉด, ๋‹น์žฅ ๊ธ‰ํ•œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹คํ–‰๋˜์ง€ ์•Š๊ณ  ๋ณ„๋กœ ๊ธ‰ํ•˜์ง€ ์•Š์€ ํ”„๋กœ์„ธ์Šค๋“ค๋งŒ ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋‹ค.

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

 

์Šค์ผ€์ค„๋ง ๋™์ž‘ ๋ฐฉ์‹

์•ž์—์„œ ์Šค์ผ€์ค„๋ง์„ ์‹œ์— CPU ๋ฒ„์ŠคํŠธ๋ฅผ ๊ณ ๋ คํ•˜์—ฌ์„œ ์šฐ์„  ์ˆœ์œ„๋ฅผ ์ฑ…์ •ํ•œ๋‹ค๊ณ  ํ•˜์˜€๋‹ค.

์ด๋Ÿฌํ•œ ์šฐ์„  ์ˆœ์œ„ ์ •๋ณด๋“ค์€ PCB ๋ผ๋Š” ๊ณณ์— ์ €์žฅ๋˜์–ด ์žˆ๋Š”๋ฐ, CPU ์ž…์žฅ์—์„œ PCB๋ฅผ ์ผ์ผ์ด ๋’ค์ ธ์„œ ์Šค์ผ€์ค„๋ง์„ ํ•˜๋Š” ๊ฒƒ์€ ์—ฌ๊ฐ„ ๋ฒˆ๊ฑฐ๋กœ์šด ์ผ์ด ์•„๋‹ ๊ฒƒ์ด๋‹ค.

 

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

 

์Šค์ผ€์ค„๋ง ํ๋Š” ๋Œ€ํ‘œ์ ์œผ๋กœ ๋‘๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค.

 

- ์ค€๋น„ํ(ready queue)

๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ์— ์ƒ์ฃผํ•˜๋ฉด์„œ CPU๋ฅผ ํ• ๋‹น๋ฐ›์•„์„œ ์‹คํ–‰๋  ์ค€๋น„๊ฐ€ ๋œ ํ”„๋กœ์„ธ์Šค ์ง‘ํ•ฉ์ด๋‹ค. ์ฆ‰, ์Šค์ผ€์ค„๋Ÿฌ์—๊ฒŒ ์„ ํƒ๋˜์–ด CPU์— ์˜ฌ๋ผ๊ฐ€๊ธฐ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๋Š” ํ”„๋กœ์„ธ์Šค๋“ค์˜ ์ง‘ํ•ฉ์ด๋‹ค.

 

- ๋Œ€๊ธฐํ(wait,device queue)

์ž…์ถœ๋ ฅ ์ž‘์—…์ด ํ•„์š”ํ•˜์ง€๋งŒ ์ง€๊ธˆ ๋‹น์žฅ CPU๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์žฅ์น˜๋“ค์ด ๋Œ€๊ธฐํ•˜๊ณ  ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค๋“ค์˜ ์ง‘ํ•ฉ์ด๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋””์Šคํฌ์— ์ž…์ถœ๋ ฅ ์š”์ฒญ์„ ํ–ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ–ˆ์„ ์‹œ์— ๋””์Šคํฌ๋Š” ์—ฌ๋Ÿฌ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š๋ผ ์ง€์—ฐ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.

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

 

์ด๋ ‡๊ฒŒ ํ์— ํ”„๋กœ์„ธ์Šค๋“ค์ด ์Œ“์ด๋Š” ๊ฒƒ์„ ์•Œ์•˜๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ํ”„๋กœ์„ธ์Šค๋ฅผ ์„ ์ ํ•˜๋Š” ์ง€๋ฅผ ์•Œ์•„๋ณด์ž

๊ทธ ์ „์— ์Šค์ผ€์ค„๋ง ๋””์ŠคํŒจ์ฒ˜์˜ ๊ตฌ์กฐ๋ฅผ ์•Œ ํ•„์š”๊ฐ€ ์žˆ๋‹ค.

 

๋Œ€๊ฒŒ ์Šค์ผ€์ค„๋Ÿฌ์™€ ๋””์ŠคํŒจ์ฒ˜๋ฅผ ๊ฐ™์€ ๋ฒ”์ฃผ๋กœ ๋ฌถ์–ด์„œ ๋งํ•œ๋‹ค. ํ•˜์ง€๋งŒ ๋‘˜์˜ ์—ญํ• ์€ ๋ช…ํ™•ํ•œ ์ฐจ์ด๊ฐ€ ์žˆ๋‹ค.

 

ํ”„๋กœ์„ธ์Šค์˜ ์ƒํƒœ ๋ณ€ํ™”๋กœ ์ธํ•ด ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋น„์–ด์žˆ๊ฒŒ ๋˜๋ฉด ์–ด๋Š ํ”„๋กœ์„ธ์Šค๋ฅผ CPU๋กœ ๊ฐ€์ ธ์˜ฌ์ง€์— ๋Œ€ํ•œ ์ž‘์—…์ด ์ด๋ฃจ์–ด์ง„๋‹ค.

์ด ๊ณผ์ •์€ ์Šค์ผ€์ค„๋Ÿฌ๊ฐ€ ๋‹ด๋‹นํ•œ๋‹ค.

์Šค์ผ€์ค„๋Ÿฌ๋Š” ์•ž์—์„œ ๋ฐฐ์› ๋˜ ์ค€๋น„ ํ์—์„œ ์šฐ์„  ์ˆœ์œ„์— ๋”ฐ๋ผ ํ”„๋กœ์„ธ์Šค๋ฅผ ์„ ํƒํ•˜๊ณ  ์‹คํ–‰ํ•œ๋‹ค.

 

๋””์ŠคํŒจ์ฒ˜๋Š” ์ด๋ ‡๊ฒŒ ์„ ํƒ๋œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹ค์ œ๋กœ CPU์—์„œ ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋„๋กํ•œ๋‹ค.

์„ ํƒ ๋œ ํ”„๋กœ์„ธ์Šค๋กœ ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ์„ ํ•ด์ฃผ๋ฉฐ ์ด ์ž‘์—…์„ ์œ„ํ•ด ์ปค๋„๋ชจ๋“œ๋กœ ์ง„์ž…ํ–ˆ๋‹ค๊ฐ€ ๋‹ค์‹œ ํ”„๋กœ์„ธ์Šค ์‹คํ–‰์„ ์œ„ํ•ด ์œ ์ € ๋ชจ๋“œ๋กœ ์ „ํ™˜ํ•œ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์ƒˆ๋กœ์šด ํ”„๋กœ์„ธ์Šค์˜ ๋งˆ์ง€๋ง‰ ์ž‘์—… ์ƒํƒœ๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๊ณ  ์ ์ ˆํ•œ ์œ„์น˜๋กœ ์ด๋™์‹œ์ผœ์ค€๋‹ค.

 

๊ทธ๋ ‡๋‹ค๋ฉด "์–ด๋–ป๊ฒŒ CPU๋ฅผ ์„ ์ ํ•  ๊ฒƒ์ธ๊ฐ€?" ์— ๋Œ€ํ•œ ๊ณ ๋ฏผ์ด ํ•„์š”ํ•œ๋ฐ ํฌ๊ฒŒ ์„ ์ ํ˜• , ๋น„์„ ์ ํ˜• ๋ฐฉ์‹์ด ์žˆ๋‹ค.

 

๋น„์„ ์ ํ˜•

์‹คํ–‰ ์ƒํƒœ์—์„œ ํ”„๋กœ์„ธ์Šค์˜ ์ž๋ฐœ์ ์ธ ์ƒํƒœ ๋ณ€๊ฒฝ์œผ๋กœ ์ธํ•œ ์Šค์ผ€์ค„๋ง์ด ์ผ์–ด๋‚˜๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค.

 

1. IO request : ๋ฐœ์ƒ ์‹œ

2. terminate ๋ฐœ์ƒ ์‹œ : ์‹คํ–‰ํ•˜๋˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋๋‚ฌ์„ ๊ฒฝ์šฐ

 

๋น„์„ ์ ํ˜• ๋ฐฉ์‹์€ ์ƒํ˜ธ ํ˜‘๋ ฅ์ (๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๋ฅผ ์œ„ํ•ด ์–‘๋ณดํ•˜๋Š” ๊ฒฝ์šฐ)์ด๋ผ๋Š” ์žฅ์ ์ด ์žˆ๋Š” ๋ฐ˜๋ฉด์— ๋Š๋ฆฐ ์‘๋‹ต ์‹œ๊ฐ„*์ด๋ผ๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค.

๋ชจ๋“  ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ณต์ •ํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•œ๋‹ค.

 

Response time(์‘๋‹ต ์‹œ๊ฐ„): ready ํ์— ๋“ค์–ด์™€์„œ ์ฒ˜์Œ์œผ๋กœ CPU(์ตœ์ดˆ๋กœ)๋ฅผ ์–ป๊ธฐ๊นŒ์ง€ ๊ฑธ๋ฆฐ ์‹œ๊ฐ„

 

์„ ์ ํ˜•

ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋๋‚˜์ง€ ์•Š์•˜์Œ์—๋„ ์šด์˜์ฒด์ œ๊ฐ€ ๊ฐœ์ž…ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

1. interrupt ๋ฐœ์ƒ ์‹œ : ์™ธ๋ถ€์—์„œ ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ๋“ค์–ด์˜จ ๊ฒฝ์šฐ

2. IO request : ๋ฐœ์ƒ ์‹œ

3. time-out ๋ฐœ์ƒ ์‹œ : time slicing (์‹œ๋ถ„ํ• ) ์— ์˜ํ•ด, ์ฃผ์–ด์ง„ ์‹œ๊ฐ„์ด ๋๋‚ฌ์„ ๊ฒฝ์šฐ

4. wake-up ๋ฐœ์ƒ ์‹œ : ๋Œ€๊ธฐ ํ์— ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค๋“ค์„ ์ค€๋น„ ํ์— ์˜ฎ๊ธธ๋•Œ

5. terminate ๋ฐœ์ƒ ์‹œ : ์‹คํ–‰ํ•˜๋˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋๋‚ฌ์„ ๊ฒฝ์šฐ

 

๊ธฐ๋ณธ์ ์œผ๋กœ ๋น„์„ ์ ํ˜•์—์„œ ํ•˜๋Š” ๋ฐฉ์‹์„ ๋ชจ๋‘ ์‚ฌ์šฉํ•˜์ง€๋งŒ ์šด์˜์ฒด์ œ๊ฐ€ ์ ๊ทน์ ์œผ๋กœ ์Šค์ผ€์ค„๋ง์— ๊ฐœ์ž…ํ•œ๋‹ค.

์ด๋กœ ์ธํ•ด ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๊ธฐ๋„ ํ•œ๋‹ค. -> ์ด๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๋ฎคํ…์Šค , ์„ธ๋งˆํฌ์–ด ๊ธฐ์ˆ  ์ ์šฉ

 

์™ธ๋ถ€ ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ํ—ˆ์šฉํ•œ๋‹ค! ํ•˜์ง€๋งŒ ์žฆ์€ ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ์œผ๋กœ ์ธํ•ด ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.

๋˜ํ•œ ์šฐ์„  ์ˆœ์œ„๋กœ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์šฐ์„  ์ˆœ์œ„๊ฐ€ ๋‚ฎ์€ ํ”„๋กœ์„ธ์Šค๋“ค์€ CPU๋ฅผ ํ• ๋‹น๋ฐ›์ง€ ๋ชปํ•  ์ˆ˜ ์žˆ๋‹ค. (๊ธฐ์•„ ํ˜„์ƒ)

 

์ด์ œ ๋งˆ์ง€๋ง‰์œผ๋กœ ์Šค์ผ€์ค„๋Ÿฌ๊ฐ€ ์–ด๋–ค ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ํ์—์„œ ๊ฐ€์ ธ์˜ค๋Š” ์ง€ ์•Œ์•„๋ณด์ž

์—ฌ๋Ÿฌ๊ฐ€์ง€๊ฐ€ ์žˆ์ง€๋งŒ ๋Œ€ํ‘œ์ ์œผ๋กœ 7๊ฐ€์ง€๋งŒ ์ถ”๋ ค๋ณด์•˜๋‹ค.

 

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

- FCFS

์ค€๋น„ํ์— ๋จผ์ € ๋„์ฐฉํ•œ ์ˆœ์„œ๋Œ€๋กœ ์ฒ˜๋ฆฌํ•œ๋‹ค.

ํ”„๋กœ์„ธ์Šค๋“ค์ด ๊ธฐ๋‹ค๋ฆฌ๋Š” ์‹œ๊ฐ„์ด ๋งค์šฐ ๊ธธ์–ด์งˆ ์ˆ˜ ์žˆ๋‹ค.

Convoy effect ํ˜„์ƒ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค. 


 Convoy effect: ์‹คํ–‰ ์‹œ๊ฐ„์ด ๊ธด ํ”„๋กœ์„ธ์Šค๋กœ ์ธํ•ด ๋’ค์— ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค๋“ค์˜ ๋Œ€๊ธฐ์‹œ๊ฐ„์ด ๊ธธ์–ด์ง€๋Š” ํ˜„์ƒ

 

- SJF(Shortest job first)

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

CPU ์‚ฌ์šฉ์‹œ๊ฐ„์ด ๊ธด ํ”„๋กœ์„ธ์Šค๋Š” ๋‚˜์ค‘์— , ์งง์€ ํ”„๋กœ์„ธ์Šค๋Š” ๋จผ์ €!

๊ธฐ์กด์ ์œผ๋กœ ๋น„์„ ์  ํ˜•์œผ๋กœ ๊ตฌํ˜„๋œ๋‹ค.

 

- SRTF

SJF + Round Robin

๋‚จ์€ CPU ๋ฒ„์ŠคํŠธ๊ฐ€ ๊ฐ€์žฅ ์งง์€ ์ˆœ์„œ๋Œ€๋กœ ์‹คํ–‰ํ•œ๋‹ค.

time slice๋งŒํผ cpu๋ฅผ ์ด์šฉํ•˜๋˜, ๋‚จ์€ ์ž‘์—… ์‹œ๊ฐ„์ด ๊ฐ€์žฅ ์ ์€ ํ”„๋กœ์„ธ์Šค๋ถ€ํ„ฐ ์‹คํ–‰

 

- priority

์šฐ์„  ์ˆœ์œ„๊ฐ€ ๋†’์€ ํ”„๋กœ์„ธ์Šค๋ถ€ํ„ฐ ์‹คํ–‰

์šฐ์„  ์ˆœ์œ„๊ฐ€ ๊ฐ™๋‹ค๋ฉด FCFS๋กœ ์ฒ˜๋ฆฌ

 

starvation(๊ธฐ์•„) ํ˜„์ƒ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Œ (์šฐ์„  ์ˆœ์œ„๊ฐ€ ๋‚ฎ์€ ํ”„๋กœ์„ธ์Šค๋Š” ์‹คํ–‰ ๋ฌด๊ธฐํ•œ ์ง€์—ฐ)

-> ์—์ด์ง• ๊ธฐ๋ฒ•์œผ๋กœ ํ•ด๋‹น ๋ฌธ์ œ๋ฅผ ์™„ํ™”ํ•  ์ˆ˜ ์žˆ์Œ

 

- Round-Robin

FCFS + ํƒ€์ž„ ์Šฌ๋ผ์ด์Šค

time slice๋กœ ๋‚˜๋ˆ ์ง„ CPU time์„ ๋ฒˆ๊ฐˆ์•„๊ฐ€๋ฉฐ ์‹คํ–‰

์ •ํ•ด์ง„ ์‹œ๊ฐ„์ด ๋๋‚ฌ์Œ์—๋„ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์™„๋ฃŒ๋˜์ง€ ์•Š์•˜๋‹ค๋ฉด ๋‹ค์‹œ ํ์˜ ๋งจ ๋’ค์— ์‚ฝ์ž…ํ•œ๋‹ค.

 

Round Robin์—์„œ time slice์˜ ํฌ๊ธฐ๊ฐ€ ๋„ˆ๋ฌด ํฌ๋‹ค๋ฉด fcfs์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ๊ทธ๋Œ€๋กœ ๋‚˜ํƒ€๋‚˜๊ณ ,

๋ฐ˜๋Œ€๋กœ ๋„ˆ๋ฌด ์ž‘์•„์ ธ๋ฒ„๋ฆฌ๋ฉด context switching์œผ๋กœ ์ธํ•œ CPU์˜ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

๋”ฐ๋ผ์„œ ์ ์ ˆํ•œ time slice์˜ ํฌ๊ธฐ๋ฅผ ํ•„์—ฐ์ ์œผ๋กœ ๊ณ ๋ คํ•ด์•ผํ•œ๋‹ค.

 

- multilevel-queue

์šฐ์„  ์ˆœ์œ„๋ณ„๋กœ ์ค€๋น„ํ๋ฅผ ์—ฌ๋Ÿฌ๊ฐœ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹

ํ”„๋กœ์„ธ์Šค ์œ ํ˜•๋ณ„๋กœ ๊ทธ๋ฃนํ™”ํ•ด์„œ ํ๋ณ„๋กœ ๋‹ค๋ฅธ ์Šค์ผ€์ค„๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

 

queue ๊ฐ„์˜ ์ด๋™์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๊ณ  ๊ธฐ์•„ ํ˜„์ƒ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.

 

- multilevel-feedback-queue

queue ๊ฐ„์˜ ์ด๋™์ด ๊ฐ€๋Šฅํ•œ multilevel-queue ์Šค์ผ€์ค„๋ง ๋ฐฉ์‹

์ •ํ•ด์ง„ time slice ์•ˆ์— ํ”„๋กœ์„ธ์Šค๋ฅผ ์™„๋ฃŒํ•˜์ง€ ๋ชปํ–ˆ์œผ๋ฉด ์šฐ์„  ์ˆœ์œ„๊ฐ€ ๋‚ฎ์€ ํ๋กœ ์ด๋™ํ•œ๋‹ค.

-> ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์˜ ์šฐ์„  ์ˆœ์œ„๊ฐ€ ์ƒ๋Œ€์ ์œผ๋กœ ๋†’์•„์ง

์—์ด์ง• ๊ธฐ๋ฒ•๋„ ์ ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค.

 

CPU ์Šค์ผ€์ค„๋ง์˜ ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ ํ˜•ํƒœ์ด๋‹ค!

๊ฒฐ๋ก 

์šด์˜์ฒด์ œ๋Š” ๋ฉ€ํ‹ฐํ”„๋กœ์„ธ์Šค ํ™˜๊ฒฝ์—์„œ CPU์˜ ์ด์šฉ๋ฅ ์„ ์ตœ๋Œ€ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์—ฌ๋Ÿฌ ์Šค์ผ€์ค„๋ง ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•œ๋‹ค.

 

๋งŒ์ผ ์ ํ•ฉํ•˜์ง€ ๋ชปํ•œ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ฌด๊ธฐํ•œ ์ง€์—ฐ๋˜๋Š” ๊ธฐ์•„(starvation) ํ˜„์ƒ์ด๋‚˜ ์‘๋‹ต ์‹œ๊ฐ„์˜ ์ง€์—ฐ์„ ์ดˆ๋ž˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋”ฐ๋ผ์„œ CPU ์„ ์  ๋ฐฉ์‹์—์„œ๋ถ€ํ„ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊นŒ์ง€, ์ƒํ™ฉ์— ๋งž๊ฒŒ ์ ๋‹นํ•œ ๋ฐฉ์‹์„ ๊ณ ๋ฅด๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค.