์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ(Scheduling Algorithm)
์ค์ผ์ค๋ง ์ฑ๋ฅ ํ๊ฐ ๊ธฐ์ค
์ผ๋ฐ์ ์ผ๋ก ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ ์ฑ๋ฅ์ ํ๊ฐํ๋ ๋ฐ ํ๊ท ๋๊ธฐ์๊ฐ๊ณผ ํ๊ท ๋ฐํ์๊ฐ์ด ์ด์ฉ๋จ
- ํ๊ท ๋๊ธฐ์๊ฐ(Average Waiting Time)
: ๊ฐ ํ๋ก์ธ์ค๊ฐ ์ํ์ด ์๋ฃ๋ ๋๊น์ง ์ค๋น ํ์์ ๊ธฐ๋ค๋ฆฌ๋ ์๊ฐ์ ํฉ์ ํ๊ท ๊ฐ - ํ๊ท ๋ฐํ์๊ฐ(Average Turnaround Time)
: ๊ฐ ํ๋ก์ธ์ค๊ฐ ์์ฑ๋ ์์ ๋ถํฐ ์ํ์ด ์๋ฃ๋ ์์ ๊น์ง์ ์์ ์๊ฐ์ ํ๊ท ๊ฐ
<์์ >
- A๋ 0์ ์๊ฐ์ ์ค๋น ํ์ ์ฝ์
. 2์ ์๊ฐ์ ํ์์ ๋์ CPU์ ํ ๋น๋์๊ธฐ์ A์ ๋๊ธฐ์๊ฐ์ (ํ ๋น๋ ์๊ฐ 2 - ํ ์ฝ์
์๊ฐ 0 = 2).
A์ ํ๋ก์ธ์ค ์คํ์ด ๋๋ ์๊ฐ์ 5.
A์ ๋ฐํ์๊ฐ์ (์คํ ๋๋ ์๊ฐ 5 - ํ ์ฝ์ ์๊ฐ 0 = 5) - B๋ 1์ ์๊ฐ์ ์ค๋น ํ์ ์ฝ์
. A ํ๋ก์ธ์ค๊ฐ ๋๋ ์๊ฐ์ธ 5์ ์๊ฐ์ B๋ CPU์ ํ ๋น๋์๊ธฐ์ B์ ํ ๋น๋ ์๊ฐ์ 5.
B์ ๋๊ธฐ์๊ฐ์ (ํ ๋น๋ ์๊ฐ 5 - ํ ์ฝ์ ์๊ฐ 1 = 4).
B์ ํ๋ก์ธ์ค ์คํ์ด ๋๋ ์๊ฐ์ 9.
B์ ๋ฐํ์๊ฐ์ (์คํ ๋๋ ์๊ฐ 9 - ํ ์ฝ์ ์๊ฐ 1 = 8)
๋ ํ๋ก์ธ์ค์ ํ๊ท ๋๊ธฐ์๊ฐ์ (2+4)/2=3
ํ๊ท ๋ฐํ์๊ฐ์ (5+8)/2=6.5
๋ค์ํ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ
FCFS(First-Come First-Served) ์ค์ผ์ค๋ง
- ๋น์ ์ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ
- ์ค๋น ํ์ ๋์ฐฉํ ์์์ ๋ฐ๋ผ ๋์คํจ์น
- ์ฅ์
- ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ ์ค ๊ฐ์ฅ ๊ฐ๋จํ ๊ธฐ๋ฒ
- ๋จ์
- ์งง์ ํ๋ก์ธ์ค๊ฐ ๊ธด ํ๋ก์ธ์ค๋ฅผ ๊ธฐ๋ค๋ฆฌ๊ฑฐ๋, ์ค์ํ ํ๋ก์ธ์ค๊ฐ ๋์ค์ ์ํ๋ ์ ์์
- ํ๋ก์ธ์ค๋ค์ ๋์ฐฉ ์์์ ๋ฐ๋ผ ํ๊ท ๋ฐํ์๊ฐ์ด ํฌ๊ฒ ๋ณํจ
SJF(Shortest Job First) ์ค์ผ์ค๋ง
- ๋น์ ์ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ
- ์ค๋น ํ์์ ๊ธฐ๋ค๋ฆฌ๋ ํ๋ก์ธ์ค ์ค ์คํ์๊ฐ์ด ๊ฐ์ฅ ์งง๋ค๊ณ ์์๋ ๊ฒ์ ๋จผ์ ๋์คํจ์น
- ์ฅ์
- ์ผ๊ด์ฒ๋ฆฌ ํ๊ฒฝ์์ ๊ตฌํํ๊ธฐ ์ฌ์
- ๋จ์
- ์คํ ์์ ์๊ฐ ๊ธธ์ด๋ฅผ ์ฌ์ฉ์์ ์ถ์ ์น์ ์์กดํ๊ธฐ ๋๋ฌธ์ ์ค์ ๋ก๋ ๋จผ์ ์ฒ๋ฆฌํ ์์ ์ CPU ์๊ฐ์ ์์ํ ์ ์์
SRT(Shortest Remaining Time) ์ค์ผ์ค๋ง
- ์ ์ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ
- ์คํ์ด ๋๋ ๋๊น์ง ๋จ์ ์๊ฐ ์ถ์ ์น๊ฐ ๊ฐ์ฅ ์งง์ ํ๋ก์ธ์ค๋ฅผ ๋จผ์ ๋์คํจ์น
- ์ฅ์
- SJF๋ณด๋ค ํ๊ท ๋๊ธฐ์๊ฐ์ด๋ ํ๊ท ๋ฐํ์๊ฐ์์ ํจ์จ์
- ๋ํํ ์ด์์ฒด์ ์ ์ ์ฉ
- ๋จ์
- ๊ฐ ํ๋ก์ธ์ค์ ์คํ์๊ฐ ์ถ์ , ์ ์ ์ ์ํ ๋ฌธ๋งฅ ๊ตํ ๋ฑ SJF๋ณด๋ค ์ค๋ฒํค๋๊ฐ ํผ
RR(Round Robin) ์ค์ผ์ค๋ง
- ์ ์ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ
- ์ค๋น ํ์ ๋์ฐฉํ ์์์ ๋ฐ๋ผ ๋์คํจ์น ํ์ง๋ง, ์ ํด์ง ์๊ฐ ํ ๋น๋์ ์ํด ์คํ์ ์ ํ
- ์๊ฐ ํ ๋น๋ ์์ ์๋ฃ๋์ง ๋ชปํ ํ๋ก์ธ์ค๋ ์ค๋น ํ์ ๋งจ ๋ค์ ๋ฐฐ์น
- ์ฅ์
- CPU๋ฅผ ๋ ์ ํ์ง ์๊ณ ๊ณตํํ๊ฒ ์ด์ฉ
- ๋ํํ ์ด์์ฒด์ ์ ์ ์ฉ
- ๋จ์
- ์๊ฐ ํ ๋น๋์ด ๋๋ฌด ํฌ๋ฉด FCFS ์ค์ผ์ค๋ง๊ณผ ๊ฐ์์ง
- ์๊ฐ ํ ๋น๋์ด ๋๋ฌด ์์ผ๋ฉด ๋ฌธ๋งฅ ๊ตํ์ ๋ฐ๋ฅธ ์ค๋ฒํค๋๊ฐ ํฌ๊ฒ ์ฆ๊ฐํจ
HRN(Highest Response Ratio Next) ์ค์ผ์ค๋ง
- ๋น์ ์ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ
- ์ค๋น ํ์์ ๊ธฐ๋ค๋ฆฌ๋ ํ๋ก์ธ์ค ์ค ์๋ต๋น์จ์ด ๊ฐ์ฅ ํฐ ๊ฒ์ ๋จผ์ ๋์คํจ์น
- ์์ ์คํ์๊ฐ์ด ์งง์์๋ก, ๋๊ธฐ์๊ฐ์ด ๊ธธ์๋ก ์๋ต๋น์จ์ด ์ปค์ง
- ์ฅ์ : SJF์ ๋จ์ ์ ๋ณด์
๋ค๋จ๊ณ ํผ๋๋ฐฑ ํ ์ค์ผ์ค๋ง
- ์ ์ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ
- I/O ์ค์ฌ ํ๋ก์ธ์ค์ CPU ์ค์ฌ ํ๋ก์ธ์ค์ ํน์ฑ์ ๋ฐ๋ผ ์๋ก ๋ค๋ฅธ ์๊ฐ ํ ๋น๋ ๋ถ์ฌ
- n๊ฐ์ ๋จ๊ณ(๋จ๊ณ 1 ~ ๋จ๊ณ n)
- ๊ฐ ๋จ๊ณ๋ง๋ค ํ๋์ฉ์ ํ ์กด์ฌ
- ๋จ๊ณ๊ฐ ์ปค์ง์๋ก ์๊ฐ ํ ๋น๋๋ ์ปค์ง
- ์ค์ผ์ค๋ง ๋ฐฉ๋ฒ
- ์ ๊ท ํ๋ก์ธ์ค๋ ๋จ๊ณ 1์ ํ์์ FIFO(First-In First-Out) ์์์ ๋ฐ๋ผ CPU ์ ์
- ์ ์ถ๋ ฅ ๊ฐ์ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๋ฉด CPU๋ฅผ ์๋ณดํ๊ณ ๋๊ธฐ์ํ๋ก ๊ฐ๋ค๊ฐ ๋ค์ ์ค๋น์ํ๊ฐ ๋ ๋์๋ ํ์ฌ์ ๋์ผํ ๋จ๊ณ์ ํ์ ๋ฐฐ์น
- ์๊ฐ ํ ๋น๋์ ๋ค ์ผ์ง๋ง ํ๋ก์ธ์ค๊ฐ ์ข ๋ฃ๋์ง ๋ชปํ๋ค๋ฉด ๋ค์ ๋จ๊ณ์ ํ๋ก ์ด๋ ๋ฐฐ์น
- ๋ง์ง๋ง ๋จ๊ณ n์์๋ RR ์ค์ผ์ค๋ง ๋ฐฉ์์ผ๋ก ๋์
- ๋จ๊ณ k์ ํ์ ์๋ ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ํ ๋น๋ฐ์ผ๋ ค๋ฉด ๋จ๊ณ 1๋ถํฐ ๋จ๊ณ k-1๊น์ง ๋ชจ๋ ํ๊ฐ ๋น์ด์์ด์ผ๋ง ํจ
- ์ฅ์
- I/O์์ฃผ์ ํ๋ก์ธ์ค(๋ํํ)๋ ๋์ ์ฐ์ ๊ถ ์ ์ง
- ์ฐ์ฐ ์์ฃผ์ CPU ์ค์ฌ ํ๋ก์ธ์ค๋ ๋ฎ์ ์ฐ์ ๊ถ์ด์ง๋ง ๊ธฐ ์๊ฐ ํ ๋น๋ ๊ฐ์ง
- ์ ์์ ๋ค๋จ๊ณ ํผ๋๋ฐฑ ํ ์ค์ผ์ค๋ง
- ์๊ฐ ํ ๋น๋์ ๋ค ์ฐ๊ธฐ ์ ์ CPU๋ฅผ ๋ฐ๋ฉํ๋ ๊ฒฝ์ฐ, ํ๋ ์์ ๋จ๊ณ์ ํ๋ก ์ด๋ ๋ฐฐ์น
- ์ฐ์ฐ ์์ฃผ์ ํ๋ก์ธ์ค๊ฐ I/O ์์ฃผ๋ก ๋ฐ๋๋ค๋ฉด ์ ์ ์์ ๋จ๊ณ๋ก ๋ฐฐ์น ๊ฐ๋ฅ
๋ณธ ๊ธ์ ํ๊ตญ๋ฐฉ์กํต์ ๋ํ๊ต ๊ฐ์๋ฅผ ์ฐธ๊ณ ํด ์ ๋ฆฌํ ๊ธ์ ๋๋ค.
'๐ฅ CS > OS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[OS] ํ๋ก์ธ์ค ๊ฐ์ (0) | 2022.04.03 |
---|---|
[OS] ์ด์์ฒด์ ๊ฐ์ (0) | 2022.04.02 |