Disk Structure
1) Logical Block
- ๋์คํฌ์ ์ธ๋ถ์์ ๋ณด๋ ๋์คํฌ์ ๋จ์ ์ ๋ณด ์ ์ฅ ๊ณต๊ฐ๋ค
- ์ฃผ์๋ฅผ ๊ฐ์ง 1์ฐจ์ ๋ฐฐ์ด์ฒ๋ผ ์ทจ๊ธ
- ์ ๋ณด๋ฅผ ์ ์กํ๋ ์ต์ ๋จ์
2) Sector
- Logical Block์ด ๋ฌผ๋ฆฌ์ ์ธ ๋์คํฌ์ ๋งคํ๋ ์์น
- Sector 0์ ์ต์ธ๊ณฝ ์ค๋ฆฐ๋์ ์ฒซ ํธ๋์ ์๋ ์ฒซ ๋ฒ์งธ ์นํฐ์ด๋ค (Booting๊ณผ ๊ด๋ จ๋จ)
Disk Management
1) Physical formatting (Low-level formatting)
header, trailer์ metadata ์ ์ฅ
- ๋์คํฌ๋ฅผ ์ปจํธ๋กค๋ฌ๊ฐ ์ฝ๊ณ ์ธ ์ ์๋๋ก ์นํฐ๋ค๋ก ๋๋๋ ๊ณผ์ (์์ฆ์ ๋ฏธ๋ฆฌ formatting๋์ด ๋์จ๋ค)
- ๊ฐ ์นํฐ๋ header + ์ค์ data(512B) + trailer๋ก ๊ตฌ์ฑ
- header๊ณผ trailer๋ secter number, ECC(Error-Correcting Code) ๋ฑ์ ์ ๋ณด๊ฐ ์ ์ฅ๋๋ฉฐ controller๊ฐ ์ง์ ์ ๊ทผ ๋ฐ ์ด์
* ECC
๋ฐ์ดํฐ๋ฅผ ์๊ฒ ์์ฝํ fingerprint๋ฅผ ํจ๊ป ์ ์ฅํ์ฌ ๋ฐ์ดํฐ ๊บผ๋ผ ๋ ๋น๊ต. ์ฃผ๋ก ํด์ ํจ์ ์ฌ์ฉ
์๋นํ ์์ ์๋ฌ๋ฅผ ์ก์๋ผ ์ ์์ผ๋ฉฐ, ๊ท๋ชจ์ ๋ฐ๋ผ ๋ฐ์ดํฐ์ ์์ ๊น์ง๋ ๊ฐ๋ฅํ๋ค
2) Partitioning
๋์คํฌ๋ฅผ ํ๋ ์ด์์ ์ค๋ฆฐ๋ ๊ทธ๋ฃน์ผ๋ก ๋๋๋ ๊ณผ์
- physical formatting ์ดํ์ ์นํฐ ์์ญ์ ๋ฌถ์ด ํ๋์ ๋ ๋ฆฝ์ ์ธ ๋์คํฌ๋ก ๋ง๋๋ ๊ณผ์ ex) C, D ๋๋ผ์ด๋ธ
- OS๋ ์ด๊ฒ์ ๋ ๋ฆฝ์ disk๋ก ์ทจ๊ธํ๋ค(logical disk)
3) Logical formatting
ํ์ผ ์์คํ ์ ๋ง๋๋ ๊ฒ
- FAT, inode, free space ๋ฑ์ ๊ตฌ์กฐ ํฌํจ
4) Booting
- ROM(๋นํ๋ฐ์ฑ)์ ์๋ "small bootstrap loader"๊ฐ CPU์ ์ํด instruction ํํ๋ก ์คํ
- sector 0 (boot block)์ loadํ์ฌ ์คํ
- sector 0์ "full bootstrap loader program"
- OS๋ฅผ disk์์ loadํ์ฌ ์คํ
Disk Scheduling
1) Access time
- Seek time : ํค๋๋ฅผ ํด๋น ์ค๋ฆฐ๋๋ก ์์ง์ด๋ ์๊ฐ (๊ฐ์ฅ ์ค๋ ๊ฑธ๋ฆผ)
- Rotational Latency : ํค๋๊ฐ ์ํ๋ ์นํฐ์ ๋๋ฌํ๊ธฐ๊น์ง ๊ฑธ๋ฆฌ๋ ์๊ฐ (seek time์ 1/10)
- Transfer time : ์ค์ ๋ฐ์ดํฐ์ ์ ์ก ์๊ฐ
2) Disk bandwidth
๋จ์ ์๊ฐ ๋น ์ ์ก๋ ๋ฐ์ดํธ์ ์
3) Disk scheduling
- seek time์ ์ต์ํํ๋ ๊ฒ์ด ๋ชฉํ (ํ ๋ฒ์ seek๋ก ์ต๋ํ ๋ง์ ๋ฐ์ดํฐ๋ฅผ transfer)
- seek time = seek distance
Disk Scheduling Algorithm
1) FCFS (First Come First Service)
- ๋ค์ด์จ ์์๋๋ก ์ฒ๋ฆฌ. ๋นํจ์จ์
2) SSTF (Shortest Seek Time First)
- queue์ ๋ค์ด์จ ์์ฒญ ์ค ํ์ฌ head์ ๊ฐ์ฅ ๊ฐ๊น์ด ์์น์ ์์ฒญ์ ๋จผ์ ์ฒ๋ฆฌ -> ์ด๋ ๊ฑฐ๋ฆฌ๊ฐ ์ค์ด๋ ๋ค
- starvation ๋ฐ์ ๊ฐ๋ฅ (๋ฉ๋ฆฌ ์๋ ๊ฒ)
3) SCAN (Elevator scheduling)
- ํ์ ์ด๋ค ์์ฒญ์ด ๋ค์ด์๋ ๋์คํฌ ํ ์ชฝ ๋์์ ๋ค๋ฅธ ์ชฝ ๋์ผ๋ก ์ด๋ํ๋ฉฐ ๊ฐ๋ ๊ธธ๋ชฉ์ ์๋ ๋ชจ๋ ์์ฒญ ์ฒ๋ฆฌ
- disk head์ ์ด๋ ๊ฑฐ๋ฆฌ๋ ์ค์ด๋ค๊ณ starvation๋ ๋ฐ์ํ์ง ์๋๋ค
- ์ค๋ฆฐ๋ ์์น์ ๋ฐ๋ผ ๋๊ธฐ ์๊ฐ์ด ๋ค๋ฅด๋ค (๊ฐ์ด๋ฐ ๋ถ๋ถ์ ์์ชฝ ๊ฐ์ฅ์๋ฆฌ๋ณด๋ค ์ ๊ฒ ๊ธฐ๋ค๋ฆผ)
4) C-SCAN (Circular SCAN)
- ๋ค๋ฅธ์ชฝ ๋์ ๋๋ฌํ์ผ๋ฉด ํ์ ์๋ ์์ฒญ์ ์ฒ๋ฆฌํ์ง ์๊ณ ๊ณง๋ฐ๋ก ์ถ๋ฐ์ ์ผ๋ก ๋ค์ ์ด๋
- ์ด๋ ๊ฑฐ๋ฆฌ๋ ๊ธธ์ด์ง ์ ์์ง๋ง SCAN๋ณด๋ค ๊ท ์ผํ ๋๊ธฐ ์๊ฐ์ ์ ๊ณตํ๋ค
5) N-SCAN
- ์ผ๋จ disk head๊ฐ ํ ๋ฐฉํฅ์ผ๋ก ์์ง์ด๊ธฐ ์์ํ๋ฉด ๊ทธ ์์ ์ ๋ค์ด์จ ์์ฒญ์ ๋๋์์ฌ ๋ ์ฒ๋ฆฌ
* SCAN : ๊ฐ๋ ๋์ค์ ๋ค์ด์จ ์์ฒญ๋ ์ฒ๋ฆฌ
6) LOOK & C-LOOK
- head๊ฐ ์งํ ์ค์ธ ๋ฐฉํฅ์ ๋ ์ด์ ๊ธฐ๋ค๋ฆฌ๋ ์์ฒญ์ด ์์ผ๋ฉด ํค๋์ ์ด๋ ๋ฐฉํฅ์ ์ฆ์ ๋ฐ๋๋ก ๋๋ฆผ
Disk Scheduling Algorithm์ ๊ฒฐ์
1) SCAN, C-SCAN ๊ธฐ๋ฐ ์๊ณ ๋ฆฌ์ฆ ์ฌ์ฉ: LOOK, C-LOOK ๋ฑ์ด ์ผ๋ฐ์ ์ผ๋ก DISK I/O๊ฐ ๋ง์ ์์คํ ์์ ํจ์จ์
2) File์ ํ ๋น ๋ฐฉ๋ฒ์ ๋ฐ๋ผ ๋์คํฌ ์์ฒญ์ด ์ํฅ์ ๋ฐ๋๋ค
- ์ฐ์ ํ ๋น : ์ด๋ ๊ฑฐ๋ฆฌ๊ฐ ๋ ์ค์ด๋ ๋ค
- ์ฐ๋ฐ์ ํ ๋น : ์ด๋ ๊ฑฐ๋ฆฌ ์ฆ๊ฐ
3) mergeํด์ ํ๊บผ๋ฒ์ ์ฒ๋ฆฌํจ์ผ๋ก์จ disk I/O์ ํจ์จ์ ๋์ธ๋ค
4) ํ์ํ ๊ฒฝ์ฐ ๋ค๋ฅธ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ์ฝ๊ฒ ๊ต์ฒดํ ์ ์๋๋ก OS์ ๋ณ๊ฐ์ ๋ชจ๋๋ก ์์ฑ
Swap-Space Management
1. DISK๋ฅผ ์ฌ์ฉํ๋ ๋ ๊ฐ์ง ์ด์
1) ๋ฉ๋ชจ๋ฆฌ์ ํ๋ฐ์ฑ(volatile)
- file system ์ฒ๋ผ ์์์ ์ผ๋ก ๋ฐ์ดํฐ ์ ์งํ๋ ๊ฒฝ์ฐ DRAM์ด ์๋ DISK์ ์ ์ฅํด์ผ ํ๋ค
2) ํ๋ก๊ทธ๋จ ์คํ์ ์ํ memory ๊ณต๊ฐ ๋ถ์กฑ
- ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ ๋ฐ DRAM ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ ๋ถ์กฑ (high multiprogramming degree)
- ๋ฉ๋ชจ๋ฆฌ์ ์ฐ์ฅ ๊ณต๊ฐ์ผ๋ก DISK๋ฅผ ์ฌ์ฉํ๋ฉฐ, swap area์ ์ฉ๋๋ก ์ฐ์ธ๋ค
2. Swap-space
1) virtual memory system์์๋ DISK๋ฅผ memory์ ์ฐ์ฅ ๊ณต๊ฐ์ผ๋ก ์ฌ์ฉ
2) file system ๋ด๋ถ์ ๋ ์๋ ์์ผ๋ ๋ณ๋์ partition ์ฌ์ฉ์ด ์ผ๋ฐ์ ์
- swap area์ ์ ์ฅ๋๋ ๋ฐ์ดํฐ๋ค์ ํ๋ก๊ทธ๋จ์ด ๋๋๋ฉด ์ฌ๋ผ์ง๋ ๋ด์ฉ (๊ณต๊ฐ ํจ์จ์ฑ < ์๊ฐ ํจ์จ์ฑ)
- ์ผ๋ฐ ํ์ผ๋ณด๋ค ํจ์ฌ ์งง์ ์๊ฐ๋ง ์กด์ฌํ๊ณ ์์ฃผ ์ฐธ์กฐ๋จ
- ์ซ๊ฒจ๋ ๋๋ ๊ฐ๋ฅํ ๋น ๋ฅด๊ฒ DISK์์ ์จ์ค์ผ ํจ
- page fault๊ฐ ๋์ swap area์ ์๋ ๊ฒ์ MEM์ ์ฌ๋ฆด ๋๋ ๋น ๋ฅด๊ฒ ์ฌ๋ ค์ผ ํจ
3) ๋์คํฌ์ ์ ๊ทผํ๋ ๋๋ถ๋ถ์ ์๊ฐ์ seek time
> seek time ์ค์ด๊ธฐ ์ํด ํฐ ๋จ์๋ก swap area์ ์ฌ๋ฆฌ๊ณ ๋ด๋ฆผ (๋ณดํต 512KB)
RAID (Redundant Array of Independent Disks)
์ฌ๋ฌ ๊ฐ์ ๋์คํฌ๋ฅผ ๋ฌถ์ด์ ์ฌ์ฉ
์ฌ์ฉ ๋ชฉ์
1. DISK ์ฒ๋ฆฌ ์๋ ํฅ์
- ์ฌ๋ฌ DISK์ block์ ๋ด์ฉ์ ๋ถ์ฐ ์ ์ฅ
- ๋ณ๋ ฌ์ ์ผ๋ก ์ฝ์ด ์ด(interleaving, striping)
2. ์ ๋ขฐ์ฑ (reliability)์ ํฅ์
- ๋์ผ ์ ๋ณด๋ฅผ ์ฌ๋ฌ ๊ฐ์ DISK์ ์ค๋ณต ์ ์ฅ
- ํ๋์ DISK๊ฐ ๊ณ ์ฅ ์ ๋ค๋ฅธ DISK์์ ์ฝ์ด์ด (mirroring, shadowing)
- ๋จ์ํ ์ค๋ณต ์ ์ฅ์ด ์๋๋ผ ์ผ๋ถ DISK์ parity๋ฅผ ์ ์ฅํ์ฌ ๊ณต๊ฐ์ ํจ์จ์ฑ์ ๋์ผ ์ ์๋ค
* parity
์ค๋ณต ์ ์ฅ์ ์์ ๋ฎ์ถ๊ณ , ์ค๋ฅ๊ฐ ์๊ฒผ์ ๋ ์ด๋ฅผ ์ฒดํฌํ ์ ์๋๋ก ํจ
ex) hash ํจ์
'๐ป CS > ์ด์์ฒด์ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ด์์ฒด์ ] 11. File System Implementation (0) | 2023.01.22 |
---|---|
[์ด์์ฒด์ ] 10. File Systems (0) | 2023.01.22 |
[์ด์์ฒด์ ] 9. Virtual Memory (0) | 2023.01.22 |
[์ด์์ฒด์ ] 8. Memory Management (1) | 2023.01.08 |
[์ด์์ฒด์ ] 7. Deadlocks (0) | 2023.01.01 |
๋๊ธ