Disk Scheduling
Disk Scheduling
Disk Scheduling
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!