์ด์ ์ฒด์ ์๊ฐ
ํค์ด ํ๋ธ๋ฅด! ์ ์๊ฐ์๋ ํฅ๋ฏธ๋ก์ด ๋ฌธํ ์ธ OSTEP์ ๋ํ ์ผ๋ จ์ ๊ธฐ์ฌ ๋ฒ์ญ์ ์ฌ๋ฌ๋ถ์ ๊ด์ฌ์ ๋๊ณ ์ถ์ต๋๋ค. ์ด ์๋ฃ๋ ์ ๋์ค ๊ณ์ด ์ด์ ์ฒด์ ์ ์์
, ์ฆ ํ๋ก์ธ์ค, ๋ค์ํ ์ค์ผ์ค๋ฌ, ๋ฉ๋ชจ๋ฆฌ ๋ฐ ์ต์ OS๋ฅผ ๊ตฌ์ฑํ๋ ๊ธฐํ ์ ์ฌํ ๊ตฌ์ฑ ์์ ์์
์ ๋ํด ๋งค์ฐ ๊น์ด ๋
ผ์ํฉ๋๋ค. ์ฌ๊ธฐ์์ ๋ชจ๋ ์๋ฃ์ ์๋ณธ์ ๋ณผ ์ ์์ต๋๋ค.
์ด ์ฃผ์ ์ ๋ํ ์ฐ๊ตฌ์ค ์์ ์ ์ฌ๊ธฐ์์ ์ฐพ์ ์ ์์ต๋๋ค.
๊ธฐํ ๋ถํ :
1๋ถ: ์๊ฐ 2๋ถ: ์ถ์ํ: ํ๋ก์ธ์ค 3๋ถ: ํ๋ก์ธ์ค API ์๊ฐ 4๋ถ: ์ค์ผ์ค๋ฌ ์๊ฐ ํํธ 5: MLFQ ์ค์ผ์ค๋ฌ
์์ ๋ด ์ฑ๋์ ํ์ธํ ์๋ ์์ต๋๋ค.
๊ณํ: ๋ค๋จ๊ณ ํผ๋๋ฐฑ ๋๊ธฐ์ด
์ด๋ฒ ๊ฐ์์์ ์ฐ๋ฆฌ๋ ๊ฐ์ฅ ์ ๋ช
ํ ์ ๊ทผ๋ฒ ์ค ํ๋๋ฅผ ๊ฐ๋ฐํ๋ ๋ฐ ๋ฐ๋ฅธ ๋ฌธ์ ์ ์ ๋ํด ์ด์ผ๊ธฐํ ๊ฒ์
๋๋ค.
๊ธฐํ์ด๋ผ๊ณ ๋ถ๋ฆฌ๋ ๋ค๋จ๊ณ ํผ๋๋ฐฑ ๋๊ธฐ์ด (MLFQ). MLFQ ์ค์ผ์ค๋ฌ๋ 1962๋
Fernando J. Corbatรณ์ ์ํด ๋ค์ ์์คํ
์์ ์ฒ์ ์ค๋ช
๋์์ต๋๋ค.
ํธํ ๊ฐ๋ฅํ ์๊ฐ ๊ณต์ ์์คํ
(CTSS). ์ด ์ํ๋ค(์ดํ ์ํ ํฌํจ)
Multics)๋ ์ดํ Turing Award ํ๋ณด๋ก ์ง๋ช
๋์์ต๋๋ค. ๊ธฐํ์๋ ์ด๋ฌ๋ค
์ดํ ๊ฐ์ ๋์ด ์ด๋ฏธ ๋ณผ ์ ์๋ ์ธ๊ด์ ํ๋ํ์ต๋๋ค.
์ผ๋ถ ํ๋ ์์คํ
.
MLFQ ์๊ณ ๋ฆฌ์ฆ์ ๋ ๊ฐ์ง ๊ทผ๋ณธ์ ์ธ ์ค์ฒฉ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ค๊ณ ํฉ๋๋ค.
์ฒซ์งธ๋ก, ์ฒ๋ฆฌ ์๊ฐ์ ์ต์ ํํ๋ ค๊ณ ํ๋๋ฐ, ์ด๋ ์ด์ ๊ฐ์์์ ๋
ผ์ํ ๊ฒ์ฒ๋ผ ๋๊ธฐ์ด์ ์์ ๋ถ๋ถ์์ ๊ฐ์ฅ ๋ง์ด ์์ํ๋ ๋ฐฉ๋ฒ์ผ๋ก ์ต์ ํ๋ฉ๋๋ค.
์งง์ ์์
. ๊ทธ๋ฌ๋ OS๋ ์ด ํ๋ก์ธ์ค๋ ์ ํ๋ก์ธ์ค๊ฐ ์ผ๋ง๋ ์ค๋ซ๋์ ์คํ๋ ์ง ์์ง ๋ชปํฉ๋๋ค.
SJF, STCF ์๊ณ ๋ฆฌ์ฆ์ ๋์์ ํ์ํ ์ง์. ๋์งธ๋ก, MLFQ๋ ๋ค์์ ์๋ํฉ๋๋ค.
์์คํ
์ด ์ฌ์ฉ์์๊ฒ ๋ฐ์ํ๋๋ก ๋ง๋ญ๋๋ค(์: ์์ ์๊ณ ์์ ์๋ ์ฌ๋๋ค์ ์ํด).
์์
์ด ์๋ฃ๋๊ธฐ๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ ๋์ ํ๋ฉด์ ์์ํ์ฌ ์๊ฐ์ ์ต์ํํฉ๋๋ค.
์๋ต. ๋ถํํ๊ฒ๋ RR๊ณผ ๊ฐ์ ์๊ณ ๋ฆฌ์ฆ์ ์๋ต ์๊ฐ์ ๋จ์ถํ์ง๋ง
์ฒ๋ฆฌ ์๊ฐ ์ธก์ ํญ๋ชฉ์ ๋์ ์ํฅ์ ๋ฏธ์นฉ๋๋ค. ๊ทธ๋ฌ๋ฏ๋ก ์ฐ๋ฆฌ์ ๋ฌธ์ ๋: ์ด๋ป๊ฒ ๋์์ธํ ๊ฒ์ธ๊ฐ?
์๋ฌด๊ฒ๋ ๋ชฐ๋ผ๋ ์ฐ๋ฆฌ์ ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑํ๋ ์ค์ผ์ค๋ฌ
์ผ๋ฐ์ ์ผ๋ก ํ๋ก์ธ์ค์ ์ฑ๊ฒฉ์ ๋ฌด์์
๋๊น? ์ค์ผ์ค๋ฌ๊ฐ ์์
์ ํน์ฑ์ ์ด๋ป๊ฒ ํ์ตํ ์ ์๋์ง,
์ถ์๋์ด ๋ ๋์ ๊ณํ ๊ฒฐ์ ์ ๋ด๋ฆด ์ ์์ต๋๊น?
๋ฌธ์ ์ ๋ณธ์ง: ์๋ฒฝํ ์ง์ ์์ด ์์
์ค์ ์ ์ด๋ป๊ฒ ๊ณํํ ์ ์์ต๋๊น?
์๋ต ์๊ฐ์ ๋์์ ์ต์ํํ๋ ์ค์ผ์ค๋ฌ๋ฅผ ์ค๊ณํ๋ ๋ฐฉ๋ฒ
๋ํํ ์์
์ ์ํํ๋ ๋์์ ์์ง ๋ชปํ๋ ์ฌ์ด์ ์ฒ๋ฆฌ ์๊ฐ์ ์ต์ํํฉ๋๋ค.
์์
์คํ ์๊ฐ์ ์๊ณ ์์ต๋๊น?
์ฐธ๊ณ : ์ด์ ์ฌ๊ฑด์ผ๋ก๋ถํฐ ๋ฐฐ์ฐ๊ธฐ
MLFQ ๋๊ธฐ์ด์ ํ๋ จ๋ ์์คํ
์ ํ๋ฅญํ ์์
๋๋ค.
๋ฏธ๋๋ฅผ ์์ธกํ๊ธฐ ์ํ ๊ณผ๊ฑฐ์ ์ฌ๊ฑด. ์ด๋ฌํ ์ ๊ทผ ๋ฐฉ์์ ์ข
์ข
OS(๋ฐ ์ฌ๋ฌ ๋ถ์ผ๋ฅผ ํฌํจํ ์ปดํจํฐ ๊ณผํ์ ๋ค๋ฅธ ์ฌ๋ฌ ๋ถ์ผ)์์ ๋ฐ๊ฒฌ๋จ
ํ๋์จ์ด ์์ธก ๋ฐ ์บ์ฑ ์๊ณ ๋ฆฌ์ฆ). ๋น์ทํ ํ์ดํน
์์
์ ํ๋ ๋จ๊ณ๊ฐ ์์ด ์์ธก์ด ๊ฐ๋ฅํ ๋ ํธ๋ฆฌ๊ฑฐ๋ฉ๋๋ค.
๊ทธ๋ฌ๋ ์ด ๊ธฐ์ ์ ์์ธก์ด ๋งค์ฐ ์ฝ๊ธฐ ๋๋ฌธ์ ์ฃผ์ํด์ผ ํฉ๋๋ค.
์๋ชป๋ ๊ฒ์ผ๋ก ํ๋ช
๋์ด ์์คํ
์ด ๋ ๋์ ๊ฒฐ์ ์ ๋ด๋ฆฌ๊ฒ ๋ง๋ค ์๋ ์์ต๋๋ค.
์ ํ ์ง์์ด ์์ ๊ฒ์
๋๋ค.
MLFQ: ๊ธฐ๋ณธ ๊ท์น
MLFQ ์๊ณ ๋ฆฌ์ฆ์ ๊ธฐ๋ณธ ๊ท์น์ ๊ณ ๋ คํ์ญ์์ค. ๊ทธ๋ฆฌ๊ณ ๋น๋ก ์ด ์๊ณ ๋ฆฌ์ฆ์ ๊ตฌํ์ด
์ฌ๋ฌ ๊ฐ์ง๊ฐ ์์ง๋ง ๊ธฐ๋ณธ ์ ๊ทผ ๋ฐฉ์์ ๋น์ทํฉ๋๋ค.
์ฐ๋ฆฌ๊ฐ ๊ณ ๋ คํ ๊ตฌํ์์ MLFQ๋ ์ฌ๋ฌ ๊ฐ์ง๋ฅผ ๊ฐ๊ฒ ๋ฉ๋๋ค.
๋ณ๋์ ๋๊ธฐ์ด์ ๊ฐ๊ฐ ๋ค๋ฅธ ์ฐ์ ์์๋ฅผ ๊ฐ์ต๋๋ค. ์ธ์ ๋ ์ง,
์คํ ์ค๋น๊ฐ ๋ ์์
์ ๋์ผํ ๋๊ธฐ์ด์ ์์ต๋๋ค. MLFQ๋ ์ฐ์ ์์๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์คํ์ ์ํด ์คํํ ์์
์ ๊ฒฐ์ ํฉ๋๋ค. ์ฆ, ๋ ๋์ ๊ณผ์
์ฐ์ ์์(๊ฐ์ฅ ๋์ ์ฐ์ ์์๋ฅผ ๊ฐ์ง ๋๊ธฐ์ด์ ์์
)๊ฐ ์ฒ์์ผ๋ก ์์๋ฉ๋๋ค.
๋๊ธฐ์ค.
๋ฌผ๋ก ํน์ ๋๊ธฐ์ด์๋ ๋ ์ด์์ ์์
์ด ์์ ์ ์์ผ๋ฏ๋ก
๋ฐ๋ผ์ ๊ทธ๋ค์ ๋์ผํ ์ฐ์ ์์๋ฅผ ๊ฐ๊ฒ ๋ฉ๋๋ค. ์ด ๊ฒฝ์ฐ ๋ฉ์ปค๋์ฆ์ด ์ฌ์ฉ๋ฉ๋๋ค.
RR์ ์ฌ์ฉํ์ฌ ์ด๋ฌํ ์์
์ค ์คํ์ ์์ฝํฉ๋๋ค.
๋ฐ๋ผ์ ์ฐ๋ฆฌ๋ MLFQ์ ๋ํ ๋ ๊ฐ์ง ๊ธฐ๋ณธ ๊ท์น์ ๋๋ฌํ์ต๋๋ค.
- ๊ท์น1: ์ฐ์ ์์(A) > ์ฐ์ ์์(B)์ด๋ฉด ์์ A๊ฐ ์คํ๋ฉ๋๋ค(B๋ ์คํ๋์ง ์์).
- ๊ท์น2: ์ฐ์ ์์(A) = ์ฐ์ ์์(B)์ธ ๊ฒฝ์ฐ A&B๋ RR์ ์ฌ์ฉํ์ฌ ์์๋ฉ๋๋ค.
์ ๋ด์ฉ์ ๋ฐํ์ผ๋ก MLFQ ๊ธฐํ์ ํต์ฌ์์๋
์ฐ์ ์์์
๋๋ค. ๊ฐ๊ฐ์ ๊ณ ์ ๋ ์ฐ์ ์์๋ฅผ ๋ถ์ฌํ๋ ๋์
์์
์์ MLFQ๋ ๊ด์ฐฐ๋ ๋์์ ๋ฐ๋ผ ์ฐ์ ์์๋ฅผ ๋ณ๊ฒฝํฉ๋๋ค.
์๋ฅผ ๋ค์ด ํค๋ณด๋ ์
๋ ฅ์ ๊ธฐ๋ค๋ฆฌ๋ ๋์ ์์
์ด CPU์์ ์ง์์ ์ผ๋ก ์ข
๋ฃ๋๋ ๊ฒฝ์ฐ
MLFQ๋ ํ๋ก์ธ์ค ์ฐ์ ์์๋ฅผ ๋๊ฒ ์ ์งํฉ๋๋ค.
๋ํํ ํ๋ก์ธ์ค๊ฐ ์๋ํด์ผ ํฉ๋๋ค. ๋ฐ๋๋ก ์์
์ด ์ง์์ ์ผ๋ก ์ด๋ฃจ์ด์ง๋ฉด
์ฅ๊ธฐ๊ฐ CPU๋ฅผ ๋ง์ด ์ฌ์ฉํ๋ฏ๋ก MLFQ๊ฐ ์ด๋ฅผ ๋ค์ด๊ทธ๋ ์ด๋ํฉ๋๋ค.
์ฐ์ ์์. ๋ฐ๋ผ์ MLFQ๋ ํ๋ก์ธ์ค๊ฐ ์คํ๋๋ ๋์ ํ๋ก์ธ์ค์ ๋์์ ์ฐ๊ตฌํฉ๋๋ค.
ํ๋์ ์ฌ์ฉํฉ๋๋ค.
์ด๋ ์์ ์์ ๋๊ธฐ์ด์ด ์ด๋ค ๋ชจ์ต์ผ์ง ์๋ฅผ ๊ทธ๋ ค ๋ณด๊ฒ ์ต๋๋ค.
์๊ฐ์ด ์ง๋๋ฉด ๋ค์๊ณผ ๊ฐ์ ๊ฒฐ๊ณผ๊ฐ ๋ํ๋ฉ๋๋ค.
์ด ๋ฐฉ์์์๋ 2๊ฐ์ ํ๋ก์ธ์ค A์ B๊ฐ ๊ฐ์ฅ ๋์ ์ฐ์ ์์ ๋๊ธฐ์ด์ ์์ต๋๋ค. ํ๋ก์ธ์ค
C๋ ์ค๊ฐ ์ด๋๊ฐ์ ์๊ณ ํ๋ก์ธ์ค D๋ ๋๊ธฐ์ด์ ๋งจ ๋์ ์์ต๋๋ค. ์์ ๋ด์ฉ์ ๋ฐ๋ฅด๋ฉด
MLFQ ์๊ณ ๋ฆฌ์ฆ์ ๋ํ ์ค๋ช
์ ๋ฐ๋ฅด๋ฉด ์ค์ผ์ค๋ฌ๋ ๊ฐ์ฅ ๋์ ์์
๋ง ์คํํฉ๋๋ค.
RR์ ๋ฐ๋ผ ์ฐ์ ์์๊ฐ ๋ถ์ฌ๋๋ฉฐ ์์
C, D๋ ์์
์์ ์ ์ธ๋ฉ๋๋ค.
๋น์ฐํ ์ ์ ์ค๋
์ท์ MLFQ ์๋ ๋ฐฉ์์ ๋ํ ์์ ํ ๊ทธ๋ฆผ์ ์ ๊ณตํ์ง ์์ต๋๋ค.
์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ๊ทธ๋ฆผ์ด ์ด๋ป๊ฒ ๋ณํ๋์ง ์ ํํ๊ฒ ์ดํดํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
์๋ 1: ์ฐ์ ์์๋ฅผ ๋ณ๊ฒฝํ๋ ๋ฐฉ๋ฒ
์ด ์์ ์์๋ MLFQ๊ฐ ์ฐ์ ์์ ์์ค์ ์ด๋ป๊ฒ ๋ณ๊ฒฝํ๋์ง ๊ฒฐ์ ํด์ผ ํฉ๋๋ค.
์๋ช
์ฃผ๊ธฐ ๋์ ์์
(๋ฐ ๋๊ธฐ์ด์์ ์์
์ ์์น)์
๋๋ค. ์ ์ํ
์ด ์ค ์์
ํ๋ฆ์ ์ผ๋์ ๋์ด์ผ ํฉ๋๋ค.
๋ฐํ์์ด ์งง์ ๋ํํ ์์
(๋ฐ๋ผ์ ์์ฃผ ๋ฆด๋ฆฌ์ค๋จ)
CPU) ๋ฐ ์์
์๊ฐ ๋ด๋ด CPU๋ฅผ ์ฌ์ฉํ๋ ๋ช ๊ฐ์ง ๊ธด ์์
,
๊ทธ๋ฌํ ์์
์ ๋ํ ์๋ต ์๊ฐ์ ์ค์ํ์ง ์์ต๋๋ค. ๊ทธ๋์ ๋น์ ์ ์ฒซ ๋ฒ์งธ ์๋๋ฅผ ํ ์ ์์ต๋๋ค
๋ค์ ๊ท์น์ ์ฌ์ฉํ์ฌ MLFQ ์๊ณ ๋ฆฌ์ฆ์ ๊ตฌํํฉ๋๋ค.
- ๊ท์น3: ์์ ์ด ์์คํ ์ ๋ค์ด์ค๋ฉด ๊ฐ์ฅ ๋์ ๋๊ธฐ์ด์ ๋ฐฐ์น๋ฉ๋๋ค.
- ์ฐ์ ์ฌํญ.
- ๊ท์น4a: ์์ ์ด ํ ๋น๋ ์ ์ฒด ์๊ฐ ์ฐฝ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ
- ์ฐ์ ์์๊ฐ ๋ฎ์์ง๋๋ค.
- ๊ท์น4b: ํ์คํฌ๊ฐ ํด๋น ๊ธฐ๊ฐ์ด ๋ง๋ฃ๋๊ธฐ ์ ์ CPU๋ฅผ ํด์ ํ๋ฉด
- ๋์ผํ ์ฐ์ ์์๋ก ์ ์ง๋ฉ๋๋ค.
์์ 1: ๋จ์ผ ์ฅ๊ธฐ ์คํ ์์
์ด ์์์ ๋ณผ ์ ์๋ฏ์ด ์
ํ ์ ๊ณผ์ ๋ ๊ฐ์ฅ ๋์ ์์ค์ผ๋ก ์ค์ ๋ฉ๋๋ค.
์ฐ์ ์ฌํญ. 10ms์ ์๊ฐ์ด ์ง๋๋ฉด ํ๋ก์ธ์ค์ ์ฐ์ ์์๊ฐ ๋ฎ์์ง๋๋ค.
์ค์ผ์ค๋ฌ. ๋ค์ ๊ธฐ๊ฐ์ด ์ง๋๋ฉด ์์
์ ์ต์ข
์ ์ผ๋ก ๋ค์์ผ๋ก ๊ฐ๋ฑ๋ฉ๋๋ค.
์์คํ
์์ ๊ฐ์ฅ ๋ฎ์ ์ฐ์ ์์๋ก ๋จ์ ์์ต๋๋ค.
์์ 2: ์งง์ ์์
์ ๋ฌ
์ด์ MLFQ๊ฐ SJF์ ์ ๊ทผํ๋ ค๊ณ ์๋ํ๋ ๋ฐฉ๋ฒ์ ์๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค. ๊ทธ ์์
์๋ฅผ ๋ค์ด, ๋ ๊ฐ์ง ์์
: ์ง์์ ์ผ๋ก ์ฅ๊ธฐ ์คํ๋๋ ์์
์ธ A
์งง์ ๋ํํ ์์
์ธ CPU์ B๋ฅผ ์ ์ ํฉ๋๋ค. ๊ฐ์ ํ๋ค
์์
B๊ฐ ๋์ฐฉํ์ ๋ A๋ ์ด๋ฏธ ํ๋์ ์คํ ์ค์ด์์ต๋๋ค.
์ด ๊ทธ๋ํ๋ ์๋๋ฆฌ์ค์ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ฌ์ค๋๋ค. ํ์คํฌ A๋ ๋ค๋ฅธ ํ์คํฌ์ ๋ง์ฐฌ๊ฐ์ง๋ก
CPU๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋งจ ์๋์ ์์์ต๋๋ค. ์์
B๋ T=100 ์๊ฐ์ ๋์ฐฉํ๊ณ
๊ฐ์ฅ ๋์ ์ฐ์ ์์ ๋๊ธฐ์ด์ ๋ฐฐ์น๋ฉ๋๋ค. ๋ฌ๋ํ์์ด ์งง๊ธฐ ๋๋ฌธ์
๋ง์ง๋ง ๋๊ธฐ์ด์ ๋๋ฌํ๊ธฐ ์ ์ ์๋ฃ๋ฉ๋๋ค.
์ด ์์์ ์๊ณ ๋ฆฌ์ฆ์ ์ฃผ์ ๋ชฉํ๋ฅผ ์ดํดํด์ผ ํฉ๋๋ค.
๊ธด ์์
์ด๋ ์งง์ ์์
์ ์๊ณ ์์ผ๋ฉด ๋จผ์ ๊ทธ ์์
์ด
์งง์ผ๋ฉฐ ๊ฐ์ฅ ๋์ ์ฐ์ ์์๋ฅผ ๋ถ์ฌํฉ๋๋ค. ์ ๋ง ์งง์ ์์
์ด๋ผ๋ฉด
๋น ๋ฅด๊ฒ ์คํ๋ฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ๊ธด ์์
์ธ ๊ฒฝ์ฐ ์ฒ์ฒํ ์ด๋ํฉ๋๋ค.
์ฐ์ ์์๋ฅผ ๋ฎ์ถ๊ณ ๊ณง ๊ทธ๋
๊ฐ ์ค์ ๋ก๋ ๊ทธ๋ ์ง ์์ ๊ธด ์์
์์ ์ฆ๋ช
ํ ๊ฒ์
๋๋ค.
์๋ต์ด ํ์ํฉ๋๋ค.
์ 3: I/O๋ ์ด๋ป์ต๋๊น?
์ด์ I/O ์์ ๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค. ๊ท์น 4b์ ๋ช
์๋ ๋ฐ์ ๊ฐ์ด,
ํ๋ก์ธ์ค๊ฐ ํ๋ก์ธ์ ์๊ฐ์ ๋ชจ๋ ์ฌ์ฉํ์ง ์๊ณ ํ๋ก์ธ์๋ฅผ ํด์ ํ๋ ๊ฒฝ์ฐ
๊ทธ๋ฌ๋ฉด ๋์ผํ ์ฐ์ ์์ ์์ค์ด ์ ์ง๋ฉ๋๋ค. ์ด ๊ท์น์ ์๋๋ ๋งค์ฐ ๊ฐ๋จํฉ๋๋ค.
- ๋ํํ ์์
์ด ๋ง์ I/O๋ฅผ ์ํํ๋ ๊ฒฝ์ฐ(์: ๋๊ธฐ ์ค)
์ฌ์ฉ์์ ํค ์
๋ ฅ์ด๋ ๋ง์ฐ์ค์์ ์ด๋ฌํ ์์
์ ์ํํ๋ฉด ํ๋ก์ธ์๊ฐ ํด์ ๋ฉ๋๋ค.
ํ ๋น๋ ์ฐฝ ์์ ์ฐ๋ฆฌ๋ ์ด๋ฌํ ์ฐ์ ์์ ์์
์ ์๋ตํ๊ณ ์ถ์ง ์์ผ๋ฉฐ,
๋ฐ๋ผ์ ๋์ผํ ์์ค์ผ๋ก ์ ์ง๋ฉ๋๋ค.
์ด ์์์๋ ์๊ณ ๋ฆฌ์ฆ์ด ์ด๋ฌํ ํ๋ก์ธ์ค(์คํ ์ 1ms ๋์๋ง CPU๊ฐ ํ์ํ ๋ํํ ์์
B)์์ ์ด๋ป๊ฒ ์๋ํ๋์ง ๋ณด์ฌ์ค๋๋ค.
I/O ํ๋ก์ธ์ค์ ํญ์ CPU๋ฅผ ์ฌ์ฉํ๋ ๊ธด ์์
A.
MLFQ๋ ํ๋ก์ธ์ค B๋ฅผ ๊ณ์ํด์ ๊ฐ์ฅ ๋์ ์ฐ์ ์์๋ก ์ ์งํฉ๋๋ค.
CPU๋ฅผ ํ์ด์ฃผ์ธ์. B๊ฐ ๋ํํ ์์
์ธ ๊ฒฝ์ฐ ์ด ๊ฒฝ์ฐ ์๊ณ ๋ฆฌ์ฆ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๊ทธ ๋ชฉ์ ์ ๋ํํ ์์
์ ์ ์ํ๊ฒ ์์ํ๋ ๊ฒ์
๋๋ค.
ํ์ฌ MLFQ ์๊ณ ๋ฆฌ์ฆ์ ๋ฌธ์ ์
์ด์ ์์์๋ MLFQ์ ๊ธฐ๋ณธ ๋ฒ์ ์ ๊ตฌ์ถํ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ๋ ๊ฒ ๊ฐ์ต๋๋ค
์์
์ ํ๋ฅญํ๊ณ ๊ณต์ ํ๊ฒ ์ํํ์ฌ CPU ์๊ฐ์ ๊ณต์ ํ๊ฒ ๋ถ๋ฐฐํฉ๋๋ค.
๊ธด ์์
๋ฐ ์งง์ ์์
๋๋ ์์ฃผ ์ก์ธ์ค๋๋ ์์
ํ์ฉ
I/O๋ก ์ฒ๋ฆฌํ์ฌ ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌํฉ๋๋ค. ๋ถํํ๊ฒ๋ ์ด ์ ๊ทผ ๋ฐฉ์์๋ ์ฌ๋ฌ ๊ฐ์ง๊ฐ ํฌํจ๋์ด ์์ต๋๋ค.
์ฌ๊ฐํ ๋ฌธ์ .
์ฒซ์งธ๋ก, ๋ฐฐ๊ณ ํ์ ๋ฌธ์ : ์์คํ
์ ์ํธ์์ฉ์ด ๋ง์ ๊ฒฝ์ฐ
์์
์ ๋ชจ๋ CPU ์๊ฐ์ ์๋นํ๋ฏ๋ก ๋จ ํ ๋ฒ์ ๊ธด ์๊ฐ๋ ์๋นํ์ง ์์ต๋๋ค.
์์
์ด ์คํ๋ ๊ธฐํ๋ฅผ ์ป์ง ๋ชปํฉ๋๋ค(๊ตถ์ด ์ฃฝ์ต๋๋ค).
๋์งธ๋ก, ๋๋ํ ์ฌ์ฉ์๋ ์์ ์ ํ๋ก๊ทธ๋จ์ ์์ฑํ ์ ์์ต๋๋ค.
์ค์ผ์ค๋ฌ๋ฅผ ์์ด์ธ์. ์์์๋ ๊ฐ์ ๋ก ๋ฌด์ธ๊ฐ๋ฅผ ํ๋ ๊ฒ์
๋๋ค.
ํ๋ก์ธ์ค์ ๋ ๋ง์ CPU ์๊ฐ์ ์ ๊ณตํ๋ ์ค์ผ์ค๋ฌ์
๋๋ค. ์๊ณ ๋ฆฌ์ฆ์
์์์ ์ค๋ช
ํ ๊ณต๊ฒฉ์ ์ด๋ฌํ ๊ณต๊ฒฉ์ ๋งค์ฐ ์ทจ์ฝํฉ๋๋ค.
์ด์, I/O ์์
์ ์ํํด์ผ ํฉ๋๋ค(์ด๋ค ํ์ผ์ ๊ด๊ณ์์ด ์ผ๋ถ์ ๋ํด).
๋ฐ๋ผ์ CPU๋ฅผ ํ๋ณดํฉ๋๋ค. ๊ทธ๋ฌํ ํ๋์ ๋น์ ์ด ๊ฐ์ ์ํ๋ฅผ ์ ์งํ๋๋ก ํ์ฉํฉ๋๋ค
๋๊ธฐ์ด ์์ฒด๊ฐ ๋ค์ CPU ์๊ฐ์ ๋ ํฐ ๋น์จ์ ์ป์ต๋๋ค. ์๋ฃ๋๋ฉด
์ด๋ ์ ํํฉ๋๋ค(์: CPU๋ฅผ ํด์ ํ๊ธฐ ์ ์ ์ฐฝ ์๊ฐ์ 99%๋ฅผ ์คํ).
๊ทธ๋ฌํ ์์
์ ๋จ์ํ ํ๋ก์ธ์๋ฅผ ๋
์ ํ ์ ์์ต๋๋ค.
๋ง์ง๋ง์ผ๋ก ํ๋ก๊ทธ๋จ์ ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ๋์์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. ๊ทธ ์์
CPU๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋ํํ์ด ๋ ์ ์์ต๋๋ค. ์ฐ๋ฆฌ์ ์์์๋ ๋น์ทํ
์์
์ ๋ค๋ฅธ ์์
์ฒ๋ผ ์ค์ผ์ค๋ฌ๋ก๋ถํฐ ์ ์ ํ ์ฒ๋ฆฌ๋ฅผ ๋ฐ์ง ๋ชปํฉ๋๋ค.
(์๋ณธ) ๋ํํ ์์
.
์ฒญ์ค์ ์ํ ์ง๋ฌธ: ํ๋ ์ธ๊ณ์์๋ ์ค์ผ์ค๋ฌ์ ๋ํด ์ด๋ค ๊ณต๊ฒฉ์ด ์ํ๋ ์ ์์ต๋๊น?
์๋ 2: ์ฐ์ ์์ ๋์ด๊ธฐ
๊ท์น์ ๋ณ๊ฒฝํ์ฌ ๋ฌธ์ ๋ฅผ ํผํ ์ ์๋์ง ์ดํด๋ณด๊ฒ ์ต๋๋ค.
๊ตถ์ฃผ๋ฆผ. ๊ด๋ จ์ฑ์ ๋ณด์ฅํ๊ธฐ ์ํด ์ฐ๋ฆฌ๊ฐ ํ ์ ์๋ ์ผ์ ๋ฌด์์
๋๊น?
CPU ์์
์๋ ์๊ฐ์ด ๊ฑธ๋ฆฝ๋๋ค(๊ธธ์ง ์๋๋ผ๋).
๋ฌธ์ ์ ๋ํ ๊ฐ๋จํ ํด๊ฒฐ์ฑ
์ผ๋ก ์ฃผ๊ธฐ์ ์ผ๋ก ์ ์ํ ์ ์์ต๋๋ค.
์์คํ
์์ ์ด๋ฌํ ๋ชจ๋ ์์
์ โโ์ฐ์ ์์๋ฅผ ๋์
๋๋ค. ์ฌ๋ฌ ๊ฐ์ง ๋ฐฉ๋ฒ์ด ์์ต๋๋ค
์ด๋ฅผ ๋ฌ์ฑํ๊ธฐ ์ํด ์๋ฅผ ๋ค์ด ๊ฐ๋จํ ๊ฒ์ ๊ตฌํํด ๋ณด๊ฒ ์ต๋๋ค.
๋ชจ๋ ์์
์ ๋์์ ๊ฐ์ฅ ๋์ ์ฐ์ ์์๋ก ์ง์ ํ๋ฏ๋ก ์๋ก์ด ๊ท์น์ด ์ ์ฉ๋ฉ๋๋ค.
- Rule5: ์ผ์ ๊ธฐ๊ฐ S ์ดํ ์์คํ ๋ด ๋ชจ๋ ์์ ์ ์ต์์ ๋๊ธฐ์ด๋ก ์ด๋ํฉ๋๋ค.
์ฐ๋ฆฌ์ ์๋ก์ด ๊ท์น์ ๋ ๊ฐ์ง ๋ฌธ์ ๋ฅผ ๋์์ ํด๊ฒฐํฉ๋๋ค. ์ฒซ์งธ, ํ๋ก์ธ์ค
๊ธฐ์ ๋ฐฉ์ง ๋ณด์ฅ: ๊ฐ์ฅ ๋์ ํ์ ์๋ ์์
์ ๊ณต์ ๋ฉ๋๋ค.
RR ์๊ณ ๋ฆฌ์ฆ์ ๋ฐ๋ผ ํ๋ก์ธ์ ์๊ฐ์ ์์ ํ๋ฏ๋ก ๋ชจ๋ ํ๋ก์ธ์ค๋
ํ๋ก์ธ์ ์๊ฐ. ๋์งธ, ์ด์ ์ ์ฌ์ฉํ๋ ์ผ๋ถ ํ๋ก์ธ์ค๊ฐ ์๋ ๊ฒฝ์ฐ
ํ๋ก์ธ์๋ง ๋ํํ์ด ๋๋ฉฐ ๊ฐ์ฅ ๋์ ๊ฐ์ ๊ฐ์ง ๋๊ธฐ์ด์ ๋จ์ ์๊ฒ ๋ฉ๋๋ค.
ํ ๋ฒ ๊ฐ์ฅ ๋์ ์ฐ์ ์์๋ก ๋ถ์คํธ๋ ํ ์ฐ์ ์์๋ฅผ ์ง์ ํฉ๋๋ค.
์๋ฅผ ๊ณ ๋ คํ์ญ์์ค. ์ด ์๋๋ฆฌ์ค์์๋ ๋ค์์ ์ฌ์ฉํ๋ ๋จ์ผ ํ๋ก์ธ์ค๋ฅผ ๊ณ ๋ คํ์ญ์์ค.
CPU์ ๋ ๊ฐ์ ๋ํํ ์งง์ ํ๋ก์ธ์ค. ๊ทธ๋ฆผ์ ์ผ์ชฝ ๊ทธ๋ฆผ์ ์ฐ์ ์์ ์น๊ฒฉ์ด ์๋ ๋์์ ๋ณด์ฌ์ค๋๋ค. ๋ฐ๋ผ์ ๋ ๊ฐ์ ๋ํํ ์์
์ด ์์คํ
์ ๋์ฐฉํ ํ ์ฅ๊ธฐ ์คํ ์์
์ด ์ค๋จ๋๊ธฐ ์์ํฉ๋๋ค. ์ค๋ฅธ์ชฝ ๊ทธ๋ฆผ์์๋ 50ms๋ง๋ค ์ฐ์ ์์ ์ฆ๊ฐ๊ฐ ์ด๋ฃจ์ด์ง๋ฏ๋ก ๋ชจ๋ ํ๋ก์ธ์ค๋ CPU ์๊ฐ์ ๋ณด์ฅ๋ฐ์ผ๋ฉฐ ์ฃผ๊ธฐ์ ์ผ๋ก ์์๋ฉ๋๋ค. ์ด ๊ฒฝ์ฐ 50ms๋ฅผ ์๋ก ๋ค์์ง๋ง ์ค์ ๋ก๋ ์ด ์ซ์๊ฐ ์ฝ๊ฐ ๋ ๋์ต๋๋ค.
๋ถ๋ช
ํ, ์ฃผ๊ธฐ์ ์ธ ์ฆ๊ฐ ์๊ฐ S๋ฅผ ์ถ๊ฐํ๋ฉด
๋
ผ๋ฆฌ์ ์ง๋ฌธ: ์ด๋ค ๊ฐ์ ์ค์ ํด์ผ ํฉ๋๊น? ๊ทธ๋ด๋งํ ๊ฐ์น๊ฐ ์๋ ๊ฒ ์ค ํ๋
์์คํ
์์ง๋์ด John Ousterhout๋ ์์คํ
์์ ๋น์ทํ ์์ voo-doo๋ผ๊ณ ์ธ๊ธํ์ต๋๋ค.
์ด๋ค ์์ผ๋ก๋ ์ฌ๋ฐ๋ฅธ ์์
์ ์ํํ๋ ค๋ฉด ํ๋ง๋ฒ์ด ํ์ํ๊ธฐ ๋๋ฌธ์ ์์์
๋๋ค.
๋
ธ์ถ. ๊ทธ๋ฆฌ๊ณ ์ํ๊น๊ฒ๋ S์๋ ๊ทธ๋ฐ ๋ง์ด ์์ต๋๋ค. ๊ฐ๋ ์ค์ ํ๋ฉด
ํฌ๊ณ ๊ธด ์์
์ ๊ตถ์ด ์ฃฝ๊ฒ ๋ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋๋ฌด ๋ฎ๊ฒ ์ค์ ํ๋ฉด
๋ํํ ์์
์ ์ ์ ํ CPU ์๊ฐ์ ๋ฐ์ง ๋ชปํฉ๋๋ค.
์๋ 3: ๋ ๋์ ํ๊ณ
์ด์ ํด๊ฒฐํด์ผ ํ ๋ฌธ์ ๊ฐ ํ๋ ๋ ์์ต๋๋ค.
์ค์ผ์ค๋ฌ๋ฅผ ์์ด๋ ๊ฒ์ ํ์ฉํ์๊ฒ ์ต๋๊น? ์ด ๊ฐ๋ฅ์ฑ์ ์์ธ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
ํ๋ก์ธ์๋ฅผ ํด์ ํ์ฌ ์์
์ ์ฐ์ ์์๋ฅผ ์ ์งํ๋๋ก ํ์ฉํ๋ ๊ท์น 4a, 4b
ํ ๋น๋ ์๊ฐ์ด ๋ง๋ฃ๋๊ธฐ ์ ์. ๊ทธ๊ฒ์ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ?
์ด ๊ฒฝ์ฐ ์๋ฃจ์
์ ๊ฐ CPU ์๊ฐ์ ๋ ์ ๊ณ์ฐํ๋ ๊ฒ์ผ๋ก ๊ฐ์ฃผ๋ ์ ์์ต๋๋ค.
MLFQ ์์ค. ํ๋ก๊ทธ๋จ์ด ์ฌ์ฉํ ์๊ฐ์ ์์ด๋ฒ๋ฆฌ๋ ๋์
ํ ๋น๋ ๊ธฐ๊ฐ ๋์ ํ๋ก์ธ์๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ด๋ฅผ ๊ณ ๋ คํ๊ณ ์ ์ฅํด์ผ ํฉ๋๋ค. ํ์
ํ๋ก์ธ์ค๊ฐ ํ ๋น๋ ์๊ฐ์ ๋ชจ๋ ์ฌ์ฉํ์ต๋๋ค. ๋ค์ ํ๋ก์ธ์ค๋ก ๊ฐ๋ฑ๋์ด์ผ ํฉ๋๋ค.
์ฐ์ ์์ ์์ค. ์ด์ ํ๋ก์ธ์ค๊ฐ ์๊ฐ์ ์ด๋ป๊ฒ ์ฌ์ฉํ๋์ง๋ ์ค์ํ์ง ์์ต๋๋ค.
ํ๋ก์ธ์์์ ๋๋ ์ผ๋ จ์ ํธ์ถ๋ก ์ง์์ ์ผ๋ก ์ปดํจํ
ํฉ๋๋ค. ๋ฐ๋ผ์,
๊ท์น 4๋ ๋ค์ ํ์์ผ๋ก ๋ค์ ์์ฑ๋์ด์ผ ํฉ๋๋ค.
- Rule4: ์์ ์ด ํ์ฌ ๋๊ธฐ์ด์์ ํ ๋น๋ ์๊ฐ์ ๋ชจ๋ ์ฌ์ฉํ ํ์(CPU๋ฅผ ํด์ ํ ํ์์ ๊ด๊ณ์์ด) ํด๋น ์์ ์ ์ฐ์ ์์๋ ๊ฐ์ํฉ๋๋ค(๋๊ธฐ์ด ์๋๋ก ์ด๋ํฉ๋๋ค).
์๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค:
ยป
๊ทธ๋ฆผ์ ๋ค์๊ณผ ๊ฐ์ด ์ค์ผ์ค๋ฌ๋ฅผ ์์ด๋ ค๊ณ ํ๋ฉด ์ด๋ค ์ผ์ด ๋ฐ์ํ๋์ง ๋ณด์ฌ์ค๋๋ค.
์ด์ ๊ท์น 4a, 4b๋ฅผ ์ฌ์ฉํ๋ค๋ฉด ์ผ์ชฝ์ ๊ฒฐ๊ณผ๋ฅผ ์ป๊ฒ ๋ฉ๋๋ค. ์๋ก์ด
๊ท์น์ ๊ฒฐ๊ณผ๊ฐ ์ค๋ฅธ์ชฝ์ ์๋ค๋ ๊ฒ์
๋๋ค. ๋ณดํธ ์ด์ ์๋ ๋ชจ๋ ํ๋ก์ธ์ค๊ฐ ์๋ฃ๋๊ธฐ ์ ์ I/O๋ฅผ ํธ์ถํ ์ ์์ผ๋ฉฐ
๋ฐ๋ผ์ ๋ณดํธ๋ฅผ ํ์ฑํํ ํ ๋์์ ๊ด๊ณ์์ด CPU๋ฅผ ์ง๋ฐฐํฉ๋๋ค.
I/O, ๊ทธ๋ ์ฌ์ ํ ๋๊ธฐ์ด์ ๋จ์ ์์ผ๋ฏ๋ก ๋ถ์ ์งํ๊ฒ ํ ์ ์์ต๋๋ค.
CPU ์์์ ์ฐจ์งํฉ๋๋ค.
MLFQ ๋ฐ ๊ธฐํ ๋ฌธ์ ๊ฐ์
์์ ๊ฐ์ ์ฌํญ์ผ๋ก ์ธํด ์๋ก์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค.
์ง๋ฌธ - ๊ทธ๋ฌํ ์ค์ผ์ค๋ฌ๋ฅผ ๋งค๊ฐ๋ณ์ํํ๋ ๋ฐฉ๋ฒ์ ๋ฌด์์
๋๊น? ์ ๊ฒ๋ค. ์ผ๋ง๊ฐ๋์ด์ผํฉ๋๊น?
๋๊ธฐ์ด? ๋๊ธฐ์ด ๋ด์ ํ๋ก๊ทธ๋จ ์ฐฝ ํฌ๊ธฐ๋ ์ผ๋ง์
๋๊น? ์ด๋ป๊ฒ
๊ธฐ์์ ๊ธฐ์๋ฅผ ํผํ๊ธฐ ์ํด ํ๋ก๊ทธ๋จ์ด ์ฐ์ ์์๊ฐ ๋์ด์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค.
ํ๋ก๊ทธ๋จ ๋์์ ๋ณํ๋ฅผ ๊ณ ๋ คํฉ๋๊น? ์ด ์ง๋ฌธ์ ๋ํ ๊ฐ๋จํ ๋๋ต์ ์์ต๋๋ค.
์๋ต ๋ฐ ๋ก๋ ๋ฐ ํ์ ๊ตฌ์ฑ์ ๋ํ ์คํ๋ง ์ํ
ํ๋๋๋ ์ด๋ ์ ๋ ๋ง์กฑ์ค๋ฌ์ด ๊ท ํ์ ์ด๋ฃฐ ์ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด ๋๋ถ๋ถ์ MLFQ ๊ตฌํ์์๋ ์๋ก ๋ค๋ฅธ ํ ๋น์ ํ์ฉํฉ๋๋ค.
๋ค์ํ ๋๊ธฐ์ด์ ์๊ฐ ์ฌ๋กฏ. ์ฐ์ ์์๊ฐ ๋์ ํ๋ ์ผ๋ฐ์ ์ผ๋ก
์งง์ ๊ฐ๊ฒฉ. ์ด๋ฌํ ๋๊ธฐ์ด์ ๋ํํ ์์
์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
๊ทธ ์ฌ์ด๋ฅผ ์ ํํ๋ ๊ฒ์ ๋งค์ฐ ๋ฏผ๊ฐํ๋ฉฐ 10 ์ดํ๊ฐ ์์๋ฉ๋๋ค
ms. ๋์กฐ์ ์ผ๋ก, ๋ฎ์ ์ฐ์ ์์ ๋๊ธฐ์ด์ ๋ค์์ ์ฌ์ฉํ๋ ์ฅ๊ธฐ ์คํ ์์
์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
CPU. ๊ทธ๋ฆฌ๊ณ ์ด ๊ฒฝ์ฐ ๊ธด ์๊ฐ ๊ฐ๊ฒฉ(100ms)์ด ๋งค์ฐ ์ ๋ง์ต๋๋ค.
์ด ์์๋ ๋์ ์ฐ์ ์์ ๋๊ธฐ์ด 2์์ ์๋ํ 20๊ฐ์ ์์
์ด ์์ต๋๋ค.
ms, 10ms ์ฐฝ์ผ๋ก ๋๋ฉ๋๋ค. ์ค๊ฐ ๋๊ธฐ์ด(40ms ์ฐฝ) ๋ฐ ๋ฎ์ ์ฐ์ ์์์์ 20ms
์์
์ด ์์
์ ์๋ฃํ๋ ๋๊ธฐ์ด ์๊ฐ ์ฐฝ์ด 40ms๊ฐ ๋์์ต๋๋ค.
Solaris OS์์ MLFQ ๊ตฌํ์ ์๊ฐ ๊ณต์ ์ค์ผ์ค๋ฌ ํด๋์ค์
๋๋ค.
์ค์ผ์ค๋ฌ๋ ์ค์ผ์ค๋ง ๋ฐฉ๋ฒ์ ์ ํํ๊ฒ ์ ์ํ๋ ํ
์ด๋ธ ์ธํธ๋ฅผ ์ ๊ณตํฉ๋๋ค.
ํ๋ก์ธ์ค์ ์ฐ์ ์์๋ ์๋ช
์ฃผ๊ธฐ์ ๋ฐ๋ผ ๋ณ๊ฒฝ๋ฉ๋๋ค. ํฌ๊ธฐ๋ ์ด๋ป๊ฒ ๋์ด์ผ ํฉ๋๊น?
ํ ๋นํ ์ฐฝ๊ณผ ์์
์ฐ์ ์์๋ฅผ ๋์ด๋ ๋น๋์
๋๋ค. ๊ด๋ฆฌ์
์์คํ
์ ์ด ํ
์ด๋ธ๊ณผ ์ํธ ์์ฉํ๊ณ ์ค์ผ์ค๋ฌ๊ฐ ์๋ํ๋๋ก ํ ์ ์์ต๋๋ค.
๋ค๋ฅด๊ฒ. ๊ธฐ๋ณธ์ ์ผ๋ก ์ด ํ
์ด๋ธ์๋ ์ ์ง์ ์ผ๋ก ์ฆ๊ฐํ๋ 60๊ฐ์ ๋๊ธฐ์ด์ด ์์ต๋๋ค.
์ฐฝ ํฌ๊ธฐ๋ 20ms(๋์ ์ฐ์ ์์)๋ถํฐ ์๋ฐฑ ms(๋ฎ์ ์ฐ์ ์์)๊น์ง์
๋๋ค.
๋ํ ์ด๋น ํ ๋ฒ์ฉ ๋ชจ๋ ์์
์ด ํฅ์๋ฉ๋๋ค.
๋ค๋ฅธ MLFQ ํ๋๋๋ ํ
์ด๋ธ์ด๋ ํน์ ํญ๋ชฉ์ ์ฌ์ฉํ์ง ์์ต๋๋ค.
์ด ๊ฐ์์์ ์ค๋ช
ํ๋ ๊ท์น์ ๋ฐ๋๋ก ์ฐ์ ์์๋ฅผ ๋ค์์ ์ฌ์ฉํ์ฌ ๊ณ์ฐํฉ๋๋ค.
์ํ ๊ณต์. ์๋ฅผ ๋ค์ด, FreeBSD์ ์ค์ผ์ค๋ฌ๋ ๋ค์ ๊ณต์์ ์ฌ์ฉํฉ๋๋ค.
ํ๋ก์ธ์ค์ ์์ ๋ฐ๋ผ ํ์ฌ ์์
์ฐ์ ์์๋ฅผ ๊ณ์ฐํฉ๋๋ค.
CPU๋ฅผ ์ฌ์ฉํ์ต๋๋ค. ๋ํ CPU ์ฌ์ฉ๋์ ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ๊ฐ์ํ๋ฏ๋ก
๋ฐ๋ผ์ ์ฐ์ ์์ ์ฆ๊ฐ๋ ์์์ ์ค๋ช
ํ ๊ฒ๊ณผ ๋ค์ ๋ค๋ฆ
๋๋ค. ์ด๊ฒ์ ์ฌ์ค์ด๋ค
๋ถ๊ดด ์๊ณ ๋ฆฌ์ฆ์ด๋ผ๊ณ ํฉ๋๋ค. ๋ฒ์ 7.1๋ถํฐ FreeBSD๋ ULE ์ค์ผ์ค๋ฌ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
๋ง์ง๋ง์ผ๋ก ๋ง์ ๊ธฐํ์์๋ ๋ค๋ฅธ ๊ธฐ๋ฅ์ด ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์ผ๋ถ
์ค์ผ์ค๋ฌ๋ ์ด์ ์ฒด์ ์๋์ ์ํด ๋ ๋์ ์์ค์ ์์ฝํ๋ฏ๋ก
๋ฐ๋ผ์ ์ด๋ค ์ฌ์ฉ์ ํ๋ก์ธ์ค๋ ๊ฐ์ฅ ๋์ ์ฐ์ ์์๋ฅผ ๋ฐ์ ์ ์์ต๋๋ค.
์ฒด๊ณ. ์ผ๋ถ ์์คํ
์์๋ ๋์์ ์ค ์ ์๋ ์กฐ์ธ์ ์ ๊ณตํ ์ ์์ต๋๋ค.
ํ๋๋๋ ์ฐ์ ์์๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ์ค์ ํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ๋ค์ ๋ช
๋ น์ ์ฌ์ฉํ๋ฉด ์ข์
์์
์ ์ฐ์ ์์๋ฅผ ๋์ด๊ฑฐ๋ ๋ฎ์ถ ์ ์์ผ๋ฉฐ ์ด์ ๋ฐ๋ผ ๋์ด๊ฑฐ๋ ๋ฎ์ถ ์ ์์ต๋๋ค.
ํ๋ก๊ทธ๋จ์ด CPU ์๊ฐ์ ์ฌ์ฉํ ๊ฐ๋ฅ์ฑ์ ์ค์
๋๋ค.
MLFQ: ์์ฝ
์ฐ๋ฆฌ๋ MLFQ๋ผ๋ ๊ณํ ์ ๊ทผ ๋ฐฉ์์ ์ค๋ช
ํ์ต๋๋ค. ๊ทธ์ ์ด๋ฆ
์๋ ์๋ฆฌ์ ํฌํจ๋จ - ์ฌ๋ฌ ๊ฐ์ ๋๊ธฐ์ด์ด ์๊ณ ํผ๋๋ฐฑ์ ์ฌ์ฉํฉ๋๋ค.
์์
์ ์ฐ์ ์์๋ฅผ ์ ํ๋ ๊ฒ.
๊ท์น์ ์ต์ข
ํํ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- Rule1: ์ฐ์ ์์(A) > ์ฐ์ ์์(B)์ด๋ฉด ํ์คํฌ A๊ฐ ์คํ๋ฉ๋๋ค(B๋ ์คํ๋์ง ์์).
- Rule2: ์ฐ์ ์์(A) = ์ฐ์ ์์(B)์ธ ๊ฒฝ์ฐ RR์ ์ฌ์ฉํ์ฌ A&B๊ฐ ์์๋ฉ๋๋ค.
- Rule3: ์์ ์ด ์์คํ ์ ๋ค์ด์ค๋ฉด ๊ฐ์ฅ ๋์ ์ฐ์ ์์ ๋๊ธฐ์ด์ ๋ฐฐ์น๋ฉ๋๋ค.
- Rule4: ์์ ์ด ํ์ฌ ๋๊ธฐ์ด์์ ํ ๋น๋ ์๊ฐ์ ๋ชจ๋ ์ฌ์ฉํ ํ์(CPU๋ฅผ ํด์ ํ ํ์์ ๊ด๊ณ์์ด) ํด๋น ์์ ์ ์ฐ์ ์์๋ ๊ฐ์ํฉ๋๋ค(๋๊ธฐ์ด ์๋๋ก ์ด๋ํฉ๋๋ค).
- Rule5: ์ผ์ ๊ธฐ๊ฐ S ์ดํ ์์คํ ๋ด ๋ชจ๋ ์์ ์ ์ต์์ ๋๊ธฐ์ด๋ก ์ด๋ํฉ๋๋ค.
MLFQ๋ ๋ค์๊ณผ ๊ฐ์ ์ด์ ๋ก ํฅ๋ฏธ๋กญ์ต๋๋ค.
์์
์ ์ฑ๊ฒฉ์ ๋ฏธ๋ฆฌ ํ์
ํ์ฌ ์๊ณ ๋ฆฌ์ฆ์ ์์
์ ๊ณผ๊ฑฐ ๋์์ ํ์ตํ๊ณ ์ค์ ํฉ๋๋ค.
๊ทธ์ ๋ฐ๋ผ ์ฐ์ ์์๋ฅผ ์ ํ์ธ์. ๊ทธ๋์ ๊ทธ๋ ์์ ์์
(SJF, STCF)์ ์์ฐ์ฑ์ ๋์ด๊ณ ์ ์งํ๊ฒ ์ค๋ ๋ฌ๋ฆฌ๊ธฐ ์ํด ๋์์ ๋ ๊ฐ์ ์์์ ์์ผ๋ ค๊ณ ๋
ธ๋ ฅํฉ๋๋ค.
CPU ๋ก๋ฉ ์์
. ๋ฐ๋ผ์ BSD ๋ฐ ๊ทธ ํ์๋ฌผ์ ํฌํจํ ๋ง์ ์์คํ
์
Solaris, Windows, Mac์ ์ผ์ ํํ์ ์๊ณ ๋ฆฌ์ฆ์ ์ค์ผ์ค๋ฌ๋ก ์ฌ์ฉํฉ๋๋ค.
MLFQ๋ฅผ ๊ธฐ์ค์ผ๋ก ์ผ์ต๋๋ค.
์ถ๊ฐ ์๋ฃ :
manpages.debian.org/stretch/manpages/sched.7.en.html en.wikipedia.org/wiki/Scheduling_ (๊ณ์ฐ)Pages.lip6.fr/Julia.Lawall/atc18-bouron.pdf www.usenix.org/legacy/event/bsdcon03/tech/full_papers/roberson/roberson.pdf chebykin.org/freebsd-process-scheduling
์ถ์ฒ : habr.com