Sistemi Operativi A Parte VI - La memoria secondaria. Dischi magnetici. Nastri magnetici

Documenti analoghi
Sistemi Operativi GESTIONE DELLA MEMORIA SECONDARIA. D. Talia - UNICAL. Sistemi Operativi 11.1

Sistemi Operativi. Memoria Secondaria GESTIONE DELLA MEMORIA SECONDARIA. Struttura del disco. Scheduling del disco. Gestione del disco

Memoria secondaria. Struttura del disco. Scheduling del disco. Gestione dell unità a disco. Affidabilità dei dischi: RAID

Memoria secondaria. Sistemi Operativi mod. B 14.1

Struttura dei dischi

SISTEMI OPERATIVI. Gestione dei dischi. Gestione dei dischi e sistemi RAID

Solitamente la capacità è minore di un disco magnetico, ma la velocità è molto più alta.

Nastro magnetico. Gestione della memoria di massa. Disco magnetico. Disco magnetico. Usato in passato come dispositivo di memorizzazione secondaria

Redundant Array of Inexpensive (Independent) Disks. Disco magnetico

Sommario. G. Piscitelli

= 0, 098 ms. Da cui si ricava t 2 medio

Calcolatori Elettronici

Memoria Esterna (secondaria) n Materiale usato per il disco: era in alluminio n Ora è di vetro, perché Migliora l uniformità della superficie

Architettura dei calcolatori II parte Memorie

La memoria centrale (RAM)

Memoria Secondaria e Terziaria

Struttura dei dischi. Sistemi Operativi Giuseppe Prencipe. Struttura dei dischi. Schema funzionale di un disco. Scheduling del disco

PROGETTAZIONE FISICA

La memoria - generalità

Lez. 5 Memorie Secondarie

Organizzazione della memoria

Capitolo Silberschatz

Dischi RAID. high-performance high-reliability. G.Serazzi a.a. 2003/04 Impianti Informatici RAID - 1/32

La memoria secondaria

Memoria secondaria. Architettura dell elaboratore. Memoria secondaria. Memoria secondaria. Memoria secondaria

Sistemi RAID tutti i dati che contiene RAID

I dischi ottici. Informatica di Base -- R.Gaeta 18

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione

Sistemi Operativi. Gestione della memoria secondaria: dischi, SAN e organizzazioni RAID

Corso di studi in Ingegneria Elettronica A.A. 2003/2004. Calcolatori Elettronici. Esercitazione n 2. Ing Giovanni Costa

Calcolatori Elettronici

Laboratorio di Informatica

SISTEMI OPERATIVI MEMORIA SECONDARIA E TERZIARIA. Meccanica di un hard disk

Sistemi Operativi A.A. 2011/2012

Materiali per il modulo 1 ECDL. Autore: M. Lanino

12. Implementazione di un File System Struttura a livelli Allocazione contigua

Sistemi RAID. Sistemi RAID. Sistemi RAID

Sistemi RAID. Sistemi RAID

Gestione della Memoria

Sistemi RAID. Corso di Calcolatori Elettronici. Feragotto Elena

Laboratorio di Informatica di Base Archivi e Basi di Dati

Sistemi Operativi II Corso di Laurea in Ingegneria Informatica

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1

Gestione della memoria di massa

Input Output. Principi di gestione dell hardware di I/O Dispositivi di I/O Gestione dei dischi magnetici Altri dispositivi

Memoria Secondaria o di Massa

I dischi magnetici floppy disk

Gestione della memoria secondaria. Marco Cesati. Schema della lezione. File system annotati. Il disco magnetico. Prestazioni dei dischi

* Continuo incremento delle prestazioni della tecnologia dei semiconduttori ( > 50 % / anno )

Dischi RAID (Redundant Array of Inexpensive Disks)

ARCHITETTURA CALCOLATORI: Memoria di massa (o secondaria)

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

L architettura del calcolatore (Terza parte)

Memorie secondarie. Corso di Basi di Dati e Sistemi Informativi

Architettura hardware

Lez. 6 Memorie Secondarie. Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1

Sistemi avanzati di gestione dei Sistemi Informativi

Collegamento al sistema

MEMORIE MAGNETO- OTTICHE

Strutture di Memoria 1

Architettura hardware

Gestione della memoria. Paginazione Segmentazione Segmentazione con paginazione

PARALLELISMO NELLE MEMORIE PERMANENTI

I/O Dispositivi di input/output

Appunti di informatica. Lezione 6 anno accademico Mario Verdicchio

Architettura dei computer

Linux I/O Scheduling overview

Capitolo 11 La memoria cache

Esame di INFORMATICA

ARCHITETTURA DEL CALCOLATORE

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

Appunti sulla Macchina di Turing. Macchina di Turing

Unità Periferiche. Rete Di Controllo

Sommario. Gestione dell I/O e Scheduling dei Dischi. Categorie di Dispositivi di I/O. Human readable

I dischi ottici. Fondamenti di Informatica -- Rossano Gaeta 43

Organizzazione della memoria principale Il bus

Sistemi Operativi Kernel

Esempio di Motherboard (Scheda Madre)

STRUTTURE DEI SISTEMI DI CALCOLO

Informatica - A.A. 2010/11

Corso di Informatica

Memorizzazione dei dati: Dischi e File

14 Struttura della memoria secondaria Struttura del disco Struttura del disco

Università degli Studi di Padova Dipartimento di Matematica. - Corso di Laurea in Informatica

DMA Accesso Diretto alla Memoria

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09

Progettazione del robot

CPU. Maurizio Palesi

1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi?

Informatica per la Storia dell Arte. Anno Accademico 2014/2015

Trasmissione di dati al di fuori di un area locale avviene tramite la commutazione

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione

Corso di Informatica

TELECOMUNICAZIONI II: LE RETI DI COMUNICAZIONE. INTRODUZIONE... pag.2

Laboratorio di Ingegneria del software Sistema di controllo di un ascensore Requisisti preliminari

C. P. U. MEMORIA CENTRALE

ECDL MODULO 1 Le Memorie. Prof. Michele Barcellona

Dispositivi di memorizzazione

Transcript:

Sistemi Operativi A Parte VI - La memoria secondaria Augusto Celentano Università Ca Foscari Venezia Corso di Laurea in Informatica Dischi magnetici Proprietà principali e parametri - Velocità di rotazione più comuni: 4200, 5400, 7200, 10000 giri/minuto - Velocità di trasferimento: istantanea e a regime - Tempo di posizionamento: comprende il tempo necessario per muovere il braccio portatestina sul cilindro richiesto (seek time) e il tempo di rotazione necessario per portare il settore richiesto sotto la testina di lettura (rotational latency) - Fissi o rimovibili, a sola lettura o R/W Sono collegati attraverso un interfaccia di I/O - Diverse tecnologie: ATA/IDE, EIDE, Serial ATA, USB, FW, SCSI - La gestione è curata da un controller logicamente diviso in due parti: verso l host e verso l unità a disco Augusto Celentano, Sistemi Operativi A 1 Nastri magnetici Proprietà principali - Sono stati i primi supporti per la memorizzazione esterna di dati - Grande capacità, lunghi tempi di conservazione (~) - Accesso sequenziale, bassa velocità di posizionamento, velocità di trasferimento accettabile - Usati per copie di archivio e per trasferimento dati tra sistemi - Dimensioni tipiche 20-200GB per nastro - Costo relativo molto basso, poco pratici - Cartucce, sistemi robotizzati Augusto Celentano, Sistemi Operativi A 2

Dischi ottici CD-DVD - Nati per applicazioni audio-video, accesso prevalentemente sequenziale - Tecnologia di lettura e scrittura laser, capacità variabile in funzione della lunghezza d onda del laser - Costo molto basso, velocità elevata in caso di accesso sequenziale - Durata abbastanza elevata (20-100 anni?) - Utilizzo prevalente per distribuzione di informazioni e archivio personale - Supporti non riutilizzabili (eccetto dispositivi RW) Augusto Celentano, Sistemi Operativi A 3 Memorie ibride Disco magnetico + memoria cache non volatile Augusto Celentano, Sistemi Operativi A 4 Struttura logica dei dischi magnetici I dischi sono considerati un grande vettore monodimensionale di blocchi logici, dove un blocco logico è la minima unità di trasferimento. Il vettore corrisponde in modo sequenziale ai settori del disco: - Il settore 0 è il primo settore della prima traccia sul 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 - Eccezione: tracce di riserva Augusto Celentano, Sistemi Operativi A 5

Scheduling del disco Il sistema operativo è responsabile di una gestione efficiente delle risorse fisiche - tempi d accesso contenuti e ampiezze di banda elevate Il tempo d accesso ha due componenti principali: - il tempo di ricerca (seek time) è il tempo necessario affinché il braccio dell unità a disco sposti le testine fino al cilindro contenente il settore desiderato - la latenza di rotazione (rotational latency) è il tempo aggiuntivo necessario perché il disco ruoti finché il settore desiderato si trovi sotto la testina - minimizzare il tempo d accesso ~= minimizzare la distanza percorsa L ampiezza di banda del disco (disk bandwidth) è il numero totale di byte trasferiti diviso il tempo totale intercorso fra la prima richiesta e il completamento dell ultimo trasferimento Augusto Celentano, Sistemi Operativi A 6 Calcolo del tempo di accesso Il seek time dipende dalla distanza tra le tracce ~ 1 ms fra tracce adiacenti S a + bn ~ 100 ms per l intero disco (~10 4 tracce) La latenza di rotazione dipende dalla velocità di rotazione del disco L ms = 1/2 x 60/v rpm x 1000 Il seek time è dominante 4200 rpm 5400 rpm 7200 rpm 10000 rpm 7,14mS 5,56mS 4,17mS 3 ms Augusto Celentano, Sistemi Operativi A 7 Scheduling del disco Esistono numerosi algoritmi di scheduling - First Come First Served (FCFS) - Shortest Scan Time First (SSTF) - Sequential Scan (SCAN, C-SCAN, LOOK, C-LOOK) Consideriamo, ad esempio, una coda di richieste nell ordine seguente (0-199). 98, 183, 37, 122, 14, 124, 65, 67 Puntatore inizialmente al cilindro 53 Augusto Celentano, Sistemi Operativi A 8

Scheduling FCFS Seleziona le richieste nell ordine di arrivo. Lo scheduling FCFS è una forma di scheduling semplice e fair Può causare lunghi tempi di posizionamento se le richieste che arrivano riguardano aree molto distanti del disco - avvicendamento di processi diversi Augusto Celentano, Sistemi Operativi A 9 FCFS Movimento totale: 640 cilindri Silberschatz, 2006 Augusto Celentano, Sistemi Operativi A 10 Scheduling SSTF Seleziona la richiesta con il minor tempo di ricerca rispetto all attuale posizione della testina. Lo scheduling SSTF è essenzialmente una forma di scheduling per brevità (come SJF, shortest job first) e, al pari di questo, può condurre a situazioni di attesa indefinita (starvation) di alcune richieste - es. un insieme di processi prioritari che leggono in una zona limitata del disco possono bloccare un processo che legge in una zona distante - soluzione: due code di richieste, mentre si serve l una le richieste sono accodate sull altra Augusto Celentano, Sistemi Operativi A 11

SSTF Movimento totale: 236 cilindri Silberschatz, 2006 Augusto Celentano, Sistemi Operativi A 12 Scheduling per scansione (SCAN) Secondo l algoritmo SCAN il braccio dell unità a disco parte da un estremo del disco e si sposta verso l altro estremo - serve le richieste mentre attraversa i cilindri, fino a che non giunge all altro estremo del disco - il braccio inverte la marcia e la procedura continua nel verso opposto L algoritmo SCAN è chiamato anche algoritmo dell ascensore - il braccio dell unità a disco si comporta come un ascensore che serve prima tutte le richieste in salita e poi tutte quelle in discesa Augusto Celentano, Sistemi Operativi A 13 SCAN Movimento totale: 236 cilindri Silberschatz, 2006 Augusto Celentano, Sistemi Operativi A 14

SCAN Movimento totale: 331 cilindri Silberschatz, 2006 Augusto Celentano, Sistemi Operativi A 15 SCAN - problema L algoritmo SCAN non garantisce tempi d attesa uniformi - I cilindri sulle tracce esterne sono attraversati con frequenza variabile rispetto ai cilindri centrali n 0 t Augusto Celentano, Sistemi Operativi A 16 Scheduling per scansione circolare (C-SCAN) L algoritmo C-SCAN tratta il disco come una lista circolare, cioè come se il primo e l ultimo cilindro fossero adiacenti - come lo SCAN, sposta la testina da un estremo all altro del disco, servendo le richieste lungo il percorso - quando la testina giunge all estremo del disco ritorna all inizio senza servire richieste durante il viaggio di ritorno - garantisce tempi di attesa più uniformi n 0 t Augusto Celentano, Sistemi Operativi A 17

C-SCAN Movimento totale: 382 cilindri Silberschatz, 2006 Augusto Celentano, Sistemi Operativi A 18 LOOK, C-LOOK Varianti di SCAN, C-SCAN Il braccio si sposta solo finché ci sono altre richieste da servire in ciascuna direzione, dopo di che cambia immediatamente direzione, senza giungere all estremo del disco Augusto Celentano, Sistemi Operativi A 19 C-LOOK Movimento totale: 322 cilindri Silberschatz, 2006 Augusto Celentano, Sistemi Operativi A 20

Scelta di un algoritmo di scheduling Le prestazioni dipendono in larga misura dal numero e dal tipo di richieste Le richieste di I/O per l unità a disco possono essere notevolmente influenzate dal metodo adottato per l allocazione dei file SSTF è molto comune e naturalmente semplice SCAN e C-SCAN offrono migliori prestazioni in sistemi che sfruttano molto le unità a disco Sia SSTF sia LOOK costituiscono un ragionevole algoritmo di partenza L algoritmo di scheduling del disco dovrebbe costituire un modulo a sé stante del sistema operativo così da poter essere sostituito da un altro algoritmo qualora ciò fosse necessario Augusto Celentano, Sistemi Operativi A 21 Strutture RAID Le batterie ridondanti di dischi (RAID, redundant array of independent/inexpensive disk) hanno lo scopo di affrontare i problemi di prestazioni e affidabilità. La tecnica RAID è organizzata su diversi livelli (0-6) Augusto Celentano, Sistemi Operativi A 22 Strutture RAID L evoluzione tecnologica ha reso le unità a disco progressivamente più piccole e meno costose tanto che oggi è possibile, senza eccessivi sforzi economici, equipaggiare un sistema di calcolo con molti dischi La presenza di più dischi, qualora si possano usare in parallelo, rende possibile l aumento della frequenza alla quale i dati si possono leggere o scrivere Gli schemi RAID migliorano l affidabilità della memoria secondaria poiché diventa possibile memorizzare le informazioni in più dischi in modo ridondante - La copiatura speculare (mirroring o shadowing) mantiene un duplicato di ciascun disco - L organizzazione con blocchi intercalati a parità distribuita utilizza meno la ridondanza Augusto Celentano, Sistemi Operativi A 23

Livelli RAID (0-2) Stallings, 2005 Augusto Celentano, Sistemi Operativi A 24 Livelli RAID (3-4) Stallings, 2005 Augusto Celentano, Sistemi Operativi A 25 Livelli RAID (5-6) Stallings, 2005 Augusto Celentano, Sistemi Operativi A 26

RAID Performance - il data path dai dischi alla memoria (controller, bus, ecc) deve essere in grado di sostenere le maggiori performance - l'obiettivo è quello di Ridurre il tempo di accesso per accessi a grandi quantità di dati Ridurre il tempo di risposta (tramite bilanciamento del carico) per accessi multipli indipendenti a piccole porzioni di dati Affidabilità - la presenza di più dischi aumenta le probabilità di guasto - per compensare questa riduzione di affidabilità, RAID utilizza la ridondanza nella memorizzazione (mirroring, meccanismi di parità) Augusto Celentano, Sistemi Operativi A 27 RAID 0 (striping) Descrizione - il sistema RAID viene visto come un disco logico - i dati nel disco logico vengono suddivisi in strip (e.g., settori, blocchi, byte, bit oppure altro) - strip consecutive sono distribuiti su dischi diversi, aumentando le performance nell'accesso ai dati Strip 0 Strip 1 Strip 2 Strip 3 Strip 4 Strip 5 Strip 6 Strip 7 Strip 8 Strip 9 Strip 10 Strip 11 Strip 12 Strip 13 Strip 14 Strip 15 Disco 1 Disco 2 Disco 3 Disco 4 Augusto Celentano, Sistemi Operativi A 28 RAID 0 (striping) Vantaggi - più richieste possono essere servite in parallelo - stripes a livello di blocco: se due richieste di I/O riguardano blocchi indipendenti di dati, è possibile che i blocchi siano su dischi differenti - stripes a livello < blocco: una richiesta di un blocco viene servita in tempo minore (blocco più grande nello stesso tempo) Ma... - Non è un membro "a tutti gli effetti" della famiglia RAID, perchè non utilizza meccanismi di ridondanza - Può essere utilizzato per applicazioni in cui l'affidabilità non è un grosso problema, ma lo sono la velocità e il basso costo Augusto Celentano, Sistemi Operativi A 29

RAID 1 (mirroring) Descrizione - Adotta uno stile di ridondanza semplice: mirroring (shadowing) - I dati di ogni disco sono copiati in modo speculare su un altro disco di un secondo insieme - Come prima, il sistema è basato su striping, ma questa volta ogni strip viene mappato su due dischi diversi Strip 0 Strip 1 Strip 0 Strip 1 Strip 2 Strip 3 Strip 2 Strip 3 Strip 4 Strip 5 Strip 4 Strip 5 Strip 6 Strip 7 Strip 6 Strip 7 Disco 1 Disco 2 Disco 3 Disco 4 Augusto Celentano, Sistemi Operativi A 30 RAID 1 Performance - ogni richiesta di lettura può essere servita da uno qualsiasi dei due dischi che ospitano il dato si può scegliere quello con tempo di seek minore - una richiesta di scrittura deve essere portata a termine su ambedue i dischi è legato alla più lenta delle due scritture Ridondanza - il recovery è molto semplice se un disco si guasta, i dati possono essere recuperati dalla sua copia speculare è quindi necessario sostituire il disco con la copia Il costo per unità di memorizzazione raddoppia Augusto Celentano, Sistemi Operativi A 31 RAID 2-3 (accesso parallelo) Accesso parallelo - tutti i dischi partecipano all'esecuzione di ogni richiesta di I/O - i dischi sono sincronizzati in modo che le testine di lettura siano nella stessa posizione allo stesso istante - suddivisione fra dischi dati e dischi parità un codice di correzione di errore o di parità viene calcolato a partire dai bit corrispondenti dei dischi dati questo codice viene memorizzato nei dischi parità - si utilizza data striping, con stripes molto piccoli (bit, byte, word) Augusto Celentano, Sistemi Operativi A 32

RAID 2 Descrizione - ECC (error correction code) è basato tipicamente sul codice di Hamming, con distanza 3 permette di correggere errori fino a un bit (e di rilevare errori fino a due bit) - il numero di dischi di parità è proporzionale al logaritmo del numero di dischi di dati - è costoso b 0 b 1 b 2 b 3 f 0 (b) f 1 (b) f 2 (b) Augusto Celentano, Sistemi Operativi A 33 RAID 3 Descrizione - il codice calcolato è un semplice bit di parità - meno costoso: è richiesto un solo disco di parità - idea: i dischi hanno già dei meccanismi interni di controllo degli errori una lettura errata viene segnalata dal disco interessato il bit di parità consente quindi di correggere l'errore b 0 b 1 b 2 b 3 P(b) Augusto Celentano, Sistemi Operativi A 34 Dispositivi per la memorizzazione terziaria La memoria terziaria è destinata a funzioni di archivio permanente e non continuamente on-line - basso costo per unità di memorizzazione - mezzi rimovibili (rete?) costo cache ram memorie flash dischi magnetici dischi ottici nastri magnetici capacità Augusto Celentano, Sistemi Operativi A 35