reference: kocw์ ๋ฐํจ๊ฒฝ ๊ต์๋ ๊ฐ์์ ๊ถ์ง์ฑ ๊ต์๋ ๊ฐ์(๋ํ ์ ๊ท ์์
)
์์
์ ๋ฃ๊ณ ๋์ ๊ฐ์ ๊ต์ฌ๋ฅผ ํ์ดํํ๊ณ ํ๊ธฐํ ๋ถ๋ถ์ ์ถ๊ฐ์ ์ผ๋ก ์ ๋ฆฌํ์์ต๋๋ค.
์น๋ทฐ์์ toc๋ฅผ ์ ๊ณตํฉ๋๋ค.
github์ md ํ์ผ๋ก ๋ณด๋ ๊ฒ ํธํ์๋ค๋ฉด, ์ฌ๊ธฐ๋ก ์ด๋ํด์ฃผ์๋ฉด ๋ฉ๋๋ค.
1 Disk Structure
logical block
- ๋์คํฌ์ ์ธ๋ถ์์ ๋ณด๋ ๋์คํฌ์ ๋จ์ ์ ๋ณด ์ ์ฅ ๊ณต๊ฐ๋ค
- ์ฃผ์๋ฅผ ๊ฐ์ง 1์ฐจ์ ๋ฐฐ์ด์ฒ๋ผ ์ทจ๊ธ
- ์ ๋ณด๋ฅผ ์ ์กํ๋ ์ต์ ๋จ์
sector
- logical block์ด ๋ฌผ๋ฆฌ์ ์ธ ๋์คํฌ์ ๋งคํ๋ ์์น
- Sector 0์ ์ต์ธ๊ฐ ์ค๋ฆฐ๋์ ์ฒซ ํธ๋์ ์๋ ์ฒซ ๋ฒ์งธ ์นํฐ์ด๋ค.
2 Disk Management
Physical formatting (low level formatting)
- ๋์คํฌ๋ฅผ ์ปจํธ๋กค๋ฌ๊ฐ ์ฝ๊ณ ์ธ ์ ์๋๋ก ์นํฐ๋ค๋ก ๋๋๋ ๊ณผ์
- ๊ฐ ์นํฐ๋ header + ์ค์ data(๋ณดํต 512 Bytes) + trailer๋ก ๊ตฌ์ฑ
- header์ trailer๋ sector number, ECC(Error-Correcting Code) ๋ฑ์ ์ ๋ณด๊ฐ ์ ์ฅ๋๋ฉฐ controller๊ฐ ์ง์ ์ ๊ทผ ๋ฐ ์ด์
Partitioning
- ๋์คํฌ๋ฅผ ํ๋ ์ด์์ ์ค๋ฆฐ๋ ๊ทธ๋ฃน์ผ๋ก ๋๋๋ ๊ณผ์
- ์ด๋ฏธ ์นํฐ๋ก ๋๋ ์ ์์.
- OS๋ ์ด๊ฒ์ ๋ ๋ฆฝ์ disk๋ก ์ทจ๊ธ (logical disk)
Logical Formatting
- ํ์ผ์์คํ ์ ๋ง๋๋ ๊ฒ
- FAT, inode, free space ๋ฑ์ ๊ตฌ์กฐ ํฌํจ
Booting
- ROM์ ์๋ small bootstrap loader์ ์คํ
- sector 0(boot block)์ loadํ์ฌ ์คํ
- sector 0์ "full Bootstrap loader program" ์
- OS๋ฅผ ๋์คํฌ์์ loadํ์ฌ ์คํ
3 Disk Scheduling
- Access Time์ ๊ตฌ์ฑ
- Seek Time
- ํค๋๋ฅผ ํด๋น ์ค๋ฆฐ๋(track์ ์งํฉ)๋ก ์์ง์ด๋๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ
- arm์ ์๋ค๋ก ์์ง์ด๋ ์๊ฐ
- ๊ฐ์ฅ ์ค๋ ์๊ฐ์ด ๊ฑธ๋ฆผ
- Rotational Latency
- ํค๋๊ฐ ์ํ๋ ์นํฐ์ ๋๋ฌํ๊ธฐ๊น์ง ๊ฑธ๋ฆฌ๋ ํ์ ์ง์ฐ์๊ฐ
- disk ๋๋ platter๋ฅผ rotationํ๋๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ
- Transfer Time
- ์ค์ ๋ฐ์ดํฐ์ ์ ์ก ์๊ฐ
- seek time๊ณผ rotational latency์ ๋นํด ๋งค์ฐ ์งง์ ์๊ฐ์ด ๊ฑธ๋ฆผ.
- Seek Time
- Disk Bandwidth
- ๋จ์ ์๊ฐ ๋น ์ ์ก๋ ๋ฐ์ดํธ์ ์
- Disk Scheduling
- Seek Time์ ์ต์ํํ๋ ๊ฒ์ด ๋ชฉํ
- Seek Time => Seek distance
4 Disk Scheduling Algorithm
Seek Time์ ์ต์ํํ๋ ๊ฒ์ด ๋ชฉํ!
ํน์ ์ค๋ฆฐ๋ ์์น์ head (arm)์ ์์น์์ผ์ผํ๋ ๊ฒ
4-1. FCFS (First Come First Service)
4-2. SSTF (Shortest Seek Time First)
- ๋ฌธ์ ์ : starvation ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๋ค.
4-3. SCAN
- disk arm์ด ๋์คํฌ์ ํ์ชฝ ๋์์ ๋ค๋ฅธ์ชฝ ๋์ผ๋ก ์ด๋ํ๋ฉฐ ๊ฐ๋ ๊ธธ๋ชฉ์ ์๋ ๋ชจ๋ ์์ฒญ์ ์ฒ๋ฆฌํ๋ค.
- ๋ค๋ฅธ ํ์ชฝ ๋์ ๋๋ฌํ๋ฉด ์ญ๋ฐฉํฅ์ผ๋ก ์ด๋ํ๋ฉฐ ์ค๋ ๊ธธ๋ชฉ์ ์๋ ๋ชจ๋ ์์ฒญ์ ์ฒ๋ฆฌํ๋ฉฐ ๋ค์ ๋ฐ๋์ชฝ ๋์ผ๋ก ์ด๋ํ๋ค.
- ๋ฌธ์ ์ : ์ค๋ฆฐ๋ ์์น์ ๋ฐ๋ผ ๋๊ธฐ ์๊ฐ์ด ๋ค๋ฅด๋ค.
4-4. C-SCAN
- ํค๋๊ฐ ํ์ชฝ ๋์์ ๋ค๋ฅธ์ชฝ ๋์ผ๋ก ์ด๋ํ๋ฉฐ ๊ฐ๋ ๊ธธ๋ชฉ์ ์๋ ๋ชจ๋ ์์ฒญ์ ์ฒ๋ฆฌํ๋ค.
- ๋ค๋ฅธ์ชฝ ๋์ ๋๋ฌํ์ผ๋ฉด ์์ฒญ์ ์ฒ๋ฆฌํ์ง ์๊ณ ๊ณง๋ฐ๋ก ์ถ๋ฐ์ ์ผ๋ก ๋ค์ ์ด๋ํ๋ค.
- ๊ทธ๋์ SCAN๋ณด๋ค ๊ท ์ผํ ๋๊ธฐ ์๊ฐ์ ์ ๊ณตํ๋ค.
4-5. N-SCAN
- SCAN์ ๋ณํํ ์๊ณ ๋ฆฌ์ฆ
- ์ผ๋จ arm์ด ํ ๋ฐฉํฅ์ผ๋ก ์์ง์ด๊ธฐ ์์ํ๋ฉด ๊ทธ ์์ ์ดํ์ ๋์ฐฉํ job์ ๋๋์์ฌ ๋ serviceํ๋ค.
4-6~7. LOOK and C-LOOK
- SCAN์ด๋ C-SCAN์ ํค๋๊ฐ ๋์คํฌ ๋์์ ๋์ผ๋ก ์ด๋
- LOOK๊ณผ C-LOOK์ ํค๋๊ฐ ์งํ ์ค์ด๊ฑฐ๋ ๊ทธ ๋ฐฉํฅ์ ๋ ์ด์ ๊ธฐ๋ค๋ฆฌ๋ ์์ฒญ์ด ์์ผ๋ฉด ํค๋์ ์ด๋๋ฐฉํฅ์ ์ฆ์ ๋ฐ๋๋ก ์ด๋ํ๋ค.
- C-LOOK (C: circular)์ LOOK์์ ๊ณง๋ฐ๋ก ์ถ๋ฐ์ ์ผ๋ก ๋ค์ ์ด๋ํ๋ค.
- LOOK๋ณด๋ค ๊ท ์ผํ ๋๊ธฐ ์๊ฐ์ ์ ๊ณตํด์ค ์ ์๋ค๋ ์ฅ์ ์ด ์๋ค.
C-LOOK์ ํด๋นํ๋ ๊ทธ๋ฆผ, - ๋(199)๊น์ง ์๊ฐ๊ณ ์ฒ์์ผ๋ก ๋๋์๊ฐ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
5 Disk Scheduling Algorithm์ ๊ฒฐ์
- SCAN, C-SCAN ๋ฐ ๊ทธ ์์ฉ ์๊ณ ๋ฆฌ์ฆ์ธ LOOK, C-LOOK ๋ฑ์ด ์ผ๋ฐ์ ์ผ๋ก ๋์คํฌ ์
์ถ๋ ฅ์ด ๋ง์ ์์คํ
์์ ํจ์จ์ ์ธ ๊ฒ์ผ๋ก ์๋ ค์ ธ ์๋ค.
- * ์๋ ค์ ธ ์๋ค๋ ํํ์ ๋ป: ์ ๋ฐ์ ์ผ๋ก ์ฑ๋ฅ์ด ๊ด์ฐฎ์ง๋ง ๋ฐ๋์ ์ฑ๋ฅ์ด ์ข๋ค๊ณ ๋งํ ์ ์๋ค
- File์ ํ ๋น ๋ฐฉ๋ฒ์ ๋ฐ๋ผ ๋์คํฌ ์์ฒญ์ด ์ํฅ์ ๋ฐ๋๋ค.
- ๋์คํฌ ์ค์ผ์ฅด๋ง ์๊ณ ๋ฆฌ์ฆ์ ํ์ํ ๊ฒฝ์ฐ ๋ค๋ฅธ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ์ฝ๊ฒ ๊ต์ฒดํ ์ ์๋๋ก OS์ ๋ณ๋์ ๋ชจ๋๋ก ์์ฑ๋๋ ๊ฒ์ด ๋ฐ๋์งํ๋ค.
6 Swap Space Management
Disk๋ฅผ ์ฌ์ฉํ๋ ๋ ๊ฐ์ง ์ด์
- memory์ volatile(๋ป: ํ๋ฐ์ฑ์)ํ ํน์ฑ → file system
- ํ๋ก๊ทธ๋จ ์คํ์ ์ํ memory ๊ณต๊ฐ ๋ถ์กฑ → Swap Space (swap area)
Swap-Space
- Virtual Memory System์์๋ ๋์คํฌ๋ฅผ memory์ ์ฐ์ฅ ๊ณต๊ฐ์ผ๋ก ์ฌ์ฉ
- ํ์ผ ์์คํ
๋ด๋ถ์ ๋ ์๋ ์์ผ๋ ๋ณ๋ partition ์ฌ์ฉ์ด ์ผ๋ฐ์
- ๊ณต๊ฐ ํจ์จ์ฑ๋ณด๋ค๋ ์๋ ํจ์จ์ฑ์ด ์ฐ์
- ์ผ๋ฐ ํ์ผ๋ณด๋ค ํจ์ฌ ์งง์ ์๊ฐ๋ง ์กด์ฌํ๊ณ ์์ฃผ ์ฐธ์กฐ๋จ
- ๋ฐ๋ผ์, block์ ํฌ๊ธฐ ๋ฐ ์ ์ฅ ๋ฐฉ์์ด ์ผ๋ฐ ํ์ผ์์คํ
๊ณผ ๋ค๋ฆ
- file system์ ๋ณดํต 512B ์ ๋์ง๋ง swap area๋ ๋ค์ํ ํฌ๊ธฐ์ ๋ฉ๋ชจ๋ฆฌ ๋ธ๋ฝ์ ํ ๋น๋ฐ์.
7 RAID
RAID (Redundant Array of Independent Disks)
- ์ฌ๋ฌ ๊ฐ์ ๋์คํฌ๋ฅผ ๋ฌถ์ด์ ์ฌ์ฉ
- ํ๋์ ๋ ผ๋ฆฌ์ ๋์คํฌ๋ก ๋ง๋ ๋ค
RAID์ ์ฌ์ฉ ๋ชฉ์
- ๋์คํฌ ์ฒ๋ฆฌ ์๋ ํฅ์ (RAID 0)
- ์ฌ๋ฌ ๋์คํฌ์ block์ ๋ด์ฉ์ ๋ถ์ฐ ์ ์ฅ
- ๋ณ๋ ฌ์ ์ผ๋ก ์ฝ๋๋ค. (interleaving, Striping)
- ์ ๋ขฐ์ฑ(Reliability) ํฅ์ (RAID 1)
- ๋์ผ ์ ๋ณด๋ฅผ ์ฌ๋ฌ ๋์คํฌ์ ์ค๋ณต ์ ์ฅ
- ํ๋์ ๋์คํฌ๊ฐ ๊ณ ์ฅ(failure)์ ๋ค๋ฅธ ๋์คํฌ์์ ์ฝ์ด์ด (Mirroring, Shadowing)
- ๋จ์ํ ์ค๋ณต ์ ์ฅ์ด ์๋๋ผ ์ผ๋ถ ๋์คํฌ์ parity๋ฅผ ์ ์ฅํ์ฌ ๊ณต๊ฐ์ ํจ์จ์ฑ์ ๋์ผ ์ ์๋ค.
'OS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
11์ฅ File Systems Implementation (0) | 2021.06.19 |
---|---|
10์ฅ File Systems (0) | 2021.06.19 |
9์ฅ Virtual Memory (0) | 2021.06.19 |
8์ฅ Memory Management (0) | 2021.06.19 |
7์ฅ Deadlock (0) | 2021.06.19 |
6์ฅ Process Synchronization (0) | 2021.06.19 |