CPU ์ค์ผ์ค๋ง ๊ฐ๋
CPU ์ค์ผ์ค๋ง์ ์ฌ๋ฌ ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ๊ณต์ ํ๋ ํ๊ฒฝ์์ ํ๋ก์ธ์ค๋ค์ ์ด๋ค ์์๋ก CPU์ ํ ๋นํ ์ง ๊ฒฐ์ ํ๋ ์์ ์ ๋งํฉ๋๋ค. ์ด๋ ์ปดํจํฐ ์์คํ ์ ์ฑ๋ฅ, ์๋ต ์๊ฐ, ์ฒ๋ฆฌ๋ ๋ฑ์ ์ต์ ํํ๋ ๋ฐ ์ค์ํ ์ญํ ์ ํฉ๋๋ค. ๋ค์ํ CPU ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ด ๊ฐ๋ฐ๋์ด์๊ณ , ๊ฐ ์๊ณ ๋ฆฌ์ฆ์ ํน์ ์ํฉ์ด๋ ์๊ตฌ์ฌํญ์ ์ ํฉํ ์ฅ๋จ์ ์ ๊ฐ์ง๊ณ ์์ต๋๋ค.
์ฌ๊ธฐ์ ํต์ฌ์ ์ด์์ฒด์ ๊ฐ ํ๋ก์ธ์ค๋ค์๊ฒ ๊ณต์ ํ๊ณ ํฉ๋ฆฌ์ ์ผ๋ก CPU์์์ ๋ฐฐ๋ถํ๋ ๊ฒ์ ๋๋ค. CPU ์ค์ผ์ค๋ง์ ์ปดํจํฐ ์ฑ๋ฅ๊ณผ๋ ์ง๊ฒฐ๋๋ ์ค๋ํ ๋ฌธ์ ์ ๋๋ค.
์ค์ผ์ค๋ง ํ
CPU์ ์ฅ์์ CPU๋ฅผ ์ฌ์ฉํ๊ณ ์ถ์ ํ๋ก์ธ์ค๋ค์ด ๋ง์ ๋, ๋จผ์ CPU๋ฅผ ์ฌ์ฉํ๊ฒ ๋ค๋ ํ๋ก์ธ์คํํ CPU์์์ ํ ๋นํ๋ ๋จ์ํ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. ํ์ง๋ง ํ๋ก์ธ์ค๋ง๋ค ์ฐ์ ์์๊ฐ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ํจ์จ์ ์ด์ง ๋ชปํ ๋ฐฉ๋ฒ์ ๋๋ค. ๋ํ ์ ์ถ๋ ฅ์ฅ์น๋ฅผ ์ฌ์ฉํ ๋๋ ํ๋ก์ธ์ค CPU์์ ์ ํ์ง ๋ชปํ๊ธฐ ๋๋ฌธ์ ์ ์ถ๋ ฅ์ฅ์น ์ฌ์ฉ ๋น๋๊ฐ ๋ง์ผ๋ฉด ๋๋ค๋ฅธ ๋ฐฉ๋ฒ์ ๊ณ ์ํด๋ด์ผ ํ ๊ฒ์ ๋๋ค.
ํ๋ก์ธ์ค ์ฐ์ ์์๋ ps -el ๋ช ๋ น์ด๋ฅผ ํตํด ํ์ธ์ด ๊ฐ๋ฅํฉ๋๋ค. nice ๋ช ๋ น์ด๋ฅผ ํตํด ์ผ๋ถ ํ๋ก์ธ์ค์ ์ฐ์ ์์๋ฅผ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. ์๋์ฐ์์๋ ์์ ๊ด๋ฆฌ์์์ ํ๋ก์ธ์ค์ ์ฐ์ ์์ ํ์ธ๊ณผ ๋ณ๊ฒฝ์ด ๊ฐ๋ฅํฉ๋๋ค.
ํ๋ก์ธ์ค์ ์ฐ์ ์์๋ ์ปค๋์์ญ์ PCB์ ๋ด๊ฒจ์์ต๋๋ค. CPU์ ์ฅ์์๋ CPU๋ฅผ ์ฌ์ฉํ ๋ค์ ํ๋ก์ธ์ค๋ฅผ ์ฐพ๊ธฐ ์ํด ์ด์์ฒด์ ๊ฐ ์ผ์ผ์ด ๋ชจ๋ ํ๋ก์ธ์ค์ PCB๋ฅผ ๋ค์ง๋ ๊ฒ์ ๋นํจ์จ์ ์ ๋๋ค. ๊ทธ๋์ ์ด์์ฒด์ ๋ ํ๋ก์ธ์ค๋ค์ ์ค์ ์์ ๊ธฐ๋ค๋ฆด ๊ฒ์ ์๊ตฌํฉ๋๋ค. ์ด์์ฒด์ ๋ ์ด ์ค์ ์ค์ผ์ค๋ง ํ๋ก ๊ตฌํํ๊ณ ๊ด๋ฆฌํฉ๋๋ค.
์ด์์ฒด์ ๊ฐ ๊ด๋ฆฌํ๋ ๋๋ถ๋ถ์ ์์์ ํ๋ก ๊ด๋ฆฌ๋ฉ๋๋ค. ํ์ ํน์ฑ์ ์ ์ ์ ์ถ์ด๊ธฐ ๋๋ฌธ์ด์ฃ . ๋ํ์ ์ผ๋ก ์ค๋น ํ์ ๋๊ธฐ ํ๊ฐ ์์ต๋๋ค. ์ค๋น ํ๋ CPU๋ฅผ ์ด์ฉํ๊ณ ์ถ์ ํ๋ก์ธ์ค๋ค์ด ์๋ ์ค์ ์๋ฏธํ๊ณ , ๋๊ธฐ ํ๋ ์ ์ถ๋ ฅ์ฅ์น๋ฅผ ์ด์ฉํ๊ธฐ ์ํด ๋๊ธฐ ์ํ์ ์ ์ด๋ ํ๋ก์ธ์ค๋ค์ด ์๋ ์ค์ ์๋ฏธํฉ๋๋ค. ํ์ง๋ง ํ๋ฅผ ์ฌ์ฉํ๋ค๊ณ ํด์ ๋ชจ๋ ํ๋ก์ธ์ค๋ค์ด ์ ์ ์ ์ถ์ ์๋๋ฉฐ ์ฐ์ ์์๊ฐ ๋์ ํ๋ก์ธ์ค๊ฐ ๋จผ์ ์คํ๋๋ ๊ตฌ์กฐ์ ๋๋ค. ์ฐ์ ์์ ํ๋ผ๊ณ ๋ด๋ ๋ฌด๋ฐฉํ ๊ฒ ๊ฐ์ต๋๋ค.
์ ์ ํ ์ค์ผ์ค๋ง๊ณผ ๋น์ ์ ํ ์ค์ผ์ค๋ง
์ ์ ํ(Preemptive) ์ค์ผ์ค๋ง๊ณผ ๋น์ ์ ํ(Non-preemptive) ์ค์ผ์ค๋ง์ CPU ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์์ ํ๋ก์ธ์ค์ CPU ํ ๋น ๋ฐฉ์์ ๋ํ๋ด๋ ๋ ๊ฐ์ง ์ฃผ์ํ ์นดํ ๊ณ ๋ฆฌ์ ๋๋ค.
1. ์ ์ ํ(Preemptive) ์ค์ผ์ค๋ง
์ ์ ํ ์ค์ผ์ค๋ง์ ํ์ฌ CPU๋ฅผ ์ฌ์ฉํ๊ณ ์๋ ํ๋ก์ธ์ค๋ฅผ ๋ค๋ฅธ ํ๋ก์ธ์ค๋ก ๋์ฒดํ ์ ์์ต๋๋ค. ๋ค์ ๋งํด, ๋ค๋ฅธ ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ์ฌ์ฉํ๋๋ก ์ ์ ํ ์ ์๋ ์ค์ผ์ค๋ง ๋ฐฉ์์
๋๋ค. ์ ์ ํ ์ค์ผ์ค๋ง์ ์ฐ์ ์์๊ฐ ๋์ ํ๋ก์ธ์ค๊ฐ ๋์ฐฉํ์ ๋ ํ์ฌ ์คํ ์ค์ธ ํ๋ก์ธ์ค๋ฅผ ๋ฉ์ถ๊ณ ์๋ก์ด ํ๋ก์ธ์ค์ CPU๋ฅผ ํ ๋นํฉ๋๋ค. ์ ์ ํ ์ค์ผ์ค๋ง์ ์ฐ์ ์์ ๊ธฐ๋ฐ ์ค์ผ์ค๋ง, ๋ผ์ด๋ ๋ก๋น(Round Robin) ์ค์ผ์ค๋ง ๋ฑ์ด ํฌํจ๋ฉ๋๋ค.
์๋ฅผ ๋ค์ด, ํ์ฌ ์คํ ์ค์ธ ํ๋ก์ธ์ค A๊ฐ ์์ ๋ ์ฐ์ ์์๊ฐ ๋ ๋์ ํ๋ก์ธ์ค B๊ฐ ๋์ฐฉํ๋ฉด ์ ์ ํ ์ค์ผ์ค๋ฌ๋ ํ๋ก์ธ์ค A๋ฅผ ๋ฉ์ถ๊ณ CPU๋ฅผ ํ๋ก์ธ์ค B์๊ฒ ํ ๋นํฉ๋๋ค.
์ ์ ํ ์ค์ผ์ค๋ง์ ์ฅ์ ์ ์ด๋ ํ ํ๋ก์ธ์ค์ ์์ ๋ ์ ์ ๋ง๊ณ ํ๋ก์ธ์ค๋ค์ ๊ณจ๊ณ ๋ฃจ ์์์ ๋ฐฐ๋ถํ ์ ์๋ค๋ ๊ฒ์ ๋๋ค. ํ์ฌ ์ฌ์ฉํ๊ณ ์๋ ํ๋ก์ธ์ค๊ฐ ๊ธด ์๊ฐ์ ์๋ชจํ์ ๋, ๋ค๋ฅธ ํ๋ก์ธ์ค๊ฐ ์ด๋ฅผ ๋์ฒดํ์ง ๋ชปํ๋ค๋ฉด CPU์์์ ๋ ์ ํ ์ ์๋ ์ฌ์ง๊ฐ ์์ต๋๋ค. ๋จ์ ์ผ๋ก๋ ๋น์ ์ ์ค์ผ์ค๋ง๋ณด๋ค ํ๋ก์ธ์ค ๋์ฒด๊ฐ ๋ง์ผ๋ฏ๋ก ๋ฌธ๋งฅ ๊ตํ์ด ๋ง์์ง๋ฉด์ ๋ฐ์ํ๋ ์ค๋ฒํค๋์ ๋๋ค.
2. ๋น์ ์ ํ(Non-preemptive) ์ค์ผ์ค๋ง
๋น์ ์ ํ ์ค์ผ์ค๋ง์ ํ์ฌ CPU๋ฅผ ์ฌ์ฉํ๊ณ ์๋ ํ๋ก์ธ์ค๊ฐ ๋๋ ๋๊น์ง ๋ค๋ฅธ ํ๋ก์ธ์ค๋ก CPU๋ฅผ ๋์ฒดํ์ง ์์ต๋๋ค. ์ฆ, ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ์ค์ค๋ก ๋ฐ๋ฉํ ๋๊น์ง CPU๋ฅผ ์ ์งํ๋ ์ค์ผ์ค๋ง ๋ฐฉ์์
๋๋ค. ๋น์ ์ ํ ์ค์ผ์ค๋ง์ FCFS(First Come First Serve), SJF(Shortest Job First), ์ฐ์ ์์ ๊ธฐ๋ฐ ์ค์ผ์ค๋ง(์ฐ์ ์์๊ฐ ๋์ผํ ๊ฒฝ์ฐ) ๋ฑ์ด ํฌํจ๋ฉ๋๋ค.
์๋ฅผ ๋ค์ด, ํ์ฌ ์คํ ์ค์ธ ํ๋ก์ธ์ค A๊ฐ ๋๋๊ธฐ๋ฅผ ๊ธฐ๋ค๋ฆฌ๊ณ ์์ ๋ ๋ค๋ฅธ ํ๋ก์ธ์ค B๊ฐ ๋์ฐฉํ๋๋ผ๋ ํ๋ก์ธ์ค A๊ฐ CPU๋ฅผ ์ค์ค๋ก ๋ฐ๋ฉํ๊ธฐ ์ ๊น์ง B๋ CPU๋ฅผ ํ ๋น๋ฐ์ ์ ์์ต๋๋ค.
๋น์ ์ ํ ์ค์ผ์ค๋ง์ ์ฅ์ ์ผ๋ก๋ ์ ์ ํ๊ณผ ๋ฐ๋์ ๋๋ค. ์ค๋ฒํค๋๊ฐ ์ ์ง๋ง ๋ ์ ์ ๋ง์ ์ ์์ต๋๋ค.
CPU ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ
์ ์ ์ ์ฒ๋ฆฌ ์ค์ผ์ค๋ง(FCFS ์ค์ผ์ค๋ง)
์ ์ ์ ์ฒ๋ฆฌ(First Come First Served) ์ค์ผ์ค๋ง์ ๋จ์ํ ์ค๋น ํ์ ์ฝ์ ๋ ์์๋๋ก ์ฒ๋ฆฌํ๋ ๋น์ ์ ์ค์ผ์ค๋ง์ ๋๋ค. ๊ฐ์ฅ ์ง๊ด์ ์ด๊ณ ์ธ๋ป ๋ณด๊ธฐ์๋ ๊ณต์ ํด ๋ณด์ด๋, ๊ฐ๋์ ํ๋ก์ธ์ค๋ค์ด ๊ธฐ๋ค๋ฆฌ๋ ์๊ฐ์ด ๋งค์ฐ ๊ธธ์ด์ง ์ ์๋ค๋ ๋จ์ ์ด ์์ต๋๋ค.
์๋ฅผ ๋ค์ด 17ms ๋์ CPU๋ฅผ ์ด์ฉํ๋ ํ๋ก์ธ์ค A, 5ms ๋์ CPU๋ฅผ ์ด์ฉํ๋ ํ๋ก์ธ์ค B, 2ms ๋์ CPU๋ฅผ ์ด์ฉํ๋ ํ๋ก์ธ์ค C๊ฐ ์ฐจ๋ก๋ก ์ค๋น ํ์ ์ฝ์ ๋๋ค๋ฉด ํ๋ก์ธ์ค c์ ๋๊ธฐ์๊ฐ์ 22ms์ ๋๋ค. ํ๊ท ๋๊ธฐ ์๊ฐ์ 13ms์ ๋๋ค.
์ต๋จ ์์ ์ฐ์ ์ค์ผ์ค๋ง(SJF)
์ต๋จ ์์ ์ฐ์ ์ค์ผ์ค๋ง(Shortest Job First)๋ CPU ์ฌ์ฉ ์๊ฐ์ด ์งง์ ํ๋ก์ธ์ค๊ฐ ๋จผ์ ์คํ๋๋ ์๊ณ ๋ฆฌ์ฆ์ ๋๋ค.
์์ ์๊ธฐํ๋ FCFS ์๊ณ ๋ฆฌ์ฆ์ ๋นํด ํ๊ท ๋๊ธฐ์๊ฐ์ด 3ms๋ก ์งง์์ง ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค. ์ธ๋ป ๋ณด๋ฉด ๊ฐ์ฅ ์ต๊ณ ์ ์ค์ผ์ค๋ง ๋ฐฉ์์ผ ๊ฒ ๊ฐ์ง๋ง, ์ต๋จ ์์ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ๊ฐ ํ๋ก์ธ์ค์ ์คํ ์๊ฐ์ ๋ฏธ๋ฆฌ ์๊ณ ์์ด์ผ ํฉ๋๋ค. ํ์ค์ ์ผ๋ก ๋ชจ๋ ํ๋ก์ธ์ค์ ์คํ ์๊ฐ์ ๋ฏธ๋ฆฌ ์์ธกํ๊ธฐ๋ ์ด๋ ค์ธ ์ ์์ต๋๋ค. ์์ธก์ด ๋ถ์ ํํ ๊ฒฝ์ฐ ์ค์ผ์ค๋ง ์ฑ๋ฅ์ด ์ ํ๋ ์ ์์ต๋๋ค. ๋ํ ์คํ์๊ฐ์ด ๊ธด ํ๋ก์ธ์ค๋ ๊ณ์ํด์ ๋๊ธฐํด์ผํ๋ ๋จ์ ์ด ์์ต๋๋ค.
๋ผ์ด๋ ๋ก๋น ์ค์ผ์ค๋ง(RR)
๋ผ์ด๋ ๋ก๋น ์ค์ผ์ค๋ง์ ์ ์ ์ ์ฒ๋ฆฌ ์ค์ผ์ค๋ง์ ํ์ ์ฌ๋ผ์ด์ค๋ผ๋ ๊ฐ๋ ์ด ๋ํด์ก์ต๋๋ค. ํ์ ์ฌ๋ผ์ด์ค๋ ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ์ฌ์ฉํ ์ ์๋ ์๊ฐ์ผ๋ก ์ ํด์ง ์๊ฐ๋งํผ๋ง ์ฌ์ฉํ๋ ๋ฐฉ์์ ๋๋ค. ์ฆ ์ ํด์ง ํ์ ์ฌ๋ผ์ด์ค๋งํผ์ ์๊ฐ ๋์ ๋์๊ฐ๋ฉฐ CPU๋ฅผ ์ด์ฉํ๋ ์ ์ ํ ์ค์ผ์ค๋ง์ ๋๋ค. ๋ง์ฝ ์ ํด์ง ์๊ฐ์ ๋ชจ๋ ์ฌ์ฉํ์์๋ ํ๋ก์ธ์ค๊ฐ ์๋ฃ๋์ง ์์๋ค๋ฉด ๋ค์ ํ์ ๋งจ ๋ค์ ์ฝ์ ๋ฉ๋๋ค.
CPU ์ฌ์ฉ์๊ฐ์ด 11ms, 3ms, 7ms์ด๊ณ ํ์ ์ฌ๋ผ์ด์ค๊ฐ 4ms์ธ ๋ผ์ด๋๋ก๋น ์ค์ผ์ค๋ง์ ํ๋ค๋ฉด ์์ ๊ฐ์ ํํ์ ๋๋ค. ๋ผ์ด๋ ๋ก๋น ์ค์ผ์ค๋ง์์๋ ํ์ ์ฌ๋ผ์ด์ค์ ํฌ๊ธฐ๊ฐ ๋งค์ฐ ์ค์ํฉ๋๋ค. ํ์ ์ฌ๋ผ์ด์ค๊ฐ ํฌ๋ฉด ์ฌ์ค์ ์ ์ ์ ์ฒ๋ฆฌ ์ค์ผ์ค๋ง๊ณผ ๋ค๋ฅผ ๋ฐ ์์ผ๋ฉฐ, ์์ผ๋ฉด ์ง๋์น๊ฒ ๋ง์ ๋ฌธ๋งฅ ๊ตํ์ด ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
์ต์ ์์ฌ ์๊ฐ ์ฐ์ ์ค์ผ์ค๋ง(SRT)
์ต์ ์์ฌ ์๊ฐ ์ฐ์ ์ค์ผ์ค๋ง(Shortest Remaining Time)์ ์ต๋จ ์์ ์ฐ์ ์ค์ผ์ค๋ง(SJF)์ ํ์ ์ฌ๋ผ์ด์ค๋ผ๋ ๊ฐ๋ ์ด ๋ํด์ก์ต๋๋ค. ์ ํด์ง ์๊ฐ๋งํผ CPU๋ฅผ ์ด์ฉํ๋, ๋ค์์ผ๋ก CPU๋ฅผ ์ฌ์ฉํ ํ๋ก์ธ์ค๋ก๋ ๋จ์ ์์ ์๊ฐ์ด ๊ฐ์ฅ ์ ์ ํ๋ก์ธ์ค๋ฅผ ์ ํํฉ๋๋ค.
์ฐ์ ์์ ์ค์ผ์ค๋ง(Priority)
์ฐ์ ์์ ์ค์ผ์ค๋ง์ ํ๋ก์ธ์ค์ ์ฐ์ ์์๋ฅผ ๋ถ์ฌํ๊ณ ๊ฐ์ฅ ๋์ ์ฐ์ ์์๋ฅผ ๊ฐ์ง ํ๋ก์ธ์ค๋ถํฐ ์คํํ๋ ์๊ณ ๋ฆฌ์ฆ์ ๋๋ค. ์ฐ์ ์์๊ฐ ๊ฐ์ ํ๋ก์ธ์ค๋ค์ ์ ์ ์ ์ฒ๋ฆฌ๋ก ์ค์ผ์ค๋งํฉ๋๋ค. ์ต๋จ ์์ ์ฐ์ ์ค์ผ์ค๋ง(SJF)์ ์ต์ ์์ฌ ์๊ฐ ์ฐ์ ์ค์ผ์ค๋ง(SRT)๋ ์ฐ์ ์์ ์ค์ผ์ค๋ง์ ํฌํจ๋๋ค๊ณ ๋ณผ ์ ์์ต๋๋ค.
์ฐ์ ์์ ์ค์ผ์ค๋ง์ ๊ทผ๋ณธ์ ์ธ ๋ฌธ์ ์ ์ด ์์ต๋๋ค. ์ฐ์ ์์๊ฐ ๋ฎ์ ํ๋ก์ธ์ค๋ ์ค๋น ํ์ ๋จผ์ ์ฝ์ ๋์์์๋ ๋ถ๊ตฌํ๊ณ ์ฐ์ ์์๊ฐ ๋์ ํ๋ก์ธ์ค๋ค์ ์ํด ์คํ์ด ๊ณ์ํด์ ์ฐ๊ธฐ๋ ์ ์์ต๋๋ค. ์ด๋ฅผ ๊ธฐ์(starvation) ํ์์ด๋ผ๊ณ ํฉ๋๋ค. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์์ด์ง(aging) ๊ธฐ๋ฒ์ ๋์ ํฉ๋๋ค. ์ค๋ซ๋์ ๋๊ธฐํ ํ๋ก์ธ์ค์ ์ฐ์ ์์๋ฅผ ์ ์ฐจ ์ฌ๋ฆฌ๋ ๋ฐฉ์์ ๋๋ค.
๊ทธ๋ ๊ฒ ๋๋ฉด ์ฐ์ ์์๊ฐ ๋ฎ์๋ ์ธ์ ๊ฐ๋ ์ฐ์ ์์๊ฐ ๋์์ง๊ธฐ ๋๋ฌธ์ ์คํ์ด ๋ฌด๊ธฐํ ์ฐ๊ธฐ๋๋ ๊ฒ์ ๋ง์ ์ ์์ต๋๋ค.
๋ค๋จ๊ณ ํ ์ค์ผ์ค๋ง(Multilevel Queue)
๋ค๋จ๊ณ ํ๋ ์ฐ์ ์์ ์ค์ผ์ค๋ง์ ๋ฐ์ ๋ ํํ๋ก, ์ฐ์ ์์๋ณ๋ก ์ค๋น ํ๋ฅผ ์ฌ๋ฌ ๊ฐ ์ฌ์ฉํ๋ ๋ฐฉ์์ ๋๋ค. ์ฐ์ ์์๊ฐ ๊ฐ์ฅ ๋์ ํ์ ์๋ ํ๋ก์ธ์ค๋ฅผ ๋จผ์ ์ฒ๋ฆฌํ๊ณ ๊ทธ ํ๊ฐ ๋น๋ฉด ๊ทธ ๋ค์ ์ฐ์ ์์ ํ์ ์๋ ํ๋ก์ธ์ค๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค.
๋ค๋จ๊ณ ํ ์ค์ผ์ค๋ง์ ์ฅ์ ์ ํ ๋ณ๋ก ๊ทธ๋ฃน์ ๋ฌถ์ด์ ํ์ ์ฌ๋ผ์ด์ค๋ฅผ ์ฌ๋ฌ ๊ฐ ์ง์ ํ ์๋ ์๊ณ , ์ค์ผ์ค๋ง ๋ฐฉ์์ ๋ค๋ฅด๊ฒ ํ ์๋ ์์ต๋๋ค. ์ฐ์ ์์ 0์ ์ต์ ์์ฌ ์๊ฐ ์ฐ์ ์ค์ผ์ค๋ง์ ์ ์ฉํ๊ณ , ์ฐ์ ์์ 1์ ๋ผ์ด๋๋ก๋น ๋ฐฉ์์ ์ง์ ํ๊ณ ...์ด๋ฐ ์์ผ๋ก์. ๋จ์ ์ผ๋ก๋ ์ฐ์ ์์๊ฐ ๋ฎ์ ํ์ ์๋ ํ๋ก์ธ์ค๋ค์ ๋ํ๋ฒ ๊ธฐ์(starving)ํ์์ ๊ฒช๊ฒ ๋ฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ๋ค๋จ๊ณ ํ ์ค์ผ์ค๋ง์ ํ๋ก์ธ์ค์ ํ๊ฐ ์ด๋์ด ์๋๊ธฐ ๋๋ฌธ์ ๋ฐ์ํ๋ ๋ฌธ์ ์ ๋๋ค. ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ค๋จ๊ณ ํผ๋๋ฐฑ ํ ์ค์ผ์ค๋ง์ด ๋ฑ์ฅํฉ๋๋ค.
๋ค๋จ๊ณ ํผ๋๋ฐฑ ํ ์ค์ผ์ค๋ง(Multilevel Feedback Queue)
๋ค๋จ๊ณ ํผ๋๋ฐฑ ํ ์ค์ผ์ค๋ง์ ๋ค๋จ๊ณ ํ ์ค์ผ์ค๋ง์ ๋ฐ์ ๋ ํํ๋ก์ ํ ๊ฐ์ ์ด๋์ด ๊ฐ๋ฅํ ๋ค๋จ๊ณ ํ ์ค์ผ์ค๋ง์ ๋๋ค. ์๋กญ๊ฒ ์ค๋น ์ํ์ ๋ค์ด์จ ํ๋ก์ธ์ค๋ ๊ฐ์ฅ ๋์ ์ฐ์ ์์์ ํ ๋น๋ฉ๋๋ค. ์ด ํ๋ก์ธ์ค๊ฐ ํ์ ์ฌ๋ผ์ด์ค๋์ ์คํ์ด ๋๋์ง ์์ผ๋ฉด ๋ค์ ์ฐ์ ์์ ํ์ ์ฝ์ ๋์ด ์คํ๋ฉ๋๋ค.
์ ๋ฆฌํ๋ฉด ๋ค๋จ๊ณ ํผ๋๋ฐฑ ํ ์ค์ผ์ค๋ง์ ํ๋ก์ธ์ค๋ค์ด ํ ์ฌ์ด๋ฅผ ์ด๋ํ ์ ์๋ ๋ฐฉ์์ด๊ธฐ ๋๋ฌธ์ ๋ฎ์ ์ฐ์ ์์ ํ์์ ๋๋ฌด ์ค๋ ๊ธฐ๋ค๋ฆฌ๊ณ ์๋ ํ๋ก์ธ์ค๊ฐ ์๋ค๋ฉด ์ ์ฐจ ์ฐ์ ์์๊ฐ ๋์ ํ๋ก ์ด๋์ํค๋ ์์ด์ง ๊ธฐ๋ฒ์ ํตํด ๊ธฐ์ ํ์์ ์๋ฐฉํฉ๋๋ค. ๋ํ ์ฐ์ ์์๊ฐ ๋์ ํ์์ ์คํ์ด ์ค๋๊ฑธ๋ฆฐ๋ค๋ฉด ์ ์ฐจ ์ฐ์ ์์๊ฐ ๋ฎ์ ํ๋ก ์ด๋์์ผ์ ํ๋ก์ธ์ค ์ฐ์ ์์์ ๋ฐธ๋ฐ์ค๋ฅผ ๋ง์ถฐ๊ฐ๋๋ค.
๋ค๋จ๊ณ ํผ๋๋ฐฑ ํ ์ค์ผ์ค๋ง์ ๊ตฌํ์ด ์กฐ๊ธ ๋ณต์กํ ์ ์์ง๋ง ํจ์จ์ ์ธ ์๊ณ ๋ฆฌ์ฆ์ด๊ธฐ ๋๋ฌธ์ ๊ฐ์ฅ ๋ณดํธ์ ์ผ๋ก ์ฐ์ด๋ CPU ์ค์ผ์ค๋ง ๋ฐฉ์์ผ๋ก ์๋ ค์ ธ ์์ต๋๋ค.
์ถ์ฒ: ํผ์๊ณต๋ถํ๋ ์ปดํจํฐ๊ตฌ์กฐ + ์ด์์ฒด์
'์ด์์ฒด์ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ด์์ฒด์ ์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น(Memory Allocation) (2) | 2023.11.06 |
---|---|
ํ๋ก์ธ์ค ๋๊ธฐํ ๊ธฐ๋ฒ (0) | 2023.11.06 |
ํ๋ก์ธ์ค ๊ณ์ธต ๊ตฌ์กฐ (0) | 2023.10.31 |
๋ฐ๋ชฌ(Deamon) ํ๋ก์ธ์ค๋? (0) | 2023.10.28 |
์ด์ค๋ชจ๋(Dual Mode)์ ์์คํ ํธ์ถ(System Call) (0) | 2023.10.28 |
๋๊ธ