Silberschatz, Galvin and Gagne 2002 14.1 Operating System Concepts Memoria secondaria Struttura del...

20
Silberschatz, Galvin and Gagne 2002 14.1 Operating System Concepts Memoria secondaria Memoria secondaria Struttura del disco Scheduling del disco Gestione dell’unità a disco Gestione dello spazio di swap La struttura RAID Affidabilità dei dischi Realizzazione della memoria stabile Cenni sui dispositivi di memoria terziaria

Transcript of Silberschatz, Galvin and Gagne 2002 14.1 Operating System Concepts Memoria secondaria Struttura del...

Page 1: Silberschatz, Galvin and Gagne 2002 14.1 Operating System Concepts Memoria secondaria Struttura del disco Scheduling del disco Gestione dellunità a disco.

Silberschatz, Galvin and Gagne 200214.1Operating System Concepts

Memoria secondariaMemoria secondaria

Struttura del disco Scheduling del disco Gestione dell’unità a disco Gestione dello spazio di swap La struttura RAID Affidabilità dei dischi Realizzazione della memoria stabile Cenni sui dispositivi di memoria terziaria

Page 2: Silberschatz, Galvin and Gagne 2002 14.1 Operating System Concepts Memoria secondaria Struttura del disco Scheduling del disco Gestione dellunità a disco.

Silberschatz, Galvin and Gagne 200214.2Operating System Concepts

Struttura del discoStruttura del disco

I dischi vengono indirizzati come giganteschi vettori monodimensionali di blocchi logici, dove il blocco logicoblocco logico rappresenta la minima unità di trasferimento (dim. tipica 512 byte).

L’array di blocchi logici viene mappato sequenzialmente nei settori del disco: Il settore 0 è il primo settore della prima traccia del cilindro Il settore 0 è il primo settore della prima traccia del cilindro

più esterno.più esterno. La corrispondenza prosegue ordinatamente lungo la prima La corrispondenza prosegue ordinatamente lungo la prima

traccia, quindi lungo le rimanenti tracce del primo cilindro, traccia, quindi lungo le rimanenti tracce del primo cilindro, e così via, di cilindro in cilindro, dall’esterno verso l’interno. e così via, di cilindro in cilindro, dall’esterno verso l’interno.

Page 3: Silberschatz, Galvin and Gagne 2002 14.1 Operating System Concepts Memoria secondaria Struttura del disco Scheduling del disco Gestione dellunità a disco.

Silberschatz, Galvin and Gagne 200214.3Operating System Concepts

Scheduling del discoScheduling del disco

Il SO è responsabile dell’uso efficiente dell’hardware. Per i dischi ciò significa garantire tempi di accesso contenuti e ampiezze di banda maggiori.

Il tempo di accessotempo di accesso al disco si può scindere in due componenti principali: Tempo di ricerca Tempo di ricerca ((seek timeseek time ) ) — — è il tempo impiegato per spostare è il tempo impiegato per spostare

la testina sul cilindro che contiene il settore desiderato.la testina sul cilindro che contiene il settore desiderato. Latenza di rotazioneLatenza di rotazione (rotational latency(rotational latency ) ) —— è il tempo necessario è il tempo necessario

perché il disco ruoti fino a portare il settore desiderato sotto alla perché il disco ruoti fino a portare il settore desiderato sotto alla testina.testina.

Per migliorare le prestazioni si può intervenire solo sul tempo di ricerca, e si tenta quindi di minimizzarlo.

Seek time distanza di spostamento. La larghezza di bandalarghezza di banda del disco è il numero totale di byte

trasferiti, diviso per il tempo trascorso fra la prima richiesta del servizio e il completamento dell’ultimo trasferimento.

Page 4: Silberschatz, Galvin and Gagne 2002 14.1 Operating System Concepts Memoria secondaria Struttura del disco Scheduling del disco Gestione dellunità a disco.

Silberschatz, Galvin and Gagne 200214.4Operating System Concepts

Scheduling del discoScheduling del disco

Una richiesta di accesso al disco può venire soddisfatta immediatamente se unità a disco e controller sono disponibili; altrimenti la richiesta deve essere aggiunta alla coda delle richieste inevase per quell’unità.

Il SO ha l’opportunità di scegliere quale delle richieste inevase servire per prima: uso di un algoritmo di schedulingalgoritmo di scheduling.

Gli algoritmi di scheduling del disco verranno testati sulla coda di richieste per i cilindri (0–199):

98, 183, 37, 122, 14, 124, 65, 67

La testina dell’unità a disco è inizialmente posizionata sul cilindro 53.

Page 5: Silberschatz, Galvin and Gagne 2002 14.1 Operating System Concepts Memoria secondaria Struttura del disco Scheduling del disco Gestione dellunità a disco.

Silberschatz, Galvin and Gagne 200214.5Operating System Concepts

Scheduling FCFSScheduling FCFS

FCFS (First Come First ServedFirst Come First Served ): è un algoritmo intrinsecamente equo.

Si produce un movimento totale della testina pari a 640 cilindri.

Page 6: Silberschatz, Galvin and Gagne 2002 14.1 Operating System Concepts Memoria secondaria Struttura del disco Scheduling del disco Gestione dellunità a disco.

Silberschatz, Galvin and Gagne 200214.6Operating System Concepts

Scheduling SSTFScheduling SSTF Seleziona la richiesta con il minor tempo di seek a partire dalla

posizione corrente della testina. SSTF (Shortest Seek Time FirstShortest Seek Time First ) è una forma di SJF; può causare

l’attesa indefinita di alcune richieste. Si ha un movimento totale pari a 236 cilindri.

SSTF non è ottimo: spostandosi dal ci- lindro 53 al 37, e poi al 14, prima di invertire la marcia per servire le altre richieste, si riduce la distanza a 208 cilindri.

Page 7: Silberschatz, Galvin and Gagne 2002 14.1 Operating System Concepts Memoria secondaria Struttura del disco Scheduling del disco Gestione dellunità a disco.

Silberschatz, Galvin and Gagne 200214.7Operating System Concepts

Scheduling SCANScheduling SCAN Il braccio della testina si muove da un estremo all’altro del disco,

servendo sequenzialmente le richieste; giunto ad un estremo inverte la direzione di marcia e, conseguentemente, l’ordine di servizio. È chiamato anche algoritmo dell’ascensorealgoritmo dell’ascensore.

Si ha un movimento totale pari a 236 cilindri.

Page 8: Silberschatz, Galvin and Gagne 2002 14.1 Operating System Concepts Memoria secondaria Struttura del disco Scheduling del disco Gestione dellunità a disco.

Silberschatz, Galvin and Gagne 200214.8Operating System Concepts

Scheduling C–SCANScheduling C–SCAN

Garantisce un tempo di attesa più uniforme rispetto a SCAN. La testina si muove da un estremo all’altro del disco servendo

sequenzialmente le richieste. Quando raggiunge l’ultimo cilindro ritorna immediatamente all’inizio del disco, senza servire richieste durante il viaggio di ritorno.

Considera i cilindri come una lista circolare, con l’ultimo cilindro adiacente al primo.

Page 9: Silberschatz, Galvin and Gagne 2002 14.1 Operating System Concepts Memoria secondaria Struttura del disco Scheduling del disco Gestione dellunità a disco.

Silberschatz, Galvin and Gagne 200214.9Operating System Concepts

Scheduling C–LOOKScheduling C–LOOK

Versione ottimizzata (e normalmente implementata) di C–SCAN. Il braccio serve l’ultima richiesta in una direzione e poi inverte la

direzione senza arrivare al termine del disco.

Page 10: Silberschatz, Galvin and Gagne 2002 14.1 Operating System Concepts Memoria secondaria Struttura del disco Scheduling del disco Gestione dellunità a disco.

Silberschatz, Galvin and Gagne 200214.10Operating System Concepts

Scelta di un algoritmo di schedulingScelta di un algoritmo di scheduling

SSTF è comune ed ha un comportamento “naturale ”. LOOK e C–LOOK hanno migliori prestazioni per sistemi con un

grosso carico di lavoro per il disco (minor probabilità di blocco indefinito).

Le prestazioni dipendono dal numero e dal tipo di richieste. Le richieste di servizio al disco possono essere influenzate dal

metodo di allocazione dei file. L’algoritmo di scheduling del disco dovrebbe rappresentare un

modulo separato del SO, che può essere rimpiazzato da un algoritmo diverso qualora mutassero le caratteristiche del sistema di calcolo.

Sia SSTF che LOOK sono scelte ragionevoli per un algoritmo di default.

Page 11: Silberschatz, Galvin and Gagne 2002 14.1 Operating System Concepts Memoria secondaria Struttura del disco Scheduling del disco Gestione dellunità a disco.

Silberschatz, Galvin and Gagne 200214.11Operating System Concepts

Gestione dell’unità a discoGestione dell’unità a disco

Formattazione di basso livelloFormattazione di basso livello, o formatta- formatta- zione fisicazione fisica — Si suddivide il disco in settori che possono essere letti e scritti dal control- lore del disco.

Per poter impiegare un disco per memoriz-zare i file, il SO deve mantenere le proprie strutture dati sul disco. Si partiziona Si partiziona il disco in uno o più gruppi di il disco in uno o più gruppi di

cilindri.cilindri. Formattazione logicaFormattazione logica o “creazione di un file o “creazione di un file

system”.system”. Il blocco di bootboot inizializza il sistema.

Il Il bootstrapbootstrap è memorizzato in ROM. è memorizzato in ROM. Il caricamento del sistema avviene grazie alIl caricamento del sistema avviene grazie al

bootstrap loaderbootstrap loader.. Si impiega l’accantonamento dei settori per

gestire i blocchi difettosi.

Configurazione del disco in MS–DOSConfigurazione del disco in MS–DOS

Page 12: Silberschatz, Galvin and Gagne 2002 14.1 Operating System Concepts Memoria secondaria Struttura del disco Scheduling del disco Gestione dellunità a disco.

Silberschatz, Galvin and Gagne 200214.12Operating System Concepts

Gestione dello spazio di swapGestione dello spazio di swap

Spazio di swapSpazio di swap: la memoria virtuale impiega lo spazio su disco come un’estensione della memoria centrale.

Lo spazio di swap può essere ricavato all’interno del normale file system o, più comunemente, si può trovare in una partizione separata del disco.

Esempio: Gestione dello spazio di swap di 4.3BSD UNIX4.3BSD UNIX: Alloca lo spazio di swap all’avvio del processo; si riserva spazio sufficiente

per il segmento di testo e il segmento dei dati. Il kernel impiega due mappe di swap per ogni processo per tener traccia

dell’uso dello spazio di swap. La mappa per il segmento di testo indicizza blocchi di 512K. La mappa per il segmento dei dati ha dimensione fissa, ma contiene

indirizzi relativi a blocchi di dimensioni variabili. Ogni nuovo blocco aggiunto è grande il doppio del precedente.

Solaris 2Solaris 2 alloca lo spazio di swap al momento in cui una pagina viene spostata fuori dalla memoria fisica, non all’atto della sua creazione.

Page 13: Silberschatz, Galvin and Gagne 2002 14.1 Operating System Concepts Memoria secondaria Struttura del disco Scheduling del disco Gestione dellunità a disco.

Silberschatz, Galvin and Gagne 200214.13Operating System Concepts

Esempio: 4.3 BSD UNIXEsempio: 4.3 BSD UNIX

Mappa di swap per il segmento dei datiMappa di swap per il segmento dei dati

Mappa di swap per il segmento di testoMappa di swap per il segmento di testo

Page 14: Silberschatz, Galvin and Gagne 2002 14.1 Operating System Concepts Memoria secondaria Struttura del disco Scheduling del disco Gestione dellunità a disco.

Silberschatz, Galvin and Gagne 200214.14Operating System Concepts

Struttura RAIDStruttura RAID

RAID, RAID, Redundant Array of Independent DisksRedundant Array of Independent Disks — l’affidabilitàaffidabilità del sistema di memorizzazione viene garantita tramite la ridondanzaridondanza.

Le tecniche per aumentare la velocità di accesso al disco implicano l’uso di più dischi cooperanti.

Il sezionamentosezionamento del discodel disco o interfogliaturanterfogliatura tratta un gruppo di dischi come un’unica unità di memorizzazione: ogni blocco di dati è suddiviso in sottoblocchi memorizzati su dischi distinti. Il tempo di trasferimento per rotazioni sincronizzate diminuisce proporzional- mente al numero dei dischi nella batteria.

Gli schemi RAID migliorano prestazioni ed affidabilità memorizzando dati ridondanti: Il Il mirroringmirroring o o shadowingshadowing conserva duplicati di informazione. conserva duplicati di informazione. La struttura aLa struttura a blocchi di parità interfogliati blocchi di parità interfogliati utilizza un minor grado di utilizza un minor grado di

ridondanza, mantenendo buona affidabilità. ridondanza, mantenendo buona affidabilità.

Page 15: Silberschatz, Galvin and Gagne 2002 14.1 Operating System Concepts Memoria secondaria Struttura del disco Scheduling del disco Gestione dellunità a disco.

Silberschatz, Galvin and Gagne 200214.16Operating System Concepts

Realizzazione della memoria stabileRealizzazione della memoria stabile

Per realizzare una memoria stabile: Si replicano le informazioni in più dispositivi di memoria non Si replicano le informazioni in più dispositivi di memoria non

volatile con modalità di malfunzionamento indipendenti.volatile con modalità di malfunzionamento indipendenti. Si aggiornano le informazioni in modo controllato, per Si aggiornano le informazioni in modo controllato, per

assicurare il ripristino dei dati dopo ogni malfunzionamento, assicurare il ripristino dei dati dopo ogni malfunzionamento, anche se avvenuto durante il trasferimento o durante anche se avvenuto durante il trasferimento o durante l’eventuale recupero degli stessi da un malfunzionamento l’eventuale recupero degli stessi da un malfunzionamento precedente.precedente.

Page 16: Silberschatz, Galvin and Gagne 2002 14.1 Operating System Concepts Memoria secondaria Struttura del disco Scheduling del disco Gestione dellunità a disco.

Silberschatz, Galvin and Gagne 200214.17Operating System Concepts

Dispositivi di memorizzazione terziariaDispositivi di memorizzazione terziaria

I compiti principali del SO sono la gestione dei dispositivi fisici e la presentazione di una macchina virtuale astratta alle applicazioni utente.

La caratteristica fondamentale della memorizzazione terziaria è il basso costo.

Generalmente, viene effettuata su mezzi rimovibilimezzi rimovibili, ad esempio floppy disk, CD–ROM, nastri magnetici.

La maggior parte dei SO gestisce i dischi rimovibili come i dischi fissi: un nuovo supporto viene formattato, e un file system vuoto viene generato sul disco.

I nastri sono presentati come un mezzo di memorizzazione a basso livello, e le applicazioni non aprono un file, ma l’intero nastro.

In genere l’unità a nastro è riservata per un’applicazione alla volta.

Page 17: Silberschatz, Galvin and Gagne 2002 14.1 Operating System Concepts Memoria secondaria Struttura del disco Scheduling del disco Gestione dellunità a disco.

Silberschatz, Galvin and Gagne 200214.18Operating System Concepts

Affidabilità e costi nella gerarchia di memoriaAffidabilità e costi nella gerarchia di memoria

Il disco fisso è un supporto più affidabile di un floppy o di un nastro magnetico, così come è superiore l’affidabilità dei CD–ROM rispetto ai supporti rimovibili magnetici.

L’impatto della testina su un settore del disco fisso generalmente distrugge dati; in situazione analoga i supporti ottici, o i nastri magnetici mostrano maggior affidabilità.

La memoria principale è un supporto molto più costoso del disco. Il costo dello spazio disco è superiore a quello dei supporti magnetici a nastro.

Nella gerarchia delle memorie (dalla memoria primaria alla terziaria) si va da supporti più piccoli e costosi, ma rapidamente accessibili, verso supporti grandi e poco costosi, con basse prestazioni.

Page 18: Silberschatz, Galvin and Gagne 2002 14.1 Operating System Concepts Memoria secondaria Struttura del disco Scheduling del disco Gestione dellunità a disco.

Silberschatz, Galvin and Gagne 200214.19Operating System Concepts

Costo al megabyte per la DRAM, 1981–2000Costo al megabyte per la DRAM, 1981–2000

Page 19: Silberschatz, Galvin and Gagne 2002 14.1 Operating System Concepts Memoria secondaria Struttura del disco Scheduling del disco Gestione dellunità a disco.

Silberschatz, Galvin and Gagne 200214.20Operating System Concepts

Costo al megabyte per l’hard disk, 1981–2000Costo al megabyte per l’hard disk, 1981–2000

Page 20: Silberschatz, Galvin and Gagne 2002 14.1 Operating System Concepts Memoria secondaria Struttura del disco Scheduling del disco Gestione dellunità a disco.

Silberschatz, Galvin and Gagne 200214.21Operating System Concepts

Costo al megabyte del nastro magnetico, 1984–2000Costo al megabyte del nastro magnetico, 1984–2000