CPU ์ค์ผ์ค๋ง
- ์ด์์ฒด์ ๊ฐ CPU๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด ํ๋ก์ธ์ค๋ค ์ฌ์ด์ ์ฐ์ ์์๋ฅผ ๊ด๋ฆฌํ๋ ์์
์ด๋ค.
- ํ๋ก์ธ์ค๋ค์๊ฒ ์์์ ๊ณตํํ๊ฒ ๋ฐฐ๋ถํ์ฌ ์ฒ๋ฆฌ์จ๊ณผ CPU ์ด์ฉ๋ฅ ์ ์ฆ๊ฐ์ํค๊ณ ์ค๋ฒํค๋, ์๋ต์๊ฐ, ๋๊ธฐ์๊ฐ์ ์ต์ํ ํ๊ธฐ ์ํ ๊ธฐ๋ฒ์ด๋ค.
๋น์ ์ ํ ์ค์ผ์ค๋ง
-
๋น์ ์ ํ ์ค์ผ์ค๋ง์ ์คํ ์ค์ธ ํ๋ก์ธ์ค๊ฐ ์๋ฐ์ ์ผ๋ก ์ข
๋ฃํ๊ฑฐ๋ ๋ธ๋ก์ด ๋ ๋ ๊น์ง ๊ณ์ ์คํ๋๋ค. ์ฆ, ๋ค๋ฅธ ํ๋ก์ธ์ค์ ์ํด ์ํฅ์ ๋ฐ๋๊ฒ ์๋ ์คํ ์ค์ธ ํ๋ก์ธ์ค ์์ฒด์ ๋์์ด๋ ์ธ๋ถ ์์ธ์ ์ํด ๋ฐ์ํ๋ ๊ฒ๋ค์ด๋ค.
-
๋ชจ๋ ํ๋ก์ธ์ค์ ๋ํ ์๊ตฌ๋ฅผ ๊ณต์ ํ๊ฒ ์ฒ๋ฆฌํ ์ ์์ง๋ง, ์งง์ ์์
์ ์ํํ๋ ํ๋ก์ธ์ค๊ฐ ๊ธด ์์
์ข
๋ฃ ์๊น์ง ๋๊ธฐํด์ผ ํ ์ ์๋ค. ๊ทธ๋์ ์ฒ๋ฆฌ์๊ฐ ํธ์ฐจ๊ฐ ์ ์ ํน์ ํ๋ก์ธ์ค ํ๊ฒฝ์ ์ฉ์ดํ๋ค.
๋น์ ์ ํ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ
์ ์
์ ์ถ ์ค์ผ์ค๋ง(FCFS : First Come Fist Served)
- ๋จ์ํ ์ค๋น ํ์ ์ฝ์
๋ ์์๋๋ก ํ๋ก์ธ์ค๋ค์ ์ฒ๋ฆฌํ๋ ๋น์ ์ ํ ์ค์ผ์ค๋ง ๋ฐฉ์์ด๋ค.
- ๊ณต์ ํ ๋ฐฉ์์ด์ง๋ง ์ค๋ ์ฌ์ฉํ๋ ํ๋ก์ธ์ค๊ฐ ๋จผ์ ์ฒ๋ฆฌ๋๋ ๊ฒฝ์ฐ ๋ค๋ฅธ ํ๋ก์ธ์ค๋ ๊ทธ ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ์ฌ์ฉํ๋ ๋์ ๊ธฐ๋ค๋ฆฌ๋ ์ ๋ฐ์ ์๋ค.(ํธ์ ํจ๊ณผ)
์ต๋จ ์์
์ฐ์ ์ค์ผ์ค๋ง(SJF : Shortest Job First)
- ์ค๋น ํ์ ์ฝ์
๋ ํ๋ก์ธ์ค๋ค ์ค CPU ์ด์ฉ ๊ธฐ๊ฐ์ ๊ธธ์ด๊ฐ ๊ฐ์ฅ ์งง์ ํ๋ก์ธ์ค๋ถํฐ ์คํํ๋ ์ค์ผ์ค๋ง ๋ฐฉ์์ด๋ค.
- ์ต๋จ ์์
์ฐ์ ์ค์ผ์ค๋ง์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋น์ ์ ํ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ๋ถ๋ฅ๋์ง๋ง, ์ ์ ํ์ผ๋ก ๊ตฌํ๋ ์ ์๋ค. (์ต์ ์์ฌ ์๊ฐ ์ฐ์ ์ค์ผ์ค๋ง)
์ฐ์ ์์ ์ค์ผ์ค๋ง(Priority Scheduling)
- ์ฐ์ ์์ ์ค์ผ์ค๋ง์ ํ๋ก์ธ์ค๋ค์ ์ฐ์ ์์๋ฅผ ๋ถ์ฌํ๊ณ ๊ฐ์ฅ ๋์ ์ฐ์ ์์๋ฅผ ๊ฐ์ง ํ๋ก์ธ์ค๋ถํฐ ์คํํ๋ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ์ฐ์ ์์๊ฐ ๊ฐ์ ํ๋ก์ธ์ค๋ค์ ์ ์
์ ์ฒ๋ฆฌ๋ก ์ฒ๋ฆฌํ๋ค.
- ํ์ง๋ง ์ฐ์ ์์ ์ค์ผ์ค๋ง์ ๊ธฐ์ ํ์์ด ๋ฐ์ํ๋ค. ๋์ ์ฐ์ ์์๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐฉ์์ด๊ธฐ ๋๋ฌธ์ ์ค๋น ํ์ ๋จผ์ ์ฝ์
์ด ๋์ด์๋๋ผ๋ ์ฐ์ ์์๊ฐ ๋ฎ์ ํ๋ก์ธ์ค๋ ๊ณ์ ์ฐ๊ธฐ๋ ์ ์๋ค.
- ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ๋ฐฉ๋ฒ์ ์์ด์ง์ด๋ค.
์ ์ ํ ์ค์ผ์ค๋ง
- ์ ์ ํ ์ค์ผ์ค๋ง์ ์คํ ์ค์ธ ํ๋ก์ธ์ค๊ฐ ๋ค๋ฅธ ํ๋ก์ธ์ค์ ์ํด ์ค๋จ๋ ์ ์๋ ๊ฒ์ด๋ค.
- ๋น๊ต์ ์๋ต์ด ๋น ๋ฅด์ง๋ง, ์ฒ๋ฆฌ ์๊ฐ์ ์์ธกํ๊ธฐ ์ด๋ ต๊ณ ์ฐ์ ์์ ํ๋ก์ธ์ค๋ค์ด ๊ณ์ ๋ค์ด์ค๋ฉด ์ค๋ฒํค๋๋ฅผ ์ด๋ํ๋ค. ๊ทธ๋์ ์ค์๊ฐ ์๋ตํ๊ฒฝ, DeadLine ์๋ตํ๊ฒฝ ๋ฑ ์ฐ์ ์์๊ฐ ๋์ ํ๋ก์ธ์ค๋ฅผ ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌํ ๋ ์ ์ฉํ๋ค.
์ ์ ํ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ
๋ผ์ด๋ ๋ก๋น ์ค์ผ์ค๋ง(Round Robin)
- ๋ผ์ด๋ ๋ก๋น ์ค์ผ์ค๋ง์ ์ ํด์ง ํ์ ์ฌ๋ผ์ด์ค๋งํผ์ ์๊ฐ ๋์ ๋์๊ฐ๋ฉฐ CPU๋ฅผ ์ด์ฉํ๋ ์ ์ ํ ์ค์ผ์ค๋ง์ด๋ค.
- ๋ง์ฝ ์ ํด์ง ์๊ฐ์ด ๋๋ฌ๋๋ฐ ํด๋น ํ๋ก์ธ์ค๋ฅผ ์๋ฃํ์ง ๋ชปํ๋ค๋ฉด ํ์ ๋งจ ๋ค์ ์ฝ์
๋๋ค. ์ด๋ ๋ฌธ๋งฅ ๊ตํ์ด ๋ฐ์ํ๋ค.
ํ์์ฌ๋ผ์ด์ค
ํ์ ์ฌ๋ผ์ด์ค๋ ๊ฐ ํ๋ก์ธ์ค CPU๋ฅผ ์ฌ์ฉํ ์ ์๋ ์ ํด์ง ์๊ฐ์ ์๋ฏธํ๋ค.
ํ์ ์ฌ๋ผ์ด์ค์ ํฌ๊ธฐ๊ฐ ๋๋ฌด ํฌ๋ค๋ฉด ์ฌ์ค์ ์ ์
์ ์ฒ๋ฆฌ ์ค์ผ์ค๋ง๊ณผ ๋ค๋ฅผ๊ฒ ์์ด ํธ์ ํจ๊ณผ๊ฐ ์๊ธธ ์ ์๊ณ , ํ์ ์ฌ๋ผ์ด์ค๊ฐ ๋๋ฌด ์๋ค๋ฉด ๋ฌธ๋งฅ ๊ตํ์ ๋ฐ์ํ๋ ๋น์ฉ์ด ์ปค CPU๋ ํ๋ก์ธ์ค๋ฅผ ์ฒ๋ฆฌํ๋ ์ผ๋ณด๋ค ํ๋ก์ธ์ค๋ฅผ ์ ํํ๋๋ฐ ์ง์คํ๊ฒ ๋๋ค. ๊ทธ๋์ ํ์ ์ฌ๋ผ์ด์ค์ ํฌ๊ธฐ๋ ์ค์ํ๋ค.
์ต์ ์์ฌ ์๊ฐ ์ฐ์ ์ค์ผ์ค๋ง(Shortest Remaining Time)
- ์ต๋จ ์์
์ฐ์ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ(SJF)๊ณผ ๋ผ์ด๋ ๋ก๋น ์๊ณ ๋ฆฌ์ฆ์ ํฉ์น ์ค์ผ์ค๋ง ๋ฐฉ์์ด๋ค.
- ์์
์๊ฐ์ด ์งง์ ํ๋ก์ธ์ค๋ถํฐ ์ฒ๋ฆฌํ๋ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ๊ณผ ์ ํด์ง ํ์ ์ฌ๋ผ์ด์ค๋งํผ ๋์๊ฐ๋ฉฐ CPU๋ฅผ ์ฌ์ฉํ๋ ์ ์ ํ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ ํฉ์น ๊ฒ์ด๋ค.
- ์ต์ ์์ฌ ์๊ฐ ์ฐ์ ์ค์ผ์ค๋ง์์ ํ๋ก์ธ์ค๋ค์ ์ ํด์ง ํ์ ์ฌ๋ผ์ด์ค๋งํผ CPU๋ฅผ ์ฌ์ฉํ๋, CPU๋ฅผ ์ฌ์ฉํ ๋ค์ ํ๋ก์ธ์ค๋ก๋ ๋จ์์๋ ์์
์๊ฐ์ด ๊ฐ์ฅ ์ ์ ํ๋ก์ธ์ค๊ฐ ์ ํ๋๋ค.
๋ค๋จ๊ณ ํ ์ค์ผ์ค๋ง(Multilevel Queue Scheduling)
- ๋ค๋จ๊ณ ํ ์ค์ผ์ค๋ง์ ์ฐ์ ์์ ์ค์ผ์ค๋ง์ ๋ฐ์ ๋ ํํ์ด๋ค. ์ฐ์ ์์๋ณ๋ก ์ค๋น ํ๋ฅผ ์ฌ๋ฌ ๊ฐ ์ฌ์ฉํ๋ ์ค์ผ์ค๋ง ๋ฐฉ์์ด๋ค.
- ์ฌ๋ฌ ๊ฐ์ ์ค๋น ํ๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ ํ๋ก์ธ์ค ์ ํ๋ณ๋ก ๊ตฌ๋ถํ์ฌ ์คํํ๋ ๊ฒ์ด ํธ๋ฆฌํ๋ค.
- ๋ํ, ํ๋ณ๋ก ํ์ ์ฌ๋ผ์ด์ค๋ฅผ ์ฌ๋ฌ ๊ฐ ์ง์ ํ ์๋ ์๊ณ , ํ๋ง๋ค ๋ค๋ฅธ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ ์๋ ์๋ค.
๋ค๋จ๊ณ ํผ๋๋ฐฑ ํ ์ค์ผ์ค๋ง(Multilevel Feedback Queue Scheduling)
- ๋ค๋จ๊ณ ํผ๋๋ฐฑ ํ ์ค์ผ์ค๋ง์ ๋ค๋จ๊ณ ํ ์ค์ผ์ค๋ง์ ๋ฐ์ ๋ ํํ์ด๋ค.
- ๋ค๋จ๊ณ ํ ์ค์ผ์ค๋ง์์๋ ํ๋ก์ธ์ค๋ค์ด ํ ์ฌ์ด๋ฅผ ์ด๋ํ ์ ์๊ธฐ ๋๋ฌธ์ ๊ธฐ์ํ์์ด ๋ฐ์ํ๋ค. ํ์ง๋ง ๋ค๋จ๊ณ ํผ๋๋ฐฑ ํ ์ค์ผ์ค๋ง์ ํ๋ก์ธ์ค๋ค์ด ํ ์ฌ์ด๋ฅผ ์ด๋ํ ์ ์์ด ๊ธฐ์ํ์์ ๋ฐฉ์งํ ์ ์๋ค.
- ๊ทธ๋์ ์ด๋ค ํ๋ก์ธ์ค์ CPU ์ด์ฉ ์๊ฐ์ด ๊ธธ๋ฉด ๋ฎ์ ์ฐ์ ์์ ํ๋ก ์ด๋์ํค๊ณ , ์ด๋ค ํ๋ก์ธ์ค๊ฐ ๋ฎ์ ์ฐ์ ์์ ํ์์ ์ค๋ ๊ธฐ๋ค๋ฆฐ๋ค๋ฉด ๋์ ์ฐ์ ์์ ํ๋ก ์ด๋์ํฌ ์ ์๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค.
- ๋ค๋จ๊ณ ํผ๋๋ฐฑ ํ ์ค์ผ์ค๋ง์ ๊ตฌํ์ด ๋ณต์กํ์ง๋ง, ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ CPU ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ด๋ค.