1. ์ด์์ฒด์ ์ค์ผ์ค๋ง์ ๊ฐ๋
์ด์์ฒด์ ์ค์ผ์ค๋ง์ ์ปดํจํฐ ์์คํ ์์ ์คํํ ํ๋ก์ธ์ค๋ฅผ ๊ด๋ฆฌํ๋ ์์ ์ ์๋ฏธํฉ๋๋ค. ํ๋ก์ธ์ค๋ ์ปดํจํฐ์์ ์คํ๋๋ ์์ ๋๋ ํ๋ก๊ทธ๋จ์ผ๋ก, CPU ์๊ฐ, ๋ฉ๋ชจ๋ฆฌ ๋ฑ๊ณผ ๊ฐ์ ์์์ ํ์๋ก ํฉ๋๋ค. ์ด์์ฒด์ ๋ ์ด๋ฌํ ํ๋ก์ธ์ค๋ค์ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๊ณ , ์์์ ํจ๊ณผ์ ์ผ๋ก ํ ๋นํ์ฌ ์์คํ ์ ์ฑ๋ฅ์ ์ต์ ํํ๊ณ ์ ์ค์ผ์ค๋ง ๊ธฐ๋ฒ์ ์ฌ์ฉํฉ๋๋ค.
์ค์ผ์ค๋ง์ ์ปดํจํฐ ์์คํ ์์ ์ฌ๋ฌ ๊ฐ์ ํ๋ก์ธ์ค๊ฐ ๋์์ ์คํ๋ ์ ์๋ ํ๊ฒฝ์์ ์ค์ํ ์ญํ ์ ์ํํฉ๋๋ค. ์ด์์ฒด์ ์ค์ผ์ค๋ง์ ๋ค์๊ณผ ๊ฐ์ ๋ชฉ์ ์ ๊ฐ์ง๊ณ ์์ต๋๋ค.
- CPU ์ด์ฉ๋ฅ ์ต๋ํ: CPU๋ ํ ๋ฒ์ ํ๋์ ์์ ๋ง์ ์ฒ๋ฆฌํ ์ ์๊ธฐ ๋๋ฌธ์, ๋น๋ฒํ CPU ์ ์ ๋ฅผ ํตํด CPU ์ด์ฉ๋ฅ ์ ๋์ ๋๋ค.
- ์๋ต ์๊ฐ ์ต์ํ: ์ฌ์ฉ์์ ์ ๋ ฅ์ ๋ํด ํ๋กฌํํธ๊ฐ ๋น ๋ฅด๊ฒ ๋ํ๋ ์ ์๋๋ก, ํ๋ก์ธ์ค์ ๋๊ธฐ์๊ฐ์ ์ต์ํํ์ฌ ์๋ต ์๊ฐ์ ์ค์ ๋๋ค.
- ์์ ์๋ฃ ์๊ฐ ์ต์ํ: ์์คํ ์ ๋์์ ์คํ๋๋ ํ๋ก์ธ์ค๋ค ์ค์์ ์คํ ์๊ฐ์ด ๊ธด ์์ ๋ค์ ๋นจ๋ฆฌ ์ฒ๋ฆฌํ์ฌ, ์์ ์๋ฃ ์๊ฐ์ ์ต์ํํฉ๋๋ค.
- ์ฌ์ฉ์ ๊ฒฝํ ํฅ์: ๋ค์์ ์ฌ์ฉ์๊ฐ ๋์์ ์์คํ ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ, ๊ฐ ์ฌ์ฉ์์๊ฒ ๊ณตํํ๊ณ ์ ์ ํ ์์์ ํ ๋นํ์ฌ ์ฌ์ฉ์ ๊ฒฝํ์ ํฅ์์ํต๋๋ค.
์ด๋ฌํ ๋ชฉํ๋ฅผ ๋ฌ์ฑํ๊ธฐ ์ํด ์ด์์ฒด์ ๋ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ์ฌ ํ๋ก์ธ์ค์ ์ฐ์ ์์์ ์คํ ์์๋ฅผ ๊ฒฐ์ ํฉ๋๋ค. ์ค์ผ์ค๋ง์ ํ๋ก์ธ์ค์ ๋์ฐฉ ์๊ฐ, ์คํ ์๊ฐ, ์ฐ์ ์์ ๋ฑ์ ๊ณ ๋ คํ์ฌ ํ๋ก์ธ์ค๋ค์ ์ ํํ๊ณ , CPU ํ ๋น ๋ฐ ์๋ ๋ฑ์ ์กฐ์ ํฉ๋๋ค. ์ด๋ฅผ ํตํด ์ด์์ฒด์ ๋ ์์คํ ์ ์์์ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ๊ณ , ํ๋ก์ธ์ค๋ค์ ์คํ์ ์กฐ์ ํ์ฌ ์์คํ ์ ์ฑ๋ฅ์ ์ต์ ํํ ์ ์์ต๋๋ค.
2. ์ค์ผ์ค๋ง์ ๋ชฉ์ ๊ณผ ์ค์์ฑ
์ด์์ฒด์ ์ค์ผ์ค๋ง์ ์ปดํจํฐ ์์คํ ์์ ํ๋ก์ธ์ค๋ค์ ๊ด๋ฆฌํ์ฌ ์์คํ ์ ์ฑ๋ฅ์ ์ต์ ํํ๊ธฐ ์ํ ์ค์ํ ์์ ์ ๋๋ค. ์ด๋ฌํ ์ค์ผ์ค๋ง์ ๋ชฉ์ ๊ณผ ์ค์์ฑ์ ๋ํด ์์ธํ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
2.1 ๋ชฉ์
1) CPU ์ด์ฉ๋ฅ ์ต๋ํ: CPU๋ ์์คํ ์ ๊ฐ์ฅ ์ค์ํ ์์ ์ค ํ๋์ด๋ฉฐ, ์ฑ๋ฅ์ ์ต๋ํํ๋ ๋ฐ ํต์ฌ์ ์ธ ์ญํ ์ ํฉ๋๋ค. ์ค์ผ์ค๋ง์ CPU๋ฅผ ์ต๋ํ ํ์ฉํ์ฌ ์ ๋ ฅ ์์ ์ ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌํ๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค. ํ๋ก์ธ์ค๋ค์ ์ค๋จ ์์ด ๋์์ ์คํํ๊ณ , CPU ์๋ ์๊ฐ์ ์ต๋ํํ์ฌ CPU ์ด์ฉ๋ฅ ์ ๋์ด๋ ๊ฒ์ด ์ค์ผ์ค๋ง์ ์ฃผ์ ๋ชฉ์ ์ค ํ๋์ ๋๋ค.
2) ์๋ต ์๊ฐ ์ต์ํ: ์ฌ์ฉ์๋ ๋น ๋ฅธ ์๋ต ์๊ฐ์ ์๊ตฌํฉ๋๋ค. ์ค์ผ์ค๋ง์ ํ๋ก์ธ์ค๋ค์ ๋๊ธฐ์๊ฐ์ ์ต์ํํ์ฌ ์๋ต ์๊ฐ์ ๋จ์ถํ๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค. ์ฌ์ฉ์์ ์ ๋ ฅ์ ๋ํ ์ ์ํ ๋ฐ์์ด ์ค์ํ ์์คํ ์์๋ ์๋ต ์๊ฐ์ ์ต์ํํ๋ ๊ฒ์ด ํ์์ ์ ๋๋ค.
3) ์์ ์๋ฃ ์๊ฐ ์ต์ํ: ์์คํ ์๋ ๋ค์ํ ์ข ๋ฅ์ ์์ ๋ค์ด ๋์์ ์คํ๋ฉ๋๋ค. ์ด๋ค ์์ ๋ค ์ค ์คํ ์๊ฐ์ด ๊ธด ์์ ๋ค์ด ์์ต๋๋ค. ์ค์ผ์ค๋ง์ ์คํ ์๊ฐ์ด ๊ธด ์์ ๋ค์ ๋จผ์ ์ฒ๋ฆฌํ์ฌ ์์ ์๋ฃ ์๊ฐ์ ์ต์ํํ๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค.
4) ์ฌ์ฉ์ ๊ฒฝํ ํฅ์: ๋ค์์ ์ฌ์ฉ์๊ฐ ์์คํ ์ ๋์์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ, ์ฌ์ฉ์ ๊ฒฝํ์ ํ์ง์ ์์คํ ์ ์ฑ๋ฅ๊ณผ ์ง๊ฒฐ๋ฉ๋๋ค. ์ค์ผ์ค๋ง์ ์ฌ์ฉ์๋ค ์ฌ์ด์์ ์์์ ๊ณตํํ๊ฒ ๋ถ๋ฐฐํ์ฌ ๊ณต์ ํ ํ๊ฒฝ์ ์ ๊ณตํ๊ณ , ์ฌ์ฉ์ ๊ฒฝํ์ ํฅ์์ํค๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค.
2.2 ์ค์์ฑ
์ค์ผ์ค๋ง์ ๋ค์์ ํ๋ก์ธ์ค๋ค์ด ๋์์ ์คํ๋๋ ํ๊ฒฝ์์ ์์คํ ์ ์ฑ๋ฅ์ ๊ฒฐ์ ์ง๋ ์ค์ํ ์์์ ๋๋ค. ๋ค์์ ์ค์ผ์ค๋ง์ ์ค์์ฑ์ ์ค๋ช ํ๋ ๋ช ๊ฐ์ง ์ด์ ์ ๋๋ค.
1) ์์ ๊ด๋ฆฌ: ์ค์ผ์ค๋ง์ CPU, ๋ฉ๋ชจ๋ฆฌ, ์ ์ถ๋ ฅ ์ฅ์น ๋ฑ๊ณผ ๊ฐ์ ์์คํ ์ ์์์ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํฉ๋๋ค. ์์์ ํจ์จ์ ์ธ ํ ๋น์ ์์คํ ์ ์ ๋ฐ์ ์ธ ์ฑ๋ฅ์ ์ง์ ์ ์ธ ์ํฅ์ ๋ฏธ์น๋ฉฐ, ์ค์ผ์ค๋ง์ ์ด๋ฌํ ์์์ ์ ์ ํ ์กฐ์ ํจ์ผ๋ก์จ ์์คํ ์ ์ฑ๋ฅ์ ์ต์ ํํฉ๋๋ค.
2) ์๋ต ์๊ฐ ๊ฐ์ : ์ค์ผ์ค๋ง์ ํ๋ก์ธ์ค์ ๋๊ธฐ ์๊ฐ์ ์ต์ํํ์ฌ ์๋ต ์๊ฐ์ ํฅ์์ํต๋๋ค. ์ฌ์ฉ์๊ฐ ๋น ๋ฅธ ์๋ต์ ๊ธฐ๋ํ๋ ์์คํ ์์๋ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ ์ ํ์ด ์ค์ํ๋ฉฐ, ์๋ต ์๊ฐ ๊ฐ์ ์ ์ฌ์ฉ์ ๊ฒฝํ๊ณผ ์์คํ ์ ์ฑ๋ฅ ํฅ์์ ์ง๊ฒฐ๋ฉ๋๋ค.
3) ์์ ์ฒ๋ฆฌ ์๊ฐ ๋จ์ถ: ์ค์ผ์ค๋ง์ ์์ ์๋ฃ ์๊ฐ์ ์ต์ํํ์ฌ ์์คํ ์ ์์ฐ์ฑ์ ํฅ์์ํต๋๋ค. ์คํ ์๊ฐ์ด ๊ธด ์์ ๋ค์ ์ฐ์ ์์๋ฅผ ๋์ด๊ณ ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌํจ์ผ๋ก์จ ์์ ์ฒ๋ฆฌ ์๊ฐ์ ๋จ์ถ์ํค๋ ๊ฒ์ด ์ค์ผ์ค๋ง์ ๋ชฉํ์ ๋๋ค.
4) ์์คํ ์์ ์ฑ: ์ค์ผ์ค๋ง์ ํ๋ก์ธ์ค๋ค ๊ฐ ์ถฉ๋๊ณผ ๊ฐ์ญ์ ๋ฐฉ์งํ์ฌ ์์คํ ์์ ์ฑ์ ์ ์งํฉ๋๋ค. ์์ ์ถฉ๋์ด๋ ์ฐ์ ์์ ์ธ๋ฒ์ ๊ณผ ๊ฐ์ ๋ฌธ์ ๋ฅผ ํผํ๊ธฐ ์ํด ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ ํ๋ก์ธ์ค ๊ฐ์ ์กฐ์จ์ ์ํํ๊ณ , ์์คํ ์ ์์ ์ฑ์ ๋ณด์ฅํฉ๋๋ค.
์ค์ผ์ค๋ง์ ์ด์์ฒด์ ์ ํต์ฌ ๊ธฐ๋ฅ ์ค ํ๋์ด๋ฉฐ, ์์คํ ์ ์ฑ๋ฅ๊ณผ ์์ ์ฑ์ ๊ฒฐ์ ํ๋ ์ฃผ์ํ ์ญํ ์ ํฉ๋๋ค. ์ ์ ํ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ ์ ํ๊ณผ ๊ตฌํ์ ์์คํ ์ ์ฑ๋ฅ์ ๊ฐ์ ํ๊ณ , ์ฌ์ฉ์๋ค์๊ฒ ๋ ๋์ ๊ฒฝํ์ ์ ๊ณตํ๋ ๋ฐ ํฐ ์ํฅ์ ๋ฏธ์น๊ฒ ๋ฉ๋๋ค.
3. ์ค์ผ์ค๋ง์ ์ข ๋ฅ
์ค์ผ์ค๋ง์ ๋ค์ํ ์ข ๋ฅ์ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ์ฌ ํ๋ก์ธ์ค์ ์ฐ์ ์์์ ์คํ ์์๋ฅผ ๊ฒฐ์ ํฉ๋๋ค. ๋ค์์ ์ฃผ์ํ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ ์ข ๋ฅ์ ๋ํ ์์ธํ ์ค๋ช ์ ๋๋ค.
3.1 ์ ์ ํ ์ค์ผ์ค๋ง (Preemptive Scheduling)
์ ์ ํ ์ค์ผ์ค๋ง์ ์ฐ์ ์์๊ฐ ๋์ ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ์ ์ ํ๋ ๋์ค์ ๋ค๋ฅธ ํ๋ก์ธ์ค์ ์ํด CPU๋ฅผ ๋นผ์๊ธธ ์ ์๋ ์ค์ผ์ค๋ง ๋ฐฉ์์ ๋๋ค. ์ฐ์ ์์๊ฐ ๋์ ํ๋ก์ธ์ค๊ฐ ๋์ฐฉํ๋ฉด ํ์ฌ ์คํ ์ค์ธ ํ๋ก์ธ์ค๋ฅผ ์ค๋จ์ํค๊ณ , ์ฐ์ ์์๊ฐ ๋์ ํ๋ก์ธ์ค์๊ฒ CPU๋ฅผ ํ ๋นํฉ๋๋ค. ์ ์ ํ ์ค์ผ์ค๋ง์ ์๋ต ์๊ฐ์ ์ต์ํํ์ฌ ์ค์๊ฐ ์ฒ๋ฆฌ ์์คํ ๊ณผ ๊ฐ์ด ๋น ๋ฅธ ๋ฐ์์ด ํ์ํ ํ๊ฒฝ์์ ์ฌ์ฉ๋ฉ๋๋ค. ๋ํ์ ์ธ ์ ์ ํ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ผ๋ก๋ Round Robin, Priority Scheduling ๋ฑ์ด ์์ต๋๋ค.
3.2 ๋น์ ์ ํ ์ค์ผ์ค๋ง (Non-preemptive Scheduling)
๋น์ ์ ํ ์ค์ผ์ค๋ง์ ํ์ฌ ์คํ ์ค์ธ ํ๋ก์ธ์ค๊ฐ ๋๋๊ฑฐ๋ ๋๊ธฐ ์ํ๋ก ์ ํ๋๊ธฐ ์ ๊น์ง CPU๋ฅผ ์ ์ ํ๋ ์ค์ผ์ค๋ง ๋ฐฉ์์ ๋๋ค. ์ฐ์ ์์๊ฐ ๋์ ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ์ ์ ํ๊ณ ์๋ค๋ฉด, ์ฐ์ ์์๊ฐ ๋ฎ์ ํ๋ก์ธ์ค๋ ๊ธฐ๋ค๋ ค์ผ ํฉ๋๋ค. ์ด๋ฌํ ์ค์ผ์ค๋ง ๋ฐฉ์์ ํ๋ก์ธ์ค ๊ฐ์ ๋น์ ์ ์ฑ์ ๋ณด์ฅํ๊ณ , ์์์ ํจ์จ์ ์ธ ํ ๋น์ ํตํด ์ฑ๋ฅ์ ํฅ์์ํฌ ์ ์์ต๋๋ค. ๋น์ ์ ํ ์ค์ผ์ค๋ง์ ์๋ต ์๊ฐ๋ณด๋ค๋ ์์ ์ฒ๋ฆฌ ์๊ฐ์ ์ฐ์ ์ํ๋ ๊ฒฝ์ฐ์ ์ฌ์ฉ๋ฉ๋๋ค. ๋ํ์ ์ธ ๋น์ ์ ํ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ผ๋ก๋ First-Come, First-Served (FCFS), Shortest Job Next (SJN), Priority Scheduling ๋ฑ์ด ์์ต๋๋ค.
3.3 ์ฐ์ ์์ ๊ธฐ๋ฐ ์ค์ผ์ค๋ง (Priority Scheduling)
์ฐ์ ์์ ๊ธฐ๋ฐ ์ค์ผ์ค๋ง์ ๊ฐ ํ๋ก์ธ์ค์ ์ฐ์ ์์๋ฅผ ๋ถ์ฌํ๊ณ , ์ฐ์ ์์๊ฐ ๊ฐ์ฅ ๋์ ํ๋ก์ธ์ค์๊ฒ CPU๋ฅผ ํ ๋นํ๋ ์ค์ผ์ค๋ง ๋ฐฉ์์ ๋๋ค. ์ฐ์ ์์๋ ์ ์๋ก ํํ๋๋ฉฐ, ์ผ๋ฐ์ ์ผ๋ก ์์ ๊ฐ์ด ์ฐ์ ์์๊ฐ ๋์ต๋๋ค. ์ฐ์ ์์ ๊ธฐ๋ฐ ์ค์ผ์ค๋ง์ ๋น์ ์ ํ์ด๋ ์ ์ ํ์ผ๋ก ๊ตฌํ๋ ์ ์์ผ๋ฉฐ, ์ฐ์ ์์๊ฐ ๊ณ ์ ์ ์ด๊ฑฐ๋ ๋์ ์ผ๋ก ๋ณ๊ฒฝ๋ ์ ์์ต๋๋ค. ์ด๋ฌํ ์ค์ผ์ค๋ง ๋ฐฉ์์ ํ๋ก์ธ์ค์ ์ค์๋์ ์คํ ์๊ฐ์ ๋ฐ๋ผ ์์์ ํ ๋นํ๋ฏ๋ก, ์์ ์ฒ๋ฆฌ ์๊ฐ์ ์ต์ํํ๊ณ ์์คํ ์ ์ฑ๋ฅ์ ํฅ์์ํฌ ์ ์์ต๋๋ค.
3.4 ๋ผ์ด๋ ๋ก๋น ์ค์ผ์ค๋ง (Round Robin Scheduling)
๋ผ์ด๋ ๋ก๋น ์ค์ผ์ค๋ง์ ์ ์ ํ ์ค์ผ์ค๋ง์ ๋ํ์ ์ธ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก, ์ฌ๋ฌ ํ๋ก์ธ์ค๋ค์ด ๋์์ ์คํ๋ ์ ์๋ ํ๊ฒฝ์์ ์ฌ์ฉ๋ฉ๋๋ค. ๊ฐ ํ๋ก์ธ์ค๋ ๋์ผํ ํฌ๊ธฐ์ ์๊ฐ ํ ๋น์ธ 'ํ์ ์ฌ๋ผ์ด์ค'๋ฅผ ๊ฐ์ง๋ฉฐ, ํ๋ก์ธ์ค๋ ํด๋น ํ์ ์ฌ๋ผ์ด์ค ๋ด์์ ์คํ๋ฉ๋๋ค. ํ์ ์ฌ๋ผ์ด์ค๊ฐ ์ง๋๋ฉด ํ์ฌ ์คํ ์ค์ธ ํ๋ก์ธ์ค๋ CPU๋ฅผ ๋นผ์๊ธธ ์ ์์ต๋๋ค. ๋ผ์ด๋ ๋ก๋น ์ค์ผ์ค๋ง์ CPU ์ด์ฉ๋ฅ ์ ๋์ด๊ณ ์๋ต ์๊ฐ์ ๋ถ์ฐ์ํค๋ ์ฅ์ ์ด ์์ผ๋ฉฐ, ์๋ถํ ์์คํ ์์ ๊ฐ์ฅ ๋๋ฆฌ ์ฌ์ฉ๋๋ ์๊ณ ๋ฆฌ์ฆ์ ๋๋ค.
์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ ์ด์์ฒด์ ์ ์ข ๋ฅ์ ์์คํ ์ ์๊ตฌ์ฌํญ์ ๋ฐ๋ผ ์ ํ๋๋ฉฐ, ๋ชฉํ์ ์ํฉ์ ๋ง๊ฒ ์ ์ ํ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ๊ฐ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ ์ฅ๋จ์ ์ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ, ์์คํ ์ ์ฑ๋ฅ๊ณผ ์ฌ์ฉ์ ๊ฒฝํ์ ์ํฅ์ ๋ฏธ์นฉ๋๋ค. ๋ฐ๋ผ์ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ ์ ํ์ ์์คํ ์ค๊ณ์ ์ฑ๋ฅ ์ต์ ํ์ ํฐ ์ํฅ์ ๋ฏธ์น๋ค๊ณ ํ ์ ์์ต๋๋ค.
4. ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ
์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ ๋ค์ํ ๋ฐฉ์์ผ๋ก ํ๋ก์ธ์ค๋ค์ ๊ด๋ฆฌํ์ฌ CPU์ ํ์ฉ๊ณผ ์์ ์ฒ๋ฆฌ ์๊ฐ์ ์ต์ ํํ๋ ์ญํ ์ ํฉ๋๋ค. ๋ค์์ ์ฃผ์ํ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ ๋ํ ์์ธํ ์ค๋ช ์ ๋๋ค.
4.1 FCFS (First-Come, First-Served)
FCFS๋ ๋น์ ์ ํ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ ์ค ํ๋๋ก, ๋จผ์ ๋์ฐฉํ ํ๋ก์ธ์ค์๊ฒ CPU๋ฅผ ํ ๋นํ๋ ๋ฐฉ์์ ๋๋ค. CPU ๋ฒ์คํธ ์๊ฐ์ด ๊ธด ํ๋ก์ธ์ค๊ฐ ๋จผ์ ๋์ฐฉํ๋ ๊ฒฝ์ฐ, ๋ค์ ์๋ ํ๋ก์ธ์ค๋ค์ ๊ธฐ๋ค๋ ค์ผ ํฉ๋๋ค. ๋ฐ๋ผ์ ๋น์ ์ ํ์ด๋ฏ๋ก ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ๋๊น์ง ์ฌ์ฉํ๊ฑฐ๋ ๋๊ธฐ ์ํ๋ก ์ ํ๋ ๋๊น์ง CPU๋ฅผ ์ ์ ํฉ๋๋ค. FCFS๋ ๊ตฌํ์ด ๊ฐ๋จํ๊ณ ๊ณต์ ํ ์์ ํ ๋น์ด ๊ฐ๋ฅํ์ง๋ง, ํ๊ท ์๋ต ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆด ์ ์์ผ๋ฉฐ, ์งง์ ์์ ์ด ๋ค๋ก ๋ฐ๋ฆฌ๋ ํ์์ธ '๋ฌด์์์ฑ ํ์'์ด ๋ฐ์ํ ์ ์์ต๋๋ค.
4.2 SJN (Shortest Job Next)
SJN์ ๋น์ ์ ํ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ ์ค ํ๋๋ก, CPU ๋ฒ์คํธ ์๊ฐ์ด ๊ฐ์ฅ ์งง์ ํ๋ก์ธ์ค์๊ฒ ์ฐ์ ์ ์ผ๋ก CPU๋ฅผ ํ ๋นํ๋ ๋ฐฉ์์ ๋๋ค. ์งง์ ์์ ์๊ฒ ์ฐ์ ์ ์ผ๋ก ์์์ ํ ๋นํ๊ธฐ ๋๋ฌธ์ ํ๊ท ๋๊ธฐ ์๊ฐ์ด ์ค์ด๋ค๊ณ , ์์ ์ฒ๋ฆฌ ์๊ฐ์ ์ต์ํํ ์ ์์ต๋๋ค. ํ์ง๋ง ์ค์ ๋ก ํ๋ก์ธ์ค์ CPU ๋ฒ์คํธ ์๊ฐ์ ์์ธกํ๊ธฐ ์ด๋ ค์ด ๊ฒฝ์ฐ๊ฐ ๋ง๊ธฐ ๋๋ฌธ์, ์ฌ์ ์ ๋ฒ์คํธ ์๊ฐ์ ์ ํํ๊ฒ ํ์ ํ๋ ๊ฒ์ด ์ด๋ ต๊ณ ์ค๋ฒํค๋๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
4.3 Priority Scheduling
Priority Scheduling์ ์ฐ์ ์์ ๊ธฐ๋ฐ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ผ๋ก, ๊ฐ ํ๋ก์ธ์ค์ ์ฐ์ ์์๋ฅผ ๋ถ์ฌํ์ฌ ์ฐ์ ์์๊ฐ ๋์ ํ๋ก์ธ์ค์๊ฒ CPU๋ฅผ ํ ๋นํ๋ ๋ฐฉ์์ ๋๋ค. ํ๋ก์ธ์ค์ ์๋์ ์ธ ์ค์๋์ ๋ฐ๋ผ ์ฐ์ ์์๋ฅผ ์ค์ ํ๊ณ , ์ฐ์ ์์๊ฐ ๊ฐ์ฅ ๋์ ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ์ ์ ํฉ๋๋ค. ์ฐ์ ์์๋ ์ ์๊ฐ์ผ๋ก ํํ๋๋ฉฐ, ์ผ๋ฐ์ ์ผ๋ก ์์ ๊ฐ์ด ์ฐ์ ์์๊ฐ ๋์ต๋๋ค. Priority Scheduling์ ๋น์ ์ ํ์ด๊ฑฐ๋ ์ ์ ํ์ผ๋ก ๊ตฌํ๋ ์ ์์ผ๋ฉฐ, ๊ธฐ๋ณธ ์ฐ์ ์์๋ ์ ์ ์ผ๋ก ํ ๋น๋๊ฑฐ๋ ๋์ ์ผ๋ก ๋ณ๊ฒฝ๋ ์ ์์ต๋๋ค. ์ฐ์ ์์ ๊ธฐ๋ฐ ์ค์ผ์ค๋ง์ ์์ ์ฒ๋ฆฌ ์๊ฐ์ ์ต์ํํ๊ณ ํ๋ก์ธ์ค์ ์ค์๋์ ๋ฐ๋ผ ์์์ ํ ๋นํ๊ธฐ ๋๋ฌธ์ ์ ์ฉํฉ๋๋ค.
4.4 Round Robin
Round Robin์ ์ ์ ํ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ผ๋ก, ๊ฐ ํ๋ก์ธ์ค์ ๋์ผํ ์๊ฐ ํ ๋น์ธ 'ํ์ ์ฌ๋ผ์ด์ค'๋ฅผ ๋ถ์ฌํ์ฌ ์ํ์ ์ผ๋ก CPU๋ฅผ ํ ๋นํ๋ ๋ฐฉ์์ ๋๋ค. ๊ฐ ํ๋ก์ธ์ค๋ ํ์ ์ฌ๋ผ์ด์ค ๋ด์์ ์คํ๋๋ฉฐ, ํ์ ์ฌ๋ผ์ด์ค๊ฐ ์ง๋๋ฉด ๋ค์ ํ๋ก์ธ์ค์๊ฒ CPU๋ฅผ ๋๊น๋๋ค. Round Robin์ ๊ณต์ ํ ์์ ํ ๋น์ ์ ๊ณตํ
5. ์ค์ผ์ค๋ง์ ์ํฅ๊ณผ ๋์ ๊ณผ์
์ค์ผ์ค๋ง์ ์ด์์ฒด์ ์ ํต์ฌ ๊ธฐ๋ฅ ์ค ํ๋๋ก, ํ๋ก์ธ์ค์ ์ฐ์ ์์์ ์คํ ์์๋ฅผ ๊ฒฐ์ ํ๋ ์ญํ ์ ํฉ๋๋ค. ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ ์์คํ ์ ์ฑ๋ฅ๊ณผ ์ฌ์ฉ์ ๊ฒฝํ์ ํฐ ์ํฅ์ ๋ฏธ์น๋ฉฐ, ๋ค์ํ ์ํฅ๊ณผ ๋์ ๊ณผ์ ๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค.
5.1 ์์ ํ์ฉ๊ณผ ์ฑ๋ฅ
์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ CPU์ ํ์ฉ๋์ ์์์ ํจ์จ์ฑ์ ์ง์ ์ ์ธ ์ํฅ์ ๋ฏธ์นฉ๋๋ค. ํจ์จ์ ์ธ ์ค์ผ์ค๋ง์ CPU์ ์ด์ฉ๋ฅ ์ ๋์ด๊ณ ์์ ์ฒ๋ฆฌ ์๊ฐ์ ์ต์ํํ์ฌ ์ฑ๋ฅ์ ํฅ์์ํฌ ์ ์์ต๋๋ค. ์ ์ ํ ์๊ณ ๋ฆฌ์ฆ์ ์ ํํ์ฌ ์ค์ผ์ค๋ง์ ์ํํ๋ฉด, ๋ง์ ํ๋ก์ธ์ค๋ค์ด ๋์์ ์คํ๋๋๋ผ๋ ์์คํ ์ ์์์ ํจ์จ์ ์ผ๋ก ํ์ฉํ ์ ์์ต๋๋ค.
5.2 ์๋ต ์๊ฐ๊ณผ ์ฌ์ฉ์ ๊ฒฝํ
์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉ์ ๊ฒฝํ์๋ ์ํฅ์ ๋ฏธ์นฉ๋๋ค. ํนํ ์ค์๊ฐ ์ฒ๋ฆฌ ์์คํ ์ด๋ ๋ํํ ์์คํ ์์๋ ์๋ต ์๊ฐ์ ์ต์ํํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ์ ์ ํ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๋ฉด ์ฐ์ ์์๊ฐ ๋์ ์์ ์๊ฒ ์ฐ์ ์ ์ผ๋ก CPU๋ฅผ ํ ๋นํ์ฌ ์๋ต ์๊ฐ์ ์ค์ผ ์ ์์ต๋๋ค. ๋ฐ๋ฉด์ ๋น์ ์ ํ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ ์๋ต ์๊ฐ๋ณด๋ค๋ ์์ ์ฒ๋ฆฌ ์๊ฐ์ ์ฐ์ ์ํ์ฌ, ๋ฐฐ์น ์ฒ๋ฆฌ ์์คํ ๋ฑ์์ ์ฌ์ฉ๋ฉ๋๋ค.
5.3 ๋ณ๋ ฌํ์ ๋๊ธฐํ
๋ณ๋ ฌ ์ฒ๋ฆฌ ์์คํ ์์๋ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ด ๋ณ๋ ฌํ์ ๋๊ธฐํ๋ฅผ ๊ณ ๋ คํด์ผ ํฉ๋๋ค. ์ฌ๋ฌ ๊ฐ์ ํ๋ก์ธ์๋ฅผ ๋์์ ํ์ฉํ์ฌ ์์ ์ ์ฒ๋ฆฌํ๋ ค๋ฉด ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ ํ๋ก์ธ์๋ค ๊ฐ์ ์์ ๋ถ๋ฐฐ์ ๋๊ธฐํ๋ฅผ ์กฐ์ ํด์ผ ํฉ๋๋ค. ๋ณ๋ ฌํ๋ ์์ ๋ค์ ํจ๊ณผ์ ์ผ๋ก ์ค์ผ์ค๋งํ์ฌ ๋๊ธฐํ ์ค๋ฒํค๋๋ฅผ ์ต์ํํ๊ณ ์์ ์ฒ๋ฆฌ ์๊ฐ์ ์ค์ผ ์ ์์ต๋๋ค.
5.4 ์์ธก๊ณผ ์ ์์ฑ
์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ ํ๋ก์ธ์ค์ ํน์ฑ์ด๋ ์์ ์ ๋์ ์ธ ์๊ตฌ์ ์ ์ํ ์ ์์ด์ผ ํฉ๋๋ค. ์์ธก ๊ธฐ๋ฐ ์ค์ผ์ค๋ง์ ํ๋ก์ธ์ค์ ๋์ ํจํด์ ๋ถ์ํ์ฌ ๋ฏธ๋ฆฌ ์ค์ผ์ค๋ง ๊ฒฐ์ ์ ๋ด๋ฆฌ๋ ๋ฐฉ์์ด๋ฉฐ, ์์ ์ ๋์ ์ธ ์๊ตฌ์ ๋ฐ๋ผ ์ฐ์ ์์๋ ํ์ ์ฌ๋ผ์ด์ค๋ฅผ ์กฐ์ ํ๋ ์ ์์ ์ธ ์ค์ผ์ค๋ง๋ ํ์ํฉ๋๋ค. ์ด๋ฌํ ์์ธก๊ณผ ์ ์์ฑ์ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ ์ฑ๋ฅ๊ณผ ํจ์จ์ฑ์ ํฅ์์ํค๋ ๋ฐ ์ค์ํ ์ญํ ์ ํฉ๋๋ค.
์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ ์์คํ ์ ์๊ตฌ์ฌํญ๊ณผ ์ํฉ์ ๋ฐ๋ผ ์ ํ๋์ด์ผ ํ๋ฉฐ, ์ ์ ํ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ์ฌ ์์ ํ์ฉ๊ณผ ์ฑ๋ฅ์ ํฅ์์ํฌ ์ ์์ต๋๋ค. ๋ค์ํ ์ํฅ๊ณผ ๋์ ๊ณผ์ ๋ฅผ ๊ณ ๋ คํ์ฌ ์ ์ ํ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ ์ ํํ๊ณ ๊ฐ๋ฐํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
๋๊ธ