Torna alla pagina di Sistemi Operativi
:: Appunti caotici ::
Lezione 1
Schedulazione degli accessi al disco
Pag 1
Sommario
...
Pag 2
Tempo di accesso
...
Larghezza di banda
La larghezza di banda (bandwidth) è la capacità di trasferimento dei dati sul disco, espressa come il rapporto tra il numero di byte trasferiti ed il tempo totale di trasferimento. Su questo fattore si può giocare poco perché dipende principalmente dall'hardware adottato.
Pag 3
Obiettivi
Obiettivi della schedulazione degli accessi al disco sono:
- rapido tempo di accesso, in modo che il processo ottenga i dati nel minor tempo mediamente possibile. A livello hardware si potrebbe scegliere un disco con alta velocità di rotazione o posizionamento delle destine di lettura/scrittura. Si potrebbero anche usare più dischi di piccole dimensioni su cui distribuire le operazioni di accesso (parallelizzandole)
- ampia larghezza di banda, scegliendo eventualmente un'architettura hardware che supporti un'interfaccia che ne garantisca un maggior quantitativo.
Schedulazione FCFS
Nei vari tipi di schedulazione a seguire si suppone sempre che sia trascurabile il tempo di accesso al blocco desiderato.
Pag 4
Schedulazione SSTF
Schedulazione Shortest Seek Time First, ovvero si effettua l'accesso al blocco che comporta il minor tempo di ricerca. Ad ogni passo l'algoritmo sceglie tra le tracce richieste quella più vicina a quella corrente, anche se è appena stata messa in coda.
A noi non interessa nulla del singole processo, ovvero se uno ci guadagna in termini di accessi rispetto ad altri, perché non ci interessa ridurre i tempi medi di attesa in coda (quindi i tempi medi di servizio), ma i tempi medi di accesso. Con la schedulazione SSTF si ottengono prestazioni migliori di quelle FCFS, fino a 3 volte più veloci.
Schedulazione SCAN
La schedulazione SCAN tiene conto del fatto che l'inversione della direzione della testina può comportare rallentamenti (di tipo meccanico) e usura, quindi rende minima la loro occorrenza.
Pag 5
Schedulazione C-SCAN
Nella Circular SCAN (C-SCAN) l'ordinamento viene fatto procedendo in una direzione finché non si arriva in fondo; a questo punto si ricomincian brutalmente dal lato opposto, mantenendo lo stesso senso di spostamento. Cerca quindi di ordinare le operazioni di accesso sempre nella stessa direzione.
Schedulazione LOOK
Opera sostanzialmente come quella precedente, ma non lascia arrivare in fondo la testina; semplicemente inverte la direzione di ricerca fino alla prima traccia del lato opposto, quindi ricomincia nel senso iniziale.
Pag 6
Selezione dell'algoritmo di schedulazione
Le richieste sono influenzate dal metodo di allocazione; se infatti i blocchi sono vicini la testina si muoverà molto più localmente sul disco, riducendo il tempo medio di accesso.
L'algoritmo di schedulazione è scritto come modulo (politica) separato per poter essere sostituito con una procedura differente più adatta all'ambiente specifico su cui stiamo operando.
SSTF e LOOK sono gli algoritmi più ragionevoli da utilizzare come predefiniti (ottengono i tempi medi più bassi), e infatti sono quelli adoperati per default dai principali sistemi operativi. Uno o l'altro sono abbastanza indifferenti.
Notare che questi algoritmi toccano solo l'ordinamento delle richieste e considerano tutti i processi ugualmente importanti. Si potrebbero usare altri tipi di algoritmi che invece cercano di soddisfare le richieste tenendo conto anche di altre caratteristiche definite nei processi, come ad esempio le loro priorità. In questo caso però potrebbe accadere che il tempo medio di accesso aumenti perché la testna è forzata a spostarsi molto di più, quindi scegliere politiche del genere va fatto con molta attenzione, non più nell'ottica di accelerare globalmente gli accessi, ma solo per specifici processi.
Torna alla pagina di Sistemi Operativi