memoria secondaria e terziaria. sistemi operativi a.a. 2007-08 12.2 memoria secondaria e terziaria...

55
Memoria Secondaria e Memoria Secondaria e Terziaria Terziaria

Upload: celestino-franchini

Post on 01-May-2015

255 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Memoria Secondaria e Terziaria. Sistemi Operativi a.a. 2007-08 12.2 Memoria secondaria e terziaria Struttura dei dispositivi di memoria Struttura dei

Memoria Secondaria e Memoria Secondaria e TerziariaTerziaria

Page 2: Memoria Secondaria e Terziaria. Sistemi Operativi a.a. 2007-08 12.2 Memoria secondaria e terziaria Struttura dei dispositivi di memoria Struttura dei

Sistemi Operativi a.a. 2007-0812.2

Memoria secondaria e terziariaMemoria secondaria e terziaria

Struttura dei dispositivi di memoria

Struttura dei dischi

Connessione dei dischi

Scheduling del disco

Gestione dell’unità a disco

Gestione dell’area di swap

Struttura RAID

Realizzazione della memoria stabile

Memoria terziaria

Page 3: Memoria Secondaria e Terziaria. Sistemi Operativi a.a. 2007-08 12.2 Memoria secondaria e terziaria Struttura dei dispositivi di memoria Struttura dei

Sistemi Operativi a.a. 2007-0812.3

Struttura dei dispositivi di Struttura dei dispositivi di memorizzazione memorizzazione 1 1

I dischi magneticidischi magnetici rappresentano il mezzo fondamentale per la memorizzazione di massa nei moderni sistemi di calcolo

I dischi ruotano ad una velocità compresa tra i 60 e i 200 giri al secondoLa velocità di trasferimentovelocità di trasferimento è la velocità con cui i dati fluiscono dall’unità a disco al calcolatoreIl tempo di posizionamentotempo di posizionamento è il tempo necessario a spostare il braccio del disco in corrispondenza del cilindro desiderato (seek seek timetime) più il tempo necessario affinché il settore desiderato si porti sotto la testina (latenza di latenza di rotazionerotazione)Il crollo della testinacrollo della testina, normalmente sospesa su un cuscino d’aria di pochi micron, corrisponde all’impatto della stessa sulla superficie del disco

Molto male… di solito comporta la necessità di sostituire l’unità a disco

Page 4: Memoria Secondaria e Terziaria. Sistemi Operativi a.a. 2007-08 12.2 Memoria secondaria e terziaria Struttura dei dispositivi di memoria Struttura dei

Sistemi Operativi a.a. 2007-0812.4

Struttura dei dispositivi di Struttura dei dispositivi di memorizzazione memorizzazione 2 2

I dischi possono essere rimovibilirimovibili

L’unità a disco è connessa al calcolatore per mezzo del bus di I/Obus di I/O

Diversi tipi: EIDE EIDE (Enhanced Integrated Drive Electronics), ATA ATA (Advanced Technology Attachment), SATASATA, USB USB (Universal Serial Bus), Fibre ChannelFibre Channel, SCSI SCSI (Small Computer System Interface)

Il trasferimento di dati in un bus è eseguito da speciali unità di elaborazione, dette controlloricontrollori: gli adattatoriadattatori sono i controllori posti all’estremità del bus relativa al calcolatore, i controllori dei controllori dei dischidischi sono incorporati in ciascuna unità a disco

Page 5: Memoria Secondaria e Terziaria. Sistemi Operativi a.a. 2007-08 12.2 Memoria secondaria e terziaria Struttura dei dispositivi di memoria Struttura dei

Sistemi Operativi a.a. 2007-0812.5

Schema funzionale di un discoSchema funzionale di un disco

Page 6: Memoria Secondaria e Terziaria. Sistemi Operativi a.a. 2007-08 12.2 Memoria secondaria e terziaria Struttura dei dispositivi di memoria Struttura dei

Sistemi Operativi a.a. 2007-0812.6

Nastri magneticiNastri magneticiSono stati i primi supporti di memorizzazione secondaria

(Relativamente) permanenti e capaci di memorizzare grandi quantità di dati

Tempo d’accesso molto elevato

Tempo d’accesso diretto circa 1000 volte superiore rispetto all’accesso a disco

Principalmente utilizzati per backup, registrazione di dati poco usati e trasferimento di informazioni tra diversi sistemi di calcolo

Il nastro è avvolto in bobine e scorre su una testina di lettura/scrittura: raggiunta la posizione desiderata, velocità di trasferimento paragonabile a quella delle unità a disco

Capacità compresa fra 20 e 200GB

Tecnologie diffuse sono 4mm, 8mm, 19mm, LTO2 e SDLT

Struttura dei dispositivi di Struttura dei dispositivi di memorizzazione memorizzazione 3 3

Page 7: Memoria Secondaria e Terziaria. Sistemi Operativi a.a. 2007-08 12.2 Memoria secondaria e terziaria Struttura dei dispositivi di memoria Struttura dei

Sistemi Operativi a.a. 2007-0812.7

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

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 8: Memoria Secondaria e Terziaria. Sistemi Operativi a.a. 2007-08 12.2 Memoria secondaria e terziaria Struttura dei dispositivi di memoria Struttura dei

Sistemi Operativi a.a. 2007-0812.8

Connessione dei dischi Connessione dei dischi 1 1

Alla memoria secondaria connessa alla macchina si accede dalle porte locali di I/O attraverso i bus di I/O

L’architettura SCSI consente di connettere al bus fino a 16 dispositivi per mezzo di un unico cavo, comunemente suddivisi in una scheda con il controllore inserita nella macchina (SCSI SCSI initiatorinitiator ) e in 15 dispositivi di memorizzazione (SCSI targetSCSI target )

Ciascun target può permettere l’accesso ad al più 8 unità logicheunità logiche (dischi attaccati al controllore di dispositivo)

Page 9: Memoria Secondaria e Terziaria. Sistemi Operativi a.a. 2007-08 12.2 Memoria secondaria e terziaria Struttura dei dispositivi di memoria Struttura dei

Sistemi Operativi a.a. 2007-0812.9

Connessione dei dischi Connessione dei dischi 2 2

L’FC è un’architettura seriale ad alta velocità che ha due varianti:

Struttura a commutazione con uno spazio di indirizzi a 24 bit la base per le Storage Area Storage Area NetworkNetwork (SAN), nelle quali molti host possono accedere a molti dispositivi di memorizzazione

Struttura ad arbitrated looparbitrated loop (FCAL), che può accedere fino a 126 dispositivi (unità e controllori)

Page 10: Memoria Secondaria e Terziaria. Sistemi Operativi a.a. 2007-08 12.2 Memoria secondaria e terziaria Struttura dei dispositivi di memoria Struttura dei

Sistemi Operativi a.a. 2007-0812.10

NetworkNetworkAttached Storage Attached Storage 1 1Un dispositivo di memoria secondaria connesso alla rete (NetworkNetworkAttached storageAttached storage, NASNAS) è un sistema di memoria al quale si accede in modo remoto per mezzo di una rete di trasmissione dati (piuttosto che tramite bus di I/O)

NFS e CIFS sono i protocolli comuni rispettivamente per sistemi UNIX e Windows

I client accedono alla memoria connessa alla rete tramite un’interfaccia RPC tra host e dispositivi di memoria

iSCSIiSCSI è il protocollo più recente per la memoria connessa alla rete

Sfrutta il protocollo IP della rete per il trasporto del protocollo SCSI

Page 11: Memoria Secondaria e Terziaria. Sistemi Operativi a.a. 2007-08 12.2 Memoria secondaria e terziaria Struttura dei dispositivi di memoria Struttura dei

Sistemi Operativi a.a. 2007-0812.11

NetworkNetworkAttached Storage Attached Storage 2 2

Memoria secondaria connessa alla rete

Page 12: Memoria Secondaria e Terziaria. Sistemi Operativi a.a. 2007-08 12.2 Memoria secondaria e terziaria Struttura dei dispositivi di memoria Struttura dei

Sistemi Operativi a.a. 2007-0812.12

Storage Area NetworkStorage Area NetworkUna rete di memoria secondaria, SAN, è una rete privata, tra i server e le unità di memoria secondaria, separata da LAN e WAN, che collegano i server ai client

Page 13: Memoria Secondaria e Terziaria. Sistemi Operativi a.a. 2007-08 12.2 Memoria secondaria e terziaria Struttura dei dispositivi di memoria Struttura dei

Sistemi Operativi a.a. 2007-0812.13

Scheduling del disco Scheduling del disco 1 1Il SO è responsabile dell’uso efficiente dell’hardware: per i dischi ciò significa garantire tempi di accesso contenuti e ampiezze di banda elevateIl tempo di accessotempo di accesso al disco si può scindere in due componenti principali:

Tempo di ricercaTempo di ricerca (seek time seek time ) è il tempo impiegato per spostare la testina sul cilindro che contiene il settore desideratoLatenza di rotazioneLatenza di rotazione (rotational latency rotational latency ) ) è il tempo necessario perché il disco ruoti fino a portare il settore desiderato sotto alla testina

Per migliorare le prestazioni si può intervenire solo sul tempo di ricerca e si tenta quindi di minimizzarloSeek time distanza di spostamento

Page 14: Memoria Secondaria e Terziaria. Sistemi Operativi a.a. 2007-08 12.2 Memoria secondaria e terziaria Struttura dei dispositivi di memoria Struttura dei

Sistemi Operativi a.a. 2007-0812.14

Scheduling del disco Scheduling del disco 2 2L’ampiezza di bandaampiezza di banda del disco è il numero totale di byte trasferiti, diviso per il tempo trascorso fra la prima richiesta e il completamento dell’ultimo trasferimentoQuando un processo deve effettuare un’operazione di I/O relativa ad un’unità a disco, effettua una chiamata al SOLa richiesta di servizio contiene:

Specifica del tipo di operazione (immissione/emissione di dati)Indirizzo su disco relativamente al quale effettuare il trasferimentoIndirizzo nella memoria relativamente al quale effettuare il trasferimentoNumero di byte da trasferire

Page 15: Memoria Secondaria e Terziaria. Sistemi Operativi a.a. 2007-08 12.2 Memoria secondaria e terziaria Struttura dei dispositivi di memoria Struttura dei

Sistemi Operativi a.a. 2007-0812.15

Scheduling del disco Scheduling del disco 3 3Una 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 quella unità

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

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

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

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

Page 16: Memoria Secondaria e Terziaria. Sistemi Operativi a.a. 2007-08 12.2 Memoria secondaria e terziaria Struttura dei dispositivi di memoria Struttura dei

Sistemi Operativi a.a. 2007-0812.16

FCFSFCFSFCFSFCFS First Come First ServedFirst Come First Served è un algoritmo intrinsecamente equo

Si produce un movimento totale della testina pari a 640 cilindri

Page 17: Memoria Secondaria e Terziaria. Sistemi Operativi a.a. 2007-08 12.2 Memoria secondaria e terziaria Struttura dei dispositivi di memoria Struttura dei

Sistemi Operativi a.a. 2007-0812.17

SSTFSSTFSeleziona la richiesta con il minor tempo di seek a partire dalla posizione corrente della testina

SSTFSSTF Shortest Seek Time First Shortest 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 cilindro 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 18: Memoria Secondaria e Terziaria. Sistemi Operativi a.a. 2007-08 12.2 Memoria secondaria e terziaria Struttura dei dispositivi di memoria Struttura dei

Sistemi Operativi a.a. 2007-0812.18

SCANSCANIl 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’ascensoreSi ha un movimento totale pari a 236 cilindri

Page 19: Memoria Secondaria e Terziaria. Sistemi Operativi a.a. 2007-08 12.2 Memoria secondaria e terziaria Struttura dei dispositivi di memoria Struttura dei

Sistemi Operativi a.a. 2007-0812.19

CCSCANSCAN

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 organizzati secondo una lista circolare, con l’ultimo cilindro adiacente al primo

Page 20: Memoria Secondaria e Terziaria. Sistemi Operativi a.a. 2007-08 12.2 Memoria secondaria e terziaria Struttura dei dispositivi di memoria Struttura dei

Sistemi Operativi a.a. 2007-0812.20

CCSCAN (Cont.)SCAN (Cont.)

Page 21: Memoria Secondaria e Terziaria. Sistemi Operativi a.a. 2007-08 12.2 Memoria secondaria e terziaria Struttura dei dispositivi di memoria Struttura dei

Sistemi Operativi a.a. 2007-0812.21

CCLOOKLOOKVersione ottimizzata (e normalmente implementata) di CSCAN

Il braccio serve l’ultima richiesta in una direzione e poi inverte la direzione senza arrivare al termine del disco

Page 22: Memoria Secondaria e Terziaria. Sistemi Operativi a.a. 2007-08 12.2 Memoria secondaria e terziaria Struttura dei dispositivi di memoria Struttura dei

Sistemi Operativi a.a. 2007-0812.22

Scelta di un algoritmo di Scelta di un algoritmo di schedulingscheduling

SSTF è comune ed ha un comportamento “naturale ”

LOOK e CLOOK forniscono prestazioni migliori in sistemi che utilizzano intensamente le unità a disco (minor probabilità di attesa indefinita)

Le prestazioni dipendono dal numero e dal tipo di richieste

Le richieste di I/O per l’unità a disco possono essere influenzate dal metodo di allocazione dei file

L’algoritmo di scheduling del disco dovrebbe rappresentare un modulo separato del SO, facile da rimpiazzare da altro algoritmo qualora mutassero le caratteristiche del sistema di calcolo

Sia SSTF che LOOK rappresentano scelte ragionevoli per un’implementazione standard

Page 23: Memoria Secondaria e Terziaria. Sistemi Operativi a.a. 2007-08 12.2 Memoria secondaria e terziaria Struttura dei dispositivi di memoria Struttura dei

Sistemi Operativi a.a. 2007-0812.23

Gestione dell’unità a discoGestione dell’unità a discoFormattazione di basso livelloFormattazione di basso livello o fisicafisica Si suddivide il disco in settori che possono essere letti e scritti dal controllore del disco

Salvataggio su disco di una struttura dati per settore (intestazione/coda)

Per poter impiegare un disco per memorizzare i file, il SO deve mantenere le proprie strutture dati sul disco

Si partizionapartiziona il disco in uno o più gruppi di cilindriFormattazione logicaFormattazione logica o “creazione di un file system”

Il blocco di bootboot contiene il codice per inizializzare il sistema

Il bootstrap loaderbootstrap loader è memorizzato in ROMIl caricamento del sistema avviene grazie al bootstrapbootstrap

Si impiega l’accantonamento dei settoriaccantonamento dei settori per la gestione dei blocchi difettosi

Page 24: Memoria Secondaria e Terziaria. Sistemi Operativi a.a. 2007-08 12.2 Memoria secondaria e terziaria Struttura dei dispositivi di memoria Struttura dei

Sistemi Operativi a.a. 2007-0812.24

Configurazione del disco in Configurazione del disco in MSMSDOSDOS

Page 25: Memoria Secondaria e Terziaria. Sistemi Operativi a.a. 2007-08 12.2 Memoria secondaria e terziaria Struttura dei dispositivi di memoria Struttura dei

Sistemi Operativi a.a. 2007-0812.25

Avviamento dal disco in Windows Avviamento dal disco in Windows 20002000

Master Boot Record

Page 26: Memoria Secondaria e Terziaria. Sistemi Operativi a.a. 2007-08 12.2 Memoria secondaria e terziaria Struttura dei dispositivi di memoria Struttura dei

Sistemi Operativi a.a. 2007-0812.26

Gestione dell’area di swap Gestione dell’area di swap 1 1

Area di swapArea di swap la memoria virtuale impiega lo spazio su disco come un’estensione della memoria centrale

L’obiettivo principale nella progettazione e realizzazione dell’area di swap è di fornire la migliore produttività per il sistema di memoria virtuale

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

Page 27: Memoria Secondaria e Terziaria. Sistemi Operativi a.a. 2007-08 12.2 Memoria secondaria e terziaria Struttura dei dispositivi di memoria Struttura dei

Sistemi Operativi a.a. 2007-0812.27

Gestione dell’area di swap Gestione dell’area di swap 2 2

4.3BSD UNIX4.3BSD UNIX

Alloca lo spazio di swap all’avvio del processo; si riserva spazio sufficiente per il segmento di testosegmento di testo (il programma) ed il segmento dei datisegmento dei dati

Il kernel impiega due mappe di swapmappe 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 allocato è grande il doppio del precedente

Page 28: Memoria Secondaria e Terziaria. Sistemi Operativi a.a. 2007-08 12.2 Memoria secondaria e terziaria Struttura dei dispositivi di memoria Struttura dei

Sistemi Operativi a.a. 2007-0812.28

Gestione dell’area di swap in Gestione dell’area di swap in 4.3BSD4.3BSD

Mappa di swap per il segmento dei dati

Mappa di swap per il segmento di testo

Page 29: Memoria Secondaria e Terziaria. Sistemi Operativi a.a. 2007-08 12.2 Memoria secondaria e terziaria Struttura dei dispositivi di memoria Struttura dei

Sistemi Operativi a.a. 2007-0812.29

Gestione dell’area di swap Gestione dell’area di swap 3 3Solaris 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

LinuxLinuxUsata solo per la memoria anonima memoria anonima e per aree condivisePermette di istituire più aree di swap, ognuna formata da moduli di 4KB, detti slot delle pagineslot delle pagineAd ogni area di swap corrisponde la relativa mappa, un array di contatori interi ciascuno dei quali corrisponde ad uno slot

Se un contatore è posto a 0, la pagina che gli corrisponde è disponibileValori diversi da 0 indicano slot allocati (il valore corrisponde al numero di processi che condividono quella pagina)

Page 30: Memoria Secondaria e Terziaria. Sistemi Operativi a.a. 2007-08 12.2 Memoria secondaria e terziaria Struttura dei dispositivi di memoria Struttura dei

Sistemi Operativi a.a. 2007-0812.30

Gestione dell’area di swap in Gestione dell’area di swap in LINUXLINUX

Page 31: Memoria Secondaria e Terziaria. Sistemi Operativi a.a. 2007-08 12.2 Memoria secondaria e terziaria Struttura dei dispositivi di memoria Struttura dei

Sistemi Operativi a.a. 2007-0812.31

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

Inoltre… le tecniche per aumentare la velocità di accesso al disco implicano l’uso di più dischi cooperanti

Il sezionamentosezionamento del discodel disco o interfogliaturainterfogliatura 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 proporzionalmente al numero dei dischi nella batteria

Page 32: Memoria Secondaria e Terziaria. Sistemi Operativi a.a. 2007-08 12.2 Memoria secondaria e terziaria Struttura dei dispositivi di memoria Struttura dei

Sistemi Operativi a.a. 2007-0812.32

Strutture RAID Strutture RAID 2 2

Gli schemi RAID migliorano prestazioni ed affidabilità del sistema memorizzando dati ridondanti:

Il mirroringmirroring o shadowingshadowing conserva duplicati di ciascun disco

La struttura a blocchi di parità interfogliatiblocchi di parità interfogliati utilizza un minor grado di ridondanza, mantenendo buone caratteristiche di affidabilità

Page 33: Memoria Secondaria e Terziaria. Sistemi Operativi a.a. 2007-08 12.2 Memoria secondaria e terziaria Struttura dei dispositivi di memoria Struttura dei

Sistemi Operativi a.a. 2007-0812.33

Strutture RAID Strutture RAID 3 3

Alcuni livelli RAID

RAID (0 + 1)

Page 34: Memoria Secondaria e Terziaria. Sistemi Operativi a.a. 2007-08 12.2 Memoria secondaria e terziaria Struttura dei dispositivi di memoria Struttura dei

Sistemi Operativi a.a. 2007-0812.34

Realizzazione della memoria Realizzazione della memoria stabilestabile

Per realizzare una memoria stabile:

Si replicano le informazioni in più dispositivi di memoria non volatile con modalità di malfunzionamento indipendenti

Si aggiornano le informazioni in modo controllato, per assicurare il ripristino dei dati dopo ogni malfunzionamento, anche se avvenuto durante il trasferimento o durante l’eventuale recupero degli stessi da un malfunzionamento precedente

Page 35: Memoria Secondaria e Terziaria. Sistemi Operativi a.a. 2007-08 12.2 Memoria secondaria e terziaria Struttura dei dispositivi di memoria Struttura dei

Sistemi Operativi a.a. 2007-0812.35

Dispositivi di memorizzazione Dispositivi di memorizzazione terziariaterziaria

La caratteristica fondamentale della memorizzazione terziaria è il basso costo

Generalmente, viene effettuata su mezzi mezzi rimovibilirimovibili, ad esempio CDROM, DVD, supporti magnetici, memorie flash con interfaccia USB

Page 36: Memoria Secondaria e Terziaria. Sistemi Operativi a.a. 2007-08 12.2 Memoria secondaria e terziaria Struttura dei dispositivi di memoria Struttura dei

Sistemi Operativi a.a. 2007-0812.36

Dischi rimovibili Dischi rimovibili 1 1

Dischi floppyDischi floppy dischi flessibili e sottili ricoperti di materiale magnetico e sigillati all’interno di un involucro di plastica

I floppy hanno capacità pari a 1.4 MB; tuttavia una tecnologia analoga viene adottata per dischi rimovibili con capacità superiore al GB

I dischi magnetici rimovibili possono raggiungere velocità di trasferimento simili a quelle dei dischi fissi, ma corrono maggiori rischi di danneggiamento

Page 37: Memoria Secondaria e Terziaria. Sistemi Operativi a.a. 2007-08 12.2 Memoria secondaria e terziaria Struttura dei dispositivi di memoria Struttura dei

Sistemi Operativi a.a. 2007-0812.37

Nei dischi magnetodischi magnetootticiottici i dati sono registrati su un disco ricoperto di materiale magnetico

La testina di un disco magnetoottico è sospesa ad una distanza dalla superficie del disco molto maggiore rispetto alla testina di un disco magnetico e il materiale magnetico è protetto da uno spesso strato di plastica o di vetro, resistente ai crolli della testina

Si utilizza una testina laser per amplificare un campo magnetico diffuso e debole e permettergli la memorizzazione di un bit

La luce laser viene impiegata anche in fase di lettura (effetto Kerr)

I dischi otticidischi ottici non utilizzano il magnetismo; sono realizzati con materiali speciali che si alterano quando colpiti da un raggio laser

Dischi rimovibili Dischi rimovibili 2 2

Page 38: Memoria Secondaria e Terziaria. Sistemi Operativi a.a. 2007-08 12.2 Memoria secondaria e terziaria Struttura dei dispositivi di memoria Struttura dei

Sistemi Operativi a.a. 2007-0812.38

Dischi WORMDischi WORM

Sui dischi di lettura/scrittura i dati possono essere modificati più e più volte

I dischi WORMWORM (Write Once, Read Many TimesWrite Once, Read Many Times) si possono scrivere una sola volta

La tecnologia originale per dischi WORM consiste nell’inserire una pellicola di alluminio tra due piatti di plastica o di vetro

Per scrivere un bit, l’unità usa un raggio laser per praticare un piccolo foro nell’alluminio: l’informazione può venir distrutta ma non alterata

Sono durevoli e affidabili

I dischi a sola letturadischi a sola lettura, come CDROM e DVD, sono commercializzati con un contenuto preregistrato

Page 39: Memoria Secondaria e Terziaria. Sistemi Operativi a.a. 2007-08 12.2 Memoria secondaria e terziaria Struttura dei dispositivi di memoria Struttura dei

Sistemi Operativi a.a. 2007-0812.39

NastriNastri

Un nastro può contenere più dati di un disco, ed il costo di memorizzazione a bit è inferiore, ma l’accesso diretto è molto più lento

Il nastro è un mezzo conveniente per effettuare copie di backup e per la memorizzazione di enormi moli di dati

Le grandi stazioni di registrazione a nastri usano di solito meccanismi automatici per la movimentazione dei nastri dalle unità agli appositi contenitori dell’archivio

Un file non attualmente utilizzato, residente su disco, può essere archiviato su nastro in maniera economicamente vantaggiosa, salvo recuperarlo e reinstallarlo su disco quando necessario

Page 40: Memoria Secondaria e Terziaria. Sistemi Operativi a.a. 2007-08 12.2 Memoria secondaria e terziaria Struttura dei dispositivi di memoria Struttura dei

Sistemi Operativi a.a. 2007-0812.40

Compiti del sistema operativoCompiti del sistema operativo

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

Il SO realizza due astrazioni concernenti i dischi:

Un dispositivo di basso livello, costituito da un array di blocchi di dati

Il file system, in relazione al quale il SO accoda e organizza le richieste provenienti da diverse applicazioni

Page 41: Memoria Secondaria e Terziaria. Sistemi Operativi a.a. 2007-08 12.2 Memoria secondaria e terziaria Struttura dei dispositivi di memoria Struttura dei

Sistemi Operativi a.a. 2007-0812.41

Interfaccia per le applicazioni Interfaccia per le applicazioni 1 1

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 rappresentano invece un mezzo di memorizzazione di 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 42: Memoria Secondaria e Terziaria. Sistemi Operativi a.a. 2007-08 12.2 Memoria secondaria e terziaria Struttura dei dispositivi di memoria Struttura dei

Sistemi Operativi a.a. 2007-0812.42

Interfaccia per le applicazioni Interfaccia per le applicazioni 2 2

Poiché il SO non fornisce i servizi connessi al file system, è l’applicazione che deve stabilire come usare l’array di blocchi

Dato che ogni applicazione stabilisce i propri criteri di organizzazione del nastro, un nastro contenente dati può essere generalmente utilizzato solo dal programma che lo ha creato

Page 43: Memoria Secondaria e Terziaria. Sistemi Operativi a.a. 2007-08 12.2 Memoria secondaria e terziaria Struttura dei dispositivi di memoria Struttura dei

Sistemi Operativi a.a. 2007-0812.43

Unità a nastroUnità a nastroLe operazioni di base relative ad un’unità a nastro differiscono sostanzialmente da quelle effettuate sui dischi

L’operazione locatelocate posiziona il nastro in corrispondenza di uno specifico blocco logico (non su un’intera traccia: corrisponde a seekseek, ma è più “stringente”)

L’operazione read positionread position riporta il numero del blocco logico su cui è posizionata la testina

L’operazione spacespace realizza spostamenti relativi (alla posizione corrente)

Le unità a disco sono device “appendonly”: l’aggiornamento di un blocco posto in mezzo al nastro comporta la cancellazione di tutto ciò che segue tale blocco

Un simbolo di fine nastro, EOTEOT, segnala l’ultimo blocco registrato

Page 44: Memoria Secondaria e Terziaria. Sistemi Operativi a.a. 2007-08 12.2 Memoria secondaria e terziaria Struttura dei dispositivi di memoria Struttura dei

Sistemi Operativi a.a. 2007-0812.44

Nomi dei fileNomi dei file

L’assegnazione dei nomi dei file su mezzi di memorizzazione rimovibili è particolarmente critica quando si scrivono dati su un supporto rimovibile su un certo calcolatore per poi riutilizzare lo stesso mezzo in un altro calcolatore

I SO attuali lasciano irrisolto il problema dei nomi per i mezzi rimovibili, confidando nel fatto che le applicazioni o gli utenti forniranno una chiave di lettura e di interpretazione dei dati

Alcuni mezzi rimovibili sono talmente standardizzati (ad es., i CD) da essere utilizzati allo stesso modo da tutti i calcolatori

Page 45: Memoria Secondaria e Terziaria. Sistemi Operativi a.a. 2007-08 12.2 Memoria secondaria e terziaria Struttura dei dispositivi di memoria Struttura dei

Sistemi Operativi a.a. 2007-0812.45

Un sistema di gestione gerarchica della memoria estende la gerarchia di memorizzazione oltre la memoria centrale e secondaria fino ad includere i dispositivi di memoria terziaria, di solito realizzati da un jukebox di nastri o dischi rimovibiliLa tecnica più comune per estendere la gerarchia di memorizzazione fino alla memoria terziaria consiste nell’ampliare il file system

I file piccoli ed usati di frequente rimangono sui dischi magnetici I file vecchi, ingombranti e raramente necessari si archiviano nel jukebox

L’HSMHSM (Hierarchical Storage ManagementHierarchical Storage Management ) si applica per i supercalcolatori per gestire grandi quantità di dati usati sporadicamente o periodicamente

Gestione gerarchica della Gestione gerarchica della memoriamemoria

Page 46: Memoria Secondaria e Terziaria. Sistemi Operativi a.a. 2007-08 12.2 Memoria secondaria e terziaria Struttura dei dispositivi di memoria Struttura dei

Sistemi Operativi a.a. 2007-0812.46

Prestazioni Prestazioni 1 1La velocità della memoria terziaria è definita da due fattori: ampiezza di bandaampiezza di banda e latenzalatenza

L’ampiezza di banda si misura in byte al secondo

Ampiezza di banda sostenutaAmpiezza di banda sostenuta velocità media di trasferimento per grossi volumi di dati (rapporto fra il numero di byte e il tempo di trasferimento)

Velocità di trasferimento nel momento in cui i dati stanno effettivamente fluendo

Ampiezza di banda effettivaAmpiezza di banda effettiva numero di byte trasferiti rapportato al tempo di I/O totale, inclusi il tempo richiesto da una seekseek o da una locatelocate e l’attesa dovuta al cambio di dischi o nastri dal jukebox

Velocità di trasferimento complessiva fornita dall’unità

Page 47: Memoria Secondaria e Terziaria. Sistemi Operativi a.a. 2007-08 12.2 Memoria secondaria e terziaria Struttura dei dispositivi di memoria Struttura dei

Sistemi Operativi a.a. 2007-0812.47

Latenza di accesso tempo necessario a localizzare un dato

Tempo di accesso a disco posizionamento del braccio della testina sul cilindro selezionato ed attesa di latenza rotazionale (< 35 millisecondi)

Un accesso diretto a nastro richiede lo svolgimento o il riavvolgimento della bobina finché il blocco richiesto raggiunge la testina (decine o centinaia di secondi)

In generale, l’accesso diretto a nastro è oltre mille volte più lento dell’accesso diretto a disco

Prestazioni Prestazioni 2 2

Page 48: Memoria Secondaria e Terziaria. Sistemi Operativi a.a. 2007-08 12.2 Memoria secondaria e terziaria Struttura dei dispositivi di memoria Struttura dei

Sistemi Operativi a.a. 2007-0812.48

Il basso costo della memoria terziaria deriva dall’avere un gran numero di supporti (economici) che condividono poche (costose) unità di lettura/scrittura

Un archivio di supporti rimovibili è tuttavia adatto alla registrazione di dati usati raramente, perché il numero di richieste di I/O soddisfacibili per ogni ora d’uso è relativamente basso

Prestazioni Prestazioni 3 3

Page 49: Memoria Secondaria e Terziaria. Sistemi Operativi a.a. 2007-08 12.2 Memoria secondaria e terziaria Struttura dei dispositivi di memoria Struttura dei

Sistemi Operativi a.a. 2007-0812.49

AffidabilitàAffidabilità

I dischi fissi sono più affidabili dei dischi rimovibili e dei nastri, così come è superiore l’affidabilità dei CDROM 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à

Page 50: Memoria Secondaria e Terziaria. Sistemi Operativi a.a. 2007-08 12.2 Memoria secondaria e terziaria Struttura dei dispositivi di memoria Struttura dei

Sistemi Operativi a.a. 2007-0812.50

CostiCosti

La memoria principale è un supporto molto più costoso del disco Il costo dello spazio disco è superiore a quello dei supporti magnetici a nastro (costi comparabili solo se si usa un unico nastro per ogni unità)Il supporto a nastro più economico e il disco più economico hanno capacità paragonabili negli anniLa memoria terziaria riduce i costi solo se il numero di supporti di memorizzazione supera di molto il numerò di unità di accessoNella 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 51: Memoria Secondaria e Terziaria. Sistemi Operativi a.a. 2007-08 12.2 Memoria secondaria e terziaria Struttura dei dispositivi di memoria Struttura dei

Sistemi Operativi a.a. 2007-0812.51

Costo al MB per DRAM, 1981Costo al MB per DRAM, 198120042004

Page 52: Memoria Secondaria e Terziaria. Sistemi Operativi a.a. 2007-08 12.2 Memoria secondaria e terziaria Struttura dei dispositivi di memoria Struttura dei

Sistemi Operativi a.a. 2007-0812.52

Costo al MB per dischi magnetici, Costo al MB per dischi magnetici, 1981198120042004

Page 53: Memoria Secondaria e Terziaria. Sistemi Operativi a.a. 2007-08 12.2 Memoria secondaria e terziaria Struttura dei dispositivi di memoria Struttura dei

Sistemi Operativi a.a. 2007-0812.53

Costo al MB per unità a nastro, Costo al MB per unità a nastro, 1984198420042004

Page 54: Memoria Secondaria e Terziaria. Sistemi Operativi a.a. 2007-08 12.2 Memoria secondaria e terziaria Struttura dei dispositivi di memoria Struttura dei

Sistemi Operativi a.a. 2007-0812.54

EserciziEserciziEsercizio 1Esercizio 1Un floppy ha 40 cilindri. Un’operazione di ricerca richiede 6msec per lo spostamento tra un cilindro e l’altro, la latenza rotazionale media è di 10msec ed il tempo di trasferimento è di 25msec per blocco.

Quanto tempo è necessario per leggere un file costituito da 20 blocchi e memorizzato in modo tale che blocchi logicamente contigui nel file distino mediamente 13 cilindri l’uno dall’altro sul dischetto?Quanto tempo è necessario per leggere un file con 100 blocchi mediamente distanti 2 cilindri?

Esercizio 2Esercizio 2Al driver di un disco arrivano, nell’ordine, richieste per i cilindri 10,22,20,2,40,6,38. Uno spostamento da un traccia a quella adiacente richiede 6msec. Si stabilisca quanto tempo è necessario per servire le richieste con FCFS, SSTF, CLOOK (crescente). Si assuma, per tutti i casi, che il braccio si trovi inizialmente posizionato sul cilindro 10.

Page 55: Memoria Secondaria e Terziaria. Sistemi Operativi a.a. 2007-08 12.2 Memoria secondaria e terziaria Struttura dei dispositivi di memoria Struttura dei

Sistemi Operativi a.a. 2007-0812.55

Esercizi (Cont.)Esercizi (Cont.)Esercizio 3Esercizio 3Un disco possiede 5000 cilindri, numerati da 0 a 4999. Il driver del disco sta attualmente servendo una richiesta al cilindro 153. La coda di richieste in attesa, in ordine FIFO, è: 85,1470,913,1774,948,130. A partire dalla posizione corrente, qual è la distanza totale, indicata in cilindri, che deve percorrere il braccio del disco per soddisfare tutte le richieste in attesa, relativamente a FCFS, SSTF, SCAN (decrescente), CSCAN e CLOOK?

Esercizio 4Esercizio 4Al driver di un disco arrivano, nell’ordine, richieste per i cilindri 38,23,59,3,63,22,2,11,45, Si utilizzino FCFS, SSTF e SCAN (decrescente) e si stabilisca la distanza totale (in cilindri) percorsa dal braccio del disco per soddisfare tutte le richieste in attesa. Si assuma per tutti i casi, che il braccio si trovi inizialmente posizionato sul cilindro 15.