CPU ์ค์ผ์ฅด๋ง
CPU ์ค์ผ์ฅด๋ง?
์์ ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด์ ํ๋ก์ธ์ค๋ค์๊ฒ CPU๋ฅผ ํ ๋นํ๊ธฐ ์ํ ์ ์ฑ ์ ๊ณํํ๋ ๊ฒ

๋น์ ์ ํ ๋ฐฉ์
Aํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ์ฌ์ฉํ๊ณ ์์ ๋ ์ฐ์ ์์๊ฐ ๋ ๋์ Bํ๋ก์ธ์ค๊ฐ ๋ค์ด์จ๋ค๊ณ ํ๋๋ผ๋ Aํ๋ก์ธ์ค์ CPU๋ฅผ ๋นผ์์ง ์๊ณ ๋ช ๋ น์ด ๋๋ ๋๊น์ง ๊ธฐ๋ค๋ ธ๋ค ํ ๋น๋ฐ๋ ๋ฐฉ์
- ๋ฌธ๋งฅ ๊ตํ์ ์ค๋ฒํค๋๊ฐ ์ ๋ค
- ๋ชจ๋ ํ๋ก์ธ์ค๊ฐ ๊ณจ๊ณ ๋ฃจ ์์์ ์ด์ฉํ๊ธฐ ์ด๋ ต๋ค
๐ FCFS (First Come First Served) - ์ค๋น ํ์ ์ฝ์ ๋ ์์๋๋ก ์ฒ๋ฆฌ
๋จ์ : ํธ์ ํจ๊ณผ convoy effect - ์คํ์๊ฐ์ด ๊ธด ํ๋ก์ธ์ค๊ฐ ์์์์ ์ค๊ณ ๋ท์์์ ์คํ์๊ฐ์ด ์งง์ ํ๋ก์ธ์ค๊ฐ ์ค๊ฒ ๋๋ฉด ์ ์ฒด ํ๋ก์ธ์ค๋ค์ ํ๊ท ๋๊ธฐ์๊ฐ์ด ๋์ด๋๋ ํ์
A์ ๋๊ธฐ ์๊ฐ 0 / B์ ๋๊ธฐ ์๊ฐ 20 / C์ ๋๊ธฐ ์๊ฐ 23
ํ๊ท ๋๊ธฐ ์๊ฐ : (0+20+23) / 3 = 14.3
๐ SJF(Shortest Job First) - ์คํ์๊ฐ์ด ์งง์ ํ๋ก์ธ์ค์ ์ฐ์ ์์๋ฅผ ๋์ฌ ๋จผ์ ์ฒ๋ฆฌ
- ๋๊ธฐ ์๊ฐ์ ์ต์ํ ํ๋๋ฐ ์ต์ ์ด๋ค.
๋จ์ : ๊ธฐ์ ํ์ Starvation - ๊ธด ์คํ ์๊ฐ์ ๊ฐ์ง ํ๋ก์ธ์ค๊ฐ ์คํ๋์ง ์๋ ํ์
A์ ๋๊ธฐ ์๊ฐ 4 / B์ ๋๊ธฐ ์๊ฐ 1 / C์ ๋๊ธฐ ์๊ฐ 0
ํ๊ท ๋๊ธฐ ์๊ฐ : (4+1+0) / 3 = 1.6
๐ ์ฐ์ ์์ - ๊ฐ์ฅ ๋์ ์ฐ์ ์์๋ฅผ ๊ฐ์ง ํ๋ก์ธ์ค๋ฅผ ๋จผ์ ์ฒ๋ฆฌ
- ์ค๋ซ๋์ ๋๊ธฐํ๋ ํ๋ก์ธ์ค๋ค์ ์ฐ์ ์์๋ฅผ ์ ์ง์ ์ผ๋ก ์ฆ๊ฐ์ํค๋ aging๋ฐฉ์ ์ฌ์ฉํ๋ค.
(aging์ ๊ธฐ์ ์ํ๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด ํ๋ก์ธ์ค์ ๋๊ธฐ ์๊ฐ์ ์ธก์ ํ๊ณ , ๋๊ธฐ ์๊ฐ์ด ๊ธด ํ๋ก์ธ์ค์ ์ฐ์ ์์๋ฅผ ๋์ด๋ ๋ฐฉ์)
- ์ฐ์ ์์๊ฐ ๊ฐ์ ํ๋ก์ธ์ค๋ค์ ์ ์ ์ ์ฒ๋ฆฌ๋ก ์ค์ผ์ค๋ง์ด๋ค.
๊ณ์ฐ ๋ฐฉ๋ฒ : ์ฐ์ ์์ = (๋๊ธฐ์๊ฐ + ์คํ์๊ฐ) / ์คํ์๊ฐ
์ ๊ทธ๋ฆผ์์ ์ฐ์ ์์๋ฅผ ๊ณ์ฐํด ๋ณด๋ฉด,
A = (15 + 5) / 5 = 4
B = (20 + 20) / 20 = 2
C = (5 + 10) / 10 = 1.5
ํฐ ๊ฐ๋๋ก ์ฐ์ ์์๋ฅผ ๋ถ์ฌํ์ฌ A - B - C ์์ผ๋ก ์ค์ผ์ค๋ง๋๋ค.
์ ์ ํ ๋ฐฉ์
Aํ๋ก์ธ์ค๊ฐ ์คํ๋๊ณ ์๋๋ฐ ํน์ ํ ๊ธฐ์ค์ ์ํด ์ฐ์ ์์๊ฐ ๋ ๋์ Bํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ์์ฒญํ๊ฒ ๋๋ฉด Aํ๋ก์ธ์ค๋ ๊ทธ ์ฆ์ CPU๋ฅผ ์ฌ์ฉํ์ง ๋ชปํ๊ณ ๋บ๊ธฐ๊ฒ ๋๋ ๋ฐฉ์
- ๋ฌธ๋งฅ ๊ตํ์ ์ค๋ฒํค๋๊ฐ ๋ฐ์ํ ์ ์๋ค
- ๋ชจ๋ ํ๋ก์ธ์ค๊ฐ ๊ณจ๊ณ ๋ฃจ ์์์ ์ด์ฉํ ์ ์๋ค
๐ ๋ผ์ด๋ ๋ก๋น - ๊ฐ ํ๋ก์ธ์ค๋ง๋ค ๋์ผํ ํ ๋น ์๊ฐ ๋ถ์ฌ, ๋๋์ง ์์ผ๋ฉด ๋ค์ ์ค๋น ํ์ ๋ค์ด๊ฐ ์ฒ๋ฆฌ
- ๋ชจ๋ ํ๋ก์ธ์ค๊ฐ ๊ฐ์ ์ฐ์ ์์๋ฅผ ๊ฐ์ง๊ณ , ํ์ ์ฌ๋ผ์ด์ค๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ค์ผ์ค๋งํ๋ค. (ํ์ ์ฌ๋ผ์ด์ค : ๊ฐ ํ๋ก๋ ์ค๊ฐ CPU๋ฅผ ์ฌ์ฉํ ์ ์๋ ์ ํด์ง ์๊ฐ)
- ํ์ ์ฌ๋ผ์ด์ค๊ฐ ๋๋ฌด ํฌ๋ฉด FCFS๊ฐ ๋๊ณ ๋๋ฌด ์์ผ๋ฉด ์ปจํ ์คํธ ์ค์์นญ์ด ์ฆ์์ ธ ์ค๋ฒํค๋ ๋ฐ์ํ๋ค.
๐ SRF(Shortest Remaining Time First) - ์ฒ๋ฆฌ ์ค ๋ ์งง์ ์์ ์ด ๋ค์ด์ค๋ฉด ํ๋ก์ธ์ค ์ค์ง ํ ์งง์ ์์ ๋จผ์ ์ฒ๋ฆฌ
SJF์ ์ฐจ์ด์ ?
SJF๋ ์ค๊ฐ์ ์๊ฐ์ด ๋ ์งง์ ์์ ์ด ๋ค์ด์๋ ๊ธฐ์กด์ ์์ ์ ๋ชจ๋ ์ํํ์ง๋ง,
SRF๋ ์ค๊ฐ์ ์งง์ ์์ ์ด ๋ค์ด์ค๋ฉด ์ํํ๋ ํ๋ก์ธ์ค๋ฅผ ์ค์งํ๊ณ ๋ค์ด์จ ์์ ์ ์ํํ๋ค.
๐ ๋ค๋จ๊ณ ํ - ์ฐ์ ์์์ ๋ฐ๋ฅธ ์ค๋น ํ๋ฅผ ์ฌ๋ฌ ๊ฐ ์ฌ์ฉ, ํ๋ง๋ค ๋ค๋ฅธ ์ค์ผ์ค๋ง ์ ์ฉ
- ๊ฐ์ฅ ๋์ ์ฐ์ ์์ ํ๊ฐ ์๋ฃ๋์ด์ผ๋ง ๊ทธ๋ค์ ์์์ ํ๋ก ๋์ด๊ฐ ์ ์๋ค.
- ๋ฎ์ ์ฐ์ ์์ ํ์์ ์์ ์คํ ์ค์ด๋๋ผ๋ ์์ ๋จ๊ณ์ ํ์ ํ๋ก์ธ์ค๊ฐ ๋์ฐฉํ๋ฉด CPU๋ฅผ ๋นผ์๋๋ค.
- ํ๋ค ๊ฐ์ ํ๋ก์ธ์ค ์ด๋์ด ๋ถ๊ฐํ๊ธฐ ๋๋ฌธ์ ์ค์ผ์ค๋ง ๋ถ๋ด์ด ์ ์ง๋ง ์ ์ฐ์ฑ์ด ๋จ์ด์ง๋ค.
๋จ์ : ๋ฎ์ ์ฐ์ ์์์ ํ๋ก์ธ์ค๋ ๊ธฐ์๊ฐ ๋ฐ์ํ ์ ์๋ค.
๐ ๋ค๋จ๊ณ ํผ๋๋ฐฑ ํ - ํ ๊ฐ์ ์ด๋์ด ๊ฐ๋ฅํ ๋ค๋จ๊ณ ํ ์ค์ผ์ค๋ง / ๋ค๋จ๊ณ ํ ์ค์ผ์ค๋ง์ ๋ฐ์ ๋ ํํ
- ํด๋น ํ์ ์๊ฐ ํ ๋น๋(Time Quantum)์ด ๋๋๋ฉด ํ ๋จ๊ณ ์๋์ ์ค๋น ํ์ ๋ค์ด๊ฐ๋ค.
- ๊ฒฐ๊ตญ ์์ฐ์ค๋ฝ๊ฒ ํ๋ก์ธ์ค์ CPU ์๊ฐ์ด ๊ธธ๋ฉด ์ฐ์ ์์๊ฐ ๋ฎ์์ง๊ฒ ๋๋ค.
- ๋ฎ์ ์ฐ์ ์์ ํ์์ ๋๋ฌด ์ค๋ ๊ธฐ๋ค๋ฆฌ๋ฉด ์ฐ์ ์์๋ฅผ ๋์ธ๋ค. (์์ด์ง ๊ธฐ๋ฒ์ ํตํ ๊ธฐ์์ํ ์๋ฐฉ)