๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
โญ Group_Study/Operating System

[10์ฃผ์ฐจ] Disk Scheduling

by ํฌ์ŠคํŠธ์‰์ดํฌ 2023. 2. 2.

Disk Scheduling

Disk Scheduling

โœ” Disk access ์š”์ฒญ๋“ค์˜ ์ฒ˜๋ฆฌ ์ˆœ์„œ ๊ฒฐ์ •

โœ” Disk system์˜ ์„ฑ๋Šฅ ํ–ฅ์ƒ

โœ” ํ‰๊ฐ€ ๊ธฐ์ค€

  • Throughput: ๋‹จ์œ„ ์‹œ๊ฐ„๋‹น ์ฒ˜๋ฆฌ๋Ÿ‰
  • Mean response time: ํ‰๊ท  ์‘๋‹ต ์‹œ๊ฐ„
  • Predictability: ์‘๋‹ต ์‹œ๊ฐ„์˜ ์˜ˆ์ธก์„ฑ
    • ์š”์ฒญ์ด ๋ฌด๊ธฐํ•œ ์—ฐ๊ธฐ(starvation)๋˜์ง€ ์•Š๋„๋ก ๋ฐฉ์ง€

Disk Access Time

  1. Seek time
    • ๋””์Šคํฌ head๋ฅผ ํ•„์š”ํ•œ cylinder๋กœ ์ด๋™ํ•˜๋Š” ์‹œ๊ฐ„
  2. Rotational delay
    • (1 ์ดํ›„๋ถ€ํ„ฐ) ํ•„์š”ํ•œ sector๊ฐ€ head์œ„์น˜๋กœ ๋„์ฐฉํ•˜๋Š” ์‹๋‚˜
  3. 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

null

โœ” Total Seek distance = 690

SSTF (Shortest Seek Time First)

โœ” ํ˜„์žฌ head ์œ„์น˜์—์„œ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์š”์ฒญ ๋จผ์ € ์ฒ˜๋ฆฌ

โœ” ์žฅ์ 

  • Throughput ↑
  • ํ‰๊ท  ์‘๋‹ต ์‹œ๊ฐ„ ↓

โœ” ๋‹จ์ 

  • Predictability ↓
  • Starvation ํ˜„์ƒ ๋ฐœ์ƒ ๊ฐ€๋Šฅ

โœ” ์ผ๊ด„ ์ฒ˜๋ฆฌ ์‹œ์Šคํ…œ์— ์ ํ•ฉ

  • ์ฒ˜๋ฆฌ ์‹œ๊ฐ„์ด ์ค‘์š”ํ•˜๋ฉฐ ์ˆœ์„œ ์ค‘์š” x

Example

null

โœ” Total Seek Distance = 300

โœ” head ์œ„์น˜ 20์— ๋Œ€ํ•ด์„œ starvation ๋ฐœ์ƒ!

Scan Scheduling

โœ” ํ˜„์žฌ head์˜ ์ง„ํ–‰ ๋ฐฉํ–ฅ์—์„œ, head์™€ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์š”์ฒญ ๋จผ์ € ์ฒ˜๋ฆฌ

โœ” (์ง„ํ–‰๋ฐฉํ–ฅ ๊ธฐ์ค€)๋งˆ์ง€๋ง‰ cylinder ๋„์ฐฉ ํ›„, ๋ฐ˜๋Œ€ ๋ฐฉํ–ฅ์œผ๋กœ ์ง„ํ–‰

โœ” ์žฅ์ 

  • SSTF์˜ starvation ๋ฌธ์ œ ํ•ด๊ฒฐ
  • Throughput ๋ฐ ํ‰๊ท  ์‘๋‹ต์‹œ๊ฐ„ ์šฐ์ˆ˜

โœ” ๋‹จ์ 

  • ์ง„ํ–‰ ๋ฐฉํ–ฅ ๋ฐ˜๋Œ€์ชฝ ๋์˜ ์š”์ฒญ๋“ค์˜ ์‘๋‹ต์‹œ๊ฐ„ ↑

Example

null

โœ” Total Seek Distance = 300

C-Scan (Circular Scan) Scheduling

โœ” Scan๊ณผ ์œ ์‚ฌ

โœ” Head๊ฐ€ ๋ฏธ๋ฆฌ ์ •ํ•ด์ง„ ๋ฐฉํ–ฅ์œผ๋กœ๋งŒ ์ด๋™

  • ๋งˆ์ง€๋ง‰ cylinder ๋„์ฐฉ ํ›„, ์‹œ์ž‘ cylinder๋กœ ์ด๋™ ํ›„ ์žฌ์‹œ์ž‘

โœ” ์žฅ์ 

  • Scan ๋Œ€๋น„ ๊ท ๋“ฑํ•œ ๊ธฐํšŒ ์ œ๊ณต

Example

null

โœ” Total Seek Distance = 490

โœ” ์ฒ˜์Œ์œผ๋กœ ๋Œ์•„๊ฐ€๋Š” ๊ณผ์ •์—์„œ ์ถ”๊ฐ€ ์ด๋™ ๋ฐœ์ƒ

Look Scheduling

โœ” Elevator Algorithm

โœ” Scan(C-scan)์—์„œ ํ˜„์žฌ ์ง„ํ–‰ ๋ฐฉํ–ฅ์— ์š”์ฒญ์ด ์—†์œผ๋ฉด ๋ฐฉํ–ฅ ์ „ํ™˜

  • ๋งˆ์ง€๋ง‰ cylinder๊นŒ์ง€ ์ด๋™ํ•˜์ง€ ์•Š์Œ
  • Scan (C-Scan)์˜ ์‹ค์ œ ๊ตฌํ˜„ ๋ฐฉ๋ฒ•

โœ” ์žฅ์ 

  • Scan์˜ ๋ถˆํ•„์š”ํ•œ ์ด๋™ ์ œ๊ฑฐ

Example

null

โœ” Total Seek Distance = 260

Optimizing rotational delay

SLTF (Shortest Latency Time First)

null

โœ” 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

๋Œ“๊ธ€