03.06.2013 Views

Disk Scheduling

Disk Scheduling

Disk Scheduling

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

I dischi magnetici costituiscono la parte pricipale della memoria secondaria!<br />

Velocità di rotazione!<br />

Tasso di Trasferimento!<br />

Tempo di Posizionamento (random-access time) include il tempo<br />

necessario a spostare il braccio sul cilindro giusto (seek time) ed il<br />

tempo necessario perchè il settore cercato si trovi sotto la testina<br />

(rotational latency)!<br />

Head crash contatto tra la testina di lettura-scrittura ed il disco!<br />

Problema!!<br />

I Dischi possono essere rimovibili!<br />

Collegati al computer via I/O bus!<br />

Bus diversi, EIDE, ATA, SATA, USB, Fibre Channel, SCSI!<br />

Host controller nel computer usa il bus per comunicare con il disk<br />

controller (parte del dispositivo, o gruppo di drive)!<br />

Operating System Concepts – 7 th Edition, Jan 1, 2005!<br />

12.2!<br />

Silberschatz, Galvin and Gagne ©2005!<br />

25-05-2012!<br />

1!


Operating System Concepts – 7 th Edition, Jan 1, 2005!<br />

Nastri Magnetici!<br />

12.3!<br />

Was early secondary-storage medium!<br />

Lunghissima durata, grande capacità!<br />

Lento!<br />

Accesso diretto ~1000 volte più lento di un disco!<br />

Uso principaleç backup, trasferimento dati tra sistemi diversi!<br />

Una volta che la testina ha raggiunto I blocchi richiesti, la<br />

velocità è comparabile a quella dei dischi!<br />

Fino a pochi TB di spazio!<br />

Operating System Concepts – 7 th Edition, Jan 1, 2005!<br />

12.4!<br />

Silberschatz, Galvin and Gagne ©2005!<br />

Silberschatz, Galvin and Gagne ©2005!<br />

25-05-2012!<br />

2!


<strong>Disk</strong> drive sono visti come vettori mono-dimensionali di blocchi<br />

logici, dove un blocco logico è la minima unità di trasferimento. 
<br />

Lʼarray monodimensionale di blocchi logici viene mappato sui<br />

settori del disco in ordine sequenziale!<br />

Settore 0 è il primo settore della prima traccia sul cilindro più<br />

esterno.!<br />

La corrispondenza procede in ordine, lungo la prima traccia poi<br />

le altre sullo stesso cilindro, quindi sui successivi, dallʼesterno<br />

verso lʼinterno!<br />

Operating System Concepts – 7 th Edition, Jan 1, 2005!<br />

Il SO deve garantire lʼuso efficiente dellʼhardware— per i dischi<br />

questo vuol dire tempi rapidi di accesso e trasferimento!<br />

12.5!<br />

Tempo di accesso si compone di !<br />

Seek time : tempo per portare le testine sul cilindro giusto!<br />

Tra 2 e 8 ms!<br />

Operating System Concepts – 7 th Edition, Jan 1, 2005!<br />

12.6!<br />

Silberschatz, Galvin and Gagne ©2005!<br />

Rotational latency : tempo atteso perchè il settore si trovi sotto<br />

la testina!<br />

Tipicamente 7200 rpm 4.1 ms!<br />

Minimize seek time!<br />

Seek time ≈ seek distance!<br />

<strong>Disk</strong> bandwidth : numero totale di byte trasferiti diviso per il tempo<br />

totale tra la prima prima richiesta e la fine dellʼultimo trasferimento!<br />

Silberschatz, Galvin and Gagne ©2005!<br />

25-05-2012!<br />

3!


Esistono diversi algoritmi per schedulare le richieste di I-O al disco!<br />

Consideriamo come esempio una coda di richieste nel range<br />

(0-199).!<br />

! !
<br />

Operating System Concepts – 7 th Edition, Jan 1, 2005!<br />

!98, 183, 37, 122, 14, 124, 65, 67!<br />

!Supponiamo la testina si trovi sulla traccia 53!<br />

La figura mostra uno spostamento totale pari a 640 cilindri.!<br />

Operating System Concepts – 7 th Edition, Jan 1, 2005!<br />

12.7!<br />

12.8!<br />

Silberschatz, Galvin and Gagne ©2005!<br />

Silberschatz, Galvin and Gagne ©2005!<br />

25-05-2012!<br />

4!


Seleziona la richiesta che determina il minimo seek time rispetto<br />

alla posizione attuale della testina.!<br />

SSTF è simile ad SJF scheduling; può provocare starvation di<br />

alcune richieste.!<br />

La figura mostra uno spostamento totale di 236 cilindri.!<br />

Operating System Concepts – 7 th Edition, Jan 1, 2005!<br />

Operating System Concepts – 7 th Edition, Jan 1, 2005!<br />

12.9!<br />

12.10!<br />

Silberschatz, Galvin and Gagne ©2005!<br />

Silberschatz, Galvin and Gagne ©2005!<br />

25-05-2012!<br />

5!


Il braccio parte da unʼestremità del disco e si muove verso lʼaltra<br />

estremità, servendo le richieste che incontra lungo il cammino.<br />

Una volta raggiunta lʼaltra estremità il movimento inverte la<br />

direzione e continua come prima.!<br />

È detto anche lʼalgoritmo dellʼascensore.!<br />

Sullʼesempio precedente determinano un movimento totale pari a<br />

208 cilindri.!<br />

Operating System Concepts – 7 th Edition, Jan 1, 2005!<br />

Operating System Concepts – 7 th Edition, Jan 1, 2005!<br />

12.11!<br />

12.12!<br />

Silberschatz, Galvin and Gagne ©2005!<br />

Silberschatz, Galvin and Gagne ©2005!<br />

25-05-2012!<br />

6!


Mira a distribuire I tempi di attesa in maniera più uniforme rispetto a<br />

SCAN.!<br />

The testina si muove da unʼestremità allʼaltra servendo le richieste.<br />

Una volta raggiunta lʼaltra estremità, la testina ritorna allʼinizio del<br />

disco senza servire nessuna richiesta lungo questo<br />

attraversamento. Quindi ricomincia come prima. !<br />

Tratta i cilindri come se fossero distribuiti su una lista circolare.!<br />

Operating System Concepts – 7 th Edition, Jan 1, 2005!<br />

Operating System Concepts – 7 th Edition, Jan 1, 2005!<br />

12.13!<br />

12.14!<br />

Silberschatz, Galvin and Gagne ©2005!<br />

Silberschatz, Galvin and Gagne ©2005!<br />

25-05-2012!<br />

7!


Versione “ottimizzata” di C-SCAN!<br />

Il movimento procede solo fino alla traccia per cui esiste<br />

effettivamente una richiesta, prima di invertire la direzione di<br />

marcia.!<br />

Operating System Concepts – 7 th Edition, Jan 1, 2005!<br />

Operating System Concepts – 7 th Edition, Jan 1, 2005!<br />

12.15!<br />

12.16!<br />

Silberschatz, Galvin and Gagne ©2005!<br />

Silberschatz, Galvin and Gagne ©2005!<br />

25-05-2012!<br />

8!


SSTF è comune, in quanto facile da implementare!<br />

SCAN e C-SCAN hanno performance migliori in sistemi con grosso<br />

carico di richieste sul disco.!<br />

In genere, dipende dal numero e dal tipo di richieste.!<br />

Le richieste possono essere influenzate dai metodi di allocazione<br />

dei blocchi.!<br />

Lo scheduling del disco dovrbbe costituire un modulo separato del<br />

SO, cosiʼ da permetterne la sostituzione!<br />

SSTF e LOOK sono scelte ragionevoli per lʼalgoritmo di default di<br />

un sistema.!<br />

Operating System Concepts – 7 th Edition, Jan 1, 2005!<br />

12.17!<br />

Silberschatz, Galvin and Gagne ©2005!<br />

25-05-2012!<br />

9!

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!