๐ซ CS
๐ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ
์ด์์ฒด์ ๋ CPU๋ฅผ ํจ์จ์ ์ผ๋ก ํ์ฉํ๊ธฐ ์ํด ๋ค์ํ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ ์ ๊ณตํ๋ค. ๊ฐ ์๊ณ ๋ฆฌ์ฆ์ ํน์ ์ํฉ์์ ์ฅ๋จ์ ์ด ์์ผ๋ฉฐ, ์ฑ๋ฅ ์งํ์ ๋ฐ๋ผ ์ ์ ํ ์ ํ๋์ด์ผ ํ๋ค.
โ
1. ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ด๋?
Ready Queue์ ์๋ ํ๋ก์ธ์ค ์ค ์ด๋ค ์์๋ก CPU๋ฅผ ํ ๋นํ ์ง ๊ฒฐ์ ํ๋ ์ ๋ต์ด๋ค.
- ๋น์ ์ ํ(Non-Preemptive): ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ์๋ฐ์ ์ผ๋ก ๋ฐ๋ฉํ ๋๊น์ง ์ ์ง๋จ
- ์ ์ ํ(Preemptive): ์ด์์ฒด์ ๊ฐ CPU๋ฅผ ๊ฐ์ ๋ก ํ์ ๊ฐ๋ฅํจ
โ
2. ๋ํ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ
| ์๊ณ ๋ฆฌ์ฆ | ๋ฐฉ์ | ํน์ง | ์ ์ ์ฌ๋ถ |
|---|
| FCFS | ๋จผ์ ์จ ์์ | ๊ฐ๋จํ์ง๋ง ํ๊ท ๋๊ธฐ์๊ฐ ์ฆ๊ฐ ๊ฐ๋ฅ | โ ๋น์ ์ ํ |
| SJF | ์คํ ์๊ฐ์ด ์งง์ ์์
์ฐ์ | ํ๊ท ๋๊ธฐ์๊ฐ ์ต์ํ ๊ฐ๋ฅ | โ ๋น์ ์ ํ |
| SRTF | ๋จ์ ์๊ฐ์ด ์งง์ ์์
์ฐ์ | ์ ์ ํ SJF | โ
์ ์ ํ |
| RR | ์๊ฐ ํ ๋น๋ ์ํ | ์๋ต์ฑ ํฅ์, ๊ณต์ ์ฑ โ | โ
์ ์ ํ |
| Priority | ์ฐ์ ์์ ๋์ ์์
์ฐ์ | ๊ธด๊ธ ์ฒ๋ฆฌ ๊ฐ๋ฅ, Starvation ๊ฐ๋ฅ์ฑ ์์ | โ
/โ ํผํฉํ |
โ
3. ์๊ณ ๋ฆฌ์ฆ ๋์ ๋ฐฉ์ ์์ฝ
- FCFS: ์ ์ฐฉ์ ์ฒ๋ฆฌ, Convoy Effect ๋ฐ์ ๊ฐ๋ฅ
- SJF: ํ๊ท ๋๊ธฐ ์๊ฐ ์ต์ํ, ์คํ ์๊ฐ ์์ธก ์ด๋ ค์
- SRTF: SJF์ ์ ์ ํ, ๋ฌธ๋งฅ ์ ํ ๋น์ฉ ์ฆ๊ฐ
- RR: ํ์ ์ฌ๋ผ์ด์ค ๊ธฐ๋ฐ ์ํ, ๊ณต์ ํ๊ณ ์๋ต์ฑ ์ฐ์
- Priority: ์ฐ์ ์์ ๊ธฐ๋ฐ, Starvation ํด๊ฒฐ ์ํด Aging ํ์
โ
4. ๋น๊ต ํ
| ํญ๋ชฉ | FCFS | SJF | SRTF | RR | Priority |
|---|
| ํ๊ท ๋๊ธฐ์๊ฐ | ๋ณดํต | ์ต์ | ๋ฎ์ | ๋ณดํต | ์ฐ์ ์์์ ๋ฐ๋ผ ๋ค๋ฆ |
| ์๋ต์ฑ | ๋ฎ์ | ๋ฎ์ | ๋์ | ๋์ | ์ค๊ฐ |
| ๊ตฌํ ๋ณต์ก๋ | ์ฌ์ | ์์ธก ํ์ | ๋ณต์ก | ๋ณดํต | ๋ณดํต |
| ๊ณต์ ์ฑ | ๋ฎ์ | ๋ฎ์ | ๋ฎ์ | ๋์ | ๋ฎ์ |
| ์ฌ์ฉ ์ | ์ผ๊ด์ฒ๋ฆฌ ์์คํ
| ๋ฐฐ์น ์์
| ์ค์๊ฐ ์์คํ
| ์๋ถํ OS | ๊ธด๊ธ์ฒ๋ฆฌ ์์คํ
|
โ
5. ์ฑ๋ฅ ์งํ
| ์งํ | ์ ์ | ์๋ฏธ |
|---|
| Waiting Time | Ready ์ํ์์ ๊ธฐ๋ค๋ฆฐ ์ด ์๊ฐ | ์งง์์๋ก ์ข์ |
| Turnaround Time | ๋์ฐฉ~์ข
๋ฃ๊น์ง ์ด ์๊ฐ | ์ฒ๋ฆฌ ์ง์ฐ์ ์ดํฉ |
| Response Time | ์์ฒญ~์ฒซ ์คํ๊น์ง ๊ฑธ๋ฆฐ ์๊ฐ | ์ธํฐ๋์
ํ๊ฒฝ์์ ์ค์ |
| Throughput | ๋จ์ ์๊ฐ๋น ์๋ฃ๋ ์์
์ | ๋์์๋ก ์ฑ๋ฅ ์ฐ์ |
| CPU Utilization | CPU๊ฐ ์ค์ ์ผํ ์๊ฐ ๋น์จ | ์์ ํ์ฉ๋ ์งํ |
โ
์์ฝ
- FCFS: ๋จ์ํ์ง๋ง ๋๊ธฐ ์๊ฐ ์ฆ๊ฐ ๊ฐ๋ฅ
- SJF/SRTF: ํ๊ท ๋๊ธฐ์๊ฐ ์ต์ , starvation ์ํ ์กด์ฌ
- RR: ์๋ถํ ํ๊ฒฝ์ ์ ํฉ, ์๋ต์ฑ ์ฐ์
- Priority: ๊ธด๊ธ ์์
์ฒ๋ฆฌ ์ ๋ฆฌ, aging ๊ธฐ๋ฒ ํ์
- ์์คํ
๋ชฉ์ ์ ๋ฐ๋ผ ์ค์ผ์ค๋ง ์ ๋ต์ ์ ํํด์ผ ํ๋ค