Disk Scheduling
Disk Scheduling
โ Disk access ์์ฒญ๋ค์ ์ฒ๋ฆฌ ์์ ๊ฒฐ์
โ Disk system์ ์ฑ๋ฅ ํฅ์
โ ํ๊ฐ ๊ธฐ์ค
- Throughput: ๋จ์ ์๊ฐ๋น ์ฒ๋ฆฌ๋
- Mean response time: ํ๊ท ์๋ต ์๊ฐ
- Predictability: ์๋ต ์๊ฐ์ ์์ธก์ฑ
- ์์ฒญ์ด ๋ฌด๊ธฐํ ์ฐ๊ธฐ(starvation)๋์ง ์๋๋ก ๋ฐฉ์ง
Disk Access Time
- Seek time
- ๋์คํฌ head๋ฅผ ํ์ํ cylinder๋ก ์ด๋ํ๋ ์๊ฐ
- Rotational delay
- (1 ์ดํ๋ถํฐ) ํ์ํ sector๊ฐ head์์น๋ก ๋์ฐฉํ๋ ์๋
- Data transmission time
- (2 ์ดํ๋ถํฐ) ํด๋น sector๋ฅผ ์ฝ์ด์ ์ ์ก(or ๊ธฐ๋ก)ํ๋ ์๊ฐ
Optimizing Seek Time
FCFS (First Come First Service)
โ ์์ฒญ์ด ๋์ฐฉ์ฐ ์์์ ๋ฐ๋ผ ์ฒ๋ฆฌ
โ ์ฅ์
- Simple : Low Scheduling overhead
- ๊ณตํํ ์ฒ๋ฆฌ ๊ธฐ๋ฒ (๋ฌดํ ๋๊ธฐ ๋ฐฉ์ง)
โ ๋จ์
- ์ต์ ์ฑ๋ฅ ๋ฌ์ฑ์ ๋ํ ๊ณ ๋ ค ์์
โ Disk access ๋ถํ๊ฐ ์ ์ ๊ฒฝ์ฐ์ ์ ํฉ
Example
โ ์ด 256๊ฐ์ cylinder๋ก ๊ตฌ์ฑ
โ Head์ ์์ ์์น: 100๋ฒ cylinder
โ Access request queue

โ Total Seek distance = 690
SSTF (Shortest Seek Time First)
โ ํ์ฌ head ์์น์์ ๊ฐ์ฅ ๊ฐ๊น์ด ์์ฒญ ๋จผ์ ์ฒ๋ฆฌ
โ ์ฅ์
- Throughput โ
- ํ๊ท ์๋ต ์๊ฐ โ
โ ๋จ์
- Predictability โ
- Starvation ํ์ ๋ฐ์ ๊ฐ๋ฅ
โ ์ผ๊ด ์ฒ๋ฆฌ ์์คํ ์ ์ ํฉ
- ์ฒ๋ฆฌ ์๊ฐ์ด ์ค์ํ๋ฉฐ ์์ ์ค์ x
Example

โ Total Seek Distance = 300
โ head ์์น 20์ ๋ํด์ starvation ๋ฐ์!
Scan Scheduling
โ ํ์ฌ head์ ์งํ ๋ฐฉํฅ์์, head์ ๊ฐ์ฅ ๊ฐ๊น์ด ์์ฒญ ๋จผ์ ์ฒ๋ฆฌ
โ (์งํ๋ฐฉํฅ ๊ธฐ์ค)๋ง์ง๋ง cylinder ๋์ฐฉ ํ, ๋ฐ๋ ๋ฐฉํฅ์ผ๋ก ์งํ
โ ์ฅ์
- SSTF์ starvation ๋ฌธ์ ํด๊ฒฐ
- Throughput ๋ฐ ํ๊ท ์๋ต์๊ฐ ์ฐ์
โ ๋จ์
- ์งํ ๋ฐฉํฅ ๋ฐ๋์ชฝ ๋์ ์์ฒญ๋ค์ ์๋ต์๊ฐ โ
Example

โ Total Seek Distance = 300
C-Scan (Circular Scan) Scheduling
โ Scan๊ณผ ์ ์ฌ
โ Head๊ฐ ๋ฏธ๋ฆฌ ์ ํด์ง ๋ฐฉํฅ์ผ๋ก๋ง ์ด๋
- ๋ง์ง๋ง cylinder ๋์ฐฉ ํ, ์์ cylinder๋ก ์ด๋ ํ ์ฌ์์
โ ์ฅ์
- Scan ๋๋น ๊ท ๋ฑํ ๊ธฐํ ์ ๊ณต
Example

โ Total Seek Distance = 490
โ ์ฒ์์ผ๋ก ๋์๊ฐ๋ ๊ณผ์ ์์ ์ถ๊ฐ ์ด๋ ๋ฐ์
Look Scheduling
โ Elevator Algorithm
โ Scan(C-scan)์์ ํ์ฌ ์งํ ๋ฐฉํฅ์ ์์ฒญ์ด ์์ผ๋ฉด ๋ฐฉํฅ ์ ํ
- ๋ง์ง๋ง cylinder๊น์ง ์ด๋ํ์ง ์์
- Scan (C-Scan)์ ์ค์ ๊ตฌํ ๋ฐฉ๋ฒ
โ ์ฅ์
- Scan์ ๋ถํ์ํ ์ด๋ ์ ๊ฑฐ
Example

โ Total Seek Distance = 260
Optimizing rotational delay
SLTF (Shortest Latency Time First)

โ Fixed head disk ์์คํ ์ฌ์ฉ
- ๊ฐ track๋ง๋ค head๋ฅผ ๊ฐ์ง disk
- ex: drum disk
- Head์ ์ด๋์ด ์์
โ Sector queuing algorithm
- ๊ฐ sector ๋ณ queue ์ ์ง
- Head ์๋ ๋์ฐฉํ sector์ queue์ ์๋ ์์ฒญ์ ๋จผ์ ์ฒ๋ฆฌ
โ Moving Head disk์ ๊ฒฝ์ฐ ๊ฐ์ cylinder ๋๋ track์ ์ฌ๋ฌ ๊ฐ์ ์์ฒญ ์ฒ๋ฆฌ๋ฅผ ์ํด ์ฌ์ฉ ๊ฐ๋ฅ
- Head๊ฐ ํน์ Cylinder์ ๋์ฐฉํ๋ฉด ๊ณ ์ ํ ํด๋น cylinder์ ์์ฒญ ๋ชจ๋ ์ฒ๋ฆฌ
SPTF (Shortest Positioning TIme First)
โ Positioning time = Seek time + Rotational delay
โ Positioning time์ด ๊ฐ์ฅ ์์ ์์ฒญ ๋จผ์ ์ฒ๋ฆฌ
โ ์ฅ์
- Througput ์ฆ๊ฐ, ํ๊ท ์๋ต ์๊ฐ ๊ฐ์
โ ๋จ์
- ๊ฐ์ฅ ์์ชฝ๊ณผ ๋ฐ๊นฅ์ชฝ cylinder์ ์์ฒญ์ ๋ํด starvation ํ์ ๋ฐ์ ๊ฐ๋ฅ
Eschenbach Scheduling
โ Positioning time ์ต์ ํ ์๋
โ Disk๊ฐ 1ํ์ ํ๋ ๋์ ์์ฒญ์ ์ฒ๋ฆฌํ ์ ์๋๋ก ์์ฒญ์ ์ ๋ ฌ
- ํ cylinder ๋ด, track, sector๋ค์ ๋ํ ๋ค์์ ์์ฒญ์ด ์๋ ๊ฒฝ์ฐ, ๋ค์ ํ์ ์ ์ฒ๋ฆฌ
'โญ Group_Study > Operating System' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[10์ฃผ์ฐจ] RAID Architecture (0) | 2023.02.03 |
---|---|
[10์ฃผ์ฐจ] I/O System (0) | 2023.02.01 |
[9์ฃผ์ฐจ] File System Implementation (0) | 2023.01.30 |
[9์ฃผ์ฐจ] File Protection (0) | 2023.01.29 |
[9์ฃผ์ฐจ] Directory Structure (0) | 2023.01.28 |
๋๊ธ