- CPU ์ค์ผ์ค๋ง (CPU scheduling)
: OS๊ฐ ํ๋ก์ธ์ค๋ค์๊ฒ ๊ณต์ /ํฉ๋ฆฌ์ ์ผ๋ก COU ์์์ ๋ฐฐ๋ถํ๋ ๊ฒ, ์ปดํจํฐ ์ฑ๋ฅ๊ณผ๋ ์ง๊ฒฐ๋๋ ๋ฌธ์
- ํ๋ก์ธ์ค ์ฐ์ ์์
: OS๋ ํ๋ก์ธ์ค๋ง๋ค ์ฐ์ ์์(priority)๋ฅผ ๋ถ์ฌ, PCB์ ๋ช ์ํด ์ฐ์ ์์๊ฐ ๋น ๋ฅธ ๊ฒ๋ถํฐ ์คํ
: ๋๋ถ๋ถ์ ํ๋ก์ธ์ค -> CPU์ ์ ์ถ๋ ฅ์ฅ์น๋ฅผ ๋ชจ๋ ์ฌ์ฉํ๋ฉฐ ์คํ(์คํ๊ณผ ๋๊ธฐ์ํ๋ฅผ ๋ฐ๋ณตํ๋ฉฐ ์คํ).
: ์ ์ถ๋ ฅ ์ง์ค ํ๋ก์ธ์ค(I/O bound process) : ๋น๋์ค์ฌ์, ๋์คํฌ ๋ฐฑ์ ์์ ๋ฑ
: CPU ์ง์ค ํ๋ก์ธ์ค(CPU bound process) : ๋ณต์กํ ์ํ ์ฐ์ฐ, ์ปดํ์ผ ๋ฑ
==> ์ ์ถ๋ ฅ ์ง์ค ํ๋ก์ธ์ค๋ฅผ ๊ฐ๋ฅํ ๋นจ๋ฆฌ ์คํํด ๋์์์ด ์๋ํ๊ณ ๊ทธ ๋ค์ CPU ์ง์ค ํ๋ก์ธ์ค์ ์ง์ค์ ์ผ๋ก ํ ๋นํ๋ ๊ฒ์ด ํจ์จ์ . ( ์ ์ถ๋ ฅ ์ง์ค ํ๋ก์ธ์ค -> ๋๊ธฐ์ํ๊ฐ ๋ ์์ ์ด๊ธฐ์ ๋ค๋ฅธ ํ๋ก์ธ์ค๊ฐ CPU์ฌ์ฉ ๊ฐ๋ฅ)
- ์ค์ผ์ค๋ง ํ
: OS๊ฐ ๋งค๋ฒ ๋ชจ๋ PCB๋ฅผ ๊ฒ์ฌํด ์์์ ์ด์ฉํ ํ๋ก์ธ์ค๋ฅผ ๊ฒฐ์ ํ๋ ๊ฒ์ ๋งค์ฐ ๋นํจ์จ์ .
: OS๋ ํ๋ก์ธ์ค๋ค์๊ฒ '์ค์ ์์ ๊ธฐ๋ค๋ฆด ๊ฒ'์ ์๊ตฌํ๋ฉฐ ์ด ์ค(์ค์ผ์ค๋ง ํ)์ ๊ตฌํํ๊ณ ๊ด๋ฆฌํจ.
: ์ค๋นํ(CPU๋ฅผ ์ด์ฉํ๊ณ ์ถ์ ํ๋ก์ธ์ค), ๋๊ธฐํ(์ ์ถ๋ ฅ์ฅ์น๋ฅผ ์ด์ฉํ๊ธฐ ์ํด ๋๊ธฐ์ํ์ ์ ์ด๋ ํ๋ก์ธ์ค)
- ์ ์ ํ๊ณผ ๋น์ ์ฌํ ์ค์ผ์ค๋ง
: ์ ์ ํ ์ค์ผ์ค๋ง(preemptive scheduling) : ํ๋ก์ธ์ค๊ฐ CPU ์์์ ๊ฐ์ ๋ก ๋นผ์์ ๋ค๋ฅธ ํ๋ก์ธ์ค์๊ฒ ํ ๋น\
: ๋น์ ์ ํ ์ค์ผ์ค๋ง : (non-preemptive) : ํ๋์ ํ๋ก์ธ์ค๊ฐ ์์์ ์ฌ์ฉํ๊ณ ์๋ค๋ฉด, ์ด ํ๋ก์ธ์ค๊ฐ ์ข ๋ฃ๋๊ฑฐ๋ ์ค์ค๋ก ๋๊ธฐ ์ํ์ ์ ์ด๋ค๊ธฐ ์ ๊น์ง ๋ผ์ด๋ค ์ ์์
< CPU ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ >
1. ์ ์ ์ ์ฒ๋ฆฌ ์ค์ผ์ค๋ง(FCFS ์ค์ผ์ค๋ง, First Come First Served Scheduling)
: ์ค๋น ํ์ ์ฝ์ ๋ ์์๋๋ก ํ๋ก์ธ์ค๋ฅผ ์ฒ๋ฆฌํ๋ ๋น์ ์ ํ ์ค์ผ์ค๋ง, ๋๋๋ก ํ๋ก์ธ์ค๋ค์ด ๊ธฐ๋ค๋ฆฌ๋ ์๊ฐ์ด ๋งค์ฐ ๊ธธ์ด์ง ์ ์์. ํธ์ํจ๊ณผ(๋ชจ๋ ๋ค๋ฅธ ํ๋ก์ธ์ค๋ค์ด ํ๋์ ๊ธด ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ์๋ํ๊ธฐ๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ ๊ฒ) ๋ฐ์
2. ์ต๋จ ์์ ์ฐ์ ์ค์ผ์ค๋ง (SJF ์ค์ผ์ค๋ง, Shortest Job First Scheduling)
: ์ค๋น ํ์ ์ฝ์ ๋ ํ๋ก์ธ์ค ์ค CPU ์ด์ฉ ์๊ฐ์ ๊ธธ์ด๊ฐ ๊ฐ์ฅ ์งง์ ํ๋ก์ธ์ค๋ถํฐ ์คํ, ๋น์ ์ ํ์ผ๋ก ๋ถ๋ฅ๋๋, ์ ์ ํ์ผ๋ก ๊ตฌํํ ์ ์์ (์๊ฒ ์ต์ ์์ฌ ์๊ฐ ์ฐ์ ์ค์ผ์ค๋ง)
3. ๋ผ์ด๋ ๋ก๋น ์ค์ผ์ค๋ง (round robin scheduling)
: ์ ์ ์ ์ฒ๋ฆฌ ์ค์ผ์ค๋ง + ํ์ ์ฌ๋ผ์ด์ค(๊ฐ ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ์ฌ์ฉํ ์ ์๋ ์ ํด์ง ์๊ฐ์ ์๋ฏธ)
4. ์ต์ ์์ฌ ์๊ฐ ์ฐ์ ์ค์ผ์ค๋ง (SRT, Shortest Remaining Time)
: 2๋ฒ + 3๋ฒ ์๊ณ ๋ฆฌ์ฆ
: ํ๋ก์ธ๋ค์ ์ ํด์ง ํ์ ์ฌ๋ผ์ด์ค๋งํผ CPU๋ฅผ ์ฌ์ฉํ๋, CPU ์ฌ์ฉ ๋ค์ ํ๋ก์ธ์ค๋ก๋ ๋จ์์๋ ์์ ์๊ฐ์ด ๊ฐ์ฅ ์ ์ ํ๋ก์ธ์ค ์ ํ
5. ์ฐ์ ์์ ์ค์ผ์ค๋ง (priority scheduling)
: ํ๋ก์ธ์ค๋ค์ ์ฐ์ ์์ ๋ถ์ฌ, ๊ฐ์ฅ ๋์ ์ฐ์ ์์๋ฅผ ๊ฐ์ง ํ๋ก์ธ์ค๋ถํฐ ์คํํ๋ ์๊ณ ๋ฆฌ์ฆ
: ๋ฌธ์ ๋ฐ์ -> ์ฐ์ ์์๊ฐ ๋ฎ์ ํ๋ก์ธ์ค๋ ๊ณ์ ์ฐ๊ธฐ ์ํ์ ๋น ์ ธ ๊ธฐ์ ํ์์ด ์ผ์ด๋ ์ ์์.
: ์ด๋ฅผ ๋ง๊ธฐ ์ํ ๋ํ์ ์ธ ๋ฐฉ๋ฒ - ์์ด์ง(aging) : ์ค๋ซ๋์ ๋๊ธฐํ ํ๋ก์ธ์ค์ ์ฐ์ ์์๋ฅผ ์ ์ฐจ ๋์
6. ๋ค๋จ๊ณ ํ ์ค์ผ์ค๋ง (multilevel queue scheduling)
: ์ฐ์ ์์๋ณ ์ค๋น ํ๋ฅผ ์ฌ๋ฌ ๊ฐ ์ฌ์ฉํจ, ํ๋ก์ธ์ค ์ ํ๋ณ, ํ๋ณ๋ก ํ์ ์ฌ๋ผ์ด์ค ์ฌ๋ฌ ๊ฐ ์ง์ , ํ๋ง๋ค ๋ค๋ฅธ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ ์ฌ์ฉ ๊ฐ๋ฅ, ๊ธฐ์ ํ์ ๋ฐ์ ๊ฐ๋ฅ
7. ๋ค๋จ๊ณ ํผ๋๋ฐฑ ํ ์ค์ผ์ค๋ง (multilevel feedback queue scheduling)
: ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ CPU ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ, 6๋ฒ๊ณผ ๋น์ทํ๊ฒ ์๋ํ๋ ํ๋ก์ธ์ค๋ค์ด ํ ์ฌ์ด๋ฅผ ์ด๋ ๊ฐ๋ฅํจ.
'๐ค Study > ์ด์์ฒด์ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[06] ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ (1) | 2024.03.28 |
---|---|
[05] ๊ต์ฐฉ ์ํ (0) | 2024.03.25 |
[04] ํ๋ก์ธ์ค ๋๊ธฐํ (0) | 2024.03.24 |
[02] ํ๋ก์ธ์ค ๊ฐ์ (0) | 2024.03.15 |
[01] ์ด์์ฒด์ ์ ์์ (0) | 2024.03.13 |