Memoria secondaria Struttura del disco Scheduling del disco

Slides:



Advertisements
Presentazioni simili
Scheduling (Schedulazione) Susanna Pelagatti – Università di Pisa
Advertisements

Gestione della Memoria
1 Introduzione ai calcolatori Parte II Software di base.
Gestione della memoria centrale
Unità D2 Archivi e file.
Hard disk.
Il Sistema Operativo.
File System Cos’è un File System File e Directory
Gestione della Memoria
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
I COMPONENTI DEL Computer
Realizzazione del file system
Memoria virtuale Memoria virtuale – separazione della memoria logica dell’utente dalla memoria fisica. Solo alcune parti di un programma devono trovarsi.
Operating System Concepts
Memoria secondaria e terziaria
Gestione della memoria
Interfaccia del file system
Strutture dei Sistemi Operativi
Realizzazione del file system
Memoria Virtuale Background Paginazione su richiesta
Gestione della memoria
Interfaccia del file system
Sincronizzazione fra processi
Scheduling della CPU Concetti fondamentali Criteri di scheduling
Scheduling della CPU Concetti di base Criteri di scheduling
Laboratorio Informatico
Memorie.
File.
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
Input/Output.
Le prestazioni (velocità) di un singolo disco sono limitate dalla tecnologia usata, -per aumentare le prestazioni si può pensare di far operare in parallelo.
Disco magnetico (2) Ciascuna traccia è divisa in settori
Struttura dei sistemi operativi (panoramica)
Memoria Secondaria e Terziaria
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo La gestione dellI/O 4Prestazioni e generalità 4.1Modelli di funzionamento 4.2Dischi.
Sistemi Operativi SCHEDULING DELLA CPU.
Sistemi Operativi GESTIONE DELLA MEMORIA CENTRALE.
Strutture dei sistemi di calcolo Funzionamento di un sistema di calcolo Struttura di I/O Struttura della memoria Gerarchia delle memorie Architetture di.
MEMORIA CENTRALE Spazio di lavoro del calcolatore: contiene i dati da elaborare e i risultati delle elaborazioni durante il funzionamento del calcolatore.
Labortaorio informatica 2003 Prof. Giovanni Raho 1 INFORMATICA Termini e concetti principali.
UNIVERSITA’ STUDI DI ROMA “FORO ITALICO”
Elementi di Informatica di base
PRESENTAZIONE di RICCARDO
Modulo 1 - Concetti di base della Tecnologia dell'Informazione
SISTEMA OPERATIVO..
Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco.
Il Sistema Operativo: il File System
Threads.
Architettura Centralizzata di un DBMS Relazionale
Sistema Operativo (Software di base)
1 Il Buffer Cache Unix (Bach: the Design of the Unix Operating System (cap: 3)
I processi.
1 Gestione della Memoria. 2 Idealmente la memoria dovrebbe essere –grande –veloce –non volatile Gerarchia di memorie –Disco: capiente, lento, non volatile.
Gestione del processore (Scheduler)
1 Alcuni esempi di dispositivi (2) Disco rigido, RAID, video.
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
1 Alcuni esempi di dispositivi (2) Disco rigido, RAID, video.
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
Gestione della Memoria
1 Alcuni esempi di dispositivi Disco rigido, RAID, video.
1 Memorie di massa L’informazione è rappresentata dallo stato di magnetizzazione che può essere positivo o negativo ed è associato ad una cifra binaria.
MEMORIA CENTRALE Spazio di lavoro del calcolatore: contiene i dati da elaborare e i risultati delle elaborazioni svolte durante il funzionamento del calcolatore.
EVOLUZIONE DEL PC Legge di Moore: La potenza dei calcolatori raddoppia ogni 18 mesi. Inizi anni 80 (Personal Computer IBM AT) Architettura 16 bit interna,
1 1. Introduzione alla gestione della memoria 2. Swapping 3. Memoria virtuale 4. Implementazione 5. Algoritmi di sostituzione Gestione della Memoria.
Memoria Cache l Memoria molto veloce intermedia tra RAM e CPU l i dati di uso piu’ frequente sono mantenuti nella memoria Cache per minimizzare i trasferimenti.
Il modello di Von Neumann
La suddivisione di un disco è così articolata: il disco magnetico è suddiviso in tracce concentriche una traccia è suddivisa in spicchi di disco detti.
Gestione delle periferiche. Le periferiche sono dispositivi che permettono le operazioni di input/output.
Vengono detti memorie di massa tutti i supporti (dischi e nastri) su cui vengono registrati dati, documenti e programmi che si vogliono conservare, sono.
Prof.ssa Rossella Petreschi Lezione del 17 /10/2014 del Corso di Algoritmica Lezione n°5.
Transcript della presentazione:

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 Operating System Concepts

Struttura del disco I dischi vengono indirizzati come giganteschi vettori monodimensionali di blocchi logici, dove il blocco 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 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. Operating System Concepts

Scheduling 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 accesso al disco si può scindere in due componenti principali: Tempo di ricerca (seek time ) — è il tempo impiegato per spostare la testina sul cilindro che contiene il settore desiderato. Latenza di rotazione (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 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. Operating System Concepts

Scheduling 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 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. Operating System Concepts

Scheduling FCFS FCFS (First Come First Served ): è un algoritmo intrinsecamente equo. Si produce un movimento totale della testina pari a 640 cilindri. Operating System Concepts

Scheduling SSTF Seleziona la richiesta con il minor tempo di seek a partire dalla posizione corrente della testina. SSTF (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 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. Operating System Concepts

Scheduling 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’ascensore. Si ha un movimento totale pari a 236 cilindri. Operating System Concepts

Scheduling 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. Operating System Concepts

Scheduling 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. Operating System Concepts

Scelta 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. Operating System Concepts

Gestione dell’unità a disco Formattazione di basso livello, o formatta- zione 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 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. Il caricamento del sistema avviene grazie al bootstrap loader. Si impiega l’accantonamento dei settori per gestire i blocchi difettosi. Configurazione del disco in MS–DOS Operating System Concepts

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 separata del disco. Esempio: Gestione dello spazio di swap di 4.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 2 alloca lo spazio di swap al momento in cui una pagina viene spostata fuori dalla memoria fisica, non all’atto della sua creazione. Operating System Concepts

Esempio: 4.3 BSD UNIX Mappa di swap per il segmento di testo Mappa di swap per il segmento dei dati Operating System Concepts

Struttura RAID RAID, Redundant Array of Independent Disks — l’affidabilità del sistema di memorizzazione viene garantita tramite la ridondanza. Le tecniche per aumentare la velocità di accesso al disco implicano l’uso di più dischi cooperanti. Il sezionamento del disco o interfogliatura 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 mirroring o shadowing conserva duplicati di informazione. La struttura a blocchi di parità interfogliati utilizza un minor grado di ridondanza, mantenendo buona affidabilità. Operating System Concepts

Struttura RAID Livelli RAID RAID (0 + 1) e (1 + 0) Operating System Concepts

Realizzazione della memoria stabile 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. Operating System Concepts

Dispositivi 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 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. Operating System Concepts

Affidabilità 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. Operating System Concepts

Costo al megabyte per la DRAM, 1981–2000 Operating System Concepts

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

Costo al megabyte del nastro magnetico, 1984–2000 Operating System Concepts