Mass Storage๋ ํ๋ ๋์คํฌ์ ๊ฐ์ 2์ฐจ ์ ์ฅ์ฅ์น๋ฅผ ์๋ฏธํ๋ค.
Physical Disk Structure
๊ธฐ๋ณธ์ ์ธ ํ๋ ๋์คํฌ์ ๊ตฌ์กฐ์ ๋์ ๋ฐฉ์์ ๋ํด ์์๋ณด์.
์์ฆ์ 2์ฐจ ์ ์ฅ์ฅ์น๋ก ํ๋ ๋์คํฌ ๋์ SSD๋ ๋ง์ด ์ฌ์ฉํ์ง๋ง, ์์ง๊น์ง๋ ํ๋ ๋์คํฌ๋ฅผ ๋ง์ด ์ฌ์ฉํ๊ณ ์๊ธฐ ๋๋ฌธ์ ํ๋ ๋์คํฌ ์ฌ์ฉ์ ์ ์ ๋ก ์ค๋ช ํ๋ค.
ํ๋ ๋์คํฌ๋ฅผ ์์์ ๋ณธ ๋ชจ์ต๊ณผ ์์์ ๋ณธ ๋ชจ์ต์ ์์ ๊ทธ๋ฆผ๊ณผ ๊ฐ๋ค.
๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋กํ ์ ์๋ ํ๋ํฐ๋ค์ด ์๊ณ , ํ๋ํฐ์ ๊ฐ์ ์ฐ๊ณ ์ฝ๋ ๊ฒ์ ์คํ๋ค์ ์ฐ๊ฒฐ๋ ํค๋๊ฐ ํ๋ค.
์ด๋ก ์ ์ผ๋ก platter ํ๋์ ํค๋๊ฐ 2๊ฐ ๋ถ์ ์ ์๋ค. ์๋ฉด์ ํ๋, ๋ท๋ฉด์ ํ๋
๊ทธ๋ฆฌ๊ณ ์คํ๋ค ํ๋์ ๋ชจ๋ ํค๋๋ค์ด ๋ฌ๋ ค์๊ธฐ ๋๋ฌธ์ ์คํ๋ค์ ์์ง์ด๋ฉด ๋ชจ๋ ํค๋๊ฐ ๋์์ ์์ง์ด๊ฒ ๋๋ค.
๋ค๋ฅธ Platter์ ์๋๋ผ๋ ๊ฐ์ ์์น์ Track์ ์๋ ๋ฐ์ดํฐ๋ค์ ๋ชจ๋ ๋์์ ์ฝ์ ์ ์๋ค.
๊ฐ์ ์์น์ Track๋ค์ ๋ชจ๋ ๋ชจ์ผ๋ฉด ์๊ธฐ๋ฅ(Cylinder) ๋ชจ์์ด ๋ง๋ค์ด์ง ๊ฒ์ด๋ค. ์ด ์๊ธฐ๋ฅ์ ์๋ ๋ฐ์ดํฐ๋ ๋ชจ๋ ๋์์ ์ฝ์ ์ ์๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก ํ๋ํฐ๋ ๊ณ์ํด์ ๋์๊ฐ๊ณ ์๊ณ , ์ํ๋ ๋ถ๋ถ์ ํค๋๋ฅผ ์ฎ๊ฒจ์ ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ์ฝ๋ ๋ฐฉ์์ด๋ค.
ํ Track ์์ ๋ชจ๋ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋์ด ์์ผ๋ฉด ์ต์ด์ ํ ๋ฒ ํค๋ ์์ง์์ผ๋ก ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ์ ์๊ฒ ๋ค๋ ์๊ฐ์ ํ ์ ์๋ค.
=> ์ฐ์๋ ๊ณต๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ฉด, ํค๋ ํ ๋ฒ์ ์์ง์์ผ๋ก ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ์ ์๋ค๋ ๋ป.
์ํ๋ ๋ถ๋ถ์ Sector๋ฅผ ์ฝ๊ธฐ ์ํด์๋ ์ด๋ค ์ ๋ณด๊ฐ ์์ด์ผ ํ ๊น.
๋จผ์ Cylinder์ ๋ฒํธ๋ฅผ ๊ฒฐ์ ํ๋ค. ์ค๋ฆฐ๋์ ๋ฒํธ๋ฅผ ๊ฒฐ์ ํ๋ค๋ ๊ฒ์ ์คํ๋ค์ ์์ง์ฌ์ ํค๋์ ์์น๋ฅผ ๊ฒฐ์ ์ง๋๋ค๋ ์๋ฏธ์ด๋ค. ๊ทธ๋ฐ ๋ค์ ํ๋์ ์ค๋ฆฐ๋์๋ ์ฌ๋ฌ surface์ track๋ค์ด ๋ค์ด ์๋๋ฐ, ๊ทธ ์ค ์ด๋ค surface์ track์ ์ฝ์ ๊ฒ์ธ์ง๋ฅผ ๋ช
์ํด์ผ ํ๋ค. ์ด๊ฑด Head์ ๋ฒํธ๋ก ์ง์ ํ ์ ์๋ค.
๋ง์ง๋ง์ผ๋ก ํน์ Track๋ด์์ ์ด๋ค sector๋ฅผ ์ฝ์ ๊ฒ์ธ์ง๋ฅผ ๋ช
์ํด์ผ ํ๋ค.
=> ํน์ Sector๋ฅผ ์ฝ๊ธฐ ์ํด์๋ Cylinder #, Head #, Sector #๋ฅผ ๋ช
์ํด์ผ ํ๋ค.
=> ์ค์ฌ์ CHS์ฒด๊ณ๋ผ๊ณ ํ๋ค.
ํ๋ ๋์คํฌ์ ์ฃผ์ ์ฒด๊ณ๋ CHS ์ฒด๊ณ์ด๋ค.
ํ๋ ๋์คํฌ์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๋ ์๊ฐ์ 3๋จ๊ณ๋ก ๋๋ ๋ณผ ์ ์๋ค.
1. Seek time
๋ฌผ๋ฆฌ์ ์ผ๋ก ์คํ๋ค์ ํตํด ํค๋๋ฅผ ์์ง์ฌ ์ํ๋ track์ ์ฝ์ ์ ์๋๋ก ํ๋ ๊ฒ์ด๋ค.
2. Rotational delay
์ํ๋ track์ ํค๋๋ฅผ ์์น์ํจ ํ์๋ ํ๋ํฐ๊ฐ ํ์ ํด์ ์ํ๋ ์นํฐ๋ฅผ ์ฝ์ ์ ์์ ๋๊น์ง ๊ธฐ๋ค๋ ค์ผ ํ๋ค.
=> ํ๊ท ์ ์ผ๋ก ๋ฐ ๋ฐํด ์ ๋์ Rotational delay๊ฐ ์๋ค.
3. Transfer time
์ํ๋ ํธ๋์ ์ํ๋ ์นํฐ์ ํค๋๊ฐ ์์นํ๊ฒ ๋์๋ค๋ฉด ์ด์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด์ผ ํ๋ค.
์ด ์ค ๊ฐ์ฅ ์ค๋๋ ๊ฑธ๋ฆฌ๋ ๊ฒ์ ๋น์ฐํ ๋ฌผ๋ฆฌ์ ์ผ๋ก Head๊ฐ ์์ง์ด๋ ์๊ฐ์ธ Seek time์ด๋ค.
๊ทธ ๋ค์ Rotational delay, Transfer time ์์ผ๋ก ์ค๋ ๊ฑธ๋ฆฐ๋ค.
Rotational dealy๋ฅผ ์ค์ด๊ธฐ ์ํด์๋ ํ๋ํฐ๊ฐ ํ์ ํ๋ ์ ๋ฐ์ ์๋๋ฐ, ์ด๊ฒ์ OS๊ฐ ์ด๋ป๊ฒ ํ ์ ์๋ ์์ญ์ด๋ค.
๊ทธ๋ ๋ค๋ฉด ์ฐ๋ฆฌ๋ Seek time์ ์ต๋ํ ์ค์ฌ์ Disk I/O์ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ ์ค์ฌ๋ณผ ์ ์๊ฒ ๋ค.
Disk Structure
ํ๋ ๋์คํฌ์ ์์น๋ฅผ ๋ํ๋ด๋ ์ ๋ณด๋ฅผ OS๋ LBA๋ผ๊ณ ์๊ณ ์๋ค.
=> Logical Block Address
๋์คํฌ์์ ๋ฐ์ดํฐ ๊ตํ์ ๋ธ๋ญ ๋จ์๋ก ์ผ์ด๋๊ธฐ ๋๋ฌธ์ OS๋ ํ๋ ๋์คํฌ์ ์ฃผ์ ์ฒด๊ณ๋ฅผ 0๋ฒ Block, 1๋ฒ Block ์ด๋ฐ ์์ผ๋ก๋ง ์๊ณ ์๋ค.
์ด Block์ ๋ฒํธ๋ฅผ ์ค์ Sector์ ๋งคํ์ ํด์ผ ํ๋๋ฐ, OS๋ ์ด๋ฌํ ๋ํ
์ผ๊น์ง๋ ๋ชจ๋ฅด๊ณ ์ด๊ฑด ํ๋ ๋์คํฌ์ ์ปจํธ๋กค๋ฌ๊ฐ ํ๊ฒ ๋๋ค.
์ผ๋ฐ์ ์ผ๋ก Sector 0(zero)๋ ๊ฐ์ฅ ์์ชฝ Surface์ ๊ฐ์ฅ ๋ฐ๊นฅ ์ชฝ Track์ 0๋ฒ์งธ Sector๋ฅผ ์๋ฏธํ๋ค.
sector 0๋ฅผ ์์์ผ๋ก ์์ฐจ์ ์ผ๋ก sector๋ค์ ๋ฒํธ๋ฅผ ํ ๋นํ๋ค.
=> ๊ฐ์ ํธ๋ ๋ด์ ์ด์ํ ์นํฐ๋ค์ ์์๋๋ก 1๋ฒ, 2๋ฒ ์นํฐ๋ก ๋ฒํธ๋ฅผ ๋ถ์ผ์ง, ๊ฐ์ ์ค๋ฆฐ๋์ ๋ค๋ฅธ ํ๋ํฐ์ ์๋ ์นํฐ๋ถํฐ 2๋ฒ, 3๋ฒ์ ๋ถ์ผ์ง๋ ํ๋ ๋์คํฌ๋ง๋ค ๋ค๋ฅด๋ค. ์ด๊ฑธ ์ ํ๋ ๊ฑด ํ๋ ๋์คํฌ ๋ด๋ถ์ ๋ฌธ์ ๋ก ์ฐ๋ฆฌ๋ ์ ํ์ ์๋ค.
Disk scheduling
ํ๋ ๋์คํฌ์ ์ ๊ทผํ๋ ๊ฒ์ ๋งค์ฐ ์ค๋ ๊ฑธ๋ฆฌ๋ ์์ ์ด๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ์ต๋ํ ์ค์ด๊ธฐ ์ํด์ OS๋ ๋ค์ด์จ ๋ช ๋ น์ ์์๋ฅผ ์ฒ๋ฆฌํ๋ ์์๋ฅผ ์ ํ๊ฒ ๋๋๋ฐ, ์ด๊ฒ์ Disk Scheduling์ด๋ผ๊ณ ํ๋ค.
๋์คํฌ์ ์ ๊ทผํ๋ ์๊ฐ ์ค ๋๋ถ๋ถ์ ๋ฌผ๋ฆฌ์ ์ผ๋ก ํค๋๋ฅผ ์์ง์ด๋ ์๊ฐ์ธ Seek time์ด ์ฐจ์งํ๋ค.
์์์ ์ผ๋ก ํค๋๊ฐ ๋ฉ๋ฆฌ ์์ง์ด๋ฉด seek time์ด ์ฆ๊ฐํ ๊ฒ์ด๋ค.
=> ํค๋๊ฐ ์์ง์ด๋ ๊ฑฐ๋ฆฌ์ธ seek distance์ seek time์ด ๋น๋กํ ๊ฒ์ด๋ผ๋ ๊ฒ์ ์ฝ๊ฒ ์๊ฐํ ์ ์๋ค.
Seek Time Benchmark
ํ๋ ๋์คํฌ์ ์ ๊ทผํ๊ธฐ ์ํ ๊ธฐ๋ณธ์ ์ธ ์๊ฐ์ ์ ์ธํ๋ฉด, seek time์ distance์ ๋ฃจํธ์ ๋น๋กํ๋ค๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
์์ a, b๋ ํ๋ ๋์คํฌ ๋ง๋ค์ ํน์ฑ์ ๋ฐ๋ฅธ ์์ ๊ฐ์ด๊ณ , distance์ ๋ฃจํธ ๊ฐ์ ๋น๋กํด์ Seek time์ด ์ฆ๊ฐํ๊ฒ ๋๋ค.
=> Seek distance๋ฅผ ์ค์ด๋ฉด Seek time์ ์ค์ผ ์ ์๊ฒ ๋ค!
์ ํ๋ฆฌ์ผ์ด์
์์ ๋ค์ด์จ ์์ฒญ์ ์์์ ๋ฌด๊ดํ๊ฒ OS๊ฐ ํ๋ ๋์คํฌ์ ์์ฒญํ๋ ์์๋ฅผ ๊ฒฐ์ ํ๋ ์ผ์ ๋์คํฌ ์ค์ผ์ค๋ง์ด๋ผ๊ณ ํ๋ค.
๋์คํฌ ์ค์ผ์ค๋ง์ ๋ฐ๋ผ Seek time์ด ๋ฌ๋ผ์ง ์ ์๋ค.
OS์ ์
์ฅ์์ ์ฐ๋ฆฌ๊ฐ ๊ธฐ๋ํ ์ ์๋ ๊ฑด, LBA(Logical Block Address)๊ฐ ์ฐ์๋์ด ์์ผ๋ฉด ์ค์ ๋์คํฌ ์์์๋ ์ฐ์๋ ๋ธ๋ญ์ผ ๊ฒ์ด๋ผ๋ ๊ฒ์ด๋ค.
์ ํํ๋ ๋ชจ๋ฅด์ง๋ง OS๋ ๊ทธ๋ ๋ค๊ณ ๋ฏฟ๊ณ ์ผ์ ํ๊ฒ ๋ค.
์ฌ๋งํ๋ฉด LBA๊ฐ ์ฐ์์ ์ด๋ฉด ๊ฐ์ Track์ ์์ ๊ฒ์ด๋ผ ๋ฏฟ๊ณ ์ผ์ ํ๊ฒ ๋ค.
๋ง์ฝ ์ฐ์์ ์ด์ง ์๋๋ผ๋ ์ต๋ํ ๋ฒํธ๊ฐ ๊ฐ๊น์ด ๊ฒ๋ถํฐ ๋จผ์ ์ฒ๋ฆฌ๋ฅผ ํด์ฃผ๋ฉด seek distance๊ฐ ์ค์ด๋ค ๊ฒ์ด๋ค.
=> OS๋ ์ค์ ๋์คํฌ์ ๋ด๋ถ์ ๋ํด์๋ ์ ์ ์๊ณ , LBA๋ฅผ ํตํด ์ ๊ทผํ๊ธฐ ๋๋ฌธ์ LBA๊ฐ ์ฐ์๋์ด ์์ผ๋ฉด ์ค์ ๋ก๋ ์ฐ์๋์ด ์์ ๊ฒ์ด๋ผ ๋ฏฟ๊ณ ์ค์ผ์ค๋ง์ ํ๊ฒ ๋๋ค.
FCFS
์ค์ผ์ค๋ง์์ ๋น ์ง์ง ์๊ณ ๋ฑ์ฅํ๋ ๊ฒ์ด FCFS(First Come First Served) ๋ฐฉ์์ด๋ค.
๋์คํฌ ์ค์ผ์ค๋ง๋ ์ค์ผ์ค๋ง์ด๊ธฐ ๋๋ฌธ์ FCFS๋ ๋ฌด์กฐ๊ฑด ๊ณ ๋ ค๋๋ค.
ํ์ง๋ง ๋ค์ด์จ ์์๋๋ก ์ฒ๋ฆฌํ๋ฉด ํค๋๋ ์ด 640์ค๋ฆฐ๋ ๋งํผ์ ๊ฑฐ๋ฆฌ๋ฅผ ์์ง์ฌ์ผ ํ๋ค.
=> ๋ค์ ๋์ฌ ๋ค๋ฅธ ์ ์ฑ ๋ค์ ๋ณด๋ฉด ์ ์ ์๊ฒ ์ง๋ง ๊ต์ฅํ ๋นํจ์จ์ ์ด๋ค.
SSTF
SSTF๋ ํ์ฌ Head์ ์์น์์ ๊ฐ์ฅ ๊ฐ๊น์ด ์ค๋ฆฐ๋๋ฅผ ๋จผ์ service ํด์ฃผ์๋ ๋ฐฉ์์ด๋ค.
Seek distance ์ฐจ์์์ SSTF๊ฐ ์ข๋ค๋ ๊ฒ์ ๋น์ฐํ ์๊ฐ์ด๋ค.
๊ทธ๋ผ ์ด ์ ์ฑ
์ ์ฐ๋ฉด ๋ ๊น?
Seek time๋ฉด์์ ํจ์จ์ ์ด๊ฒ ์ง๋ง, CPU ์ค์ผ์ค๋ง์์์ SJF ๋ฐฉ์๊ณผ ๋์ผํ๊ฒ Starvation ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค.
ํ์ฌ ํค๋์ ์์น์ ๊ทผ์ฒ์ ํด๋นํ๋ ์์ฒญ์ด ๊ณ์ ๋ค์ด์ค๋ฉด ๋ฉ๋ฆฌ ์๋ ์ ๋ค์ ๊ณ์ ์๋น์ค๋ฅผ ๋ชป ๋ฐ๊ฒ ๋ ์ ์๋ค.
=> Starvation ๋ฌธ์ ๋ฐ์ ๊ฐ๋ฅ
๋ํ Starvation ๋ฌธ์ ๋ฟ ์๋๋ผ Fairness ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค.
์์์์ 183๋ฒ์ ์ด๊ธฐ์ ์์ฒญ์ด ๋ค์ด์๋๋ฐ ์ ์ผ ๋ง์ง๋ง์ ์๋น์ค๋ฅผ ๋ฐ์๋ค.
์ด ์๊ฐ ๋ด์ ์๋น์ค๋ฅผ ๋ฐ์ ๊ฒ์ด๋ผ๋ upper bound๊ฐ ์๊ธฐ ๋๋ฌธ์ performance์ ๋ํ ์์ธก ๊ฐ๋ฅ์ฑ์ด ์๋ค.
=> ์ด๋ฌํ ๋ฌธ์ ๋ค๋ก ์ธํด ํจ๋ถ๋ก ์ฌ์ฉํ ์ ์๋ค.
SCAN
์ผ๋ช Elevator Algorithm์ผ๋ก๋ ๋ถ๋ฆฌ๋ SCAN ์๊ณ ๋ฆฌ์ฆ์ ํ์ฌ ๋ด๊ฐ ์งํํ๊ณ ์๋ ๋ฐฉํฅ์ ์กด์ฌํ๋ ๋ชจ๋ ์์ฒญ๋ค์ ์ฒ๋ฆฌํ๋ฉด์ ํ์ชฝ ๋ฐฉํฅ์ผ๋ก ์งํํ๊ฒ ๋ค๋ ์ ์ฑ ์ด๋ค.
๊ทธ์ชฝ ๋ฐฉํฅ์ผ๋ก ์งํ์ด ๋์ด ๋๋ฉด ๋ฐฉํฅ์ ๋ฐ๊ฟ์ ๋ฐ๋์ชฝ์ผ๋ก ๋ด๋ ค๊ฐ๋ฉด์ ๋ ๊ทธ ๋ฐฉํฅ์ ์๋ ์์ฒญ๋ค์ ์ฒ๋ฆฌํ๊ฒ ๋ค.
=> ์๋ฆฌ๋ฒ ์ดํฐ๊ฐ ์ ์๋๋ก ์๋ค๊ฐ๋ค ํ๋ ๊ฒ๊ณผ ๋น์ทํ๊ธฐ ๋๋ฌธ์ Elevator Algorithm์ผ๋ก๋ ๋ถ๋ฆฐ๋ค.
SCAN ์๊ณ ๋ฆฌ์ฆ์์๋ ์งํํ๋ ๋์ค์ ๋ฐฉํฅ์ ๋ฐ๊พธ๋ ์ผ์ ์๋ค. ๋๊น์ง ๊ฐ์ผ์ง ๋ฐฉํฅ์ ๋ฐ๊พผ๋ค.
๊ทธ๋ฆผ์์ ์ ์ ์๋ฏ์ด, ๋ฐ๋์ ๋๊น์ง ๋๋ฌํด์ผ ์งํ ๋ฐฉํฅ์ ๋ฐ๋๋ก ๋ฐ๊พผ๋ค.
SCAN ์๊ณ ๋ฆฌ์ฆ์ SSTF๊ฐ ๊ฐ์ง๊ณ ์๋ ๋ฌธ์ ์ ์ ์ด๋ป๊ฒ ํด๊ฒฐํ๋?
ํ ๋ฒ ์๋ค๊ฐ๋ค ํ๋ ์ฌ์ด์๋ ๋ฐ๋์ ๋ชจ๋ ์์ฒญ์ด ์ฒ๋ฆฌ๊ฐ ๋ ๊ฒ์ด๋ฏ๋ก, startvation์ด ๋ฐ์ํ์ง ์๊ณ , ์ฒ๋ฆฌ ์๊ฐ์ upper bound๊ฐ ์ ๊ณต๋๋ค๋ ์ฅ์ ์ด ์๋ค.
=> ๋์์ ๋๊น์ง ์ด๋ํ๋ ์๊ฐ ๋ด์๋ ๋ฐ๋์ ์๋น์ค๊ฐ ๋ ๊ฒ์ด๋ค.
๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ๋ง์ OS๋ค์ด SCAN ์๊ณ ๋ฆฌ์ฆ์ ๊ธฐ๋ฐ์ผ๋กํ ๋์คํฌ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๊ณ ์๋ค.
๊ทธ๋ ๋ค๋ฉด SCAN ์๊ณ ๋ฆฌ์ฆ์๋ ๋ฌธ์ ๊ฐ ์์๊น??
ํ์ฌ ์งํํ๊ณ ์๋ ๋ฐฉํฅ์ ๋ ์ด์ ์์ฒญ์ด ์์์๋ ๋ถ๊ตฌํ๊ณ ๋ฐฉํฅ์ ๋ฐ๊พธ์ง ์๊ณ ๋๊น์ง ๊ฐ๋ค.
๊ทธ๋ฐ๋ฐ ์ด๊ฑด ๋ฌธ์ ๋ก ๋ด์ผํ ์ง ์๋์ง ํ๋จํ ์ ์๋ค. ์งํํ๋ ๋์ค์ ํด๋น ๊ฒฝ๋ก์ ์์ฒญ์ด ๋ค์ด์ฌ ์๋ ์๊ธฐ ๋๋ฌธ์ด๋ค.
=> ํ์ง๋ง ๊ทธ๋ ์ง ์์ ๊ฐ๋ฅ์ฑ์ด ๋๊ธฐ ๋๋ฌธ์ ์๋ฏธ๊ฐ ๋จ์ด์ง๋ค๊ณ ๋ ํ ์ ์๋ค.
๋ํ ์ ๋๋จ์ ์๋ 0๋ฒ๊ณผ 199๋ฒ์ ๊ฒฝ์ฐ์ ํ ๋ฒ ์๋ค๊ฐ๋ค ํ๋ ๋์ ์๋น์ค๋ฅผ ๋ฐ์ ๊ธฐํ๊ฐ ํ ๋ฒ ๋ฐ์ ์๋ค๋ ๋ฌธ์ ๊ฐ ์๋ค. ๊ทธ ์ฌ์ด์ ์๋ ์ ๋ค์ ์๋ค ๊ฐ๋ค ํ๋ ๋์ 2๋ฒ์ ๊ธฐํ๋ฅผ ๊ฐ๋๋ค.
๋๋จ์ ๊ฐ๊น์ด ์์ฒญ์ผ์๋ก ์ค๊ฐ์ ์๋ ์ ๋ค์ ๋นํด ์ต์
์ ๊ฒฝ์ฐ์ ๊ฑธ๋ฆด ์ ์๋ ์๊ฐ์ด ๋ ๊ธธ์ด์ง๋ ํ์์ด ์๋ค.
=> ๊ณตํ์ฑ์ ๋ฌธ์ ๊ฐ ๋ฐ์
๊ทธ๋ฐ๋ฐ ๋ ๊ฐ์ง ๋ชจ๋ ํฐ ๋ฌธ์ ๋ ์๋๋ค.
C-SCAN(Circular SCAN)
์์ ๋ณด์๋ SCAN ๋ฐฉ์๊ณผ ์ ์ฌํ์ง๋ง, ์์ชฝ์ผ๋ก ์๋ค๊ฐ๋ค ํ๋ SCAN ๋ฐฉ์๊ณผ ๋ฌ๋ฆฌ C-SCAN ๋ฐฉ์์ ํ ์ชฝ ๋ฐฉํฅ์ผ๋ก๋ง ์ด๋ํ๋ฉด์ ์์ฒญ์ ์ฒ๋ฆฌํ๋ค.
SCAN์ ๋ฌธ์ ์ ์ค ํ๋์ธ ์ ๋์ ์๋ ์ ๋ค์ ๊ธฐํ๊ฐ ๋ ์ ๋ค๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ง๋ ๋ฐฉ๋ฒ์ด๋ค.
๋์ ๋๋ฌํ๋ฉด ๋ฐฉํฅ์ ๋ฐ๊ฟ์ ๋ค์ ์์ฒญ์ ์ฒ๋ฆฌํ๋ฉด์ ์งํํ๋ ๊ฒ์ด ์๋๋ผ, ์์ฒญ์ ์ฒ๋ฆฌํ์ง ์๊ณ ์์์ ์ผ๋ก ์ฌ๋น ๋ฅด๊ฒ ๋์์จ๋ค.
๋ฐ๋๋ก ๋์์ฌ ๋ ๋งค์ฐ ๋น ๋ฅด๊ฒ ๋์์ค๊ธฐ ๋๋ฌธ์ ์ฒ๋ฆฌ ์๊ฐ์ upper bound๊ฐ ํค๋๊ฐ ํ ์ชฝ ๋ฐฉํฅ์ผ๋ก ๋๊น์ง ์ด๋ํ๋ ์๊ฐ๋งํผ์ด๋๋ค.
C-SCAN์๋ ๋ฌธ์ ๊ฐ ์๋ ๊ฒ์ ์๋๋ค.
๋์์ฌ ๋์๋ ์๋ฌด๊ฒ๋ ํ์ง ์๊ณ ๋์์จ๋ค๋ ๋ฌธ์ ๋ฅผ ๊ฐ์ง๊ณ ์๊ณ , SCAN์ด ๊ฐ์ง๊ณ ์๋ ๋ฌธ์ ์ค ํ๋์ธ ๋ ์ด์ ํด๋น ๋ฐฉํฅ์ ์์ฒญ์ด ์์์๋ ๋๊น์ง ๊ฐ๋ค๋ ๋ฌธ์ ๋ ์ฌ์ ํ ํด๊ฒฐํ์ง ๋ชปํ๊ณ ์๋ค.
ํ ์ชฝ ๋ฐฉํฅ์ผ๋ก๋ง ์ด๋ํ๋๋ฐ ์ Circular SCAN์ผ๊น?
๋์์ฌ ๋๋ ์๋ฌด๊ฒ๋ํ์ง ์๊ณ ์ฌ๋น ๋ฅด๊ฒ ๋์์ค๊ธฐ ๋๋ฌธ์ ์ฌ์ค ์ ๋์ด ์ด์ด์ ธ์๋ ๊ฒ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ค.
199๋ฒ์ ์ฒ๋ฆฌํ๊ณ ๋์ ๋ฐ๋ก 0๋ฒ์ผ๋ก ๋์์ค๊ธฐ ๋๋ฌธ์
C-LOOK
C-SCAN์ฒ๋ผ ํ ์ชฝ ๋ฐฉํฅ์ผ๋ก๋ง ์ด๋ํ๋ ๊ฒ์ ๋์ผํ์ง๋ง ์ ์งํ๋ ์งํ ๋ฐฉํฅ ์์ ์๋ฌด๋ฐ ์์ฒญ๋ ์๋ค๋ฉด ๋ ์ด์ ์งํํ์ง ์๊ณ ๋์์ค๋ ๋ฐฉ์์ด๋ค.
=> ์ ์งํ๋ฉด์ ์์ฒญ์ด ์๋์ง ๋ณด๋ฉด์ ๊ฐ๊ฒ ๋ค๋ ์๋ฏธ์์ C-LOOK์ด๋ผ๊ณ ํ๋ค.
C-LOOK์ ํ์ชฝ ๋ฐฉํฅ์ผ๋ก๋ง ์ด๋ํ์ง๋ง ์๋ฐฉํฅ์ผ๋ก ์ด๋ํ๋ LOOK ๋ฐฉ์๋ ์๋ค.
C-SCAN์ ๋์๋๋ ๋ฐฉ์์ด C-LOOK์ด๊ณ , SCAN์ ๋์๋๋ ๋ฐฉ์์ด LOOK์ด๋ค.
Arm Stickiness Problem
์์ ๋์จ ๋ฐฉ์๋ค ์ค์ SCAN, C-SCAN, SSTF์ ๊ฒฝ์ฐ์ ๊ณตํต์ ์ผ๋ก Arm Stickiness Problem์ด๋ผ๋ ๋ฌธ์ ๋ฅผ ๊ฐ๋๋ค.
๊ทธ๋ฌ๋ฉด ์ ์์์ ์๊ธฐํ์ง ์์๋๋.
๋งค์ฐ ํฌ๋ฐํ๊ฒ ๋ฐ์ํ๋ ๋ฌธ์ ์ด๊ธฐ ๋๋ฌธ์ ๋ณ๋๋ก ๋ค๋ฃฌ๋ค.
ํ์ฌ ํค๋์ ์์น๊ฐ 15๋ฒ ์ค๋ฆฐ๋์ ์๊ณ ๊ทธ ๋ค๋ก 6๋ฒ ํ๋์ ๋๋จธ์ง๋ ๋ค 15๋ฒ์ด ์ฐ์ํด์ ๋ค์ด์จ๋ค๋ฉด,
SCAN, C-SCAN, SSTF ๋ชจ๋ 15๋ฒ์ ๋จผ์ ์ฒ๋ฆฌํ๊ฒ ๋ ๊ฒ์ด๋ค.
=> SSTF๋ ํ์ฌ Head์์ ๊ฐ์ฅ ๊ฐ๊น์ด ์์ฒญ์ ์ฒ๋ฆฌํ๊ณ , SCAN, C-SCAN์ ํ์ฌ ์งํ๋ฐฉํฅ ์์ ์๋ ์์ฒญ๋ค์ ๋ชจ๋ ์ฒ๋ฆฌํ๊ธฐ ๋๋ฌธ์ด๋ค.
๊ทธ๋ฌ๋ฉด 6๋ฒ์ ๊ณ์ํด์ ์ฒ๋ฆฌ๊ฐ ๋ ์ ์๋ค.
์ด๊ฒ ์ ๋ฌธ์ ๋ ํ๋ฉด ์์์ SCAN, C-SCAN์ ๊ฒฝ์ฐ์๋ Starvation์ด ๋ฐ์ํ์ง ์๊ณ , ์ฒ๋ฆฌ๋๋ ์๊ฐ์ upper bound๋ฅผ ์ ๊ณตํ๋ค๊ณ ํ๋๋ฐ ์ด ๊ฒฝ์ฐ์๋ 6๋ฒ์ ๋ํด์ starvation์ด ๋ฐ์ํ๊ฒ ๋๋ค.
=> ํ์ง๋ง ๋งค์ฐ ํฌ๋ฐํ๊ฒ ๋ฐ์ํ๋ ํ์์ด๋ค.
ํค๋๊ฐ ํ์ฌ ์ฝ๊ณ ์๋ ์ค๋ฆฐ๋์ ๊ณ์ํด์ ์์ฒญ์ด ๋ค์ด์ค๋ฉด ํค๋๊ฐ ์์ง์ผ ํ์๊ฐ ์๋ค.
=> Arm์ด ๋ฑ ๋ถ์ด๋ฒ๋ ธ๋ค๊ณ ํด์ Arm Stickiness Problem์ด๋ผ ๋ถ๋ฆฐ๋ค.
Disk Management
Logical formatting์ ํ์ผ์ ๋ฐ์ดํฐ๋ ๊ทธ๋๋ก ๋ ์ฑ๋ก ํ์ผ ์์คํ ์ ๋ชจ๋ ๋ฉํ ๋ฐ์ดํฐ๋ค์ ์ง์์ผ๋ก์จ ์๋ฌด๋ฐ ํ์ผ์ ๋ํ ์ ๋ณด๋ฅผ ๊ฐ๊ณ ์์ง ์์ผ๋ฏ๋ก ๋์คํฌ๊ฐ ๋น ๊ฒ๊ณผ ๊ฐ์ ํจ๊ณผ๋ฅผ ๋ด๋ ๊ฒ์ด๋ค.
๋ฐ๋ฉด Physical formatting์ ์ค์ ๋ชจ๋ ๋ฐ์ดํฐ๋ค์ ์ง์ฐ๋ ๊ฒ์ด๋ค.
์ด๋ ๋์คํฌ๋ฅผ ์นํฐ ๋จ์๋ก ์๊ฒ ์๋ผ์ ํฌ๋งคํ
์ ํ๊ฒ ๋๋ค.
๊ฐ๋
์ ์ผ๋ก๋ ์นํฐ๋ฅผ 512B ๋จ์๋ก ์๋ฅด์ง๋ง, ์ค์ ๋ก๋ ๋ฉํ ๋ฐ์ดํฐ์ธ head์ trailer๊น์ง ๋ถ์ฌ์ ์๋ฅด๊ธฐ ๋๋ฌธ์ 512B๋ณด๋ค ์กฐ๊ธ ๋ ํฌ๊ฒ ์๋ฅด๊ฒ ๋๋ค.
header์ trailer์๋ ๋ฐ์ดํฐ์ ์๋ฌ๊ฐ ๋ฐ์ํ๋์ง๋ฅผ ๋ํ๋ด๋ ECC๊ฐ ๋ค์ด ์๋ค.
formatiingํ ๋ ์ด๊ฒ์ ํ์ธํด์ ์๋ฌ๊ฐ ๋ฐ์ํ์ผ๋ฉด Bad sector์์ ์๋ฆฐ๋ค.
ํ ๋ฒ Bad๊ฐ ๋ Sector๋ ๋ค์์ ๋ Bad๊ฐ ๋ ํ๋ฅ ์ด ๋๊ธฐ ๋๋ฌธ์ ํ ๋ฒ Bad Sector๊ฐ ๋ Sector๋ ๋ ์ด์ ์ฌ์ฉํ์ง ์๋๋ค.
๊ทธ๋ฐ๋ฐ OS๋ ์ด Sector์ ๋ฒํธ์ LBA๊ฐ ๋งคํ๋์ด ์๊ธฐ ๋๋ฌธ์ ๊ณ์ํด์ ์ฌ๊ธฐ์ ์ฐ๋ผ๊ณ ์์ฒญ์ ํ ๊ฒ์ด๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์ฐ๊ฒฐ์ ๋๊ณ , ์ฌ๋ถ์ผ๋ก ๋จ๊ฒจ๋ Sector์ ๋ค์ ๋งคํํด์ค๋ค.
partition์ ๋ฌผ๋ฆฌ์ ์ธ Disk๋ฅผ ๋
ผ๋ฆฌ์ ์ธ Disk๋ก ๋ง๋ค์ด์ฃผ๋ ๊ธฐ๋ฅ์ด๋ค.
ํํฐ์
ํ๋๋ฅผ ๋ง๋ค๊ฒ ๋๋ฉด OS๋ ๊ทธ ํํฐ์
์ ํ๋์ ๋ณ๋์ ๋์คํฌ๋ก ์๊ฐํ๊ฒ ๋๋ค.
์ค์ ๋ก๋ ํ๋์ ๋์คํฌ์ง๋ง OS๋ ๋ฌผ๋ฆฌ์ ์ธ ๋์คํฌ๊ฐ 2๊ฐ์ธ ๊ฒ์ฒ๋ผ ๊ด๋ฆฌ๋ฅผ ํ๋ค.
RAID (Redundant Array of Inexpensive Disks)
๋์คํฌ์ ๋ํ ์ ๊ทผ์ ๋งค์ฐ ๋๋ฆฌ๊ธฐ ๋๋ฌธ์, ์ฌ๋ฌ ๊ฐ์ Disk๋ฅผ ๋์์ ๊ฐ๋ํ๋ฉด ์ฑ๋ฅ์ด ์ข์์ง์ง ์์๊น๋ผ๋ ์๊ฐ์ ํ ์ ์๋ค.
=> ๋ฌธ์ ๋ ์ด๊ฒ์ ํ๋์ Disk์ฒ๋ผ ๋ณด์ด๊ฒ ๋ง๋ค์ด์ผ ํ๋ค๋ ๊ฒ์ด๋ค.
๋์คํฌ๋ฅผ ์ฌ๋ฌ ๊ฐ๋ฅผ ์ฌ์ฉํด์ ์ฉ๋๊ณผ ์๋๋ฅผ ๋์ด๊ฒ ๋ค๋ ์์ด๋์ด.
๊ทธ๋ฌ๋ ์ฌ๋ฌ ๊ฐ์ ๋์คํฌ๋ฅผ ํ๋์ ๋์คํฌ์ฒ๋ผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์, N๊ฐ์ ๋์คํฌ ์ค์ ํ๋๋ผ๋ ๊ณ ์ฅ๋๋ฉด ์์คํ ์ ์ฒด๊ฐ ๊ณ ์ฅ๋๊ฒ ๋๋ค๋ ๋ฌธ์ ๊ฐ ์๋ค.
=> ๊ณ ์ฅ๋ ํ๋ฅ ์ด ๋์์ง๋ค.
๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ๋ฅผ ์ฌ๋ฌ ๊ณณ์ ์ค๋ณต์ ์ผ๋ก ์ ์ฅํจ์ผ๋ก์จ ํ๋์ ๋์คํฌ๊ฐ ๊ณ ์ฅ๋๋ค๊ณ ํ๋๋ผ๋ ๋ค๋ฅธ ๋์คํฌ์ ๋ฐ์ดํฐ๋ฅผ ์ด์ฉํด์ ๊ณ์ํด์ ์๋น์ค๋ฅผ ์ ๊ณตํ ์ ์๋๋ก ํ๋ค.
์ฌ๋ฌ ๋์คํฌ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ค๋ฉด ๋ฐ์ดํฐ๋ฅผ ๋ถํ ํด์ ์ ์ฅํด์ผ ํ๋ค.
=> ๋ฐ์ดํฐ๋ฅผ ๋ถํ ํ๋ ๋ฐฉ์๊ณผ ๋ฐ์ดํฐ๋ฅผ ์ค๋ณต์ ์ผ๋ก ์ ์ฅํ๋ ๋ฐฉ์์ ๊ฒฐ์ ํด์ผ ๊ฒ ๋ค.
ํ๋์ ๋์คํฌ๊ฐ ๊ณ ์ฅ๋๋ฉด ์ ์ฒด๊ฐ ๊ณ ์ฅ๋๋ฒ๋ฆฐ๋ค๋ ์ ๋ขฐ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ฌ๋ฌ ๋ฒ ์ ์ฅํ ์ ์๋ค.
์๋ฅผ ๋ค์ด Mirroring ๋ฐฉ์์์๋ ๊ฐ๊ฐ์ Disk๋ฅผ Duplicateํด์ ํ๋ ๋ ๋๋ค.
10๊ฐ์ Disk๋ฅผ ๊ฐ์ง๊ณ RAID๋ฅผ ๊ตฌ์ถํ๋ค๊ณ ํ๋ฉด, ์ฌ์ค์ 5๊ฐ๋ฅผ ๊ตฌ์ถํ๋ ๊ฒ์ด๊ณ ๋๋จธ์ง 5๊ฐ๋ ์๋ฅ์ด Disk๋ฅผ ๋ง๋๋ ๊ฒ์ด๋ค.
=> ์ ์ฒด ์ฉ๋์ ์ ๋ฐ๋ฐ์ ์ฌ์ฉํ์ง ๋ชป ํ๋ค๋ ๋ฌธ์ ๊ฐ ์์ง๋ง, ๋ณต์ฌ๋ณธ์ด ์๊ธฐ ๋๋ฌธ์ ์ ๋ขฐ์ฑ์ ๋์์ง๋ค.
Mirroring๋ ๋์คํฌ์ ์๋ณธ ๋์คํฌ๊ฐ ๋์์ ๊ณ ์ฅ๋์ผ ์๋น์ค๋ฅผ ์ ๊ณตํ์ง ๋ชปํ๊ฒ ๋๋ค.
=> ๊ทธ๋ด ํ๋ฅ ์ ๋งค์ฐ ๋ฎ๋ค.
์๋ฅผ ๋ค์ด ๋์คํฌ๋ฅผ ๊ณ ์น๋๋ฐ 10์๊ฐ์ด ๊ฑธ๋ฆฐ๋ค๊ณ ํ๋ฉด, Mirroring๋ ๋์คํฌ๊น์ง ๊ณ ์ฅ์ด๋์ ์๋น์ค๋ฅผ ์ ๊ณตํ์ง ๋ชป ํ๊ฒ ๋๋ ค๋ฉด 10์๊ฐ ๋ด์ Mirroring๋ ๋์คํฌ๊น์ง ๊ณ ์ฅ์ด ๋์ผ ํ๋๋ฐ ๊ทธ๋ด ํ๋ฅ ์ ๊ทนํ ๋๋ฌผ๋ค.
์ฑ๋ฅ ์ธก๋ฉด์์ ์๊ฐํด๋ดค์ ๋, ๋ฐ์ดํฐ๋ฅผ ์ด๋ป๊ฒ ๋ถํ ํด์ ์ ์ฅํ ๊ฒ์ด๋์ ๋ฐ๋ผ ๊ธฐ๋ฒ์ด ๋ฌ๋ผ์ง๋ค.
ํ์ผ๋ณ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ถํ ํ๋ค๊ณ ํ๋ฉด, ๊ทธ ํ์ผ์ ์ฝ๊ธฐ ์ํด์๋ ๊ฒฐ๊ตญ ํ๋์ ๋์คํฌ์์ ์ฝ์ด์ผ ํ๋ฏ๋ก, ๋์คํฌ ์ฌ๋ฌ ๊ฐ๋ฅผ ์ฌ์ฉํ๋ ์๋ฏธ๊ฐ ์๋ค.
RAID์์๋ ํ์ผ๋ณ๋ก ๋ถํ ํ์ง ์๊ณ ์ด๋ป๊ฒ ๋ถํ ํ ๊ฒ์ธ๊ฐ?
ํ์ผ ๋ด์ ๋ฐ์ดํฐ๋ฅผ ์๋ผ์ ๋ถํ ํด์ผ ํ ๊ฒ์ด๋ค.
์๋ฅด๋ ์ฌ์ด์ฆ์ ๋ฐ๋ผ Bit-level striping๊ณผ Block-level striping์ผ๋ก ๋๋๋ค.
- Bit-level striping
Bit ๋จ์๋ก ๋ถํ ํด์ ์ ์ฅํ๊ฒ ๋๋ฉด, ํ ๋ฐ์ดํธ๋ฅผ ์ฝ์ ๋๋ ์ฌ๋ฌ DIsk์์ ์ฝ์ ์ ์๋ค.
๊ทธ๋ผ ์ข์๊น? ์ ์ข๋ค.
ํ๋์ ๋์คํฌ ๋ด์์ ํ bit๋ง ์ฝ๊ณ ๋ค์ bit๋ฅผ ์ฝ๊ธฐ ์ํด์ ๋ ๋ค์ Disk seek์ด ๋ฐ์ํ ์ ์๋ค.
=> ๋นํธ๋ง๋ค Seek๊ฐ ๋ฐ์ํ ์ ์๊ธฐ ๋๋ฌธ์ ์ด ๋ฐฉ๋ฒ์ ๋ชป ์ด๋ค.
- Block-level striping
ํ ํ์ผ ๋ด์ ๋ฐ์ดํฐ๋ฅผ ๋ธ๋ญ ๋จ์๋ก ๋๋ ์ ์ ์ฅํ๋ค.
=> ์์ฆ ๋๋ถ๋ถ์ RAID๊ฐ Block-level striping์ ์ด๋ค.
ํ ํ์ผ์ ์ ๊ทผํ ๋ 5๊ฐ์ ๋ธ๋ญ์ ์ฝ์ด์ผ ํ๋ค๊ณ ํ๋ฉด, 5๊ฐ์ ๋ธ๋ญ์ 5๊ฐ์ ๋์คํฌ์์ ๋์์ ์ฝ์ ์ ์๊ฒ ๋๋ค๋ฉด ์๋๊ฐ 5๋ฐฐ ๋นจ๋ผ์ง ๊ฒ์ด๋ค.
RAID Levels
Redundancy ์ ๋ต๊ณผ ๋ฐ์ดํฐ๋ฅผ ๋ถํ ํ๋ Striping ์ ๋ ฅ์ ๊ฒฐํฉ์์ผ์ ์ด๋ค RAID๋ฅผ ๊ตฌ์ถํ ์ ์์๊น.
RAID Level 0
RAID Level 0๋ ๋ฐ์ดํฐ๋ ๋ธ๋ญ ๋จ์๋ก ๋๋ ์ ์ ์ฅํ๊ณ ์ ๋ขฐ์ฑ์ ๋์ด๊ธฐ ์ํ ์ ์ฑ
์ ์ฌ์ฉํ์ง ์๊ฒ ๋ค.
=> ๋ฐ์ดํฐ๋ฅผ ์์ด๋ฒ๋ ค๋ ์ ๊ฒฝ์ฐ์ง ์๊ฒ ๋ค. Only ์ฑ๋ฅ๋ง ์ค์.
๋ณ๋ก ์ค์ํ์ง ์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ์ง๋ง ์ฑ๋ฅ์ด ์ค์ํ ๋๋ RAID Level 0๋ฅผ ์ฌ์ฉํ ์ ์์ ๊ฒ์ด๋ค.
RAID Level 1
๋ฐ์ดํฐ๋ ๋ธ๋ญ ๋จ์๋ก ๋ถํ ํ๊ณ , Mirrored disk๋ฅผ ์ฌ์ฉํ๊ฒ ๋ค.
=> RAID Level 1์ ์ฌ์ฉํ๋ฉด ํน์ ๋ธ๋ญ์ ๋ฐ์ดํฐ๋ฅผ ์ฐ๊ณ ์ ํ ๋ write๊ฐ ํ ๋ฒ๋ง ์ผ์ด๋๋ค๋ ์ฅ์ ์ด ์๋ค.
=> ๋ค๋ฅธ ๋ฐฉ์์ ๊ฒฝ์ฐ์ ์ฌ๋ฌ ๋ฒ์ด ๋ฐ์ํ ์ ์๋ค. ์ด๊ฑด ๋ค์์ ๋ณด๊ฒ ๋ค.
RAID Level 2, 3
RAID Level 2์ 3๋ Bit, Byte ๋จ์๋ก striping์ ํ๊ธฐ ๋๋ฌธ์ Seek๊ฐ ๋๋ฌด ๋ง์ด ๋ฐ์ํด์ ์ฌ์ฉ๋์ง ์๋๋ค.
RAID Level 4
Block level striping์ ํ๊ณ ์ ๋ขฐ์ฑ ํฅ์์ ์ํด Parity Block์ ์ฌ์ฉํ๋ค.
Parity๋ Odd Parity๊ฐ ๋ ์๋ ์๊ณ , Even Parity๊ฐ ๋ ์๋ ์๋ค.
๊ฐ ๋์คํฌ๋ง๋ค ๊ฐ์ ์์น์ ์๋ ๋ธ๋ญ์ ๋ํด์ Parity Block์ ๋ง๋ค์ด์ Parity disk์ ์ ์ฅํ๋ค.
Even parity๋ฅผ ์ฌ์ฉํ๋ค๊ณ ํ์ ๋ (0์ด ์ง์๊ฐ),
๋ง์ฝ 4๊ฐ์ Disk์ 0๋ฒ ๋ธ๋ญ์ ์ฒซ ๋ฒ์งธ ๋นํธ๊ฐ ๊ฐ๊ฐ 1, 1, 0, 0 ์ด๋ผ๊ณ ํ๋ฉด Parity Block์ ์ฒซ ๋ฒ์งธ ๋นํธ๋ 1์ด ๋๋ค.
๋ธ๋ญ์ ๋ฐ์ดํฐ๋ฅผ writeํ ๋๋ง๋ค Parity block๋ ์์ ํด์ผ ํ๋ค๋ ๋ฌธ์ ๊ฐ ์๋ค.
๊ทธ๋ ๊ธฐ ๋๋ฌธ์ Read Operation๋ ์ถ๊ฐ๋๋ค. ๋ธ๋ญ์ ๋ฐ์ดํฐ๋ฅผ ์ฐ๊ธฐ ์ ์, ์ฐ๊ณ ์ ํ๋ ๋ธ๋ญ์ ์๋ณธ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด์ ๋ฐ์ดํฐ๋ฅผ ์์ ํ ํ์ bit๊ฐ ๋ฐ๋์๋ค๊ณ ํ๋ฉด Parity block์ bit๋ ๋ฐ๊ฟ์ฃผ์ด์ผ ํ๋ค.
์ด๋ฌํ ์ค๋ฒํค๋๊ฐ ์๊ธด ํ์ง๋ง, ์ฌ๋ฌ ๋์คํฌ์์ ๋์์ I/O๊ฐ ์ผ์ด๋๋ค๋ ์ฑ๋ฅ ํฅ์์ด ๋ ํฌ๊ธฐ ๋๋ฌธ์ ์ด ๋ฐฉ๋ฒ์ ์ฌ์ฉํ ์ ์๋ค.
๋์คํฌ๊ฐ ๊ณ ์ฅ๋๋ฉด ๊ณ ์ฅ๋ ๋์คํฌ๋ฅผ ๋นผ๊ณ ์๋ก์ด ๋์คํฌ๋ฅผ ์ฅ์ฐฉํ ๋ค์ ๋๋จธ์ง ์ด์์๋ ๋์คํฌ๋ค์ ๋ธ๋ญ๊ณผ Parity block์ ์ฌ์ฉํด์ ๋ฐ์ดํฐ๋ฅผ ๋ณต๊ตฌํ๋ค.
=> ์ค์๊ฐ์ผ๋ก ๋ณต๊ตฌํ ์ ์๊ธฐ ๋๋ฌธ์ ์๋น์ค๋ ๊ณ์ ์ ๊ณตํ ์ ์๊ฒ ๋๋ค.
๊ทธ๋ฐ๋ฐ 4๊ฐ์ ๋์คํฌ ์ค ์ด๋ค ๋์คํฌ์ ์
๋ฐ์ดํธ๋ฅผ ํ๋๋ผ๋ Parity block์ ์
๋ฐ์ดํธ ํด์ผ ํ๋ค.
=> Parity block์ด ์
๋ฐ์ดํธ ๋๋ ์๋๊ฐ ๋๋จธ์ง 4๊ฐ์ ๋์คํฌ์์ ๋ณ๋ ฌ์ ์ผ๋ก ์
๋ฐ์ดํธ๋ ์๋๋ฅผ ๋ฐ๋ผ๊ฐ์ผ ํ๋๋ฐ, ๊ทธ๋ ์ง ๋ชปํ๋ค.
=> Parity block์ด bottle neck์ด ๋๋ค.
write๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ RAID Level 4๋ ํจ๊ณผ๊ฐ ์์ด์ง๊ฒ ๋๋ค.
RAID Level 5
RAID Level 4์์ ํ๋์ Parity Block์ด ๋๋จธ์ง 4๊ฐ์ ๋์คํฌ์ ๋ํ write๋ฅผ ๊ฐ๋นํด์ผ ํ๊ธฐ ๋๋ฌธ์ Parity Block์ด Bottle neck์ด ๋์๋ค. ์ด๊ฒ์ ํด์ํ๊ธฐ ์ํด ๋์จ ๋ฐฉ์์ด RAID Level 5์ด๋ค.
์ฒซ ๋ฒ์งธ ๋ธ๋ญ๋ค์ ๋ํ Parity Block์ 1๋ฒ ๋์คํฌ์, ๋ ๋ฒ์งธ ๋ธ๋ญ๋ค์ ๋ํ Parity Block์ 2๋ฒ ๋์คํฌ์ ์ด๋ฐ ์์ผ๋ก ์ ์ฅํ๋ค.
RAID Level 4์์ Parity Disk๊ฐ ๊ฐ์ก๋ ๋ถํ๋ฅผ 5๊ฐ์ ๋์คํฌ๊ฐ ๋๋ ์ ๊ฐ๊ฒ ๋๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ bottle neck์ด ์์ด์ง๋ค๋ ์ฅ์ ์ด ์๋ค.
=> ๊ทธ๋ฐ๋ฐ RAID Level 4์ ๋นํด ์ ์ข์ ์ ์ ์๊ธฐ ๋๋ฌธ์ RAID Level 4๋ ์ฌ์ฉ๋์ง ์๋๋ค๊ณ ๋ณผ ์ ์๋ค.
Choice of RAID Level
RAID 0๋ ์ ๋ขฐ๋๋ฅผ ํฅ์ํ๊ธฐ ์ํ ๋์ฑ
์ ์๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ๋ ์์ด๋ฒ๋ ค๋ ์๊ด์๊ณ ์ค๋ก์ง ์ฑ๋ฅ๋ง ์ค์ํ ๋ ๋ ๋ฒจ0๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
=> ๋ฐฑ์
์ด ๋งค์ฐ ์ ๋์ด ์๋ ๊ฒฝ์ฐ์ ์ฑ๋ฅ์ ์ํด ์ฌ์ฉํ ์ ์๋ค.
Level 2, 3์ ๊ฒฝ์ฐ์ Bit, Byte ๋ ๋ฒจ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ถํ ํ๊ธฐ ๋๋ฌธ์ ์ฌ์ฉํ์ง ์๋๋ค๊ณ ํ๋ค.
Level 4์ ๊ฒฝ์ฐ์ Level 5๊ฐ ์๊ธฐ ๋๋ฌธ์ ์ฌ์ฉ๋์ง ์๋๋ค.
๊ทธ๋ ๋ค๋ฉด ์ค์ง์ ์ผ๋ก ์ฌ์ฉํ ์ ์๋ ๋ฐฉ์์ Mirroring ๋ฐฉ์์ธ Level 1๊ณผ Parity ๋ฐฉ์์ Level 5๋ฅผ ๊ณ ๋ฏผํ ์ ์๋ค.
๋ ๋ฒจ 1์ ๊ฒฝ์ฐ์๋ ์ฐ๊ธฐ๊ฐ ๋ฐ์ํ๋ฉด ์๋ณธ ๋ธ๋ญ๊ณผ Mirrored ๋ธ๋ญ 2๊ฐ์ ๋ธ๋ญ์ write๋ฅผ ํ๋ฉด ๋๋ค.
๋ ๋ฒจ 5์ ๊ฒฝ์ฐ์๋ ํ๋์ ๋ธ๋ญ์ write๋ฅผ ํ๊ธฐ ์ํด์๋ ์๋ณธ ๋ธ๋ญ๋ ์ฝ์ด์ผ ํ๊ณ , ์๋ณธ Parity ๋ธ๋ญ๋ ์ฝ์ด์ผ ํ๋ค.
๊ทธ๋ฌ๊ณ ๋์ ๋ฐ์ดํฐ ๋ธ๋ญ๋ ์์ ํด์ผ ํ๊ณ , Parity ๋ธ๋ญ๋ ์์ ํด์ผ ํ๋ค.
write์ ๋ํด์๋ Level 1์ ์ฑ๋ฅ์ด ๋ ์ข๋ค.
log disk๋ ํ์์๋ ๊ณ์ write๋ง ๋ฐ์ํ๋ค๊ฐ DB๋ฅผ ๋ณต๊ตฌํ ๋์๋ง read๊ฐ ๋ฐ์ํ๋ค.
๋ฐ์ดํฐ์ write๋ง ๊ณ์ํด์ ๋ฐ์ํ๋ log disk์ ๋ํด์๋ Level 1๋ฐฉ์์ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ ์ข์ ๊ฒ์ด๋ค.
ํ์ง๋ง Mirroring ๋ฐฉ์์ ์ฌ์ฉํ๋ฉด ์ค์ ์ฉ๋์ ์ ๋ฐ ๋ฐ์ ์ฌ์ฉํ์ง ๋ชปํ๋ค๋ ๋จ์ ์ด ์๊ธฐ ๋๋ฌธ์ ์ฉ๋์ ์ธ ๋ฉด์์๋ ๋ ๋ฒจ 5๊ฐ ๋ ์ข์ ๊ฒ์ด๋ค.
๊ทธ๋ฐ๋ฐ ์์ฆ ๋์คํฌ์ ์ฉ๋์ด ๋งค์ฐ ํฌ๊ธฐ ๋๋ฌธ์ ์ฉ๋์ด ๋ฌธ์ ๊ฐ ๋๋ ๊ฒฝ์ฐ๋ ์ ์๋ค.
write๋ ๋ง์ด ๋ฐ์ํ์ง ์์ง๋ง ๋ฐ์ดํฐ๋ ๋งค์ฐ ๋ง์ ๋๋ ๋ ๋ฒจ 5๊ฐ ๋ ์ข์ ๊ฒ์ด๊ณ , ์ด๋ฌํ ๊ฒฝ์ฐ๊ฐ ์๋๋ผ๋ฉด ์ผ๋ฐ์ ์ผ๋ก Level 1์ Mirroring ๋ฐฉ์์ด ๋ ์ ํธ๋๋ค.
'HYU > ์ด์์ฒด์ (OS)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
14. I/O Systems (0) | 2023.06.02 |
---|---|
12. File System (2) | 2023.05.27 |
11. Virtual Memory (2) (0) | 2023.05.19 |
7. Deadlocks (0) | 2023.05.18 |
10. Virtual Memory (1) (1) | 2023.05.12 |