์ด์ ์ฒด์ ์๊ฐ
ํค์ด ํ๋ธ๋ฅด! ์ ์๊ฐ์๋ ํฅ๋ฏธ๋ก์ด ๋ฌธํ ์ธ OSTEP์ ๋ํ ์ผ๋ จ์ ๊ธฐ์ฌ ๋ฒ์ญ์ ์ฌ๋ฌ๋ถ์ ๊ด์ฌ์ ๋๊ณ ์ถ์ต๋๋ค. ์ด ์๋ฃ๋ ์ ๋์ค ๊ณ์ด ์ด์ ์ฒด์ ์ ์์
, ์ฆ ํ๋ก์ธ์ค, ๋ค์ํ ์ค์ผ์ค๋ฌ, ๋ฉ๋ชจ๋ฆฌ ๋ฐ ์ต์ OS๋ฅผ ๊ตฌ์ฑํ๋ ๊ธฐํ ์ ์ฌํ ๊ตฌ์ฑ ์์ ์์
์ ๋ํด ๋งค์ฐ ๊น์ด ๋
ผ์ํฉ๋๋ค. ์ฌ๊ธฐ์์ ๋ชจ๋ ์๋ฃ์ ์๋ณธ์ ๋ณผ ์ ์์ต๋๋ค.
์ด ์ฃผ์ ์ ๋ํ ์ฐ๊ตฌ์ค ์์ ์ ์ฌ๊ธฐ์์ ์ฐพ์ ์ ์์ต๋๋ค.
๊ธฐํ ๋ถํ :
์์ ๋ด ์ฑ๋์ ํ์ธํ ์๋ ์์ต๋๋ค.
์ค์ผ์ค๋ฌ ์๊ฐ
๋ฌธ์ ์ ๋ณธ์ง: ์ค์ผ์ค๋ฌ ์ ์ฑ
์ ๊ฐ๋ฐํ๋ ๋ฐฉ๋ฒ
๊ธฐ๋ณธ ์ค์ผ์ค๋ฌ ์ ์ฑ
ํ๋ ์์ํฌ๋ ์ด๋ป๊ฒ ์ค๊ณ๋์ด์ผ ํฉ๋๊น? ํต์ฌ ๊ฐ์ ์ ๋ฌด์์ด์ด์ผ ํฉ๋๊น? ์ด๋ค ์งํ๊ฐ ์ค์ํฉ๋๊น? ์ด๊ธฐ ์ปดํจํ
์์คํ
์์๋ ์ด๋ค ๊ธฐ๋ณธ ๊ธฐ์ ์ด ์ฌ์ฉ๋์์ต๋๊น?
์ํฌ๋ก๋ ๊ฐ์
๊ฐ๋ฅํ ์ ์ฑ ์ ๋ ผ์ํ๊ธฐ ์ ์ ๋จผ์ ์์คํ ์์ ์คํ๋๋ ํ๋ก์ธ์ค์ ๋ํด ๋ช ๊ฐ์ง ๋จ์ํ๋ ์ค๋ช ์ ๋ง๋ค์ด ๋ณด๊ฒ ์ต๋๋ค. ์์ ๋. ์ํฌ๋ก๋ ์ ์๋ ์ ์ฑ ๊ตฌ์ถ์ ์ค์ํ ๋ถ๋ถ์ด๋ฉฐ, ์ํฌ๋ก๋์ ๋ํด ๋ ๋ง์ด ์์๋ก ๋ ๋์ ์ ์ฑ ์ ์์ฑํ ์ ์์ต๋๋ค.
์์คํ ์์ ์คํ๋๋ ํ๋ก์ธ์ค(๋๋๋ก๋ผ๊ณ ๋ ํจ)์ ๋ํด ๋ค์๊ณผ ๊ฐ์ ๊ฐ์ ์ ํด๋ณด๊ฒ ์ต๋๋ค. ์์ (์์ ). ์ด๋ฌํ ๊ฐ์ ์ ๊ฑฐ์ ๋ชจ๋ ํ์ค์ ์ด์ง๋ ์์ง๋ง ์ฌ๊ณ ์ ๋ฐ์ ์ ํ์ํฉ๋๋ค.
- ๊ฐ ์์ ์ ๋์ผํ ์๊ฐ ๋์ ์คํ๋ฉ๋๋ค.
- ๋ชจ๋ ์์ ์ด ๋์์ ์ค์ ๋๋ฉฐ,
- ํ ๋น๋ ์์ ์ ์๋ฃ๋ ๋๊น์ง ์๋ํฉ๋๋ค.
- ๋ชจ๋ ์์ ์ CPU๋ง ์ฌ์ฉํฉ๋๋ค.
- ๊ฐ ์์ ์ ์คํ ์๊ฐ์ด ์๋ ค์ ธ ์์ต๋๋ค.
์ค์ผ์ค๋ฌ ์ธก์ ํญ๋ชฉ
๋ก๋์ ๋ํ ๋ช ๊ฐ์ง ๊ฐ์ ์ธ์๋ ๋ค์ํ ์ค์ผ์ค๋ง ์ ์ฑ ์ ๋น๊ตํ๊ธฐ ์ํ ๋ ๋ค๋ฅธ ๋๊ตฌ์ธ ์ค์ผ์ค๋ฌ ๋ฉํธ๋ฆญ์ด ํ์ํฉ๋๋ค. ์ธก์ ํญ๋ชฉ์ ๋จ์ง ๋ฌด์ธ๊ฐ์ ๋ํ ์ธก์ ๊ฐ์ผ ๋ฟ์ ๋๋ค. ์ค์ผ์ค๋ฌ๋ฅผ ๋น๊ตํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ ๋ค์ํ ์ธก์ ํญ๋ชฉ์ด ์์ต๋๋ค.
์๋ฅผ ๋ค์ด, ๋ค์๊ณผ ๊ฐ์ ์ธก์ ํญ๋ชฉ์ ์ฌ์ฉํ๊ฒ ์ต๋๋ค. ์ฒ๋ฆฌ ์๊ฐ (์ฒ๋ฆฌ ์๊ฐ). ์์ ์ฒ๋ฆฌ ์๊ฐ์ ์์ ์๋ฃ ์๊ฐ๊ณผ ์์คํ ๋ด ์์ ๋์ฐฉ ์๊ฐ์ ์ฐจ์ด๋ก ์ ์๋ฉ๋๋ค.
Tturnaround=TcompletionโTarrival
๋ชจ๋ ์์ ์ด ๋์์ ๋์ฐฉํ๋ค๊ณ ๊ฐ์ ํ๊ธฐ ๋๋ฌธ์ Ta=0์ด๊ณ ๋ฐ๋ผ์ Tt=Tc์ ๋๋ค. ์ด ๊ฐ์ ์์ ๊ฐ์ ์ ๋ณ๊ฒฝํ๋ฉด ์์ฐ์ค๋ฝ๊ฒ ๋ณ๊ฒฝ๋ฉ๋๋ค.
๋ ๋ค๋ฅธ ์ธก์ ํญ๋ชฉ - ๊ณตํ (๊ณต์ ์ฑ, ์ ์ง์ฑ). ์์ฐ์ฑ๊ณผ ๊ณต์ ์ฑ์ ์ข ์ข ๊ณํ์์ ๋ฐ๋๋๋ ํน์ฑ์ ๋๋ค. ์๋ฅผ ๋ค์ด ์ค์ผ์ค๋ฌ๋ ์ฑ๋ฅ์ ์ต์ ํํ ์ ์์ง๋ง ๋ค๋ฅธ ์์ ์ด ์คํ๋ ๋๊น์ง ๊ธฐ๋ค๋ ค์ผ ํ๋ฏ๋ก ๊ณต์ ์ฑ์ด ๋จ์ด์ง๋๋ค.
์ ์ ์ ์ถ(FIFO)
์ฐ๋ฆฌ๊ฐ ๊ตฌํํ ์ ์๋ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ์๊ณ ๋ฆฌ์ฆ์ FIFO ๋๋ ์ ์ฐฉ์(in), ์ ์ฐฉ์(out). ์ด ์๊ณ ๋ฆฌ์ฆ์๋ ์ฌ๋ฌ ๊ฐ์ง ์ฅ์ ์ด ์์ต๋๋ค. ๊ตฌํํ๊ธฐ๊ฐ ๋งค์ฐ ์ฝ๊ณ ๋ชจ๋ ๊ฐ์ ์ ์ ํฉํ๋ฉฐ ์์ ์ ๋งค์ฐ ์ ์ํํฉ๋๋ค.
๊ฐ๋จํ ์๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค. 3๊ฐ์ง ์์ ์ด ๋์์ ์ค์ ๋์๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค. ํ์ง๋ง ์์ A๊ฐ ๋ค๋ฅธ ๋ชจ๋ ์์ ๋ณด๋ค ์กฐ๊ธ ๋ ์ผ์ฐ ๋์ฐฉํ๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค. ๋ฐ๋ผ์ B๊ฐ C์ ๋นํด ๋ค๋ฅธ ์์ ๋ณด๋ค ๋จผ์ ์คํ ๋ชฉ๋ก์ ๋ํ๋ฉ๋๋ค. ๊ฐ ์์ ์ด 10์ด ๋์ ์คํ๋๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค. ์ด ๊ฒฝ์ฐ ์ด๋ฌํ ์์ ์ ์๋ฃํ๋ ๋ฐ ๊ฑธ๋ฆฌ๋ ํ๊ท ์๊ฐ์ ์ผ๋ง๋ ๋ฉ๋๊น?
- 10+20+30 ๊ฐ์ ์ธ๊ณ 3์ผ๋ก ๋๋๋ฉด ํ๊ท ํ๋ก๊ทธ๋จ ์คํ ์๊ฐ์ด 20์ด๊ฐ ๋ฉ๋๋ค.
์ด์ ๊ฐ์ ์ ๋ฐ๊ฟ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ํนํ, ๊ฐ์ 1์ด๋ฏ๋ก ๋ ์ด์ ๊ฐ ์์
์ ์คํํ๋ ๋ฐ ๋์ผํ ์๊ฐ์ด ๊ฑธ๋ฆฐ๋ค๊ณ ๊ฐ์ ํ์ง ์์ต๋๋ค. ์ด๋ฒ์๋ FIFO๊ฐ ์ด๋ป๊ฒ ์๋ํ ๊น์?
๊ฒฐ๊ณผ์ ์ผ๋ก ๋ค์ํ ์์ ์คํ ์๊ฐ์ FIFO ์๊ณ ๋ฆฌ์ฆ์ ์์ฐ์ฑ์ ๊ทน๋๋ก ๋ถ์ ์ ์ธ ์ํฅ์ ๋ฏธ์นฉ๋๋ค. ์์ A๊ฐ ์๋ฃ๋๋ ๋ฐ 100์ด๊ฐ ๊ฑธ๋ฆฌ๋ ๋ฐ๋ฉด, B์ C๋ ์ฌ์ ํ ๊ฐ๊ฐ 10์ด๊ฐ ๊ฑธ๋ฆฐ๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค.
๊ทธ๋ฆผ์์ ๋ณผ ์ ์๋ฏ์ด ์์คํ
์ ํ๊ท ์๊ฐ์ (100+110+120)/3=110์
๋๋ค. ์ด ํจ๊ณผ๋ฅผ ํธ์ก ํจ๊ณผ, ๋ฆฌ์์ค์ ์ผ๋ถ ๋จ๊ธฐ ์๋น์๊ฐ ๋๋ ์๋น์ ๋ค์ ๋๊ธฐํ๋ ๊ฒฝ์ฐ์
๋๋ค. ๋ง์น ์๋ฃํ์ ์ ์นดํธ๋ฅผ ๊ฐ๋ ๋ด์ ๊ณ ๊ฐ์ด ์์ ์ค์ ์ ์๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค. ๋ฌธ์ ์ ๋ํ ๊ฐ์ฅ ์ข์ ํด๊ฒฐ์ฑ
์ ๊ธ์ ๋ฑ๋ก๊ธฐ๋ฅผ ๋ฐ๊พธ๊ฑฐ๋ ๊ธด์ฅ์ ํ๊ณ ์ฌํธํก์ ํ๋ ๊ฒ์
๋๋ค.
์ต๋จ ์ง์ ์ฐ์
์ค๋๊ธ ํ๋ก์ธ์ค๋ก ์ ์ฌํ ์ํฉ์ ์ด๋ป๊ฒ๋ ํด๊ฒฐํ ์ ์์ต๋๊น? ํ๋ฆผ์์ด. ๋ ๋ค๋ฅธ ์ ํ์ ๊ณํ์ ๊ณํ์ด๋ผ๊ณ ํฉ๋๋ค.์ต๋จ ์ง์ ์ฐ์ (SJF). ๊ทธ ์๊ณ ๋ฆฌ์ฆ๋ ๋งค์ฐ ์์์ ์ ๋๋ค. ์ด๋ฆ์์ ์ ์ ์๋ฏ์ด ๊ฐ์ฅ ์งง์ ์์ ์ด ๋จผ์ ์์๋๊ณ ์ฐจ๋ก๋ก ์์๋ฉ๋๋ค.
์ด ์์์ ๋์ผํ ํ๋ก์ธ์ค๋ฅผ ์คํํ๋ฉด ํ๊ท ํ๋ก๊ทธ๋จ ์ฒ๋ฆฌ ์๊ฐ์ด ํฅ์๋๋ฉฐ ์ด๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. 50 ๋์ 110, ์ด๋ ๊ฑฐ์ 2๋ฐฐ ๋ ์ข์ต๋๋ค.
๋ฐ๋ผ์ ๋ชจ๋ ์์ ์ด ๋์์ ๋์ฐฉํ๋ค๋ ๊ฐ์ ํ์ SJF ์๊ณ ๋ฆฌ์ฆ์ด ๊ฐ์ฅ ์ต์ ์ ์๊ณ ๋ฆฌ์ฆ์ธ ๊ฒ์ผ๋ก ๋ณด์ ๋๋ค. ๊ทธ๋ฌ๋ ์ฐ๋ฆฌ์ ๊ฐ์ ์ ์ฌ์ ํ โโํ์ค์ ์ด์ง ์์ ๊ฒ ๊ฐ์ต๋๋ค. ์ด๋ฒ์๋ ๊ฐ์ 2๋ฅผ ๋ณ๊ฒฝํ๊ณ ์์ ์ด ๋์์ ์กด์ฌํ ์๋ ์๊ณ ์ธ์ ๋ ์ง ์กด์ฌํ ์ ์๋ค๊ณ ๊ฐ์ ํฉ๋๋ค. ์ด๋ก ์ธํด ์ด๋ค ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๋์?
ํ์คํฌ A(100c)๊ฐ ๋จผ์ ๋์ฐฉํ์ฌ ์คํ๋๊ธฐ ์์ํ๋ค๊ณ ๊ฐ์ ํด๋ณด์. t=10์์ ์์
B์ C๊ฐ ๋์ฐฉํ๋ฉฐ ๊ฐ๊ฐ 10์ด๊ฐ ๊ฑธ๋ฆฝ๋๋ค. ๋ฐ๋ผ์ ํ๊ท ์คํ ์๊ฐ์ (100+(110-10)+(120-10))3 = 103์
๋๋ค. ์ด๋ฅผ ๊ฐ์ ํ๊ธฐ ์ํด ์ค์ผ์ค๋ฌ๋ ๋ฌด์์ ํ ์ ์์ต๋๊น?
STCF(์ต๋จ ์๋ฃ ์๊ฐ ์ฐ์ )
์ํฉ์ ๊ฐ์ ํ๊ธฐ ์ํด ํ๋ก๊ทธ๋จ์ด ์์๋์ด ์๋ฃ๋ ๋๊น์ง ์คํ๋๋ค๋ ๊ฐ์ 3์ ์๋ตํฉ๋๋ค. ๋ํ ํ๋์จ์ด ์ง์์ด ํ์ํ๋ฉฐ ์ง์ํ ์ ์๋ฏ์ด ํ์ด๋จธ ์คํ ์ค์ธ ์์ ์ ์ค๋จํ๊ณ ์ปจํ ์คํธ ์ ํ. ๋ฐ๋ผ์ ์ค์ผ์ค๋ฌ๋ ์์ B, C๊ฐ ๋์ฐฉํ๋ ์๊ฐ ์์ ์ ์ํํ ์ ์์ต๋๋ค. ์ฆ, ์์ A ์คํ์ ์ค์งํ๊ณ ์์ B ๋ฐ C๋ฅผ ์ฒ๋ฆฌ์ ๋ฃ์ ๋ค์ ์๋ฃ ํ ํ๋ก์ธ์ค A๋ฅผ ๊ณ์ ์คํํฉ๋๋ค. ์ด๋ฌํ ์ค์ผ์ค๋ฌ๋ฅผ ํธ์ถํฉ๋๋ค. STCF๋๋ ์ ์ ์ ์์ ์ฐ์ .
์ด ํ๋๋์ ๊ฒฐ๊ณผ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค: ((120-0)+(20-10)+(30-10))/3=50. ๋ฐ๋ผ์ ์ด๋ฌํ ์ค์ผ์ค๋ฌ๋ ์ฐ๋ฆฌ ์์
์ ๋์ฑ ์ ํฉํด์ง๋๋ค.
์ธก์ ํญ๋ชฉ ์๋ต ์๊ฐ
๋ฐ๋ผ์ ์์ ์ ์คํ ์๊ฐ์ ์๊ณ ์ด๋ฌํ ์์ ์ด CPU๋ง ์ฌ์ฉํ๋ค๋ ๊ฒ์ ์๊ณ ์๋ค๋ฉด STCF๊ฐ ์ต์์ ์๋ฃจ์ ์ด ๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๊ธฐ์๋ ์ด๋ฌํ ์๊ณ ๋ฆฌ์ฆ์ด ๊ฝค ์ ์๋ํ์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด์ ์ฌ์ฉ์๋ ๋๋ถ๋ถ์ ์๊ฐ์ ํฐ๋ฏธ๋์์ ๋ณด๋ด๋ฉฐ ์์ฐ์ ์ธ ๋ํํ ๊ฒฝํ์ ๊ธฐ๋ํฉ๋๋ค. ๋ฐ๋ผ์ ์๋ก์ด ์ธก์ ํญ๋ชฉ์ด ํ์ํ์ต๋๋ค. ์๋ต ์๊ฐ (์๋ต).
์๋ต ์๊ฐ์ ๋ค์๊ณผ ๊ฐ์ด ๊ณ์ฐ๋ฉ๋๋ค.
์๋ต=TfirstrunโTarrival
๋ฐ๋ผ์ ์ด์ ์์ ๊ฒฝ์ฐ ์๋ต ์๊ฐ์ A=0, B=0, C=10(abg=3,33)์ด ๋ฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ 3๊ฐ์ ์์ ์ด ๋์์ ๋์ฐฉํ๋ ์ํฉ์์๋ STCF ์๊ณ ๋ฆฌ์ฆ์ด ๊ทธ๋ค์ง ์ข์ง ์์ ๊ฒ์ผ๋ก ๋ํ๋ฌ์ต๋๋ค. ์์ ์์ ์ด ์์ ํ ์๋ฃ๋ ๋๊น์ง ๊ธฐ๋ค๋ ค์ผ ํฉ๋๋ค. ๋ฐ๋ผ์ ์๊ณ ๋ฆฌ์ฆ์ ์ฒ๋ฆฌ ์๊ฐ ์ธก์ ํญ๋ชฉ์๋ ์ ํฉํ์ง๋ง ์ํธ ์์ฉ ์ธก์ ํญ๋ชฉ์๋ ์ ํฉํ์ง ์์ต๋๋ค. ํฐ๋ฏธ๋์ ์์ ํธ์ง๊ธฐ์ ๋ฌธ์๋ฅผ ์ ๋ ฅํ๋ ค๊ณ ํ๋๋ฐ ๋ค๋ฅธ ์์ ์ด CPU๋ฅผ ์ฐจ์งํ๊ธฐ ๋๋ฌธ์ 10์ด ์ด์ ๊ธฐ๋ค๋ ค์ผ ํ๋ค๊ณ ์์ํด ๋ณด์ญ์์ค. ๋ณ๋ก ์ฆ๊ฒ์ง ์์ต๋๋ค.
๊ทธ๋์ ์ฐ๋ฆฌ๋ ๋ ๋ค๋ฅธ ๋ฌธ์ ์ ์ง๋ฉดํ๊ฒ ๋ฉ๋๋ค. ์๋ต ์๊ฐ์ ๋ฏผ๊ฐํ ์ค์ผ์ค๋ฌ๋ฅผ ์ด๋ป๊ฒ ๊ตฌ์ถํ ์ ์์๊น์?
์ํ์ผ๋ก ์๋ช ํ ์ฒญ์์
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์๊ณ ๋ฆฌ์ฆ์ด ๊ฐ๋ฐ๋์์ต๋๋ค. ์ํ์ผ๋ก ์๋ช ํ ์ฒญ์์ (RR). ๊ธฐ๋ณธ ์์ด๋์ด๋ ๋งค์ฐ ๊ฐ๋จํฉ๋๋ค. ์์ ์ด ์๋ฃ๋ ๋๊น์ง ์คํํ๋ ๋์ ํน์ ๊ธฐ๊ฐ(ํ์ ์ฌ๋ผ์ด์ค๋ผ๊ณ ํจ) ๋์ ์์ ์ ์คํํ ๋ค์ ๋๊ธฐ์ด์์ ๋ค๋ฅธ ์์ ์ผ๋ก ์ ํํฉ๋๋ค. ์๊ณ ๋ฆฌ์ฆ์ ๋ชจ๋ ์์ ์ด ์๋ฃ๋ ๋๊น์ง ์์ ์ ๋ฐ๋ณตํฉ๋๋ค. ์ด ๊ฒฝ์ฐ ํ๋ก๊ทธ๋จ ์คํ ์๊ฐ์ ํ์ด๋จธ๊ฐ ํ๋ก์ธ์ค๋ฅผ ์ค๋จํ ํ์ ์๊ฐ์ ๋ฐฐ์์ฌ์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด ํ์ด๋จธ๊ฐ x=10ms๋ง๋ค ํ๋ก์ธ์ค๋ฅผ ์ค๋จํ๋ ๊ฒฝ์ฐ ํ๋ก์ธ์ค ์คํ ์ฐฝ์ ํฌ๊ธฐ๋ 10์ ๋ฐฐ์์ด๊ณ 10,20 ๋๋ x*10์ด์ด์ผ ํฉ๋๋ค.
์๋ฅผ ๋ค์ด ๋ณด๊ฒ ์ต๋๋ค. ABC ์์ ์ด ์์คํ ์ ๋์์ ๋์ฐฉํ๊ณ ๊ฐ ์์ ์ 5์ด ๋์ ์คํ๋๊ธฐ๋ฅผ ์ํฉ๋๋ค. SJF ์๊ณ ๋ฆฌ์ฆ์ ๋ค๋ฅธ ์์ ์ ์์ํ๊ธฐ ์ ์ ๊ฐ ์์ ์ ์๋ฃํฉ๋๋ค. ๋์กฐ์ ์ผ๋ก, ์์ ์ฐฝ = 1์ด์ธ RR ์๊ณ ๋ฆฌ์ฆ์ ๋ค์๊ณผ ๊ฐ์ ์์ ์ ์ํํฉ๋๋ค(๊ทธ๋ฆผ 4.3).
(SJF Again(์๋ต ์๊ฐ์ด ์ข์ง ์์)
(๋ผ์ด๋ ๋ก๋น(์๋ต ์๊ฐ์ ์ข์)
RR ์๊ณ ๋ฆฌ์ฆ์ ํ๊ท ์๋ต ์๊ฐ์ (0+1+2)/3=1์ธ ๋ฐ๋ฉด SJF์ ๊ฒฝ์ฐ (0+5+10)/3=5์ ๋๋ค.
์๊ฐ ์ฐฝ์ด RR์ ๋ํด ๋งค์ฐ ์ค์ํ ๋งค๊ฐ๋ณ์๋ผ๊ณ ๊ฐ์ ํ๋ ๊ฒ์ ๋ ผ๋ฆฌ์ ์ด๋ฉฐ, ์๊ฐ ์ฐฝ์ด ์์์๋ก ์๋ต ์๊ฐ์ด ๊ธธ์ด์ง๋๋ค. ๊ทธ๋ฌ๋ ์ปจํ ์คํธ ์ ํ ์๊ฐ๋ ์ ์ฒด ์ฑ๋ฅ์ ์ค์ํ ์ญํ ์ ํ๋ฏ๋ก ๋๋ฌด ์๊ฒ ์ค์ ํด์๋ ์ ๋ฉ๋๋ค. ๋ฐ๋ผ์ ์คํ ์ฐฝ ์๊ฐ ์ ํ์ OS ์ค๊ณ์์ ์ํด ์ค์ ๋๋ฉฐ ์คํ๋๋๋ก ๊ณํ๋ ์์ ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค. ์ปจํ ์คํธ ์ ํ์ ์๊ฐ์ ๋ญ๋นํ๋ ์ ์ผํ ์๋น์ค ์์ ์ด ์๋๋๋ค. ์คํ ์ค์ธ ํ๋ก๊ทธ๋จ์ ๋ค์ํ ์บ์์ ๊ฐ์ ๋ค๋ฅธ ๋ง์ ์์ ์์ ์๋ํ๋ฉฐ ๊ฐ ์ค์์น๋ฅผ ์ฌ์ฉํ๋ฉด ์ด ํ๊ฒฝ์ ์ ์ฅํ๊ณ ๋ณต์ํด์ผ ํ๋ฉฐ ์ด ์์ ์๋ ๋ง์ ์๊ฐ์ด ๊ฑธ๋ฆด ์๋ ์์ต๋๋ค. ์๊ฐ.
์๋ต ์๊ฐ ์ธก์ ํญ๋ชฉ์ ๋ํด์๋ง ์ด์ผ๊ธฐํ๋ค๋ฉด RR์ ํ๋ฅญํ ์ค์ผ์ค๋ฌ์ ๋๋ค. ํ์ง๋ง ์ด ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๋ฉด ์์ ์ฒ๋ฆฌ ์๊ฐ ์ธก์ ํญ๋ชฉ์ด ์ด๋ป๊ฒ ์๋ํ ๊น์? A, B, C์ ์๋ ์๊ฐ = 5s์ด๊ณ ๋์์ ๋์ฐฉํ ๋ ์์ ์๋ฅผ ๊ณ ๋ คํ์ญ์์ค. ์์ A๋ 13์์ ์ข ๋ฃ๋๊ณ B๋ 14์์ ์ข ๋ฃ๋๋ฉฐ C๋ 15์ด์ ์ข ๋ฃ๋๋ฉฐ ํ๊ท ์ฒ๋ฆฌ ์๊ฐ์ 14์ด์ ๋๋ค. ๋ฐ๋ผ์ RR์ ํ์ ์จ ์งํ์ ๋ํ ์ต์ ์ ์๊ณ ๋ฆฌ์ฆ์ ๋๋ค.
๋ณด๋ค ์ผ๋ฐ์ ์ธ ์ฉ์ด๋ก ๋งํ๋ฉด ๋ชจ๋ RR ์ ํ ์๊ณ ๋ฆฌ์ฆ์ ๊ณต์ ํ๋ฉฐ ๋ชจ๋ ํ๋ก์ธ์ค ๊ฐ์ CPU ์๊ฐ์ ๊ท ๋ฑํ๊ฒ ๋๋๋๋ค. ๋ฐ๋ผ์ ์ด๋ฌํ ์ธก์ ํญ๋ชฉ์ ์ง์์ ์ผ๋ก ์๋ก ์ถฉ๋ํฉ๋๋ค.
๋ฐ๋ผ์ ์ฐ๋ฆฌ๋ ๋ช ๊ฐ์ง ๋์กฐ๋๋ ์๊ณ ๋ฆฌ์ฆ์ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ ๋์์ ์์ ์๊ฐ์ด ์๋ ค์ ธ ์๊ณ ์์ ์ด CPU๋ง ์ฌ์ฉํ๋ค๋ ๋ช ๊ฐ์ง ๊ฐ์ ์ด ์ฌ์ ํ ๋จ์ ์์ต๋๋ค.
I/O์ ํผํฉ
๋จผ์ ํ๋ก์ธ์ค๊ฐ CPU๋ง ์ฌ์ฉํ๋ค๋ ๊ฐ์ 4๋ฅผ ์ ๊ฑฐํด ๋ณด๊ฒ ์ต๋๋ค. ๋น์ฐํ ๊ทธ๋ ์ง ์์ผ๋ฉฐ ํ๋ก์ธ์ค๊ฐ ๋ค๋ฅธ ์ฅ๋น์ ์ก์ธ์คํ ์ ์์ต๋๋ค.
ํ๋ก์ธ์ค๊ฐ I/O ์์ ์ ์์ฒญํ๋ ์๊ฐ ํ๋ก์ธ์ค๋ ์ฐจ๋จ ์ํ์ ๋ค์ด๊ฐ I/O๊ฐ ์๋ฃ๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฝ๋๋ค. I/O๊ฐ ํ๋ ๋๋ผ์ด๋ธ๋ก ์ ์ก๋๋ ๊ฒฝ์ฐ ์ด๋ฌํ ์์ ์ ์ต๋ ์ ms ์ด์์ด ์์๋ ์ ์์ผ๋ฉฐ ํ์ฌ ํ๋ก์ธ์๋ ์ ํด ์ํ์ ๋๋ค. ์ด ์๊ฐ ๋์ ์ค์ผ์ค๋ฌ๋ ๋ค๋ฅธ ํ๋ก์ธ์ค๋ก ํ๋ก์ธ์๋ฅผ ์ ์ ํ ์ ์์ต๋๋ค. ์ค์ผ์ค๋ฌ๊ฐ ๋ด๋ ค์ผ ํ ๋ค์ ๊ฒฐ์ ์ ํ๋ก์ธ์ค๊ฐ I/O๋ฅผ ์๋ฃํ๋ ์๊ธฐ์ ๋๋ค. ์ด๋ฐ ์ผ์ด ๋ฐ์ํ๋ฉด ์ธํฐ๋ฝํธ๊ฐ ๋ฐ์ํ๊ณ OS๋ I/O๋ฅผ ํธ์ถํ ํ๋ก์ธ์ค๋ฅผ ์ค๋น ์ํ๋ก ์ ํํฉ๋๋ค.
๋ช ๊ฐ์ง ๋ฌธ์ ์ ์๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค. ๊ฐ๊ฐ์๋ 50ms์ CPU ์๊ฐ์ด ํ์ํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ฒซ ๋ฒ์งธ ํญ๋ชฉ์ 10ms๋ง๋ค I/O์ ์ก์ธ์คํฉ๋๋ค(์ด ์ญ์ 10ms๋ง๋ค ์คํ๋ฉ๋๋ค). ๊ทธ๋ฆฌ๊ณ ํ๋ก์ธ์ค B๋ I/O ์์ด ๋จ์ํ 50ms ํ๋ก์ธ์๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์ด ์์์๋ STCF ์ค์ผ์ค๋ฌ๋ฅผ ์ฌ์ฉํฉ๋๋ค. A์ ๊ฐ์ ํ๋ก์ธ์ค๊ฐ ์์๋๋ฉด ์ค์ผ์ค๋ฌ๋ ์ด๋ป๊ฒ ์๋ํฉ๋๊น? ๊ทธ๋ ๋ค์์ ์ํํฉ๋๋ค. ๋จผ์ ํ๋ก์ธ์ค A๋ฅผ ์์ ํ ์ํํ ๋ค์ ํ๋ก์ธ์ค B๋ฅผ ์ํํฉ๋๋ค.
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ์ ํต์ ์ธ ์ ๊ทผ ๋ฐฉ์์ ํ๋ก์ธ์ค A์ ๊ฐ 10ms ํ์ ์์
์ ๋ณ๋์ ์์
์ผ๋ก ์ฒ๋ฆฌํ๋ ๊ฒ์
๋๋ค. ๋ฐ๋ผ์ STJF ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ์์ํ ๋ 50ms ์์
๊ณผ 10ms ์์
์ฌ์ด์ ์ ํ์ด ๋ถ๋ช
ํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ํ์ ์์
A๊ฐ ์๋ฃ๋๋ฉด ํ๋ก์ธ์ค B์ I/O๊ฐ ์์๋ฉ๋๋ค. I/O๊ฐ ์๋ฃ๋ ํ ํ๋ก์ธ์ค B ๋์ 10ms ํ๋ก์ธ์ค A๋ฅผ ๋ค์ ์์ํ๋ ๊ฒ์ด ์ผ๋ฐ์ ์
๋๋ค. ์ด๋ฌํ ๋ฐฉ์์ผ๋ก ์ฒซ ๋ฒ์งธ ํ๋ก์ธ์ค๊ฐ ๊ธฐ๋ค๋ฆฌ๋ ๋์ ๋ค๋ฅธ ํ๋ก์ธ์ค์์ CPU๋ฅผ ์ฌ์ฉํ๋ ์ค๋ฒ๋ฉ์ ๊ตฌํํ ์ ์์ต๋๋ค. I/O. ๊ฒฐ๊ณผ์ ์ผ๋ก ์์คํ
ํ์ฉ๋๊ฐ ๋์์ง๋๋ค. ๋ํํ ํ๋ก์ธ์ค๊ฐ I/O๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ ์๊ฐ ๋ค๋ฅธ ํ๋ก์ธ์ค๊ฐ ํ๋ก์ธ์์์ ์คํ๋ ์ ์์ต๋๋ค.
์ค๋ผํด์ ๋ ์ด์ ์กด์ฌํ์ง ์์ต๋๋ค.
์ด์ ์์ ์ ์คํ ์๊ฐ์ด ์๋ ค์ ธ ์๋ค๋ ๊ฐ์ ์ ์์ ๋๋ก ํ๊ฒ ์ต๋๋ค. ์ด๋ ์ผ๋ฐ์ ์ผ๋ก ์ ์ฒด ๋ชฉ๋ก์์ ๊ฐ์ฅ ์ต์ ์ด๊ณ ๊ฐ์ฅ ๋นํ์ค์ ์ธ ๊ฐ์ ์ ๋๋ค. ์ค์ ๋ก ์ผ๋ฐ์ ์ธ ์ผ๋ฐ OS์์ OS ์์ฒด๋ ์ผ๋ฐ์ ์ผ๋ก ์์ ์คํ ์๊ฐ์ ๋ํด ๊ฑฐ์ ์์ง ๋ชปํ๋๋ฐ, ์์ ์ ์คํํ๋ ๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ ์์ง ๋ชปํ ์ฑ ์ด๋ป๊ฒ ์ค์ผ์ค๋ฌ๋ฅผ ๊ตฌ์ถํ ์ ์์ต๋๊น? ์๋ง๋ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ช ๊ฐ์ง RR ์์น์ ์ฌ์ฉํ ์ ์์๊น์?
ํฉ๊ณ
์ฐ๋ฆฌ๋ ์์
์ค์ผ์ค๋ง์ ๊ธฐ๋ณธ ์์ด๋์ด๋ฅผ ์ดํด๋ณด๊ณ ๋ ๊ฐ์ง ์ค์ผ์ค๋ฌ ์ ํ๊ตฐ์ ์ดํด๋ณด์์ต๋๋ค. ์ฒซ ๋ฒ์งธ๋ ๊ฐ์ฅ ์งง์ ์์
์ ๋จผ์ ์์ํ์ฌ ์ฒ๋ฆฌ ์๊ฐ์ ๋๋ฆฌ๋ ๋ฐ๋ฉด, ๋ ๋ฒ์งธ๋ ๋ชจ๋ ์์
์ ๊ท ๋ฑํ๊ฒ ๋๋์ด ์๋ต ์๊ฐ์ ๋๋ฆฝ๋๋ค. ๋ค๋ฅธ ๊ณ์ด์ ์๊ณ ๋ฆฌ์ฆ์ด ์ข์ ๊ฒฝ์ฐ ๋ ์๊ณ ๋ฆฌ์ฆ ๋ชจ๋ ์ข์ง ์์ต๋๋ค. ๋ํ CPU์ I/O์ ๋ณ๋ ฌ ์ฌ์ฉ์ด ์ด๋ป๊ฒ ์ฑ๋ฅ์ ํฅ์์ํฌ ์ ์๋์ง ์ดํด๋ณด์์ง๋ง OS ํฌ์ ๋ฌธ์ ๋ ํด๊ฒฐ๋์ง ์์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ค์ ์์
์์๋ ๋ฐ๋ก ๊ณผ๊ฑฐ๋ฅผ ๋ค์ฌ๋ค๋ณด๊ณ ๋ฏธ๋๋ฅผ ์์ธกํ๋ ํ๋๋๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ฅผ ๋ค๋จ๊ณ ํผ๋๋ฐฑ ๋๊ธฐ์ด์ด๋ผ๊ณ ํฉ๋๋ค.
์ถ์ฒ : habr.com