๋์ ์ฝ๊ฒ ๋ฐฐ์ฐ๋ ์ด์์ฒด์ ์ ๊ฐ์ ์ด์์ฒด์ -๋ฐํจ๊ฒฝ ๋ฅผ ๋ณด๊ณ ์ ๋ฆฌํ ๊ธ์ ๋๋ค.
์ค์ผ์ค๋ง์ ์ฌ๋ฌ ํ๋ก์ธ์ค์ ์ํฉ์ ๊ณ ๋ คํ์ฌ CPU์ ์์คํ ์์์ ์ด๋ป๊ฒ ๋ฐฐ์ ํ ์ง ๊ฒฐ์ ํ๋ ์ผ์ ๋งํ๋ค.
๐ ์ค์ผ์ค๋ง ์์ค
๊ณ ์์ค ์ค์ผ์ค๋ง
์ฅ๊ธฐ ์ค์ผ์ค๋ง ์ด๋ผ๊ณ ๋ ํ๋ค.
๊ณ ์์ค ์ค์ผ์ค๋ง์ ์์คํ ๋ด์ ์ ์ฒด ์์ ์๋ฅผ ์กฐ์ ํ๋ ๊ฒ์ ๋งํ๋ค.
์์คํ ์ํฉ์ ๊ณ ๋ คํ์ฌ ์ด๋ค ์์ ์ ์น์ธํ ์ง, ๊ฑฐ๋ถํ ์ง๋ฅผ ๊ฒฐ์ ํ๊ธฐ ๋๋ฌธ์ ๋์์ ์คํ ๊ฐ๋ฅํ ํ๋ก์ธ์ค์ ์ด ๊ฐ์๊ฐ ์ ํด์ง๋ค.
์ ์์ค ์ค์ผ์ค๋ง
์ด๋ค ํ๋ก์ธ์ค์ CPU๋ฅผ ํ ๋นํ ์ง, ์ด๋ค ํ๋ก์ธ์ค๋ฅผ ๋๊ธฐ ์ํ๋ก ๋ณด๋ผ์ง ๋ฑ์ ๊ฒฐ์ ํ๋ค.
์ฃผ๋ก, ํ๋ก์ธ์ค์ ์ํ๋ฅผ ๊ด๋ฆฌํ๊ณ ๋จ๊ธฐ ์ค์ผ์ค๋ง ์ด๋ผ๊ณ ๋ ํ๋ค.
์ค๊ฐ ์์ค ์ค์ผ์ค๋ง
์์คํ ์ ๋์์ ์คํ ๊ฐ๋ฅํ ํ๋ก์ธ์ค์ ์๋ฅผ ๊ณ ์์ค ์ค์ผ์ค๋ง์ด ์ ํ๋ค๋ฉด
์ค๊ฐ ์์ค ์ค์ผ์ค๋ง์ ํ์ฑํ๋ ํ๋ก์ธ์ค์ ์๋ฅผ ์กฐ์ ํ์ฌ ๊ณผ๋ถํ๋ฅผ ๋ง๋๋ค.
์ผ๋ถ ํ๋ก์ธ์ค๋ฅผ ์ค์ง ์ํ๋ก ์ฎ๊ฒจ ๋๋จธ์ง ํ๋ก์ธ์ค๊ฐ ์๋งํ๊ฒ ์๋ํ๋๋ก ์ง์ํ๋ค.
๐ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ
์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ ํฌ๊ฒ ์ ์ ํ ์๊ณ ๋ฆฌ์ฆ๊ณผ ๋น์ ์ ํ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ๋๋๋ค.
- ์ ์ ํ ์ค์ผ์ค๋ง : ์ด์์ฒด์ ๊ฐ CPU๋ฅผ ๊ฐ์ ๋ก ๋นผ์์ ์ ์๋ ์ค์ผ์ค๋ง ๋ฐฉ์
- ๋น์ ์ ํ ์ค์ผ์ค๋ง : ๋ค๋ฅธ ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ๋บด์์ ์ ์๋ ์ค์ผ์ค๋ง ๋ฐฉ์
์ ์ ํ ์ค์ผ์ค๋ง์ ์๋ถํ ๋ฐฉ์, ๋น์ ์ ํ ์ค์ผ์ค๋ง์ ์ผ๊ด ์์ ๋ฐฉ์์ผ๋ก ์๊ฐํ๋ฉด ๋๋ค.
FCFS (First Come First Served) ์ค์ผ์ค๋ง
์ค๋น ํ์ ๋์ฐฉํ ์์๋๋ก CPU๋ฅผ ํ ๋นํ๋ ๋น์ ์ ํ ๋ฐฉ์์ด๋ค.
ํ์ ๋์ฐฉํ ์์๋๋ก ์คํ๋์ด ๋จ์ํ๊ณ ๊ณตํํ๋ค๊ณ ๋ณผ ์ ์์ง๋ง,
๋น์ ์ ํ ๋ฐฉ์์ด๊ธฐ ๋๋ฌธ์, ์ฒ๋ฆฌ ์๊ฐ์ด ๊ธด ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ์ฐจ์งํ๋ฉด ๋ค๋ฅธ ํ๋ก์ธ์ค๋ ๋๊ธฐ ์๊ฐ์ด ๊ธธ์ด์ ธ ํจ์จ์ฑ์ด ๋จ์ด์ง๋ค.
SJF (Shortest Job First) ์ค์ผ์ค๋ง
์คํ ์๊ฐ์ด ๊ฐ์ฅ ์งง์ ์์ ๋ถํฐ CPU๋ฅผ ํ ๋นํ๋ ๋น์ ์ ํ ๋ฐฉ์์ด๋ค.
๐จ ๋จ, ํ๋ก์ธ์ค์ ์ข ๋ฃ ์๊ฐ์ ์์ธกํ๊ธฐ ์ด๋ ต๊ณ ์์ ์๊ฐ์ด ๊ธธ๋ค๋ ์ด์ ๋ก ์์๊ฐ ๊ณ์ ๋ฐ๋ ค ์์ฌ ํ์์ด ๋ฐ์ํ ์ ์๋ค.
์์ฌ ํ์ : ํ๋ก์ธ์ค์ ์์ ์ด ๊ณ์ ๋ฏธ๋ค์ง๋ ํ์
HRN (Highest Response Ratio Next) ์ค์ผ์ค๋ง
์ต๊ณ ์๋ต๋ฅ ์ฐ์ ์ค์ผ์ค๋ง์ด๋ผ๊ณ ๋ถ๋ฆฌ๋ ๋น์ ์ ํ ๋ฐฉ์์ด๋ค.
HRN ์ค์ผ์ค๋ง์ ์๋น์ค๋ฅผ ๋ฐ๊ธฐ ์ํด ๊ธฐ๋ค๋ฆฐ ์๊ฐ๊ณผ CPU ์ฌ์ฉ ์๊ฐ์ ๊ณ ๋ คํ์ฌ ์ค์ผ์ค๋ง์ ํ๋ ๋ฐฉ์์ด๋ค.
๋ฐ๋ผ์, SJF ์ ๋ฌธ์ ์๋ ์์ฌ ํ์์ ์ด๋์ ๋ ํด๊ฒฐํด์ค ์ ์๋ค.
๋ผ์ด๋ ๋ก๋น ์ค์ผ์ค๋ง
ํ ๋น๋ฐ์ ์๊ฐ (ํ์ ์ฌ๋ผ์ด์ค) ๋์ ์์ ์ ํ๋ค๊ฐ ์์ ์ ์๋ฃํ์ง ๋ชปํ๋ฉด ์ค๋น ํ์ ๋งจ ๋ค๋ก ๊ฐ์ ์๊ธฐ ์ฐจ๋ก๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ ๋ฐฉ์์ด๋ค.
ํ ๋น ๋ ์๊ฐ์ด ๋๋๋ฉด CPU๋ฅผ ๋นผ์๊ธฐ๊ธฐ ๋๋ฌธ์ ์ ์ ํ ์๊ณ ๋ฆฌ์ฆ ์ค ๊ฐ์ฅ ๋จ์ํ๊ณ ๋ํ์ ์ธ ๋ฐฉ์์ด๋ค.
FCFS ๋ฐฉ์์์ ๊ฐ ํ๋ก์ธ์ค๊ฐ CPU ๋ฅผ ์ ์ ํ ์ ์๋ ์๊ฐ ์ ํ์ด ์ถ๊ฐ๋ ๋ฐฉ์์ผ๋ก ๋ณผ ์ ์๋ค.
๋จ, ๊ฐ ํ๋ก์ธ์ค์๊ฒ ๋ถ์ฌํ๋ CPU ์ฌ์ฉ ์๊ฐ์ ์ ์ ํ๊ฒ ์ค์ ํด๋์ด์ผ ํ๋ค.
๐จ ํ์ ์ฌ๋ผ์ด์ค๊ฐ ๋๋ฌด ํฌ๋ฉด FCFS ๋ฐฉ์๊ณผ ๋ค๋ฅผ๊ฒ ์์ด์ง๋ค. ํ์ ์ฌ๋ผ์ด์ค๊ฐ ๋๋ฌด ์์ผ๋ฉด ๋ฌธ๋งฅ ๊ตํ์ด ๋๋ฌด ์์ฃผ ์ผ์ด๋ ์ ๋ฐ์ ์ธ ์ฑ๋ฅ์ด ๋จ์ด์ง๊ฒ ๋๋ค.
SRT (Shortest Remaining Time) ์ฐ์ ์ค์ผ์ค๋ง
SJF ์ค์ผ์ค๋ง๊ณผ ๋ผ์ด๋ ๋ก๋น ์ค์ผ์ค๋ง ๋ฐฉ์์ ํผํฉํ ๋ฐฉ์์ด๋ค.
SJF ์ค์ผ์ค๋ง์ ์ ์ ํ ๋ฒ์ ์ด๋ค.
CPU๋ฅผ ํ ๋น๋ฐ์ ํ๋ก์ธ์ค๋ฅผ ์ ํํ ๋, ์์ ์๊ฐ์ด ๊ฐ์ฅ ์ ๊ฒ ๋จ์ ํ๋ก์ธ์ค๋ฅผ ์ฐ์ ์ผ๋ก ์ ํํ๊ณ ํ์ ์ฌ๋ผ์ด์ค ์๊ฐ ๋์ CPU๋ฅผ ์ฌ์ฉํ ์ ์๋๋ก ํ๋ค.
SJF ์ ๋จ์ ๊ณผ ์ ์ฌํ๊ฒ ์ข ๋ฃ ์๊ฐ์ ์์ธกํ๊ธฐ ์ด๋ ต๊ณ ์์ฌ ํ์์ด ๋ฐ์ํ๊ณ ๋จ์ ์๊ฐ์ ์ฃผ๊ธฐ์ ์ผ๋ก ๊ณ์ฐํด์ผ ํ๋ค.
๋ค๋จ๊ณ ํ ์ค์ผ์ค๋ง
์ฐ์ ์์์ ๋ฐ๋ผ ์ค๋น ํ๋ฅผ ์ฌ๋ฌ๊ฐ ์ฌ์ฉํ๋ ๋ฐฉ์์ด๋ค.
๊ฐ ํ๋ก์ธ์ค๋ ์ด์์ฒด์ ๋ก๋ถํฐ ๋ถ์ฌ๋ฐ์ ์ฐ์ ์์์ ๋ฐ๋ผ ํ์ ์ฝ์ ๋๋ค.
์๋จ์ ํ์ ์๋ ๋ชจ๋ ํ๋ก์ธ์ค์ ์์ ์ด ๋๋์ผ ๋ค์ ์ฐ์ ์์ ํ์ ์์ ์ด ์์๋๋ค.
๐จ ๋จ, ์ด ๋ฐฉ์์ ์์ ํ์ ์์ ์ด ๊ณ์ ๋ค์ด์ค๋ฉด ํ์ ํ์ ์๋ ์์ ์ ์์ฌ ํ์์ด ๋ฐ์ํ๋ค.
๋ค๋จ๊ณ ํผ๋๋ฐฑ ํ ์ค์ผ์ค๋ง
๋ค๋จ๊ณ ํผ๋๋ฐฑ ํ ์ค์ผ์ค๋ง์ CPU๋ฅผ ์ฌ์ฉํ๊ณ ์์ ์ด ๋จ์ ํ๋ก์ธ์ค๋ ํ๋ก์ธ์ค์ ์ฐ์ ์์ฌ๊ฐ ํ๋ ๋ฎ์ ํ์ ๋์ผ๋ก ๋ค์ด๊ฐ๋ค.
๋ํ, ์ฐ์ ์์์ ๋ฐ๋ผ ํ์ ํ์ ์ฌ๋ผ์ด์ค์ ํฌ๊ธฐ๊ฐ ๋ค๋ฅด๋ค.
์ฐ์ ์์๊ฐ ๋ฎ์ ์๋ก ํ์ ์ฌ๋ผ์ด์ค๊ฐ ํฌ๋ค.
์ฐ์ ์์๊ฐ ๋ฎ์ ์๋ก CPU๋ฅผ ์ป์ ํ๋ฅ ์ด ๋ฎ๊ธฐ ๋๋ฌธ์, ์ค๋ซ๋์ ์ฌ์ฉํ ์ ์๋๋ก ํ๊ธฐ ์ํ ๋ชฉ์ ์ด๋ค.
๐ CPU๊ฐ ์ฌ๋ฌ๊ฐ์ธ ๊ฒฝ์ฐ
1. Queue์ ํ์ค๋ก ์ธ์์ ์์์ ๊บผ๋ด๊ฐ๊ฒ ํ๋ค. (๋ฐ๋์, ํน์ CPU์์ ์ํ๋์ด์ผ ํ๋ ๊ฒฝ์ฐ ํ๋ก์ธ์ค๊ฐ ์๋ ๊ฒฝ์ฐ์ ๋ณต์กํด์ง๋ค.)
2. ๋ณ๊ฐ์ ํ๋ฅผ ์ฌ์ฉํ๋ค. (์ผ๋ถ CPU์ ํ์ ์์ ์ด ๋ชฐ๋ฆฌ์ง ์๋๋ก ํ๋ ๋ฉ์ปค๋์ฆ์ด ํ์ํ๋ค.)
3. ์ฌ๋ฌ๊ฐ์ CPU์ ์์ ์ ๋ถ๋ฐฐํ๋ ์ญํ ๋ง ๋ด๋นํ๋ CPU๋ฅผ ์ ํ๋ค.