ํ์ผ ์์คํ ๊ธฐ์ ์ ๊ฑฐ์ ๋๋ถ๋ถ ํ๋ ๋์คํฌ ๋๋ผ์ด๋ธ์ ๋์์ ๊ธฐ๋ฐ์ ๋๊ณ ๊ฐ๋ฐ๋์๋ค. ๋์คํฌ๋ฅผ ๊ด๋ฆฌํ๋ ํ์ผ ์์คํ ์ํํธ์จ์ด๋ฅผ ๊ตฌํํ๊ธฐ ์ ์ ๋์คํฌ์ ์์ธํ ๋์์ ์ดํดํ๋ ๊ฒ์ด ์ค์ํ๋ค.
๋์คํฌ์ ๋ฐ์ดํฐ๋ฅผ ์ด๋ป๊ฒ ์ ์ฅํ๊ณ ์ ๊ทผํ๋๊ฐ?
1. ์ธํฐํ์ด์ค
์ฐ์ ํ๋ ๋์คํฌ ๋๋ผ์ด๋ธ์ ์ธํฐํ์ด์ค๋ถํฐ ์ดํดํด๋ณด์. ๋ชจ๋ ํ๋ ๋๋ผ์ด๋ธ์ ๊ธฐ๋ณธ์ ์ธ ์ธํฐํ์ด์ค๋ ๋จ์ํ๋ค. ๋๋ผ์ด๋ธ๋ ์ฝ๊ณ ์ธ ์ ์๋ ๋งค์ฐ ๋ง์ ์์ ์นํฐ (512 byte ๋ธ๋ญ)๋ค๋ก ์ด๋ฃจ์ด์ ธ ์๋ค. ๋์คํฌ ์์ ๊ฐ์ ์นํฐ๋ค์ ๋ถํฐ ๊น์ง์ ์ด๋ฆ์ด ๋ถ์ด ์๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ๋์คํฌ๋ฅผ ์นํฐ๋ค์ ๋ฐฐ์ด๋ก ๋ณผ ์ ์๊ณ , ๋ถํฐ ์ด ๋๋ผ์ด๋ธ์ ์ฃผ์ ๊ณต๊ฐ์ด ๋๋ค.
๋ฉํฐ ์นํฐ ์์ ๋ ๊ฐ๋ฅํ๋ค. ์ฌ์ค ๋ง์ ํ์ผ ์์คํ ๋ค์ด ํ ๋ฒ์ 4KB ๋๋ ๊ทธ ์ด์์ ์ฝ๊ฑฐ๋ ์ด๋ค. ํ์ง๋ง ๋๋ผ์ด๋ธ ์ ์กฐ์ฌ๋ ํ๋์ 512 byte ์ฐ๊ธฐ๋ง ์์์ ์ด๋ผ๊ณ ๋ณด์ฅํ๋ค.
๋์คํฌ ๋๋ผ์ด๋ธ ์ฌ์ฉ์๋ค์ ๋ช ๊ฐ์ง ๊ฐ์ ์ ํ๋ค. ์ธํฐํ์ด์ค์ ๋ช ์๋์ด ์์ง๋ ์๋ค. (๊ณ์ฝ ๋ถ๋ฌธ์จ)
- ๋๋ผ์ด๋ธ์ ์ฃผ์ ๊ณต๊ฐ์์ ๊ฐ๊น๊ฒ ๋ฐฐ์น๋์ด ์๋ ๋ ๊ฐ์ ๋ธ๋ญ์ ์ ๊ทผํ๋ ๊ฒ์, ๋ฉ๋ฆฌ ๋จ์ด์ ธ ์๋ ๋ ๊ฐ์ ๋ธ๋ญ์ ์ ๊ทผํ๋ ๊ฒ๋ณด๋ค ๋น ๋ฅด๋ค๊ณ ๊ฐ์ ํ๋ค.
- ์ฐ์์ ์ธ ์ฒญํฌ์ ๋ธ๋ญ์ ์ ๊ทผํ๋ ๊ฒ (์์ฐจ ์ ๊ทผ) ์ด ๊ฐ์ฅ ๋น ๋ฅด๋ค. ์ด๋ค ๋๋ค ์ ๊ทผ ํจํด๋ณด๋ค๋ ๋งค์ฐ ๋น ๋ฅด๋ค.
2. ๊ธฐ๋ณธ ๊ตฌ์กฐ
์ํ์ ๋ฑ๋ฑํ ํ๋ฉด์ ๊ฐ์ง๊ณ ์๋ ํ๋ํฐ(platter) ์, ์๊ธฐ์ ์ฑ์ง์ ๋ณํํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ง์์ํจ๋ค. ๋์คํฌ๋ ํ๋ ๋๋ ๊ทธ ์ด์์ ํ๋ํฐ๋ฅผ ๊ฐ๊ณ ์์ผ๋ฉฐ, ๊ฐ๊ฐ์ 2๊ฐ์ ํ๋ฉด์ ๊ฐ๊ณ ์๋ค. ์ด๋ฐ ํ๋ํฐ๋ ๋์ฒด์ ์ผ๋ก ๋จ๋จํ ์๋ฃจ๋ฏธ๋๊ฐ์ ๋ฌผ์ง๋ก ๋ง๋ค์ด์ง๋ฉฐ, ๋๋ผ์ด๋ธ์ ์ ์์ด ๋๊ฐ๋๋ผ๋ ๋นํธ๋ฅผ ๋๋ผ์ด๋ธ์ ์๊ตฌ์ ์ผ๋ก ์ ์ฅํ๊ธฐ ์ํด ์์ ์์ฑ ์ธต์ด ์ ํ์ ธ ์๋ค.
ํ๋ํฐ๋ค์ ํ์ ์ถ(spindle) ์ด๋ผ๋ ๊ฒ์ผ๋ก ๊ณ ์ ๋์ด ์๋ค. ๋ชจํฐ์ ์ฐ๊ฒฐ๋์ด ์์ด ํ๋ํฐ๋ฅผ ์ผ์ ํ ์๋๋ก ํ์ ์ํจ๋ค. ํ์ ์๋๋ 7200RPM ~ 15000RPM ์ ๋์ด๋ค. ๋ง์ฝ 10000RPM์ ์๋๋ก ๋๋ผ์ด๋ธ๊ฐ ํ์ ํ๋ค๋ฉด, ๋๋ผ์ด๋ธ๊ฐ ํ ๋ฐํด ํ์ ํ๋ ๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ 6ms์ด๋ค.
๊ฐ ํ๋ฉด์ ๋์ฌ์์ ๋ฐ๋ผ ๋ฐฐ์น๋์ด ์๋ ์นํฐ(sector) ๋ค ์์ ๋ฐ์ดํฐ๊ฐ ๋ถํธํ๋๋ค. ์ด ๋ ๋์ฌ์ ํ๋๋ฅผ ํธ๋(track) ์ด๋ผ๊ณ ํ๋ค. ํ๋ฉด์๋ ์๋ง์ ํธ๋๋ค์ด ์๋ก ์ด์ดํ๊ฒ ๋ถ์ด ์๋ค. ์๋ฐฑ ๊ฐ์ ํธ๋๋ค์ด ๋ชจ์ฌ์ผ ์ฌ๋์ ๋จธ๋ฆฌ์นด๋ฝ ๋๊ป ์ ๋๊ฐ ๋๋ค.
ํ๋ฉด ์๋ฅผ ์ฝ๊ฑฐ๋ ์ธ ๋์๋ ๋์คํฌ์ ์๊ธฐ์ ํจํด์ ๊ฐ์งํ๊ฑฐ๋ (์ฝ๊ฑฐ๋) ๋ณํ์ ์ ๋ํ๋ (์ฐ๋) ๊ธฐ๊ณ์ ์ฅ์น๊ฐ ํ์ํ๋ค. ์ฝ๊ธฐ์ ์ฐ๊ธฐ ๋์์ ๋์คํฌ ํค๋(disk head) ๋ผ๋ ๊ฒ์ ํตํด ํ ์ ์์ผ๋ฉฐ ๊ฐ ํ๋ฉด๋ง๋ค ๊ทธ๋ฐ ํค๋๊ฐ ํ๋์ฉ ์กด์ฌํ๋ค. ๋์คํฌ ํค๋๋ ๋์คํฌ ์(disk arm) ์ ์ฐ๊ฒฐ์ด ๋์ด ์์ผ๋ฉฐ ์ด๊ฒ์ ํตํด์ ํค๋๊ฐ ์ํ๋ ํธ๋ ์์ ์์นํ๋๋ก ์ด๋์ํฌ ์ ์๋ค.
3. ๊ฐ๋จํ ๋์คํฌ ๋๋ผ์ด๋ธ
๋์คํฌ๊ฐ ์ด๋ป๊ฒ ๋์ํ๋์ง ์ดํดํ๊ธฐ ์ํด ํ ํธ๋์ฉ ๋ชจํ์ ๋ง๋ค์ด ๋ณด์.

์ด ํธ๋์๋ 12๊ฐ์ ์นํฐ๊ฐ ์๊ณ ๊ฐ ์นํฐ๋ 512๋ฐ์ดํธ์ ํฌ๊ธฐ๋ฅผ ๊ฐ๊ณ ์์ผ๋ฉฐ ์ฃผ์ ์์ญ์ 0๋ถํฐ 11๊น์ง๋ก ์ด๋ฃจ์ด์ ธ ์๋ค.

์ด๋ ๊ฒ ๋์คํฌ ํค๋๋ฅผ๋ฅผ ๋ถ์ฌ์ ์นํฐ์ ๋ฌด์์ธ๊ฐ๋ฅผ ์ฝ๊ฑฐ๋ ์ธ ์ ์๋ค.
๋จ์ผ ํธ๋ ์ง์ฐ ์๊ฐ: ํ์ ์ง์ฐ
ํธ๋์ด ํ๋ ๋ฟ์ธ ์ด ๊ฐ๋จํ ๋์คํฌ์์ ์์ฒญ์ด ์ด๋ป๊ฒ ์ฒ๋ฆฌ๋ ๊น? ๋์คํฌ๊ฐ ๋์์ ๋์คํฌ ํค๋ ์๋์ ์ํ๋ ์นํฐ๊ฐ ์์นํ๊ธฐ๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ฉด ๋๋ค.
์ด๋ฐ ๊ธฐ๋ค๋ฆผ์ ํ์ ์ง์ฐ(rotation delay) ์ด๋ผ๊ณ ๋ถ๋ฆฐ๋ค.
๋ฉํฐ ํธ๋: ํ์ ์๊ฐ
ํ๋ ๋์คํฌ๋ค์ ์๋ฐฑ๋ง ๊ฐ์ ํธ๋์ ๊ฐ์ง๊ณ ์๋ค.

์ด ๊ทธ๋ฆผ์์ ํค๋๋ ๊ฐ์ฅ ์์ชฝ์ ํธ๋์ ์์นํ๊ณ ์๋ค. ๋๋ผ์ด๋ธ๊ฐ ์ง์ ๋ ์นํฐ๋ค์ ์ ๊ทผํ๋ ๋ฐฉ์์ ์ดํดํด๋ณด์. ๋ง์ฝ ์นํฐ 11๋ฒ์ฒ๋ผ ๋ฉ๋ฆฌ ๋จ์ด์ ธ ์๋ ์นํฐ์ ๋ํ ์์ฒญ์ ๋ฐ์ผ๋ฉด ์ด๋ป๊ฒ ํ ๊น?
์ด ์ฝ๊ธฐ ์์ฒญ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด, ๋๋ผ์ด๋ธ๋ ๋์คํฌ ์์ ๋จผ์ ์ฌ๋ฐ๋ฅธ ํธ๋ ์์ ์์น์ํจ๋ค. ์ด ๊ณผ์ ์ ํ์(seek) ์ด๋ผ๊ณ ํ๋ค. ํ์ ๊ณผ ๋๋ถ์ด ํ์์ ๊ฐ์ฅ ๋น์ผ ๋์คํฌ ๋์ ์ค ํ๋์ด๋ค.
ํ์์ ์ฌ๋ฌ ๋จ๊ณ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค.
- ๊ฐ์: ๋์คํฌ ์์ด ์์ง์ด๊ธฐ ์์ํ๋ค.
- ํ์ฃผ: ๋์คํฌ ์์ด ์ต๊ณ ์๋๋ก ์์ง์ธ๋ค.
- ๊ฐ์: ๋์คํฌ ์์ ์๋๊ฐ ์ค์ด๋ ๋ค.
- ์์ ํ: ์ ํํ ํธ๋ ์์ ํค๋๊ฐ ์์นํ๋ค.
์์ ํ ์๊ฐ์ ๋งค์ฐ ์ค์ํ๋ฉฐ 0.5~2ms ์ ๋๋ก ์ค๋ ๊ฑธ๋ฆฐ๋ค.
ํ์ ๊ณผ์ ์์ ๋์คํฌ ์์ด ์ํ๋ ํธ๋ ์๋ก ์ด๋ํ๋ ๋์, ํ๋ํฐ ์ญ์ ํ์ ํ๋ค. ์ด ๊ฒฝ์ฐ 3๊ฐ์ ์นํฐ๋งํผ ์ด๋ํ์๋ค. ์นํฐ 9๋ฒ์ด ๋์คํฌ ํค๋ ์๋๋ก ์ง๋๊ฐ๊ณ ์๋ค. ์ฝ๊ฐ์ ํ์ ์ง์ฐ ํ 11๋ฒ ์นํฐ๋ฅผ ์ฐพ์ ์ ์ก์ ์๋ฃํ ์ ์๊ฒ ๋ ๊ฒ์ด๋ค.
์นํฐ 11๋ฒ์ด ๋์คํฌ ํค๋๋ฅผ ์ง๋๊ฐ๊ฒ ๋๋ฉด, I/O์ ๋ง์ง๋ง ๋จ๊ณ์ธ ์ ์ก์ด ์ด๋ฃจ์ด์ ธ, ํ๋ฉด ์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฑฐ๋ ์ฐ๊ฒ ๋๋ค. ์ด์ I/O ์๊ฐ์ ํ์๊ณผ ํ์ ์ง์ฐ ๋์ ๊ธฐ๋ค๋ฆฐ ํ ์ ์กํ๋ค๋ ์ ์ฒด ์ค๊ณฝ์ด ๊ทธ๋ ค์ก๋ค.
๊ทธ ์ธ ์ธ๋ถ ์ฌํญ
๋ง์ ๋๋ผ์ด๋ธ๋ ํธ๋ ๋นํ๋ฆผ(track skew) ์ด๋ผ ๋ถ๋ฆฌ๋ ๊ธฐ์ ์ ์ฌ์ฉํด์ ํธ๋์ ๊ฒฝ๊ณ๋ฅผ ์ง๋ ์์ฐจ์ ์ผ๋ก ์กดํด๋ ์นํฐ๋ค์ ์ฌ๋ฐ๋ฅด๊ฒ ์ฝ์ ์ ์๋๋ก ํ๋ค.

์ฐ์์ ์ธ ํธ๋์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฑฐ๋ ์ธ ๋, ํค๋๊ฐ ํ ํธ๋์์ ๋ค์ ํธ๋์ผ๋ก ์ด๋ํ๋ ์๊ฐ์ ๊ณ ๋ คํ์ฌ, ๋ค์ ํธ๋์ ์์ ์นํฐ๋ฅผ ํด๋น ๋๋ ์ด๋งํผ โskewโํ๋ค. ์ฌ๊ธฐ์๋ 2๊ฐ ๋ค๋ก skew ๋์ด ์๋ค.
์ด๋ฐ skew๊ฐ ์๋ค๋ฉด ํค๋๊ฐ ๋ค์ ํธ๋์ผ๋ก ๋์ด๊ฐ์ ๋ ๋ค์์ ์ฝ์ด์ผ ํ๋ ๋ธ๋ญ์ด ์ด๋ฏธ ํค๋๋ฅผ ์ง๋์ณค์ ์๋ ์์ด ๊ฑฐ์ ํ ๋ฐํด์ ํด๋นํ๋ ํ์ ์ง์ฐ์ ๊ฐ์ํด์ผ ํ๋ค.
๋, ๋ฐ๊นฅ ์ธก์ ๊ณต๊ฐ์ด ๋ ๋ง๋ค๋ ๊ตฌ์กฐ์ ์ด์ ๋๋ฌธ์, ๋ฐ๊นฅ ํธ๋๋ค์๋ ์์ชฝ ํธ๋๋ค๋ณด๋ค ๋ ๋ง์ ์นํฐ๊ฐ ์กด์ฌํ๋ค. ์ด๋ฅผ multi zoned ๋์คํฌ ๋๋ผ์ด๋ธ ๋ผ๊ณ ๋ถ๋ฅธ๋ค.
๋ง์ง๋ง์ผ๋ก, ๋์คํฌ ๋๋ผ์ด๋ธ์ ์บ์(ํธ๋ ๋ฒํผ) ๊ฐ ์กด์ฌํ๋ค. ๋์คํฌ์์ ํ๋์ ์นํฐ๋ฅผ ์ฝ์ ๋ ๋๋ผ์ด๋ธ๊ฐ ๊ทธ ํธ๋ ์์ ๋ชจ๋ ์นํฐ๋ฅผ ๋ค ์ฝ์ด์ ์บ์์ ์ ์ฅํ ์ ์๋ค.
์ฐ๊ธฐ์ ๊ฒฝ์ฐ, ๋ฉ๋ชจ๋ฆฌ์ ๋ฐ์ดํฐ๊ฐ ๊ธฐ๋ก๋ ์์ ์ ์ฐ๊ธฐ๊ฐ ์๋ฃ๋์๋ค๊ณ ํ ์ง, ๋์คํฌ์ ์ค์ ๋ก ๊ธฐ๋ก๋์์ ๋ ์๋ฃ๊ฐ ๋์๋ค๊ณ ํ ์ง๋ฅผ ์ ํ ์ ์๋ค. ์ ์๋ write-back, ํ์๋ write-through ๋ผ๊ณ ๋ถ๋ฅธ๋ค.
write-back ์บ์ฑ์ ์ฌ์ฉํ ๊ฒฝ์ฐ ๋๋ผ์ด๋ฒ๊ฐ ๋ ๋น ๋ฅธ ๊ฒ ์ฒ๋ผ ๋ณด์ด์ง๋ง ์ ํฉ์ฑ์ ๋ฌธ์ ๊ฐ ์๊ธธ ์๋ ์๋ค.
4. I/O ์๊ฐ ๊ณ์ฐ
๊ฐ๋จํ ๋ถ์์ผ๋ก ๋์คํฌ์ ์ฑ๋ฅ์ ๊ตฌํ ์ ์๋ค.
์ธ ๊ฐ์ ํญ์ผ๋ก ์ด๋ฃจ์ด์ง ๋ค์ ์์ผ๋ก, I/O ์๊ฐ์ ๋ํ๋ผ ์ ์๋ค.
I/O์ ์๋๋ ๋ค์์ ์๊ณผ ๊ฐ์ด ๊ฐ๋จํ๊ฒ ๋ํ๋ผ ์ ์๋ค.
๋ ๊ฐ์ ์ํฌ๋ก๋๊ฐ ์๋ค๊ณ ๊ฐ์ ํ์.
ํ๋๋ ๋๋ค ์ํฌ๋ก๋๋ก ๋์คํฌ์ 4KB์ ์์ ์ฝ๊ธฐ ์์ฒญ์ ๋ฐ์์ํจ๋ค. ๋๋ค ์ํฌ๋ก๋๋ DBMS ๋ฑ์์ ํํ๊ฒ ์ฌ์ฉ๋๋ค.
๋ค๋ฅธ ํ๋๋ ์์ฐจ ์ํฌ๋ก๋๋ก์ ํค๋์ ์ด๋ ์์ด ๋์คํฌ์ ์ฐ์๋์ด ์๋ ์ฌ๋ฌ๊ฐ์ ์นํฐ๋ฅผ ๋จ์ํ ์ฝ๋ ๊ฒ์ด๋ค. ์์ฐจ ์ ๊ทผ ํจํด ์ญ์ ํํ๊ธฐ ๋๋ฌธ์ ๋ง์ฐฌ๊ฐ์ง๋ก ์ค์ํ ์ํฌ๋ก๋์ด๋ค.

ํ๋๋ ๊ณ ์ฑ๋ฅ ๋๋ผ์ด๋ธ, ๋น ๋ฅด๊ฒ ํ์ ํ๋๋ก ์ค๊ณ๋์ด ์์ด ๋ฎ์ ํ์ ์๊ฐ๊ณผ ๋น ๋ฅธ ๋ฐ์ดํฐ ์ ์ก ์๋๋ฅผ ๊ฐ์ง๊ณ ์๋ค. ๋ค๋ฅธ ํ๋๋ ์ฉ๋, ์๋๋ ๋ฎ์ง๋ง ์ฃผ์ด์ง ๊ณต๊ฐ์ ๊ฐ๋ฅํ ๋ง์ ๋นํธ๋ฅผ ์ ์ฅํ๋ค.
๊ทธ๋ฆผ์ ๋ํ๋ ๋๋ผ์ด๋ธ์ ๊ฐ๋ค์ ์ฌ์ฉํ์ฌ ์์์ ์ ๋ฆฌํ ๋ ๊ฐ์ ์ํฌ๋ก๋๊ฐ ์ผ๋ง๋ ์ ๋์ํ๋์ง๋ฅผ ๊ณ์ฐํด ๋ณผ ์ ์๋ค. ๋จผ์ ๋๋ค ์ํฌ๋ก๋์ ๊ฒฝ์ฐ๋ฅผ ์ดํด๋ณด์. ๋๋คํ ๋์คํฌ์ ์์น์์ 4 KB์ฉ ์ฝ๊ธฐ๊ฐ ๋ฐ์ํ๋ค๊ณ ํ์ ๋ Cheetah์์ ๊ฐ ์ฝ๊ธฐ๊ฐ ์ผ๋ง๋ ์ค๋ ๊ฑธ๋ฆด์ง๋ฅผ ๋ค์์ ์์ฒ๋ผ ๊ณ์ฐํ ์ ์๋ค.
, , ์ด๊ณ , ๋ฐ๋ผ์ ๋ ์ฝ ๊ฐ ๋๋ค. (์ ์ก ์๊ฐ ๋ฌด์)
ํ์ ์๊ฐ์ RPM์ผ๋ก ์ฝ๊ฒ ๊ตฌํ ์ ์๋ค. ํ ๋ฐํด ๋๋ ๋ฐ ๊ฑธ๋ฆฌ๊ณ , ํ๊ท ์ ์ผ๋ก ์ ๋ฐ ์ ๋ ํ์ ํ๊ธฐ ๋๋ฌธ์ ๋ก ๊ณ์ฐํ๋ค.
๊ทธ๋ฌ๋ฏ๋ก ๋ 0.66 MB/s๊ฐ ๋๋ค.
๊ฐ์ ๋ฐฉ์์ผ๋ก ๊ณ์ฐํ๋ฉด Barracuda์ ๋ ์ฝ , ๋ 0.31 MB/s์ด๋ค.
์ด์ ์์ฐจ ์ํฌ๋ก๋๋ฅผ ์ดํด๋ณด์. ์์ฃผ ๊ธด ์๊ฐ์ ์ ์ก ์ ์ ํ ๋ฒ์ ํ์๊ณผ ํ์ ์ด ์๋ค๊ณ ๊ฐ์ ํด ๋ณด์. ๋ ผ์ํ๊ธฐ ์ฝ๋๋ก ์ ์กํ ๋ฐ์ดํฐ์ ํฌ๊ธฐ๋ 100 MB๋ผ๊ณ ํ์. ๊ทธ๋ฌ๋ฉด Barracuda์ Cheetah์ ๋ ๊ฐ๊ฐ ์ ๊ฐ ๋๋ค. I/O์ ์๋๋ ๋๋ผ์ด๋ธ์ ์ต๊ณ ์ ์ก ์๋์ธ 125 MB/s์ 105 MB/s์ ๊ฑฐ์ ๋น์ทํ๊ฒ ๋๋ค.

์ด ๊ทธ๋ฆผ์ ๋ช ๊ฐ์ง ์ค์ํ ์ฌ์ค์ ์๋ ค์ค๋ค. ์ฒซ ๋ฒ์งธ ๊ฐ์ฅ ์ค์ํ ์ฌ์ค์ ๋๋ค ์ํฌ๋ก๋์ ์์ฐจ ์ํฌ๋ก๋์ ๋๋ผ์ด๋ธ ๊ฐ ์ฑ๋ฅ ์ฐจ์ด๊ฐ ํฌ๋ค๋ ๊ฒ์ด๋ค. Cheetah์ ๊ฒฝ์ฐ์๋ ๊ฑฐ์ 200๋ฐฐ ์ด์ ์ฐจ์ด ๋๊ณ , Barracuda์ ๊ฒฝ์ฐ 300๋ฐฐ ์ด์ ์ฐจ์ด๊ฐ ๋๋ค. ์ด๋ ๊ฒ ์ปดํจํฐ ์ญ์ฌ ์ ๊ฐ์ฅ ๋ถ๋ช ํ ๋์์ธ ํ์ ์ด๋ฅด๊ฒ ๋๋ค.
๋ ๋ฒ์งธ๋ ์ข ๋ ๋ฏธ๋ฌํ๋ฐ โ์ฑ๋ฅโ ์์ฃผ์ ๋๋ผ์ด๋ธ์ ์ ์ฌ์์ โ์ฉ๋โ ์์ฃผ์ ๋๋ผ์ด๋ธ ๊ฐ์ ์ฑ๋ฅ ์ฐจ์ด๊ฐ ์๋นํ ํฌ๋ค๋ ๊ฒ์ด๋ค. ์ด๋ฌํ ์ด์ ๋ก (๋ํ ๋ค๋ฅธ ์ด์ ๋ก) ์ ์๋ฅผ ์ํด์๋ ๋น์ผ ๋์ ๋ค์ด๋ ๋ฐ ์ฃผ์ ํ์ง ์์ผ๋ฉด์๋ ํ์๋ฅผ ๊ตฌํ๊ธฐ ์ํด์๋ ๊ฐ๋ฅํ ์ธ๊ฒ ์ฌ๋ ค๊ณ ํ๋ค.
5. ๋์คํฌ ์ค์ผ์ค๋ง
I/O์ ๋น์ฉ์ด ํฌ๊ธฐ ๋๋ฌธ์ ์ญ์ฌ์ ์ผ๋ก ์ด์์ฒด์ ๋ ๋์คํฌ์๊ฒ ์์ฒญ๋๋ I/O์ ์์๋ฅผ ๊ฒฐ์ ํ๋ ๋ฐ ์ค์ํ ์ญํ ์ ํ๋ค.
๋์คํฌ ์ค์ผ์ค๋ฌ๋ ์์ฒญ์ ๋ณด๊ณ ๋ค์์ ์ด๋ค I/O๋ฅผ ์ฒ๋ฆฌํ ์ง ๊ฒฐ์ ํ์๋ค.
๊ฐ ์์ ์ ๊ธธ์ด๊ฐ ์ผ๋ง๋ ๋ ์ง ์ ์ ์๋ ์์ ์ค์ผ์ค๋ง๊ณผ๋ ๋ค๋ฅด๊ฒ, ๋์คํฌ ์ค์ผ์ค๋ง์ ๊ฒฝ์ฐ ์์ฒญ ์์ ์ด ์ผ๋ง๋ ๊ฑธ๋ฆด์ง๋ฅผ ๊ฝค ์ ํํ๊ฒ ์์ธกํ ์ ์๋ค. ๋ฐ๋ผ์ greedyํ๊ฒ ์ฒ๋ฆฌํ ์ ์๋ ๊ฐ์ฅ ๋น ๋ฅธ ์์ฒญ์ ์ ํํ ์ ์๋ค.
์ฆ ๋์คํฌ ์ค์ผ์ค๋ฌ๋ SJF(shortest job first) ์์น์ ๋ฐ๋ฅด๋ ค๊ณ ๋ ธ๋ ฅํ๋ค. ๊ธฐ์ต์ด ์ ๋์ง ์์ผ๋ฉด OSTEP 07 CPU Scheduling ํํธ๋ฅผ ๋ค์ ์ฝ์ด๋ณด์.
์ต๋จ ํ์ ์๊ฐ ์ฐ์ (Shortest-seek-time-first, SSTF)
์ด๊ธฐ์๋ ์ด ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ค. ํธ๋์ ๊ธฐ์ค์ผ๋ก I/O ์์ฒญ ํ๋ฅผ ์ ๋ ฌํ์ฌ ๊ฐ์ฅ ๊ฐ๊น์ด ํธ๋์ ์์ฒญ์ด ์ฐ์ ์ฒ๋ฆฌ๋๋๋ก ํ์๋ค. ์๋ฅผ ๋ค์ด, ํ์ฌ ํค๋๊ฐ ์์ชฝ ํธ๋์ ์์นํด ์๊ณ , ๊ฐ์ด๋ฐ ํธ๋์ ์นํฐ์ ๋ฐ๊นฅ ํธ๋์ ์นํฐ์ ๋ํ ์์ฒ์ ๋ฐ์ผ๋ฉด, ๊ฐ์ด๋ฐ ํธ๋์ ์์ฒญ์ ๋จผ์ ์ฒ๋ฆฌํ๊ณ , ์๋ฃ๋ ํ ๋ฐ๊นฅ ํธ๋์ ์์ฒญ์ ์ฒ๋ฆฌํ๋ค.
ํ์ง๋ง SSTF๊ฐ ๋ง๋ฅ์ ์๋๋ค. ๋๋ผ์ด๋ธ์ ๊ตฌ์กฐ๋ ํธ์คํธ OS์๊ฒ ๊ณต๊ฐ๋์ด ์์ง ์๊ณ , ์ด์์ฒด์ ๋ ๊ทธ์ ๋ธ๋ญ๋ค์ ๋ฐฐ์ด๋ก๋ง ์ธ์ํ๋ค. ๋๋ฌธ์ ๊ฐ์ฅ ๊ฐ๊น์ด ๋ธ๋ญ ์ฐ์ (Nearest-block-first, NBF) ๋ฐฉ์์ ์ฌ์ฉํ๋ฉด ๋๋ค.
๋ ํฐ ๋ฌธ์ ๋ ๊ธฐ์ ํ์์ด๋ค. ๊ณ์ ์์ชฝ ํธ๋์๋ง ์ง์์ ์ผ๋ก ์์ฒญ์ด ๋ฐ์๋๋ฉด, ๋ฐ๊นฅ ํธ๋์ ์ฝ์ ์ ์๊ฒ ๋๋ค. ๊ธฐ์ ํ์์ ํด๊ฒฐํด๋ณด์.
Elevator (a.k.a. SCAN or C-SCAN)
SCAN์ด๋ผ๊ณ ๋ถ๋ ธ๋ ์ด ์๊ณ ๋ฆฌ์ฆ์ ํธ๋์ ์์์ ๋ฐ๋ผ ๋์คํฌ๋ฅผ ์๋ค๋ก ๊ฐ๋ก์ง๋ฅด๋ฉฐ ์์ฒญ์ ์๋น์คํ๋ค. ๋์คํฌ๋ฅผ ํ ๋ฒ ๊ฐ๋ก์ง๋ฅด๋ ๊ฒ์ sweep ์ด๋ผ๊ณ ๋ถ๋ฅด์. ๋ฐ๋ผ์ ์ด๋ค ์์ฒญ์ด ์ด๋ฒ ์ค์ํ์ ์ด๋ฏธ ์ง๋๊ฐ ํธ๋์ ๋ํด ๋ค์ด์จ๋ค๋ฉด, ๋ค์ ๋ฒ ์ค์ํ์ ์ฒ๋ฆฌ๋๋๋ก ํ์์ ๋๊ธฐํ๋ค.

F-SCAN์ ์ค์ํํ๋ ๋์ ํ๋ฅผ ๋๊ฒฐ์์ผ ๋ฉ๋ฆฌ ๋จ์ด์ ธ ์๋ ์์ฒญ์ ๋ํ ๊ธฐ์ ํ์์ ์์ ๋ ๋ฐฉ๋ฒ์ด๋ค.

C-SCAN(Circular SCAN) ์๊ณ ๋ฆฌ์ฆ์ ๋์คํฌ๋ฅผ ๊ฐ๋ก์ง๋ฌ ์๋ฐฉํฅ์ผ๋ก ์ค์ํํ๋ ๋์ ์ ์ธ๋ถ์์ ๋ด๋ถ๋ก๋ง ์ค์ํํ ๋ค์ ์ธ๋ถ ํธ๋์์ ์ฌ์ค์ ํ์ฌ ๋ค์ ์์ํ๋ค.

์ด ๊ธฐ๋ฒ๋ค์ ํ์ ์ ๋ฌด์ํ๋ค. ๋ฐ๋ผ์ ์ต์ ์ ์๋๋ค.
์ต๋จ ์์น ์ก๊ธฐ ์ฐ์ (shortest positioning time first) - SPTF
์ต๋จ ์ ๊ทผ ์๊ฐ ์ฐ์ (shortest access time first) ์ด๋ผ๊ณ ๋ ๋ถ๋ฆฌ๋ ๊ธฐ๋ฒ์ด๋ค. ์ด๋ค ์นํฐ๋ก ์ ๊ทผํ๋๊ฒ ๊ฐ์ฅ ๋น ๋ฅผ๊น?

ํค๋๊ฐ ์นํฐ 30๋ฒ์ ์์นํด ์๋๋ฐ, ์ค์ผ์ค๋ฌ๋ ๋ค์ ์์ฒญ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด 8๋ฒ ์นํฐ๋ก ๊ฐ์ผํ ๊น ์๋๋ฉด 16๋ฒ ์นํฐ๋ก ๊ฐ์ผํ ๊น? ์ ๋ต์ ์ํฉ์ ๋ฐ๋ผ ๋ค๋ฅด๋ค.
์ฌ๊ธฐ์ ์ํฉ์ ์์กด์ ์ธ ์ด์ ๋ ํ์์ ๊ฑธ๋ฆฌ๋ ์๊ฐ๊ณผ ํ์ ์ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ด ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ด๋ค.
๋๋ฌธ์ SPTF๊ฐ ์ฑ๋ฅ์ ๊ฐ์ ์ํฌ ์ ์๋ค. ํ์ง๋ง ํธ๋์ ๊ฒฝ๊ณ๊ฐ ์ด๋์ธ์ง, ํ์ฌ ๋์คํฌ ํค๋๊ฐ ์ด๋์ธ์ง(ํ์ ์ ๊ด์ ์์)๋ฅผ ์ ํํ ํ ์ ์๊ธฐ ๋๋ฌธ์ ์ด์์ฒด์ ์์ ์ด๋ฅผ ๊ตฌํํ๊ธฐ๋ ์ด๋ ต๊ณ , ๋๋ผ์ด๋ธ ๋ด๋ถ์์ ์คํ๋๋ค.
๋ค๋ฅธ ์์ ๋ค
๋์คํฌ ์ค์ผ์ค๋ง์ ํ๋ ์์คํ ์์ ์ด๋ ๋ถ๋ถ์ด ๋ด๋นํด์ผ ํ๋๊ฐ?
์์ ์๋ ์ด์์ฒด์ ๊ฐ ๋ชจ๋ ๊ฒ์ ๊ฒฐ์ ํ์๋ค.
ํ๋ ์์คํ ์์, ๋์คํฌ๋ ๋๊ธฐ ์ค์ธ ์ฌ๋ฌ ๊ฐ์ ์์ฒญ๋ค์ ์์ฉํ ์ ์์ผ๋ฉฐ ๋ณต์กํ ๋ด๋ถ ์ค์ผ์ค๋ฌ๋ฅผ ์์ฒด์ ์ผ๋ก ๊ฐ์ง๊ณ ์๋ค. ์ด ์ค์ผ์ค๋ฌ๋ ๋์คํฌ ์ปจํธ๋กค๋ฌ ๋ด๋ถ์ ์๊ธฐ ๋๋ฌธ์ ํค๋์ ์ ํํ ์์น๋ ์ ์ ์์ ๋ฟ๋ง ์๋๋ผ ๊ทธ ์ธ์ ํ์ํ ์ ๋ณด๋ค๋ ์ ์ ์๋ค. ๊ทธ๋์ SPTF ๋ฐฉ์์ ์ ๋ฐํ๊ฒ ๊ตฌํํ ์ ์๋ค.
๋์คํฌ ์ค์ผ์ค๋ฌ๊ฐ ์ํํ๋ ๋ ๋ค๋ฅธ ์ค์ํ ์์ ์ I/O ๋ณํฉ์ด๋ค. 33๋ฒ, 8๋ฒ, 34๋ฒ์ ์ฝ๋ ์ฐ์๋ ์์ฒญ์ด ์์ ๋, 33๋ฒ๊ณผ 34๋ฒ์ ์ฝ๋ ์์ฒญ์ ๋ณํฉํ์ฌ ๋ ๋ธ๋ญ ๊ธธ์ด์ ์์ฒญ์ผ๋ก ๋ง๋ ๋ค. ๋์คํฌ๋ก ๋ด๋ ค๋ณด๋ด๋ ์์ฒญ์ ๊ฐ์๋ฅผ ์ค์ฌ ์ค๋ฒํค๋๋ฅผ ์ค์ผ ์ ์๋ค.
๋ณํฉ์ ์ํด ์ผ๋ง๋ ๊ธฐ๋ค๋ ค์ผ ํ๋๊ฐ๋ ๊ณ ๋ฏผํด๋ณผ ๋ฌธ์ ์ค ํ๋์ด๋ค.
6. ์์ฝ
์ ์๊ณตํ๊ณผ ์ฌ๋ฃ๊ณตํ๊ณผ ํ์ดํ ~