ํจ์คํธ์บ ํผ์ค ์ด์์ฒด์ ๊ฐ์์ ์ฝ๊ฒ ๋ฐฐ์ฐ๋ ์ด์์ฒด์ ๊ต์ฌ์ ๋ํ TIL์ ๋๋ค.
CPU ์ค์ผ์ค๋ง
CPU ์ค์ผ์ค๋ง์ด๋ ์ด๋ค ์์ ์ CPU๋ฅผ ๋ฐฐ์ ํ ์ง ๊ฒฐ์ ํ๋ ๊ฒ์ด๋ค. ์ปดํจํฐ ์์คํ ์ ํจ์จ์ ์ด๋ค ํ๋ก์ธ์ค์ CPU๋ฅผ ๋จผ์ ๋ฐฐ์ ํ๋๋์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋ฏ๋ก CPU ์ค์ผ์ค๋ง์ ์์ ์ ํํ์ฑ๊ณผ ํจ์จ์ฑ์ ๊ฒฐ์ ํ๋ ์ค์ํ ์ผ์ด๋ค.
CPU ์ค์ผ์ค๋ง์ ๊ท๋ชจ์ ๋ฐ๋ผ ๊ณ ์์ค ์ค์ผ์ค๋ง, ์ค๊ฐ ์์ค ์ค์ผ์ค๋ง, ์ ์์ค ์ค์ผ์ค๋ง์ผ๋ก ๊ตฌ๋ถ๋๋ค.
๊ณ ์์ค ์ค์ผ์ค๋ง
์์คํ ๋ด์ ์ ์ฒด ์์ ์๋ฅผ ์กฐ์ ํ๋ ๊ฒ์ด๋ค. ์ฆ, ๊ณ ์์ค ์ค์ผ์ค๋ง ๋จ๊ณ์์๋ ์ด๋ค ์์ ์ ์์คํ ์ด ๋ฐ์๋ค์ผ์ง ๋๋ ๊ฑฐ๋ถํ ์ง๋ฅผ ๊ฒฐ์ ํ๋ค. ๋ํ, ๊ณ ์์ค ์ค์ผ์ค๋ง์ ๋ฐ๋ผ ์์คํ ๋ด์์ ๋์์ ์คํ ๊ฐ๋ฅํ ํ๋ก์ธ์ค์ ์ด ๊ฐ์๊ฐ ์ ํด์ง๋ค.
์ค๊ฐ ์์ค ์ค์ผ์ค๋ง
๊ณ ์์ค ์ค์ผ์ค๋ง๊ณผ ์ ์์ค ์ค์ผ์ค๋ง ์ฌ์ด์ ์ผ์ด๋๋ ์ค์ผ์ค๋ง์ด๋ค. ๊ณ ์์ค ์ค์ผ์ค๋ง์ ํ๋ก์ธ์ค๋ฅผ ํ์ฑํํ ์ง ๋ง์ง ๊ฒฐ์ ํ์ฌ ์ ์ฒด ํ๋ก์ธ์ค ์๋ฅผ ์กฐ์ ํ๋ ๋ฐฉ์์ธ๋ฐ, ํ๋ก์ธ์ค๊ฐ ํ์ฑํ๋ ํ์๋ ์ฌ๋ฌ ๊ฐ์ง ์ฌ์ ์ผ๋ก ์์คํ ์ ๊ณผ๋ถํ๊ฐ ๊ฑธ๋ฆด ์ ์๋ค. ๋ฐ๋ผ์ ์ค๊ฐ ์์ค ์ค์ผ์ค๋ง์ ์ค์ง(suspend)์ ํ์ฑํ(active)๋ก ์ ์ฒด ์์คํ ์ ํ์ฑํ๋ ํ๋ก์ธ์ค ์๋ฅผ ์กฐ์ ํ์ฌ ๊ณผ๋ถํ๋ฅผ ๋ง๋๋ค. ์ด๋, ์ด๋ฏธ ํ์ฑํ๋ ํ๋ก์ธ์ค ์ค ์ผ๋ถ๋ฅผ ๋ณด๋ฅ ์ํ๋ก ๋ณด๋ธ๋ค.
์ ์์ค ์ค์ผ์ค๋ง
์ ์์ค ์ค์ผ์ค๋ง์ ํ์ฑํ๋ ํ๋ก์ธ์ค๋ฅผ ์ค๋น ์ํ๋ก ๋ณด๋ผ์ง, ์คํ ์ํ๋ก ๋ณด๋ผ์ง, ๋๊ธฐ ์ํ๋ก ๋ณด๋ผ์ง ๊ฒฐ์ ํ๋ ๊ฒ์ด๋ค. ์ฌ์ค์ ์ค์ ๋ก ์์ ์ด ์ด๋ฃจ์ด์ง๋ ์ค์ผ์ค๋ง์ด๋ผ๊ณ ๋ณผ ์ ์๋ค.
CPU ์ค์ผ์ค๋ง์ ๋ชฉ์
๊ณตํ์ฑ
๋ชจ๋ ํ๋ก์ธ์ค๊ฐ ์์์ ๊ณตํํ๊ฒ ๋ฐฐ์ ๋ฐ์์ผ ํ๋ค.
ํจ์จ์ฑ
์์คํ ์์์ด ์ ํด ์๊ฐ ์์ด ์ฌ์ฉ๋๋๋ก ์ค์ผ์ค๋งํด์ผ ํ๊ณ ์ ํด ์์์ ์ฌ์ฉํ๋ ค๋ ํ๋ก์ธ์ค์๋ ์ฐ์ ๊ถ์ ์ฃผ์ด์ผ ํ๋ค.
์์ ์ฑ
์ค์ ํ๋ก์ธ์ค์ ์ฐ์ ์์๋ฅผ ๋์ฌ ๋จผ์ ์๋ํ๋๋ก ๋ฐฐ์ ํจ์ผ๋ก์จ ์์คํ ์์์ ์ ์ ํ๊ฑฐ๋ ํ๊ดดํ๋ ค๋ ํ๋ก์ธ์ค๋ก๋ถํฐ ์์์ ๋ณดํธํด์ผ ํ๋ค.
ํ์ฅ์ฑ
ํ๋ก์ธ์ค๊ฐ ์ฆ๊ฐํด๋ ์์คํ ์ด ์์ ์ ์ผ๋ก ์๋ํ๋๋ก ์กฐ์นํด์ผ ํ๋ค.
๋ฐ์ ์๊ฐ ๋ณด์ฅ
์์คํ ์ ์ ์ ํ ์๊ฐ ์์ ํ๋ก์ธ์ค์ ์๊ตฌ์ ๋ฐ์ํด์ผ ํ๋ค.
๋ฌดํ ์ฐ๊ธฐ ๋ฐฉ์ง
ํน์ ํ๋ก์ธ์ค์ ์์ ์ด ๋ฌดํํ ์ฐ๊ธฐ๋์ด์๋ ์ ๋๋ค.
ํ๋ก์ธ์ค ์ฐ์ ์์
ํ๋ก์ธ์ค์ ์ฐ์ ์์๊ฐ ๋๋ค๋ ๊ฒ์ ํด๋น ํ๋ก์ธ์ค๊ฐ ๋ ๋นจ๋ฆฌ ์์ฃผ ์คํ๋๋ค๋ ์๋ฏธ์ด๋ค.
์ปค๋ ํ๋ก์ธ์ค์ ์ผ๋ฐ ํ๋ก์ธ์ค
ํ๋ก์ธ์ค๋ ํฌ๊ฒ ์ปค๋ ํ๋ก์ธ์ค์ ์ผ๋ฐ ํ๋ก์ธ์ค๋ก ๋๋๋ค. ์ด๋, ์ปค๋ ํ๋ก์ธ์ค๋ ์ค์ํ ์์ ์ ๋ง์ด ํ๋ฏ๋ก ์ผ๋ฐ ํ๋ก์ธ์ค๋ณด๋ค ์ฐ์ ์์๊ฐ ๋๋ค.
CPU ์ง์ค ํ๋ก์ธ์ค์ ์ ์ถ๋ ฅ ์ง์ค ํ๋ก์ธ์ค
CPU ์ง์ค ํ๋ก์ธ์ค๋ CPU ๋ฒ์คํธ(CPU Burst)๊ฐ ๋ง์ ํ๋ก์ธ์ค์ด๊ณ ์ ์ถ๋ ฅ ์ง์ค ํ๋ก์ธ์ค๋ ์ ์ฅ์ฅ์น์์ ๋ฐ์ดํฐ๋ฅผ ๋ณต์ฌํ๋ ์ผ๊ณผ ๊ฐ์ด ์ ์ถ๋ ฅ ๋ฒ์คํธ(I/O Burst)๊ฐ ๋ง์ ํ๋ก์ธ์ค์ด๋ค. ์ด๋, CPU๋ฅผ ํ ๋น๋ฐ์ ์คํํ๋ ์์ ์ CPU ๋ฒ์คํธ, ์ ์ถ๋ ฅ ์์ ์ ์ ์ถ๋ ฅ ๋ฒ์คํธ๋ผ๊ณ ํ๋ค. ์ ์ถ๋ ฅ ์ง์ค ํ๋ก์ธ์ค๊ฐ ์ฐ์ ์์๊ฐ ๋์ ๋จผ์ ์คํ ์ํ๋ก ๊ฐ๋ฉด ์ ์ถ๋ ฅ ์๊ตฌ์ ์ํด ๋๊ธฐ ์ํ๋ก ์ฎ๊ฒจ์ง๊ธฐ ๋๋ฌธ์ ๋ค๋ฅธ ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ์ฌ์ฉํ ์ ์์ผ๋ฏ๋ก ์์คํ ํจ์จ์ด ํฅ์๋๋ค. ๋ฐ๋ผ์, CPU ์ง์ค ํ๋ก์ธ์ค๋ณด๋ค ์ ์ถ๋ ฅ ์ง์ค ํ๋ก์ธ์ค์ ์ฐ์ ์์๊ฐ ๋๊ณ ์ด๋ฌํ ๊ฒฝ์ฐ๋ฅผ ์ฌ์ดํด ํ์น๊ธฐ๋ผ๊ณ ํ๋ค.
์ ๋ฉด ํ๋ก์ธ์ค์ ํ๋ฉด ํ๋ก์ธ์ค
์ ๋ฉด ํ๋ก์ธ์ค๋ ์ ๋ ฅ๊ณผ ์ถ๋ ฅ์ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์์ ์ํธ์์ฉ์ด ๊ฐ๋ฅํ ํ๋ก์ธ์ค์ด๊ณ ํ๋ฉด ํ๋ก์ธ์ค๋ ์ฌ์ฉ์์ ์ํธ์์ฉ์ด ์๋ ํ๋ก์ธ์ค์ด๊ณ ์ผ๊ด ์์ ํ๋ก์ธ์ค๋ผ๊ณ ๋ ํ๋ค. ์ ๋ฉด ํ๋ก์ธ์ค๋ ์ฌ์ฉ์์ ์๊ตฌ์ ์ฆ๊ฐ ๋ฐ์ํด์ผ ํ๊ธฐ ๋๋ฌธ์ ์ ๋ฉด ํ๋ก์ธ์ค์ ์ฐ์ ์์๊ฐ ํ๋ฉด ํ๋ก์ธ์ค๋ณด๋ค ๋๋ค.
ํ๋ก์ธ์ค ์ํ์ ๋ค์ค ํ
ํ๋ก์ธ์ค์ ์ฐ์ ์์๋ ํ๋ก์ธ์ค ์ ์ด ๋ธ๋ก์ ํ์๋๋ค. CPU ์ค์ผ์ค๋ฌ๋ ๋ชจ๋ ํ๋ก์ธ์ค ์ ์ด ๋ธ๋ก์ ๋ค์ ธ์ ์ฐ์ ์์๊ฐ ๊ฐ์ฅ ๋์ ํ๋ก์ธ์ค์ CPU๋ฅผ ํ ๋นํ๋ค. ๊ทธ๋ฌ๋ ๋งค๋ฒ ๋ชจ๋ ํ๋ก์ธ์ค ์ ์ด ๋ธ๋ก์ ๊ฒ์ํ๋ ค๋ฉด ์๋นํ ๋ฒ๊ฑฐ๋กญ๊ธฐ ๋๋ฌธ์ ๋ค์ค ํ(Multiple Queue)๋ผ๋ ๊ฒ์ด ๋ฑ์ฅํ๋ค.
์ค๋น ์ํ์ ๋ค์ค ํ
์ผ์ชฝ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ํ๋ก์ธ์ค์ ์ฐ์ ์์ ๋ณ๋ก ์ ๋ฆฌ๋์ด ์์ง ์์ผ๋ฉด ๋งค๋ฒ ์ฐ์ ์์๊ฐ ๋์ ํ๋ก์ธ์ค ์ ์ด ๋ธ๋ก์ ์ฐพ์์ผ ํด์ ๋ถํธํ๋ค. ๋ฐ๋ฉด ์ค๋ฅธ์ชฝ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ์ฐ์ ์์์ ๋ฐ๋ผ ์ฌ๋ฌ ๊ฐ์ ํ๋ฅผ ๋ง๋ค๋ฉด ์ผ์ผ์ด ์ฐพ์ง ์์๋ ๋ผ ํธํ๋ค.
์ด๋, ์ค๋น ํ๋ฅผ ๋ช ๊ฐ๋ฅผ ๋๋์ง, ์ฌ๋ฌ ๊ฐ์ ์ค๋น ํ์ ์๋ ํ๋ก์ธ์ค ์ค ์ด๋ค ํ๋ก์ธ์ค์ CPU๋ฅผ ํ ๋นํ ์ง ๊ฒฐ์ ํ๋ ์ผ์ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋ค. ๋ํ, ํ๋ก์ธ์ค์ ์ฐ์ ์์๋ฅผ ๋ฐฐ์ ํ๋ ๋ฐฉ์์๋ ๊ณ ์ ์ฐ์ ์์ ๋ฐฉ์๊ณผ ๋ณ๋ ์ฐ์ ์์ ๋ฐฉ์์ด ์๋ค. ๊ณ ์ ์ฐ์ ์์ ๋ฐฉ์์ ์ด์์ฒด์ ๊ฐ ํ๋ก์ธ์ค์ ์ฐ์ ์์๋ฅผ ๋ถ์ฌํ๋ฉด ํ๋ก์ธ์ค๊ฐ ๋๋ ๋๊น์ง ๋ฐ๋์ง ์๋ ๋ฐฉ์์ด๋ค. ๋ณ๋ ์ฐ์ ์์ ๋ฐฉ์์ ํ๋ก์ธ์ค ์์ฑ ์ ๋ถ์ฌ๋ฐ์ ์ฐ์ ์์๊ฐ ํ๋ก์ธ์ค ์์ ์ค๊ฐ์ ๋ณํ๋ ๋ฐฉ์์ด๋ค.
๋๊ธฐ ์ํ์ ๋ค์ค ํ
์ ๊ทธ๋ฆผ์ ๊ฐ์ ์ ์ถ๋ ฅ์ ๊ธฐ๋ค๋ฆฌ๋ ํ๋ก์ธ์ค๋ผ๋ฆฌ ๋ชจ์ฌ ์๋ ๋๊ธฐ ํ๋ฅผ ๋ํ๋ธ๋ค. ์ค๋น ์ํ์ ๋ค์ค ํ์ ๋๊ธฐ ์ํ์ ๋ค์ค ํ๊ฐ์๋ ์ฐจ์ด๊ฐ ์๋ค. ์ค๋น ํ๋ ํ ๋ฒ์ ํ๋์ ํ๋ก์ธ์ค๋ฅผ ๊บผ๋ด์ด CPU๋ฅผ ํ ๋นํ๋ ๋ฐ๋ฉด, ๋๊ธฐ ํ๋ ์ฌ๋ฌ ๊ฐ์ PCB๋ฅผ ๋์์ ๊บผ๋ด์ด ์ค๋น ์ํ๋ก ์ฎ๊ธด๋ค. ์์คํ ์๋ ๋ง์ ์ ์ถ๋ ฅ์ฅ์น๊ฐ ์๊ธฐ ๋๋ฌธ์ ์ ์ถ๋ ฅ์ด ๋์์ ๋๋ ๊ฒฝ์ฐ ์ฌ๋ฌ ๊ฐ์ ์ธํฐ๋ฝํธ๊ฐ ํ๊บผ๋ฒ์ ์ฒ๋ฆฌ๋์ด์ผ ํ๋๋ฐ ์ด๋ฅผ ์ํด ์ธํฐ๋ฝํธ ๋ฒกํฐ๋ผ๋ ์๋ฃ๊ตฌ์กฐ๊ฐ ์ฌ์ฉ๋๋ค.
๋๊ธฐ ํ์ ์๋ PCB๋ ํ์ ์ฝ์ ๋ ์์๋๋ก ์ฒ๋ฆฌ๋์ง๋ง, ์์ ์๋๋ฅผ ๋์ด๊ธฐ ์ํด ์์ ์์๋ฅผ ๋ค๋ฐ๊พธ๋ ๊ฒฝ์ฐ๊ฐ ์์ด ๋์ค์ ๋ค์ด์จ PCB๊ฐ ๋จผ์ ์ค๋น ์ํ๋ก ์ฎ๊ฒจ ๊ฐ๊ธฐ๋ ํ๋ค.
๋ค์์ ํ๋ก์ธ์ค ์ํ์ ๋ฐ๋ฅธ ๋ค์ค ํ๋ฅผ ํฉ์ณ์ ์ ๋ฆฌํ ๊ฒ์ด๋ค.
์ ์ ํ ์ค์ผ์ค๋ง๊ณผ ๋น์ ์ ํ ์ค์ผ์ค๋ง
์ด์์ฒด์ ์์ ์ ์ ์ '๋นผ์์ ์ ์์'์ ๋ปํ๊ณ ๋น์ ์ ์ '๋นผ์์ ์ ์์'์ ๋ปํ๋ค. ๋ฐ๋ผ์, ์ ์ ํ ์ค์ผ์ค๋ง(Preemptive Scheduling)์ ์ด๋ค ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ํ ๋น๋ฐ์ ์คํ ์ค์ด๋๋ผ๋ ์ด์์ฒด์ ๊ฐ CPU๋ฅผ ๊ฐ์ ๋ก ๋นผ์์ ์ ์๋ ์ค์ผ์ค๋ง ๋ฐฉ์์ด๊ณ ๋น์ ์ ํ ์ค์ผ์ค๋ง(Non-preemptive Scheduling)์ ์ด๋ค ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ์ ์ ํ๋ฉด ๋ค๋ฅธ ํ๋ก์ธ์ค๊ฐ ์ด๋ฅผ ๋นผ์์ ์ ์๋ ์ค์ผ์ค๋ง ๋ฐฉ์์ด๋ค.
์ ์ ํ ์ค์ผ์ค๋ง ๋ฐฉ์์ ์ธํฐ๋ฝํธ ์ฒ๋ฆฌ ๊ฐ์ด ํ์ฌ ์คํ ์ค์ธ ์์ ์ ์ค๋จํ๊ณ ๋ค๋ฅธ ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ์ฌ์ฉํ ์ ์๋ ๋ฐฉ์์ด๊ณ , ๋น์ ์ ํ ์ค์ผ์ค๋ง ๋ฐฉ์์ ํ๋ก์ธ์ค๊ฐ ์ข ๋ฃ๋๊ฑฐ๋ ์๋ฐ์ ์ผ๋ก ๋๊ธฐ ์ํ์ ๋ค์ด๊ฐ๊ธฐ ์ ๊น์ง๋ ๊ณ์ CPU๋ฅผ ์ฌ์ฉํ ์ ์๋ ๋ฐฉ์์ด๋ค. ์ด๋ฅผ ํตํด, ๊ณผ๊ฑฐ์ ์ผ๊ด ์์ ์์คํ ์์ ์ฌ์ฉํ๋ ๋ฐฉ์์ด ๋น์ ์ ํ ์ค์ผ์ค๋ง ๋ฐฉ์์ด๊ณ , ํ๋์ ์๋ถํ ์์คํ ์์ ์ฌ์ฉํ๋ ๋ฐฉ์์ด ์ ์ ํ ์ค์ผ์ค๋ง ๋ฐฉ์์์ ์ ์ถํด ๋ณผ ์ ์๋ค.
์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ
์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ ์ข ๋ฅ๋ ์ฌ๋ฌ ๊ฐ์ง์ด๋ฏ๋ก ์ ํ ๊ธฐ์ค์ ๋น์ฐํ ์ผ๋ง๋ ํจ์จ์ ์ผ๋ก ์ค์ผ์ค๋ง์ ํ๋๋์ผ ๊ฒ์ด๋ค. ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ ์ฑ๋ฅ์ ๋น๊ตํ ๋๋ ์ฃผ๋ก ํ๊ท ๋๊ธฐ ์๊ฐ์ ๋ณธ๋ค. ์๋๋ CPU ์๊ณ ๋ฆฌ์ฆ์ ํ๊ฐ ๊ธฐ์ค๋ค์ด๋ค.
๋๊ธฐ ์๊ฐ: ํ๋ก์ธ์ค๊ฐ ์ค๋น ํ์ ๋์ฐฉ ํ ์คํ๋๊ธฐ ์ ๊น์ง ๋๊ธฐํ๋ ์๊ฐ
์๋ต ์๊ฐ: ํ๋ก์ธ์ค๊ฐ ์ฒซ ์์ ์ ์์ํ ํ ์ฒซ ๋ฒ์งธ ์ถ๋ ฅ(๋ฐ์)์ด ๋์ค๊ธฐ๊น์ง ๊ฑธ๋ฆฌ๋ ์๊ฐ
์คํ ์๊ฐ: ํ๋ก์ธ์ค ์์ ์ด ์์๋ ํ ์ข ๋ฃ๋๊ธฐ๊น์ง ๊ฑธ๋ฆฌ๋ ์๊ฐ
๋ฐํ ์๊ฐ: ๋๊ธฐ ์๊ฐ์ ํฌํจํ์ฌ ์คํ์ด ์ข ๋ฃ๋ ๋๊น์ง ๊ฑธ๋ฆฌ๋ ์๊ฐ, ์ฆ ํ๋ก์ธ์ค์ ์ค๋น ํ ๋์ฐฉ๋ถํฐ ์ข ๋ฃ๊น์ง ๊ฑธ๋ฆฌ๋ ์๊ฐ
๋ค์์ ์ฌ๋ฌ ์ข ๋ฅ์ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ ๋ณด์. ๊ฐ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ ์๋ ํ์ฒ๋ผ ํฌ๊ฒ ์ ์ ํ์ธ์ง ๋น์ ์ ํ์ธ์ง๋ก ๋๋ ์ ์๋ค.
FCFS ์ค์ผ์ค๋ง(First Come First Served)
์ค๋น ํ์ ๋์ฐฉํ ์์๋๋ก CPU๋ฅผ ํ ๋นํ๋ ๋น์ ์ ํ ๋ฐฉ์์ผ๋ก, ์ ์ ์ ์ถ ์ค์ผ์ค๋ง์ด๋ผ๊ณ ๋ ํ๋ค. ์ด๊ธฐ ์ผ๊ด ์์ ์์คํ ์์ ์ฌ์ฉ๋๋ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ์ค๋น ํ๊ฐ ํ๋๋ผ ๋ชจ๋ ํ๋ก์ธ์ค์ ์ฐ์ ์์๊ฐ ๋์ผํ๋ค. ์ด ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ ์ฒ๋ฆฌ ์๊ฐ์ด ๊ธด ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ์ฐจ์งํ๋ฉด ๋ค๋ฅธ ํ๋ก์ธ์ค๋ค์ ํ์ผ์์ด ๊ธฐ๋ค๋ฆฌ๋๋ผ ์์คํ ์ ํจ์จ์ฑ์ด ๋จ์ด์ง๋๋ฐ, ์ด๋ฅผ ์ฝ๋ณด์ด ํจ๊ณผ๋ผ๊ณ ํ๋ค. ๊ฒฐ๊ตญ, CPU ์ด์ฉ ์๊ฐ์ด ๊ธด ํ๋ก์ธ์ค๊ฐ ๋ฌธ์ ์ด๋ฏ๋ก CPU ์ด์ฉ ์๊ฐ์ด ์งง์ ์์ ๋ถํฐ ์ค์ผ์ค๋งํ๋ SJF ์ค์ผ์ค๋ง์ด ๋ฑ์ฅํ๊ฒ ๋๋ค.
SJF ์ค์ผ์ค๋ง(Shortest Job First)
์ค๋น ํ์ ์๋ ํ๋ก์ธ์ค ์ค์์ ์คํ ์๊ฐ์ด ๊ฐ์ฅ ์งง์ ์์ ๋ถํฐ CPU๋ฅผ ํ ๋นํ๋ ๋น์ ์ ํ ๋ฐฉ์์ผ๋ก, ์ต๋จ ์์ ์ฐ์ ์ค์ผ์ค๋ง์ด๋ผ๊ณ ๋ ํ๋ค. ์์ ์์ ์ ๋จผ์ ์คํํ๊ธฐ ๋๋ฌธ์ ์์คํ ์ ํจ์จ์ฑ์ ์ข์์ง๋ค. ํ์ง๋ง, ํ๋์ ํ๋ก์ธ์ค๋ ์ฌ์ฉ์์ ๋น๋ฒํ๊ฒ ์ํธ ์์ฉํ๊ธฐ ๋๋ฌธ์ ํ๋ก๊ทธ๋จ ์คํ ์๊ฐ์ ํ์ ํ๊ธฐ ์ด๋ ต๊ธฐ ๋๋ฌธ์ ์ด ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๊ธฐ ํ๋ค๋ค. ๋ํ, SJF ์๊ณ ๋ฆฌ์ฆ์ ๊ณตํ์ฑ์ ์๋ฐฐ๋๋ค. SJF ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๋ฉด ์ด๋ค ํ๋ก์ธ์ค๋ CPU ํ ๋น์ด ๊ณ์ ์ฐ๊ธฐ๋ ์ ์๋๋ฐ ์ด๋ฅผ ๊ธฐ์ ์ํ(Starvation)๋ผ๊ณ ํ๋ค.
์ด๋, ๊ธฐ์ ์ํ๋ ์์ด์ง(Aging)์ผ๋ก ์ํํ ์ ์๋ค. ์์ด์ง์ ํ๋ก์ธ์ค๊ฐ ์๋ณดํ ์ ์๋ ์ํ์ ์ ์ ํ๋ ๋ฐฉ์์ด๋ค. ํ๋ก์ธ์ค๊ฐ ์์ ์ ์์๋ฅผ ์๋ณดํ ๋๋ง๋ค ๋์ด๋ฅผ ํ ์ด์ฉ ๋จน์ด ์ต๋ ๋ช ์ด๊น์ง๋ง ์๋ณดํ๋๋ก ๊ท์ ํ๋ ๋ฐฉ์์ด๋ค. ํ์ง๋ง, ์์ด์ง ๊ฐ์ ์ด๋ค ๊ธฐ์ค์ผ๋ก ์ ํ ๊ฒ์ธ์ง๊ฐ ๋ฌธ์ ๋ผ ์ด ๋ฐฉ๋ฒ์๋ ํ๊ณ๊ฐ ์๋ค.
HRN ์ค์ผ์ค๋ง(Highest Response Ratio Next)
SJF ์ค์ผ์ค๋ง์์ ๋ฐ์ํ ์ ์๋ ๊ธฐ์ ์ํ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ง๋ค์ด์ง ๋น์ ์ ํ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก, ์ต๊ณ ์๋ต๋ฅ ์ฐ์ ์ค์ผ์ค๋ง์ด๋ผ๊ณ ๋ ํ๋ค. SJF์ ์ค์ผ์ค๋ง์ ์ฐ์ ์์ ํ๋จ ๊ธฐ์ค์ด ํ๋ก์ธ์ค์ ์คํ ์๊ฐ์ด์๋ค๋ฉด, HRN์ ๋๊ธฐ ์๊ฐ๊ณผ CPU ์ฌ์ฉ ์๊ฐ, ์ฆ ์คํ ์๊ฐ์ ๊ณ ๋ คํ์ฌ ์ค์ผ์ค๋งํ๋ ๋ฐฉ์์ด๋ค. ๋ค์์ HRN ์ค์ผ์ค๋ง์์ ์ฐ์ ์์๋ฅผ ์ ํ๋ ๊ธฐ์ค์ด๋ค.
HRN ์ค์ผ์ค๋ง์ SJF ์ค์ผ์ค๋ง์ ๊ธฐ์ ์ํ๋ ์ํํ์์ง๋ง, ์ฌ์ ํ ๊ณตํ์ฑ์ด ์๋ฐฐ๋์ด ๋ง์ด ์ฌ์ฉ๋์ง๋ ์๋๋ค.
๋ผ์ด๋ ๋ก๋น ์ค์ผ์ค๋ง(Round Robin)
ํ ํ๋ก์ธ์ค๊ฐ ํ ๋น๋ฐ์ ์๊ฐ(ํ์ ์ฌ๋ผ์ด์ค) ๋์ ์์ ์ ํ๋ค๊ฐ ์๋ฃํ์ง ๋ชปํ๋ฉด ์ค๋น ํ์ ๋งจ ๋ค๋ก ๊ฐ์ ์๊ธฐ ์ฐจ๋ก๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ ๋ฐฉ์์ด๋ค. ์ ์ ํ ์๊ณ ๋ฆฌ์ฆ ์ค ์ฐ์ ์์๊ฐ ์ ์ฉ๋์ง ์์ ๊ฐ์ฅ ๋จ์ํ ๋ฐฉ์์ผ๋ก, ํ๋ก์ธ์ค๋ค์ด ์์ ์ ์๋ฃํ ๋๊น์ง ๊ณ์ ์ํํ๋ฉด์ ์คํ๋๋ค.
FCFS ์ค์ผ์ค๋ง์ ๋นํด ๋น์ฐํ ์ฝ๋ณด์ด ํจ๊ณผ๊ฐ ์ค์ด๋ค์ง๋ง, ์ ์ ํ ๋ฐฉ์์ ๋ฌธ๋งฅ ๊ตํ ์ค๋ฒํค๋๊น์ง ์ถ๊ฐ๋๋ฉด ํ๊ท ๋๊ธฐ ์๊ฐ์ด ๋ ํฌ๊ฒ ๋์ฌ ์ ์๋ค.
SRT ์ค์ผ์ค๋ง(Shortest Remaining Time)
SJF ์ค์ผ์ค๋ง๊ณผ ๋ผ์ด๋ ๋ก๋น ์ค์ผ์ค๋ง์ ํผํฉํ ๋ฐฉ์์ผ๋ก ์ต์ ์๋ฅ ์๊ฐ ์ฐ์ ์ค์ผ์ค๋ง์ด๋ผ๊ณ ๋ ํ๋ค. ์ด ๋ฐฉ์์ SJF ์ค์ผ์ค๋ง์ ์ ์ ํ ๋ฒ์ ์ด๋ผ๊ณ ํ ์ ์๋ค. SRT ์ค์ผ์ค๋ง์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ผ์ด๋ ๋ก๋น ์ค์ผ์ค๋ง์ ์ฌ์ฉํ์ง๋ง, CPU๋ฅผ ํ ๋น๋ฐ์ ํ๋ก์ธ์ค๋ฅผ ์ ํํ ๋ ๋จ์ ์์ ์๊ฐ์ด ๊ฐ์ฅ ์ ์ ํ๋ก์ธ์ค๋ฅผ ์ ํํ๋ค. ์ด๋, ๋จผ์ CPU๋ฅผ ํ ๋น๋ฐ์ ์คํ๋๊ณ ์๋ ํ๋ก์ธ์ค๊ฐ ์๋๋ผ๋ ์ค๋น ํ์ ์์ ์๊ฐ์ด ๋ ์ ์ ํ๋ก์ธ์ค๊ฐ ์ค๋ฉด ํ์ฌ ์คํ๋๊ณ ์๋ ํ๋ก์ธ์ค๋ฅผ ๋๊ธฐ ์ํ๋ก ๋ณด๋ด๊ณ ์์ ์๊ฐ์ด ๋ ์ ์ ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ํ ๋น๋ฐ๊ฒ ํ๋ค.
SJF ์ค์ผ์ค๋ง๊ณผ ํ๊ท ๋๊ธฐ ์๊ฐ์ ๋น๊ตํด ๋ณด๋ฉด SRT ์ค์ผ์ค๋ง์ ํ๊ท ๋๊ธฐ ์๊ฐ์ด ์งง๋ค. ํ์ง๋ง, SJF ์ค์ผ์ค๋ง๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์ด์์ฒด์ ๊ฐ ํ๋ก์ธ์ค ์ข ๋ฃ ์๊ฐ์ ์์ธกํ๊ธฐ ์ด๋ ต๊ณ ๊ธฐ์ ์ํ๊ฐ ์ผ์ด๋๊ธฐ ๋๋ฌธ์ ์ ์ฌ์ฉํ์ง ์๋๋ค.
๋ค๋จ๊ณ ํ ์ค์ผ์ค๋ง(Multi-Level Queue)
์ฐ์ ์์์ ๋ฐ๋ผ ์ค๋น ํ๋ฅผ ์ฌ๋ฌ ๊ฐ ์ฌ์ฉํ๋ ๋ฐฉ์์ด๋ค. ํ๋ก์ธ์ค๋ ์ด์์ฒด์ ๋ก๋ถํฐ ๋ถ์ฌ๋ฐ์ ์ฐ์ ์์์ ๋ฐ๋ผ ํด๋น ์ฐ์ ์์์ ํ์ ์ฝ์ ๋๋ค. ๊ฐ ์ฐ์ ์์ ํ๋ ๋ผ์ด๋ ๋ก๋น ๋ฐฉ์์ผ๋ก ์ด์๋๋ฏ๋ก ํ๋ก์ธ์ค๊ฐ ํ์ ์ฝ์ ๋๋ ๊ฒ๋ง์ผ๋ก๋ ์ฐ์ ์์ ํ์์์ PCB ์ฐ์ ์์๊ฐ ๊ฒฐ์ ๋๋ค. ์ฐ์ ์์๋ ๊ณ ์ ์ฐ์ ์์๋ฅผ ์ฌ์ฉํ๋ฉฐ, ์๋จ ์ฐ์ ์์ ํ์ ์๋ ๋ชจ๋ ํ๋ก์ธ์ค์ ์์ ์ด ๋๋์ผ ๋ค์ ์ฐ์ ์์ ํ์ ์์ ์ด ์์๋๋ค.
์ฐ์ ์์๊ฐ ๋์ ์์ ํ ํ๋ก์ธ์ค์ ์์ ์ด ๋๋๊ธฐ ์ ์ ํ์ ํ ํ๋ก์ธ์ค์ ์์ ์ ํ ์๊ฐ ์๊ณ ํ์ ํ ํ๋ก์ธ์ค๊ฐ ์คํ๋๊ณ ์์ ๋ ์์ ํ ํ๋ก์ธ์ค๊ฐ ๋์ฐฉํ๋ฉด ๋๊ธฐ ์ํ๋ก ๋ณด๋ด๊ณ ์์ ํ ํ๋ก์ธ์ค๋ฅผ ์คํํ๋ค. ์ด๋, ์ฐ์ ์์๊ฐ ๋์ ํ๋ก์ธ์ค ๋๋ฌธ์ ์ฐ์ ์์๊ฐ ๋ฎ์ ํ๋ก์ธ์ค์ ์์ ์ด ์ฐ๊ธฐ๋๋๋ฐ, ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ ์๋ ๊ฒ์ด ๋ค๋จ๊ณ ํผ๋๋ฐฑ ํ ์ค์ผ์ค๋ง์ด๋ค. ๋ค๋จ๊ณ ํ ์ค์ผ์ค๋ง์ ์์ด์ง ๊ธฐ๋ฒ์ด ์ ์ฉ๋ ์ค์ผ์ค๋ง ๊ธฐ๋ฒ์ด๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค.
๋ค๋จ๊ณ ํผ๋๋ฐฑ ํ ์ค์ผ์ค๋ง(Multi-Level Feedback Queue)
๋ค๋จ๊ณ ํ ์ค์ผ์ค๋ง๊ณผ์ ์ฐจ์ด์ ์ ๋ค๋จ๊ณ ํผ๋๋ฐฑ ํ ์ค์ผ์ค๋ง์์๋ ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ์ฌ์ฉํ ํ์๋ ํ๋ก์ธ์ค์ ์ฐ์ ์์๊ฐ ๋ฎ์์ง๋ค. ๋ค์ ๋งํด, CPU๋ฅผ ์ฌ์ฉํ ํ์ PCB๋ ์๋์ ํ๋ก ๋๋์๊ฐ์ง ์๊ณ ์ฐ์ ์์๊ฐ ํ๋ ๋ฎ์ ํ์ ๋์ผ๋ก ๋ค์ด๊ฐ๋ค. ๋ฌผ๋ก ํ๋ก์ธ์ค์ ์ฐ์ ์์๊ฐ ๋ฎ์์ง๋ค๊ณ ํ ์ง๋ผ๋ ์ปค๋ ํ๋ก์ธ์ค๊ฐ ์ผ๋ฐ ํ๋ก์ธ์ค์ ํ์ ์ฝ์ ๋์ง๋ ์๋๋ค.
๋ ๋ค๋ฅธ ํน์ง์ ์ฐ์ ์์์ ๋ฐ๋ผ ํ์ ์ฌ๋ผ์ด์ค์ ํฌ๊ธฐ๊ฐ ๋ค๋ฅด๋ค๋ ๊ฒ์ด๋ค. ๋ค๋จ๊ณ ํผ๋๋ฐฑ ํ ์ค์ผ์ค๋ง์์๋ ์ด๋ ต๊ฒ ์ป์ CPU๋ฅผ ์ข ๋ ์ค๋ซ๋์ ์ฌ์ฉํ ์ ์๋๋ก ์ฐ์ ์์๊ฐ ๋ฎ์์ง์๋ก ํด๋น ํ์ ํ์ ์ฌ๋ผ์ด์ค๊ฐ ์ปค์ง๋ค. ๊ฒฐ๊ตญ ๋ค๋จ๊ณ ํผ๋๋ฐฑ ํ ์ค์ผ์ค๋ง์ ๋ง์ง๋ง ํ, ์ฆ ์ฐ์ ์์๊ฐ ๊ฐ์ฅ ๋ฎ์ ํ๋ก์ธ์ค๋ FCFS ์ค์ผ์ค๋ง ๋ฐฉ์์ฒ๋ผ ๋์ํ๋ค.
๋ง์ง๋ง์ผ๋ก, ๋ค๋จ๊ณ ํผ๋๋ฐฑ ํ ์ค์ผ์ค๋ง์ ์ฐ์ ์์๋ ๋ณ๋ ์ฐ์ ์์ ๋ฐฉ์์ ์ฌ์ฉํ๊ณ , ์ค๋๋ ์ด์์ฒด์ ๊ฐ CPU ์ค์ผ์ค๋ง์ ํ ๋ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉํ๋ ๋ฐฉ์์ด๋ค.
'CS > ์ด์์ฒด์ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ด์์ฒด์ ] ๋๊ธฐํ(Synchronization) (0) | 2023.04.23 |
---|---|
[์ด์์ฒด์ ] IPC (1) | 2023.04.23 |
[์ด์์ฒด์ ] ์ค๋ ๋ (0) | 2023.04.14 |
[์ด์์ฒด์ ] ํ๋ก์ธ์ค (0) | 2023.04.13 |
[์ด์์ฒด์ ] ์ปดํจํฐ์ ๊ตฌ์กฐ์ ์ฑ๋ฅ ํฅ์ (0) | 2023.04.12 |
๋๊ธ