13.1 Sistemi Operativi Memoria secondaria e terziaria Struttura del disco Scheduling del disco...

21
Sistemi Operativi 13.1 Memoria secondaria e terziaria Struttura del disco Scheduling del disco Gestione dell’unità a disco Gestione dello spazio di swap Affidabilità dei dischi Realizzazione di memoria stabile Dispositivi di memoria terziaria Compiti del Sistema Operativo Prestazioni

Transcript of 13.1 Sistemi Operativi Memoria secondaria e terziaria Struttura del disco Scheduling del disco...

Page 1: 13.1 Sistemi Operativi Memoria secondaria e terziaria Struttura del disco Scheduling del disco Gestione dellunità a disco Gestione dello spazio di swap.

Sistemi Operativi 13.1

Memoria secondaria e terziaria

• Struttura del disco

• Scheduling del disco

• Gestione dell’unità a disco

• Gestione dello spazio di swap

• Affidabilità dei dischi

• Realizzazione di memoria stabile

• Dispositivi di memoria terziaria

• Compiti del Sistema Operativo

• Prestazioni

Page 2: 13.1 Sistemi Operativi Memoria secondaria e terziaria Struttura del disco Scheduling del disco Gestione dellunità a disco Gestione dello spazio di swap.

Sistemi Operativi 13.2

Struttura del disco

• I dischi vengono indirizzati come grandi array monodimensionali di blocchi logici, dove per blocco logico si intende la minima unità di trasferimento.

• L’array di blocchi logici viene mappato sequenzialmente nei settori del disco.

– Il settore 0 è il primo settore della prima traccia del cilindro più esterno.

– La corrispondenza prosegue ordinatamente lungo la prima traccia, quindi lungo le rimanenti tracce del primo cilindro, e così via di cilindro in cilindro dall’esterno verso l’interno.

Page 3: 13.1 Sistemi Operativi Memoria secondaria e terziaria Struttura del disco Scheduling del disco Gestione dellunità a disco Gestione dello spazio di swap.

Sistemi Operativi 13.3

Scheduling del disco

• Il sistema operativo è responsabile dell’uso efficiente dell’hardware. Per i dischi questo significa garantire tempi di accesso contenuti e ampiezze di banda maggiori.

• Il tempo di accesso ha due componenti principali:

– Tempo di seek – è il tempo impiegato per spostare le testine al cilindro che contiene il settore desiderato.

– Latenza di rotazione – è l’ulteriore tempo necessario per attendere che il disco ruoti fino a portare il settore desiderato sotto alla testina.

• Per migliorare le prestazioni si può intervenire solo sul tempo di seek, e si cerca quindi di minimizzarlo.

• Seek time distanza di spostamento

• La larghezza 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: 13.1 Sistemi Operativi Memoria secondaria e terziaria Struttura del disco Scheduling del disco Gestione dellunità a disco Gestione dello spazio di swap.

Sistemi Operativi 13.4

Scheduling FCFS

FCFS (First Come First Served): si ha un movimento totale di 640 cilindri.

Page 5: 13.1 Sistemi Operativi Memoria secondaria e terziaria Struttura del disco Scheduling del disco Gestione dellunità a disco Gestione dello spazio di swap.

Sistemi Operativi 13.5

Scheduling SSTF

• Seleziona la richiesta con il minor tempo di seek a partire dalla posizoine corrente.

• SSTF è una forma di SJF; può causare l’attesa indefinita per qualche richiesta.

• Si ha un movimento totale di 236 cilindri.

Page 6: 13.1 Sistemi Operativi Memoria secondaria e terziaria Struttura del disco Scheduling del disco Gestione dellunità a disco Gestione dello spazio di swap.

Sistemi Operativi 13.6

Scheduling SCAN

• Il braccio della testina parte da un estremo del disco, e si sposta all’altro estremo, servendo sequenzialmente le richieste fino all’arrivo all’altro estremo dove inverte l’ordine di servizio. E’ chiamato anche algoritmo dell’ascensore.

• Si ha un movimento totale di 208 cilindri.

Page 7: 13.1 Sistemi Operativi Memoria secondaria e terziaria Struttura del disco Scheduling del disco Gestione dellunità a disco Gestione dello spazio di swap.

Sistemi Operativi 13.7

Scheduling C–SCAN

• Si ha un tempo di attesa più uniforme rispetto a SCAN.

• La testina si muove da un estremo del disco all’altro. Quando raggiunge la fine ritorna subito all’inizio del disco e riparte.

• Considera i cilindri come una lista circolare.

Page 8: 13.1 Sistemi Operativi Memoria secondaria e terziaria Struttura del disco Scheduling del disco Gestione dellunità a disco Gestione dello spazio di swap.

Sistemi Operativi 13.8

Scheduling C–LOOK

• Versione ottimizzata di C-SCAN

• Il braccio arriva fino all’ultima richiesta in una direzione e poi inverte la direzione senza arrivare al termine del disco.

Page 9: 13.1 Sistemi Operativi Memoria secondaria e terziaria Struttura del disco Scheduling del disco Gestione dellunità a disco Gestione dello spazio di swap.

Sistemi Operativi 13.9

Scelta di un algoritmo di scheduling

• SSTF è comune ed ha un comportamento “naturale”.

• SCAN e C-SCAN 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 allocazionedei file.

• L’algoritmo di scheduling del disco dovrebbe essere scritto come un modulo separato del SO, permettendo di rimpiazzarlo con un algoritmo diverso.

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

Page 10: 13.1 Sistemi Operativi Memoria secondaria e terziaria Struttura del disco Scheduling del disco Gestione dellunità a disco Gestione dello spazio di swap.

Sistemi Operativi 13.10

Gestione del disco

• Formattazione di basso livello, o formattazione fisica — Si divide il disco in settori che possono essere letti e scritti dal controllore del disco.

• Per poter impiegare un disco per memorizzare i file, il sistema operativo deve comunque tenere le proprie strutture dati sul disco.

– Si partiziona il disco in uno o più gruppi di cilindri.

– Formattazione logica o “creazione di un file system”.

• Il blocco di boot inizializza il sistema.

– Il bootstrap è memorizzato in ROM.

– C’è un programma bootstrap loader.

• Si impiegano metodi come l’accantonamento di settori per gestire blocchi difettosi.

Page 11: 13.1 Sistemi Operativi Memoria secondaria e terziaria Struttura del disco Scheduling del disco Gestione dellunità a disco Gestione dello spazio di swap.

Sistemi Operativi 13.11

Gestione dello spazio di swap

• Spazio 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 di disco separata.

• Esempio: Gestione dello spazio di swap di UNIX 4.3BSD

– Alloca lo spazio di swap all’avvio del processo; si riserva spazio sufficiente per il segmento di testo e il segmento di 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 dimensione 512K.

– La mappa per il segmento di dati ha dimensione fissa, ma contiene indirizzi relativi a blocchi di dimensioni variabili. Ogni nuovo blocco aggiunto è grande il doppio del precedente.

Page 12: 13.1 Sistemi Operativi Memoria secondaria e terziaria Struttura del disco Scheduling del disco Gestione dellunità a disco Gestione dello spazio di swap.

Sistemi Operativi 13.12

Affidabilità dei dischi

• Miglioramento delle prestazioni dei dischi: implica l’impiego di dischi multipli cooperanti.

• Il sezionamento del disco tratta gruppi di dischi come una singola unità di memorizzazione. Ogni blocco di dati è suddiviso in diversi sotto-blocchi memorizzati in dischi distinti.

• Lo schema RAID (Redundant Array of Independent Disks) migliora le prestazioni e l’affidabilità memorizzando dati ridondanti.

– Mirroring o shadowing mantengono dei duplicati di ciascun disco.

– Blocchi a parità interfogliati hanno meno ridondanza, impiegando un disco per i blocchi di parità degli altri.

Page 13: 13.1 Sistemi Operativi Memoria secondaria e terziaria Struttura del disco Scheduling del disco Gestione dellunità a disco Gestione dello spazio di swap.

Sistemi Operativi 13.13

Realizzazione della memoria stabile

• Lo schema di write-ahead log richiede una memorizzazione stabile (le informazioni non vanno mai perse).

• Per realizzare una memoria stabile:

– Si replicano le informazioni in più di un mezzo di memorizzazione non volatile con modalità di malfunzionamento indipendenti.

– Si aggiornano le informazioni in modo controllato, per assicurare che si possano recuperare i dati dopo ogni malfunzionamento durante il trasferimento o anche durante l’eventuale recupero dei dati.

Page 14: 13.1 Sistemi Operativi Memoria secondaria e terziaria Struttura del disco Scheduling del disco Gestione dellunità a disco Gestione dello spazio di swap.

Sistemi Operativi 13.14

Dispositivi di memorizzazione terziaria

• La caratteristica di base della memorizzazione terziaria è il basso costo; generalmente, viene effettuata con mezzi rimovibili, es. floppy disk e CD-ROM.

• Floppy disk — sottile disco flessibile ricoperto di materiale magnetico, memorizza circa 1 MB, tecnologia simile è impiegata per dischi da più di 1 GB. Veloci quasi quanto i dischi rigidi, ma esposti a maggiori rischi di danneggiamento.

• Dischi magneto-ottici memorizzano i dati su un piatto rigido ricoperto di materiale magnetico.

– Si legge e si scrive per mezzo di laser, (ma l’informazione è “magnetica”).

– La testina è distante dalla superficie, (protetta con materiale plastico).

• I dischi ottici non impiegano il magnetismo, ma impiegano speciali materiali alterati dalla luce laser.

• I dischi WORM (Write Once, Read Many Times) possono essere scritti solo una volta. Sono costituiti da una pellicola sottile di alluminio fra due piatti di vetro o plastica. Per scrivere un bit col laser si crea un piccolo foro nell’alluminio. Durano a lungo e sono affidabili.

Page 15: 13.1 Sistemi Operativi Memoria secondaria e terziaria Struttura del disco Scheduling del disco Gestione dellunità a disco Gestione dello spazio di swap.

Sistemi Operativi 13.15

Nastri

• In confronto ai dischi, i nastri sono meno costosi e contengono più dati, ma la modalità di accesso (tipicamente sequenziale) è molto più lenta.

• Il nastro rappresenta un mezzo economico quando non sia richiesto accesso casuale, ad esempio per copie di backup.

• Grosse installazioni tipicamente impiegano dispositivi per il cambio di nastri (jukebox).

• Le operazioni di base per un nastro sono diverse da quelle per un disco.

• locate posiziona il nastro ad uno specifico blocco logico (corrisponde a seek).

• I lettori di nastri sono dispositivi “append-only”; il cambiamento di un blocco nel mezzo del nastro cancella effettivamente tutto ciò che si trova dopo il blocco.

Page 16: 13.1 Sistemi Operativi Memoria secondaria e terziaria Struttura del disco Scheduling del disco Gestione dellunità a disco Gestione dello spazio di swap.

Sistemi Operativi 13.16

Compiti del SO

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

• La maggior parte dei SO gestisce i dischi rimovibili praticamente come i dischi fissi: una nuova cartuccia viene formattata, 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: 13.1 Sistemi Operativi Memoria secondaria e terziaria Struttura del disco Scheduling del disco Gestione dellunità a disco Gestione dello spazio di swap.

Sistemi Operativi 13.17

Nomi di file

• Fornire dei nomi ai file su mezzi rimovibili è particolarmente difficile, soprattutto quando si vogliono scrivere dati su un computer, per poi rileggerli su un altro computer.

• I SO contemporanei in genere lasciano non risolto il problema per i mezzi rimovibili, delegando all’applicazione il compito di decidere come accedere a ed interpretare i dati.

• Alcuni tipi di dischi rimovibili (es. CD) so tanto standardizzati che tutti i computer li usano nello stesso modo.

Page 18: 13.1 Sistemi Operativi Memoria secondaria e terziaria Struttura del disco Scheduling del disco Gestione dellunità a disco Gestione dello spazio di swap.

Sistemi Operativi 13.18

Gestione gerarchica della memoria

• HSM (Hierarchical Storage Management) estende la gerarchia di memoria oltre la memoria centrale e l’archiviazione secondaria incorporando la memoria terziaria: in genere viene implementata per mezzo di jukebox di nastri o dischi rimovibili.

• Normalmente si incorpora l’archiviazione terziaria estendendo il file system.

– File piccoli ed usati frequentemente restano sul disco.

– File grandi, vecchi ed inattivi sono memorizzati nel jukebox.

• HSM viene comunemente realizzata in centri con supercomputer e altre grandi installazioni che hanno enormi quantità di dati.

Page 19: 13.1 Sistemi Operativi Memoria secondaria e terziaria Struttura del disco Scheduling del disco Gestione dellunità a disco Gestione dello spazio di swap.

Sistemi Operativi 13.19

Velocità – 1

• I due componenti principali per le prestazioni della memoria terziaria sono la larghezza di banda e la latenza.

• La larghezza di banda viene misurata in byte al secondo.

– Larghezza di banda sostenuta: è la velocità media di trasferimento nel caso di una rilevante quantità di dati. # di byte/tempo di trasferimento.

– Larghezza di banda effettiva: si ottiene considerando il tempo di I/O globale, includendo seek o locate, e il cambiamento di cartuccia. E’ la velocità di trasferimento fornita effettivamente dall’unità.

Page 20: 13.1 Sistemi Operativi Memoria secondaria e terziaria Struttura del disco Scheduling del disco Gestione dellunità a disco Gestione dello spazio di swap.

Sistemi Operativi 13.20

Velocità – 2

• Latenza di accesso: tempo richiesto per localizzare i dati.

– Tempo di accesso per un disco: spostamento del braccio al cilindro selezionato e attesa per la latenza di rotazione; < 35 millisecondi.

– L’accesso su un nastro richiede l’avvolgimento delle bobine del nastro fino a che il blocco selezionato raggiunge la testina del nastro; decine o centinaia di secondi.

– Generalmente un accesso casuale su nastro è migliaia di volte più lento di un accesso casuale su disco.

• Il basso costo della memorizzazione terziaria è dovuto al fatto che si impiegano molte cartucce economiche con pochi lettori costosi.

• Un archivio di supporti rimovibili è più utile per la memorizzazione di dati usati poco frequentemente, dato che solo poche richieste all’ora possono essere normalmente soddisfatte.

Page 21: 13.1 Sistemi Operativi Memoria secondaria e terziaria Struttura del disco Scheduling del disco Gestione dellunità a disco Gestione dello spazio di swap.

Sistemi Operativi 13.21

Affidabilità e costi

• Un disco fisso è in genere più affidabile di un disco rimovibile o di un nastro.

• Un disco ottico è in genere più affidabile di un disco magnetico o di un nastro.

• La memoria principale è molto più costosa della memoria secondaria e terziaria.

• Il costo per megabyte della memorizzazione su hard disk è competitivo con quello del nastro magnetico se si impiega solo un nastro per lettore.