11-1 CPU ์ค์ผ์ค๋ง ๊ฐ์
์ด์์ฒด์ ๊ฐ ํ๋ก์ธ์ค๋ค์๊ฒ ๊ณต์ ํ๊ณ ํฉ๋ฆฌ์ ์ผ๋ก CPU์์์ ๋ฐฐ๋ถํ๋ ๊ฒ์ CPU ์ค์ผ์ค๋ง์ด๋ผ๊ณ ํ๋ค.
ํ๋ก์ธ์ค ์ฐ์ ์์
- ํ๋ก์ธ์ค์ ์ค์๋์ ๋ฐ๋ผ ์ด์์ฒด์ ๊ฐ ์ฐ์ ์์(priority)๋ฅผ ๋ถ์ฌ.
- ์ฐ์ ์์๊ฐ ๋์ ํ๋ก์ธ์ค๋ ๋ํ์ ์ผ๋ก ์ ์ถ๋ ฅ ์์ ์ด ๋ง์ ํ๋ก์ธ์ค.
- ์ ์ถ๋ ฅ ์์ ์ ์๋ฃํ๊ธฐ ์ ๊น์ง ์ ์ถ๋ ฅ ์ง์ค ํ๋ก์ธ์ค๋ ๋๊ธฐ ์ํ๊ฐ ๋๋ฏ๋ก, ๋ค๋ฅธ ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ์ฌ์ฉํ ์ ์๊ธฐ ๋๋ฌธ.
์ค์ผ์ค๋ง ํ
- ๊ฐ ํ๋ก์ธ์ค์ PCB์ ๋ถ์ฌ๋ ์ฐ์ ์์์ ๋ฐ๋ผ CPU๋ฅผ ์ฌ์ฉํ ์ ์๋๋ก ์ค์ ์ธ์ฐ๋ ๊ฒ์ด ์ค์ผ์ค๋ง ํ(scheduling queue)
- ๋ํ์ ์ธ ํ๋ก ์ค๋น ํ(ready queue: CPU๋ฅผ ์ด์ฉํ๊ณ ์ถ์ ํ๋ก์ธ์ค๋ค์ด ์๋ ์ค)์ ๋๊ธฐ ํ(waiting queue: ์ ์ถ๋ ฅ์ฅ์น๋ฅผ ์ด์ฉํ๊ธฐ ์ํด ๋๊ธฐ ์ํ์ ์ ์ด๋ ํ๋ก์ธ์ค๋ค์ด ์๋ ์ค)๊ฐ ์๋ค.
์ ์ ํ ์ค์ผ์ค๋ง
- ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ๋น๋กฏํ ์์์ ์ฌ์ฉํ๊ณ ์๋๋ผ๋ ์ด์์ฒด์ ๊ฐ ํ๋ก์ธ์ค๋ก๋ถํฐ ์์์ ๊ฐ์ ๋ก ๋นผ์์ ๋ค๋ฅธ ํ๋ก์ธ์ค์ ํ ๋นํ ์ ์๋ ์ค์ผ์ค๋ง ๋ฐฉ์ -> ์์ ๋ ์ ๋ถ๊ฐ๋ฅ
- ์ด์์ฒด์ ์ ์ํด ์ธํฐ๋ฝํธ๊ฐ ๊ฑธ๋ ค ๋น์๋ฐ์ ์ผ๋ก ์ค๋น ํ๋ก ์ด๋๋ ์ ์๋ค.
- ๋น์ ์ ์ ๋นํด ํ๋ก์ธ์ค ๊ฐ ๋ฌธ๋งฅ ๊ตํ์ด ์์ฃผ ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ ์ด๋ก ์ธํ ์ค๋ฒํค๋๊ฐ ๋ฐ์ํ ์ ์๋ค.
- ํ์ง๋ง ์ด๋ค ํ ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ์ค๋ซ๋์ ๋ ์ ํ๋ ํ์์ ๋ฐฉ์งํ ์ ์์ผ๋ฏ๋ก ๋น์ ์ ๋ณด๋ค ๋ ๋์ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ค.
๋น์ ์ ํ ์ค์ผ์ค๋ง
- ํ๋์ ํ๋ก์ธ์ค๊ฐ ์์์ ์ฌ์ฉํ๊ณ ์๋ค๋ฉด ๊ทธ ํ๋ก์ธ์ค๊ฐ ์ข ๋ฃ๋๊ฑฐ๋ ์ค์ค๋ก ๋๊ธฐ ์ํ์ ์ ์ด๋ค๊ธฐ ์ ๊น์ง ๋ค๋ฅธ ํ๋ก์ธ์ค๊ฐ ๋ผ์ด๋ค ์ ์๋ ์ค์ผ์ค๋ง ๋ฐฉ์ -> ์์ ๋ ์ ๊ฐ๋ฅ
- ๋ชจ๋ ํ๋ก์ธ์ค๊ฐ ๊ณจ๊ณ ๋ฃจ ์์์ ์ฌ์ฉํ ์ ์๋ค.
11-2 CPU ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ
์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ ์ข ๋ฅ
- FCFS(First Come First Served): ์ค๋น ํ์ ์ฝ์ธ๋ ์์๋๋ก CPU๋ฅผ ํ ๋น. ๋น์ ์ ํ
- RR(Round-Robin): ์ ํด์ง ํ์ ์ฌ๋ผ์ด์ค(CPU๋ฅผ ์ฌ์ฉํ ์ ์๋ ์ ํด์ง ์๊ฐ)๋งํผ์ ์๊ฐ๋์ CPU๋ฅผ ํ ๋น. ์ ์ ํ
- SJF(Shortest Job First): ์์ CPU ์ฌ์ฉ ์๊ฐ์ด ์งง์ ํ๋ก์ธ์ค๋ฅผ ๋จผ์ ์คํ. ๋น์ ์ ํ
- SRT(Shotest Remaining Time): SJF์ RR์ ํฉ์น ์ค์ผ์ค๋ง ๋ฐฉ์. ์ ์ ํ
- ์ฐ์ ์์(Priority Scheduling): ํ๋ก์ธ์ค๋ค์ ์ฐ์ ์์๋ฅผ ๋ถ์ฌํ๊ณ , ๊ฐ์ฅ ๋์ ์ฐ์ ์์๋ฅผ ๊ฐ์ง ํ๋ก์ธ์ค๋ถํฐ ์คํํ๋ ์๊ณ ๋ฆฌ์ฆ. ์ฐ์ ์์๊ฐ ๋ฎ์ ํ๋ก์ธ์ค๋ ์คํ์ด ๊ณ์ ์ฐ๊ธฐ๋์ด ๊ธฐ์(starvation) ํ์์ ๋น ์ง ์ ์์. ๋ฐ๋ผ์ ์์ด์ง(aging)์ด๋ผ๋ ๊ธฐ๋ฒ์ ํตํด ์๊ฐ ํ๋ฆ์ ๋ฐ๋ผ ์ฐ์ ์์๋ฅผ ์ฆ๊ฐ์์ผ ๊ธฐ์ ํ์ ๋ฐฉ์ง.
- Multilevel Feedback: ์ฐ์ ์์๋ณ ์ค๋น ํ๋ฅผ ์ฌ๋ฌ ๊ฐ ์ฌ์ฉํ๋ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ผ๋ก, ํ๋ก์ธ์ค๊ฐ ์ ํด์ง ํ์ ์ฌ๋ผ์ด์ค ๋์ ํด๋น ํ์์ ์คํ์ด ๋๋์ง ์๋๋ค๋ฉด ๋ค์ ์ฐ์ ์์ ํ๋ก ์ฝ์ ๋์ด CPU๋ฅผ ์ค๋ ์ฌ์ฉํด์ผ ํ๋ ํ๋ก์ธ์ค๋ ์ ์ฐจ ์ฐ์ ์์๊ฐ ๋ฎ์์ง. ๋ํ ๋ฎ์ ์ฐ์ ์์ ํ์์ ๋๋ฌด ์ค๋ ๊ธฐ๋ค๋ฆฌ๊ณ ์๋ ํ๋ก์ธ์ค๊ฐ ์๋ค๋ฉด ์ ์ฐจ ์ฐ์ ์์๊ฐ ๋์ ํ๋ก ์ด๋์ํค๋ ์์ด์ง ๊ธฐ๋ฒ์ ์ ์ฉํ์ฌ ๊ธฐ์ ํ์์ ์๋ฐฉ.
'๐ฅ๏ธ CS > ๐ป ์ด์์ฒด์ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[CS] ํผ๊ณต์ปด์ด Chapter 13. ๊ต์ฐฉ ์ํ (0) | 2024.08.19 |
---|---|
[CS] ํผ๊ณต์ปด์ด Chapter 12. ํ๋ก์ธ์ค ๋๊ธฐํ (0) | 2024.08.16 |
[CS] ํผ๊ณต์ปด์ด Chapter 10. ํ๋ก์ธ์ค์ ์ค๋ ๋ (0) | 2024.08.12 |
[CS] ํผ๊ณต์ปด์ด Chapter 9. ์ด์์ฒด์ ์์ํ๊ธฐ (0) | 2024.08.09 |
[CS] ํผ๊ณต์ปด์ด Chapter 8. ์ ์ถ๋ ฅ์ฅ์น (0) | 2024.08.07 |