1. CPU ์ค์ผ์ค๋ง์ด๋?
๋ณต์์ ํ๋ก์ธ์ค ์ค ์ด๋ค ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ๊ฐ์ฅ ๋จผ์ ์ฌ์ฉํ๊ณ ์ผ๋ง๋ ์ค๋ ์ฌ์ฉํ ์ง๋ฅผ ๊ฒฐ์ ํ๋ ๋ฐฉ์์ ์๋ฏธํ๋ค.
์ด๋ฅผ ์ํด์ ์ค์ผ์ค๋ง ๊ธฐ๋ฒ๋ง๋ค ๋ค๋ฅด๊ฒ ํ๋ก์ธ์ค๋ค์ ์ฐ์ ์์๋ฅผ ์ธก์ ํ๊ณ , CPU ์ฌ์ฉ์๊ฐ์ ์ฐ์ ํ๋ค.
(1) ์ข์ CPU ์ค์ผ์ค๋ง์ด๋?
CPU๋ ๋จ์ผ ์์์ ํ๋ก์ธ์ค๋ค์๊ฒ ์ต๋ํ ๊ณตํํ๊ฒ ๋ฐฐ๋ถํ์ฌ ํ๋ก์ธ์ค ์ฒ๋ฆฌ์จ๊ณผ CPU ์ด์ฉ๋ฅ ์ ๋์ด๊ณ , ์๋ต์๊ฐ, CPU ๊ณผ๋ถํ(์ค๋ฒ ํค๋), ํ๋ก์ธ์ค๋ค์ ์ฒ๋ฆฌ ๋๊ธฐ์๊ฐ์ ์ค์ด๋ ๊ฒ์ด ์ข์ ์ค์ผ์ค๋ง์ด๋ค.
๊ณตํ์ฑ๐ โ ( ํ๋ก์ธ์ค ์ฒ๋ฆฌ์จโฌ๏ธ, CPU ์ด์ฉ๋ฅ โฌ๏ธ ) | (์๋ต ์๊ฐ โฌ๏ธ, CPU ๊ณผ๋ถํ โฌ๏ธ, ํ๋ก์ธ์ค ์ฒ๋ฆฌ ๋๋ฆฌ์๊ฐ โฌ๏ธ)
2. ์ ์ ํ ์ค์ผ์ค๋ง์ ๋ํ์ฌ
ํ์ฌ CPU๋ฅผ ํ์ฉํ๊ณ ์๋ ํ๋ก์ธ์ค๋ฅผ A
๋ผ๊ณ ํ์. ์ด๋ ์ค๋นํ์์ A
๋ณด๋ค ์ฒ๋ฆฌ ์ฐ์ ์์๊ฐ ๋์ ํ๋ก์ธ์ค๋ฅผ ๋ฐ๊ฒฌํ๋ค๋ฉด ์ ์ ํ ์ค์ผ์ค๋ง์ ๋ค์๊ณผ ๊ฐ์ด ์คํ๋๋ค.
- 1๏ธโฃ ํ์ฌ ์คํ ์ค์ธ ํ๋ก์ธ์ค
A
๋ฅผ ์ค๋นํ ๊ผฌ๋ฆฌ๋ก ๋ณด๋ธ๋ค. - 2๏ธโฃ A๋ณด๋ค ์ฐ์ ์์๊ฐ ๋์ ํ๋ก์ธ์ค์๊ฒ CPU๋ฅผ ํ ๋นํ๋ค. (๋ง์ฝ ๊ทธ๋ฌํ ํ๋ก์ธ์ค๊ฐ ๋ณต์๋ผ๋ฉด ๋น์ฐํ๊ฒ ๊ทธ๋ค ์ค ์ฐ์ ์์๊ฐ ๊ฐ์ฅ ๋์ ๋ ์์ด ์ค๋นํ์ ๋จธ๋ฆฌ์ ์กด์ฌํ๊ฒ ๋๊ณ , ๊ทธ๊ฒ์๊ฒ CPU ํ ๋น)
์ฐ์ ์์๊ฐ ๋์ ํ๋ก์ธ์ค๋ฅผ ๋จผ์ ์ฒ๋ฆฌํ๋ ์ฑ๊ฒฉ ๋๋ฌธ์ DeadLine์ด ์กด์ฌํ๋ ์๋ต์ ํด์ค์ผ ํ๋ ํ๊ฒฝ, ์ค์๊ฐ์ผ๋ก ์๋ต์ ํด์ค์ผ ํ๋ ํ๊ฒฝ์ ์ ์ ํ๋ค. (๊ฐ๊ฐ ์ฐ์ ์์๋ฅผ DeadLine์ด ์๋ฐํ ์, ๋จผ์ ์ ๋ ฅํ ์์ผ๋ก ๋๋ฉด๋๊ธฐ ๋๋ฌธ์ด๋ค.)
๊ทธ๋ ๋ค๋ฉด ์ด ์ฐ์ ์์์ ๊ธฐ์ค์ ์ด๋ป๊ฒ ์ธ์ธ ๊ฒ์ธ๊ฐ๊ฐ ๊ด๊ฑด์ด๋ค. ์ด ์ฐ์ ์์๋ฅผ ์ด๋ป๊ฒ ์ธ์ธ ๊ฒ์ธ๊ฐ์ ๊ธฐ์ค์๋ ์ด 5๊ฐ๊ฐ ์๋ค. ๋ฐ๋ผ์ ์ ์ ํ ์ค์ผ์ค๋ง์ ์ข ๋ฅ์๋ 5๊ฐ๊ฐ ์กด์ฌํ๋ค.
์ด์ ๋ถํฐ "A
: ํ์ฌ CPU๋ฅผ ํ ๋น๋ฐ์ ์ฌ์ฉ ์ค์ธ ํ๋ก์ธ์ค" ๋ผ๊ณ ๊ฐ์ ํ๊ณ ๋ค์ ์ข
๋ฅ๋ค์ ์ดํด๋ณด๊ฒ ๋ค.
(1) SRT
a. ์ ์
์ฐ์ ์์ ๊ธฐ์ค
: ํ๋ก์ธ์ค์ ๋จ์ ์คํ์๊ฐ์ด ์งง์ ์๋ก ์ฐ์ ์์๊ฐ ๋๋ค.
๋ง์ฝ ์ค๋นํ์ ๋ด๊ฒจ ์๋ ๊ฐ๋ค ์ค A๋ณด๋ค ๋จ์ ์คํ์๊ฐ์ด ์งง์ ํ๋ก์ธ์ค๊ฐ ์๋ค๋ฉด ํด๋น ํ๋ก์ธ์ค์๊ฒ CPU๋ฅผ ํ ๋นํ๊ณ , A๋ ๋ค์ ์ค๋นํ์ ๋ฃ๋๋ค.
b. ์ฅ๋จ์
์ฅ์
: ํ๊ท ๋๊ธฐ ์๊ฐ์ด ์ต์ํ ๋๋ค.๋จ์
: ์คํ ์๊ฐ์ด ๊ธด ํ๋ก์ธ์คB
๊ฐ ์ค๋น ํ์ ์กด์ฌํ๋ค๊ณ ํ ๋, ๊ทธ๊ฒ๋ณด๋ค ์คํ์๊ฐ์ด ์งง์ ์ ์ ํ๋ก์ธ์ค๊ฐ ๊ณ์ ์ค๋นํ์ ๋ค์ด์จ๋ค๋ฉด,B
๋ ์์ํ CPU๋ฅผ ํ ๋น ๋ฐ์ง ๋ชปํ๋ ๊ธฐ์ ์ํ๊ฐ ๋ฐ์ํ๋ค.
c. ์ฌ์ฉํด์ผ ํ ์ํฉ
์งง์ ์์ ๋ค์ด ๋ง์ ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌํด์ผํ๋ ์ํฉ
(2) RR (Round Robin)
a. ์ ์
ํ๋ก์ธ์ค๋ง๋ค ์์ ์๊ฒ ํ ๋น๋ ์๊ฐ (Time Quantum)์ด ์กด์ฌ.
ํด๋น ํ ๋น ์๊ฐ์ ์ด๊ณผํ๋ฉด ๊ฐ์ ๋ก ์ข
๋ฃํ๊ณ ์ค๋น ํ์ ๊ผฌ๋ฆฌ๋ก ์ด๋
b. ์ฅ๋จ์
์ฅ์
: ๊ณตํ์ฑ(๋ชจ๋ ํ๋ก์ธ์ค๊ฐ ์์์ ๊ณตํํ๊ฒ ์ฐ๋ ๊ฒ)์ด ๊ฐ์ฅ ๋๋ค.ํ๊ท ์ ์ธ ์๋ต์๊ฐ์ด ์งง๋ค.
๋จ์
:
Time Quantum์ด ๋๋ฌด ์งง์ผ๋ฉด ๋ฌธ๋งฅ ์ ํ์ด ์ฆ์ โ ์ค๋ฒ ํค๋๊ฐ ์ฆ๊ฐ
Time Quantum์ด ๋๋ฌด ๊ธธ๋ฉด FCFS(๋ค์ด์จ ์์ผ๋ก ์ฒ๋ฆฌ)๊ฐ ๋์ด์ ์ ์ ํ ์ค์ผ์ค๋ง ์ฐ๋ ์ด์ ๊ฐ ์์
c. ์ฌ์ฉํด์ผ ํ ์ํฉ
๋ํํ ์์คํ (์ฑํ , ํ์ด์ง ๋ก๋ฉ, ๋ช ๋ น์ด ์คํ)์์ ์ ์ฉ
๋ํํ ์์คํ ์ ์ฌ์ฉ์์ ์์ฒญ์ ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌํ๊ณ ์ฆ๊ฐ์ ์ธ ๋ฐ์์ ์ ๊ณตํ๋ ๊ฒ์ด ์ค์. ์ด๊ฒ์ ๋ณด์ฅํ๊ธฐ ์ํด์๋ ํ๋์ ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ๋ ์ ํ์ง ์๊ณ , ์๋ต ์๊ฐ์ด ๋๋๋ก ์งง์์ผ ํ๋๋ฐ, RR๋ ํ๊ท ์ ์ธ ์๋ต ์๊ฐ์ด ์งง๊ธฐ ๋๋ฌธ์ ์ด์ ์ ํฉํ๋ค.
(3) ์ฐ์ ์์ ์ค์ผ์ค๋ง
์ฐ์ ์์ ๊ธฐ์ค
: OS ์ค๊ณ์๊ฐ ์ค์
a. ์ ์
๊ฐ ํ๋ก์ธ์ค์๊ฒ ๋๋ฆ์ ๊ธฐ์ค์ ๋ ์ฐ์ ์์๋ฅผ ์ ๊ณต, ์ฐ์ ์์๊ฐ ๋์ ํ๋ก์ธ์ค์๊ฒ CPU๋ฅผ ์ฐ์ ํ ๋นํ๋ ๋ฐฉ์์ด๋ค. ๋น์ฐํ๊ฒ๋, ํ์ฌ CPU๋ฅผ ํ ๋น ๋ฐ์ ์ฌ์ฉ ์ค์ธ ํ๋ก์ธ์ค๋ณด๋ค ์ ์ ํ๋ก์ธ์ค์ ์ฐ์ ์์๊ฐ ๋๋ค๋ฉด ํ์ฌ ์คํ ์ค์ธ ํ๋ก์ธ์ค๋ฅผ ์ค๋จํ๊ณ ํด๋น ํ๋ก์ธ์ค๋ฅผ ๋จผ์ ์คํํ๋ค.
b. ์ฅ๋จ์
์ฅ์
: ์๋ฌด๋๋ ์ค๊ณ์์ CUSTOM์ด ๊ฐ๋ฅํ๋, ์ค๊ณ์ ํน์ ์ฌ์ฉ์์๊ฒ ์๋ฏธ์ ์ค์ํ ์์ ๋ค์ ๋จผ์ ์ฒ๋ฆฌํ ์ ์๋ค.๋จ์
: ์ด ๋ํ ํน์ ํ๋ก์ธ์คB
๋ณด๋ค ์ฐ์ ์์๊ฐ ๋์ ํ๋ก์ธ์ค๋ง ๊ณ์ ์ค๋น ํ์ ๋ค์ด์จ๋ค๋ฉดB
๋ ๊ธฐ์ ์ํ์ ๋น ์ง ์ ์๋ค.๋ณด์
: ๋จ์ ์ ๋ณด์ํ๊ธฐ ์ํด Priority Aging ๊ธฐ๋ฒ์ ์ฌ์ฉํ๋ค. Priority Aging ๊ธฐ๋ฒ์ ์ค๋น ํ์ ์กด์ฌํ๋ ์๊ฐ์ด ๊ธธ์๋ก ํด๋น ํ๋ก์ธ์ค์ ์ฐ์ ์์๋ฅผ ๋์ด๋ ๊ฒ์ด๋ค.
c. ์ฌ์ฉ ์์
์ฌ์ฉ์ ๊ธฐ์ค ์ฐ์ ์์๊ฐ ๋์ ๊ฒ์ ํน์ ํ ์ ์๊ณ , ๊ทธ ํ๋ก์ธ์ค๋ค๋ถํฐ ์ฒ๋ฆฌํ๊ณ ์ถ์ ๋
3. ๋น์ ์ ํ ์ค์ผ์ค๋ง
ํ ํ๋ก์ธ์คA
๊ฐ CPU๋ฅผ ํ ๋น ๋ฐ์ผ๋ฉด A
๊ฐ ์์
์ข
๋ฃ ํน์ I/O BLOCK ํ CPU๋ฅผ ๋ฐํํ ๋๊น์ง ๋ค๋ฅธ ํ๋ก์ธ์ค๋ CPU ์ ์ ๊ฐ ๋ถ๊ฐ๋ฅํ ์ค์ผ์ค๋ง ๋ฐฉ์์ด๋ค.
(1) ํน์ง
- 1๏ธโฃ ์ฐ์ ์์๊ฐ ๋์ ์ ์ ํ๋ก์ธ์ค๊ฐ ๋ค์ด์๋ค๋ ์ด์ ๋ก ๋ฌธ๋งฅ๊ตํ์ด ๋ถ๊ฐํ๋ค.
- 2๏ธโฃ 1๋ฒ ํน์ง ๋๋ฌธ์ ๋ฌธ๋งฅ ์ ํ ํ์๊ฐ ์ ๋ค. โ CPU ๊ณผ๋ถํ๊ฐ ๋ ํ๋ฅ ์ด ์ ๊ณ , CPU ์์ ์ฑ์ด ๋๋ค.
- 3๏ธโฃ ์คํ ์๊ฐ์ด ๊ธด ํ๋ก์ธ์ค๊ฐ CPU ๋ ์ ํ ๊ฐ๋ฅ์ฑ์ด ๋๋ค. โ ์ค์๊ฐ ์์คํ , ๋ํํ ์์คํ ์์๋ ๋ถ์ ์ ํ๋ค.
์ฌ๊ธฐ์ ํท๊ฐ๋ฆฌ์ง ๋ง์์ผ ํ ์ ์ ๋น์ ์ ํ ์ค์ผ์ค๋ง ๋ํ ํ๋ก์ธ์ค๊ฐ์ ์ฐ์ ์์๋ฅผ ๊ฐ์ง๊ณ ์๋ค๋ ๊ฒ์ด๋ค. ๋ค๋ง ์ฐ์ ์์๊ฐ ๋์ ์ ์ ์ด ๋ค์ด์๋ค๋ ์ด์ ๋ก ๋ฌธ๋งฅ๊ตํ์ ํ์ง ์๋๋ค. ๋ค์์ ๊ทธ ์ข ๋ฅ 4๊ฐ์ง์ ๋ํด์ ์์๋ณด๊ฒ ๋ค.
(2) FCFS (First Come, First Served ์ ์ ์ ์ถ)
์ค๋น ํ ๋ด์์ฐ์ ์์ ๊ธฐ์ค
: ์ค๋น ํ ๋จผ์ ๋ค์ด์จ ํ๋ก์ธ์ค๊ฐ ์ฐ์ ์์๊ฐ ๋๋ค.
a. ์ ์
๋จผ์ ์ค๋น ํ์ ๋ค์ด์จ ๋ ๋จผ์ ์คํ (์ ๋ฐฐ ๋์ฐ)
b. ์ฅ๋จ์
์ฅ์
: ๊ตฌํ์ด ๊ฐ๋จํ๋ค.๋จ์
: ์คํ์๊ฐ ๊ธด ํ๋ก์ธ์ค์ CPU ๋ ์ ๊ฐ๋ฅ์ฑ์ด ์์. Convoy ํจ๊ณผ (๊ธด ์์ ์ด ์ ์์์ ์์ผ๋ฉด ๋ค์ ์งง์ ์์ ๋ค์ ์์ ์ ์คํ์๊ฐ๋ณด๋ค ๋๊ธฐ ์๊ฐ์ด ๋ ๊ธธ์ด์ง๋ ํจ๊ณผ)๊ฐ ์๊น
c. ์ฌ์ฉ ์์
๋จ์ํ ๋ฐฐ์น ์ฒ๋ฆฌ ์์คํ (์ผ๊ด ์์ )
(3) SJF
์ฐ์ ์์ ๊ธฐ์ค
: ์คํ์๊ฐ์ด ์งง์ ํ๋ก์ธ์ค๊ฐ ์ฐ์ ์์๊ฐ ๋๋ค.
a. ์ ์
์คํ ์๊ฐ์ด ๊ฐ์ฅ ์งง์ ํ๋ก์ธ์ค๋ฅผ ๋จผ์ ์คํํ๋ ๋ฐฉ์
b. ์ฅ๋จ์
์ฅ์
: ์งง์ ์์ ์ด ๋จผ์ ๋๋๋ฏ๋ก ํ๊ท ๋๊ธฐ ์๊ฐ์ด ์ค์ด๋ ๋ค.
๋น์ ์ ํ ์ค์ผ์ค๋ง ์ค์์๋ ๊ฐ์ฅ CPU์ ํจ์จ์ ์ธ ์ฌ์ฉํ๋ ๊ธฐ๋ฒ๋จ์
:
์ค๋น ํ๋ ์ฐ์ ์์ ํ์ด๋ค ๋ณด๋, ์คํ์๊ฐ์ด ๊ธด ํ๋ก์ธ์ค๋ ์ธ์ ๋ ํ์์์ด๋ค. (๊ธฐ์ ์ํ)
๋ชจ๋ ํ๋ก์ธ์ค์ ์คํ ์๊ฐ์ ๋ฏธ๋ฆฌ ์์์ผ ํจ๊ณผ์ (๊ทธ๋ฐ ์ํฉ์ด ์ ์์)
c. ์ฌ์ฉ ์์
์คํ ์๊ฐ์ด ์ผ์ ํด์ ์์ธก ๊ฐ๋ฅํ ํ๊ฒฝ
(4) Priority ์ค์ผ์ค๋ง
์ฐ์ ์์ ๊ธฐ์ค
: ์ค๊ณ์ ๋ง์
a. ์ ์
์ด๊ฒ๋ ์ ์ ํ์ Priority ์ค์ผ์ค๋ง์ ๋น์ ์ ํ ๋ฒ์
b. ์ฅ๋จ์
์ฅ์ :
- ์ค์ํ ์์ ์ ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌ ๊ฐ๋ฅ.
๋จ์ :
- ์ฐ์ ์์๊ฐ ๋ฎ์ ํ๋ก์ธ์ค๊ฐ ์คํ๋์ง ๋ชปํ ๊ฐ๋ฅ์ฑ(๊ธฐ์ ์ํ, Starvation).
- ์ฐ์ ์์ ๊ธฐ์ค์ด ๋ช ํํ์ง ์์ผ๋ฉด ๋นํจ์จ์ .
- ํด๊ฒฐ ๋ฐฉ๋ฒ → Priority Aging (์ค๋ ๊ธฐ๋ค๋ฆฐ ํ๋ก์ธ์ค์ ์ฐ์ ์์๋ฅผ ์ ์ฐจ ์ฆ๊ฐ์ํค๋ ๋ฐฉ๋ฒ).
c. ์ฌ์ฉ ์์
์ ์ ํ์ Priority ์ค์ผ์ค๋ง์ด๋ ๊ฑฐ์ ์ ์ฌ
4 HRRN (Highest Response Ratio Next, ์ต๋ ์๋ต ๋น์จ ์ฐ์ )
์ฐ์ ์์ ๊ธฐ์ค
: ๋๊ธฐ ์๊ฐ์ด ๊ธธ์๋ก ์ฐ์ ์์๊ฐ ๋๋ค.
a. ์ ์
์๋ต ๋น์จ์ ๊ณ์ฐํ๋ค. $์๋ต ๋น์จ = \frac{๋๊ธฐ์๊ฐ + ์คํ์๊ฐ}{์คํ์๊ฐ}$
์ด ์๋ต ๋น์จ์ด ๋์์๋ก ์ฐ์ ์์๊ฐ ์ฌ๋ผ๊ฐ๋ค.
b. ์ฅ๋จ์
์ฅ์
: ๊ธฐ์ ์ํ(Starvation) ๋ฐฉ์ง** → ์ค๋ ๊ธฐ๋ค๋ฆฐ ํ๋ก์ธ์ค๊ฐ ์ฐ์ ์คํ๋ ๊ฐ๋ฅ์ฑ์ด ๋์.๋จ์
: ๋น๊ต์ ๋ณต์กํ ์ฐ์ฐ์ด ํ์ํจ.
c. ์ฌ์ฉ์์
- ์ฐ์ ์์๋ฅผ ์กฐ์ ํด์ผ ํ๋ ํ