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

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

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

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

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

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

Il file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato.

Il file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato.

Il file È un insieme di informazioni: programmi. Il File System. Il file system

Il file system. Il File System. Il file È un insieme di informazioni: programmi dati testi

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

Il File System. Sistemi Operativi T AA

14 Struttura della memoria secondaria Struttura del disco Struttura del disco

Il file system. Il File System. Attributi del file. File

Il File System. Sistemi Operativi L-A AA

Gestione del file system. Astrazione di File System. Attributi del file. File

Architettura degli elaboratori Docente:

Sistemi Operativi (modulo di Informatica II) L interfaccia del file system

Sistemi Operativi. L interfaccia del file system

Sistemi Operativi (modulo di Informatica II) L interfaccia del file system

Memoria secondaria. Fabio Buttussi HCI Lab Dept. of Math and Computer Science University of Udine ITALY

Logico e fisico. Fisico: legato agli aspetti costruttivi e tecnologici HARDWARE Logico: legato al significato e all organizzazione SOFTWARE FISICO

Informatica II Sistemi Operativi DIGIP - a.a. 2015/16

Il Sistema Operativo Gestione del File System

I file utente sistema operativo nome

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

Sistemi Operativi. Bruschi Martignoni Monga. File system Astrazioni utente Metadati Tecniche implementative. Sistemi Operativi

Informatica 11. appunti dalla lezione del 23/11/2010

Sommario FONDAMENTI DI INFORMATICA. Schema dell'architettura a livelli del SO. Il Sistema Operativo (SO) SISTEMI OPERATIVI

Sistemi Operativi FILE SYSTEM : INTERFACCIA. D. Talia - UNICAL. Sistemi Operativi 8.1

Sistemi Operativi 1. Mattia Monga. 6 giugno Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia

Interfaccia del file system

Si può simulare una struttura di directory a multilivelli con una struttura di directory a singolo livello?"

Capitolo 14: Struttura delle memorie di massa

Partizioni e File system. Fondamenti di informatica

FONDAMENTI DI INFORMATICA

Strutture fisiche e strutture di accesso ai dati

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

GESTIONE DELLA MEMORIA CENTRALE 6.1 D. - UNICAL

Sistema operativo: Gestione del file system e delle periferiche

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

Il Sistema Operativo

File: definizione. Il file è la più piccola unità logica manipolabie Un file è caratterizzato principalmente da:

FILE SYSTEM. Ciascuno strato costituisce un modulo che è in grado di svolgere le funzioni relative, indipendentemente dagli altri livelli.

La memoria secondaria

File System. Sistemi Operativi Lezione 19

Laboratorio di Informatica. Il Sistema Operativo. Il Sistema Operativo 1

MODELLI DEI DATI. Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia

Il sistema operativo deve fornire una visione astratta dei file su disco e l'utente deve avere la possibilità di:

Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia. Università degli Studi di Salerno

Pag Politecnico di Torino 1

D B M G D B M G 2. Gestione degli indici. Introduzione Strutture fisiche di accesso Definizione di indici in SQL Progettazione fisica

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

File System ext2. Struttura del filesystem ext2.

CdL in Medicina Veterinaria - STPA AA

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

Linguaggio C: i file

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

12 Memoria secondaria Struttura del disco Struttura del disco

Basi di Dati e Sistemi Informativi. Organizzazione fisica dei dati. Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale

Sistema Operativo (Software di base)

Gestione della memoria. Introduzione Swapping Allocazione contigua Paginazione

CHE COS È. I file vengono utilizzati come supporto per la memorizzazione dei programmi (sia programmi di sistema che programmi utente) e dei dati

Sistemi Operativi. Modulo 8: Gestione I/O, Memoria secondaria

Sistema operativo & file system 1

! 11.2! Silberschatz, Galvin and Gagne 2005! Operating System Concepts 7 th Edition, Jan 1, 2005!

Bibliografia. UD 1.5c: Il Sistema Operativo (parte 2) La Gestione dei File (File System)

Componenti di un sistema operativo

Lezione 10. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata

Interfaccia del file system. Marco Cesati. Schema della lezione. Directory 1 SO Interfaccia del file system. Marco Cesati

Architettura di un calcolatore

Sistemi operativi e distribuiti

Il Sistema Operativo

1.9: Gestione della Memoria Secondaria

2. Cenni di sistemi operativi

Informatica e Bioinformatica: Sistemi Operativi

Capitolo Silberschatz

Sistemi RAID. Motivazioni Concetti di base Livelli RAID. Sommario

Architettura dei sistemi di elaborazione (La memoria parte 4)

UD 1.5c: Il Sistema Operativo (parte 2)

Il software. Il solo hardware non è sufficiente per usare un calcolatore

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

Informatica 3. LEZIONE 20: Ordinamento esterno. Modulo 1: Organizzazione della memoria Modulo 2: Ordinamento esterno

Fondamenti di Informatica

Sistema operativo. Interazione con il SO

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

Introduzione Definizioni

LABORATORIO DI INFORMATICA

File System. Capitolo Silberschatz

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

Il file system. meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate. in memoria di massa

IL SOFTWARE DI SISTEMA

Il Sistema Operativo Ripasso

Filesystem: richiami sui concetti di base

Elementi di Informatica A. A. 2016/2017

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

Capitolo 11: l interfaccia del file system

Gestione periferiche I/O

Transcript:

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2016-17 Pietro Frasca Lezione 17 Martedì 13-12-2016

Sceduling in ordine di arrivo - FCFS Coda delle richieste: 14, 40, 23, 47, 7 Posizione iniziale: 20 Scheduling: 14, 40, 23, 47, 7 Percorso 113 cilindri cilindri 1 7 14 20 23 40 47 50 t 2

Sceduling per scansione SSTF (Shortest Seek Time First) Coda delle richieste: 14, 40, 23, 47, 7 Posizione iniziale: 20 Scheduling: 23, 14, 7, 40, 47 Percorso 59 cilindri cilindri 1 7 14 20 23 40 47 50 t 3

Sceduling per scansione SCAN Coda delle richieste: 14, 40, 23, 47, 7 Posizione iniziale: 20 Scheduling: 14, 7, 23, 40, 47 Percorso 53 cilindri cilindri 1 7 14 20 23 40 47 50 1 t 2 4

L algoritmo FCFS è il più semplice e il meno efficiente L algoritmo SSTF ha prestazioni superiori a FCFS. Tuttavia, può generare attesa indefinita (starvation) se sono presenti in coda molte richieste per accedere a cilindri tra loro vicini e una richiesta distante. Infatti, se nella coda arrivano continuamente richieste di accesso a cilindri vicini all ultimo servito, la richiesta del cilindro lontano rischia di non essere soddisfatta per un tempo eccessivo. L algoritmo SCAN è noto anche con il nome algoritmo dell ascensore, poiché funziona similmente a un ascensore con prenotazione delle chiamate. Elimina la possibilità di starvation. 5

Dischi RAID (Redundancy Array of Independent Disk) E possibile migliorare le prestazioni dei dischi mediante particolari tecnologie. Uno standard molto diffuso è RAID (Redundancy Array of Independent Disk), che consente di memorizzare i dati su array di dischi, per migliorare l affidabilità e la velocità degli accessi. Con questa tecnologia, in un sistema con N dischi, ciascuno di capacità disk_size, è possibile realizzare un disco virtuale di capacità N*disk_size e con tempo di accesso notevolmente inferiore. Lo standard RAID ha 7 varianti indicate con varianti di livello 0,1,2,3,4,5 e 6. Ogni livello ha caratteristiche diverse, in dipendenza della ridondanza di dati e della velocità di accesso che si vogliono ottenere. 6

La variante del livello 0, schema di figura, non produce alcuna ridondanza dei dati. La variante di livello 1 (mirroring) è come il livello 0 ma con tutti i dischi duplicati (in relazione al caso di figura sarebbero necessari 6 dischi). E uno schema ottimo sia per quanto riguarda l affidabilità che la velocità di accesso. La presenza delle copie consente di effettuare operazioni di scrittura in parallelo mentre le operazioni di lettura si possono ottenere referenziando il disco che richiede il minor tempo di trasferimento. Questo schema è il più costoso in quanto richiede un numero elevato di dischi. Ci sono altre varianti che vanno dai livelli 2 al 6, che differiscono dal livello 1 per il livello di ridondanza dei dati e per le capacità di rilevazione e correzione degli errori, che utilizzano schemi per il controllo di parità o codifica di hamming. 7

Dischi RAID. Schema di livello 0 (senza ridondanza dei dati) Disco virtuale Settore 0 Settore 1 Settore 2 Settore 3 Settore 4 Settore 5 Settore 3*N-1 Settore 0 Settore 1 Settore 2 Settore N Settore 0 Settore 1 Settore 2 Settore N Disco reale 1 Disco reale 2 Settore 0 Settore 1 Settore 2 Disco reale 3 Settore N 8

Il livello 5 ad esempio, presenta un livello di ridondanza nettamente inferiore al mirroring (livello 1). Un determinato numero di blocchi su ogni disco è usato per contenere dati aggiuntivi per il controllo di parità. Ad esempio, nel caso di un array di N dischi, per ogni gruppo di M settori consecutivi, viene calcolato un settore M+1 per contenere bit di parità. 9

Dischi RAID. Schema di livello 5 Disco virtuale Settore 0 Settore 1 Settore 2 Settore 3 Settore 4 Settore 5 Settore 3*N-1 Settore 0 Settore M-1 Settore M Settore N Settore 0 Settore M-1 Settore M Settore N Disco reale 1 Blocco di ridondanza per rilevazione e correzione errori Disco reale 2 Blocco di ridondanza per rilevazione e correzione errori Settore 0 Settore M-1 Settore M Settore N Disco reale 3 Blocco di ridondanza per rilevazione e correzione errori 10

Il file system Il file system è la parte del SO che realizza le astrazioni e le tecniche che consentono la rappresentazione, l archiviazione e l accesso ai dati memorizzati sulla memoria secondaria. La struttura di un file system è formata da vari componenti organizzati in vari livelli: Struttura logica Accesso Organizzazione fisica Dispositivo virtuale HW memoria secondaria 11

La struttura logica del file system La struttura logica consente all utente di vedere i dati memorizzati sulla memoria secondaria a prescindere dalle caratteristiche dei dispositivi e dalle tecniche di allocazione. I dati sono visti sottoforma di file e directory (cartelle). Il file il file è l unità logica di memorizzazione all interno del file system. I file possono contenere informazione di vario genere: testo, programma eseguibile, audio, video, immagini etc. Un file è identificato da un nome ed è descritto da un insieme di attributi, come ad esempio data ultima modifica dimensione tipo 12

Nei SO multiutente sono anche presenti: proprietario gruppo diritti di accesso La directory La directory è un astrazione che consente di raggruppare più file. E un contenitore di file. Una directory può contenere nel suo interno altre directory (directory nidificate). La struttura del file system è quindi un insieme di file e directory. Generalmente i file system sono strutturati ad albero o a grafo. 13

/ bin etc home eva lino programmi File system con struttura ad albero 14

/ bin etc home eva lino programmi f File system con struttura a grafo 15

Gestione della struttura logica del file system Il SO offre un insieme di chiamate di sistema per la gestione del file system. Le principali operazioni sono: Creazione, rinomina e cancellazione di directory Creazione, rinomina e cancellazione di file Creazione, rinomina e cancellazione di link Listato di una directory Navigazione del file system Spostamento di file e directory E possibile eseguire queste operazioni sia mediante interfaccia grafica (GUI) del SO che attraverso comandi digitati mediante l uso di una shell. Operazioni più complesse si possono ottenere realizzando script di shell o applicazioni, scritte con un linguaggio, che fanno uso di chiamate di sistema relative al file system. 16

Il livello di accesso al file system Definisce e realizza le funzioni e le tecniche attraverso le quali è possibile accedere ai file. Le operazioni di lettura e scrittura sono due tipi di accesso. In questo livello, i file sono formati da un insieme di record logici. Il record logico costituisce l unità di trasferimento tra file e processo ed è caratterizzato da un insieme di proprietà come ad esempio il formato e la dimensione. Esistono vari tipi di accesso ai file, i più comuni sono l accesso sequenziale ed l accesso casuale (random). Inoltre, questo livello implementa, in un SO multiutente, le tecniche e le politiche di protezione dei file che stabiliscono i diritti di accesso dei file per gli utenti. 17

Strutture dati e operazioni di accesso ai file Un file viene descritto mediante una struttura dati, detta descrittore del file. Il descrittore deve avere caratteristiche di persistenza, ed è quindi memorizzato su disco. Il descrittore del file contiene oltre le proprietà precedentemente descritte (nome, tipo, dimensione, proprietario, etc.) anche gli indirizzi dei blocchi su disco che ne specificano l allocazione fisica. Ogni directory è collegata ai descrittori di file in essa contenuti. i processi possono accedere ai file in vario modo: Lettura Scrittura Scrittura accodata (append) Per eseguire un operazione su un file è necessario leggere prima il suo descrittore. 18

Per velocizzare le operazioni sui file, il SO mantiene in memoria una struttura dati detta tabella dei file aperti che contiene alcune informazioni associate ai file in uso. Generalmente, un elemento della tabella dei file aperti contiene: Una copia del descrittore del file Informazioni relative al processo che accede al file Il puntatore al prossimo record logico da leggere o scrivere (nel caso di accesso sequenziale) L operazione di apertura di un file produce l inserimento di un nuovo elemento nella tabella del file aperti. E quindi conveniente chiudere un file, quando non lo si deve più usare, in quanto comporta l eliminazione del relativo elemento dalla tabella dei file aperti. 19

lino f1 f2 f3 f1 descrittore f2 descrittore f3 descrittore f1 f2 f3 descrittore f1 descrittore f2 descrittore f3 Struttura directory: il descrittore del file fa parte della directory (windows) Struttura directory: i descrittori dei file sono nella tabella dei descrittori (unix) 20

Per velocizzare le operazioni sui file, molti sistemi operativi utilizzano la tecnica memory mapping che consiste nel copiare il file aperto in memoria. In questo modo le operazioni si compiono sulla copia in memoria con notevole aumento di velocità. Quando si chiude il file, si salva la copia in memoria del file su disco e si elimina l elemento corrispondente dalla tabella dei file aperti. 21

Metodi di accesso I metodi di accesso determinano le operazioni che i processi possono eseguire sui file. I metodi di accesso più diffusi sono: Accesso sequenziale Accesso diretto (random) Accesso indicizzato Ogni metodo di accesso dipende dalla particolare struttura del file, che a questo livello è visto come un insieme di record logici. F: {R1, R2, Rn} R1 R2 Rk Il record logico è l unità di lettura/scrittura sul file. RN 22

Accesso sequenziale Ogni file è formato da una sequenza di record logici. I record possono essere scritti e letti solo in sequenza, quindi, ad esempio, per leggere un record che si trova nella posizione j è necessario leggere tutti i j-1 precedenti. Il sistema utilizza un puntatore al file che indica il prossimo byte su cui leggere o scrivere. Le chiamate di sistema per l accesso sequenziale sono del tipo: readnext (f,v) writenext(f,v) R1 R2 Puntatore a file Rk Rj RN 23

Per accedere al record j è necessario eseguire nel modo seguente: for (i=1; i<j;i++) readnext(f, V); /* lettura dei record precedenti */ readnext(f,v); /* lettura del record j */ 24

Accesso diretto L accesso diretto permette di leggere/scrivere un qualunque record del file con operazioni del tipo: readd(f, j, V) writed(f, j, V) Si può accedere ad un determinato record specificandone l indice j. Non è necessario quindi dover scorrere i record precedenti. 25

Accesso a indice Con l accesso a indice la struttura del record logico è composta di almeno due campi, uno dei quali, la chiave, identifica univocamente un determinato record. Inoltre ad ogni file viene associata una tabella, detta indice, nella quale è presente una riga per ogni chiave che contiene un campo di riferimento al record corrispondente nel file. In questo modo è possibile accedere a un particolare record del file specificandone la chiave, mediante le operazioni: readk(f, key, V) writek(f, key, V) La chiave consente di accedere direttamente al record cercato, previa ricerca associativa nell indice del file. 26

chiave Bianchi Neri Mario Neri Verdi Indice del file file 27

Il livello organizzazione fisica In questo livello si implementano le tecniche per allocare i record logici nel dispositivo di memoria secondaria il quale è visto come insieme di blocchi fisici. Il blocco fisico (blocco) è l unità minima di allocazione e di trasferimento dei dati. Nel caso dei dischi ogni blocco ha un suo indirizzo fisico. Non tutto lo spazio di un disco è usato per memorizzare i file. Alcune parti sono usate per mantenere la struttura logica del file system e per salvare le informazioni relative ai diritti di accesso dei file. 28

Tecniche di allocazione dei file Queste tecniche creano la corrispondenza tra i record logici contenuti in un file e l insieme dei blocchi fisici in cui sono effettivamente memorizzati. I processi accedono ai file considerando il record logico come unità di accesso al file mentre l unità di allocazione dei dati sul disco è il blocco (record fisico), la cui dimensione è fissa e tipicamente compresa tra 512 e 4096 byte. Ci sono varie tecniche con cui allocare i file, le più diffuse sono: Allocazione contigua Allocazione a lista Allocazione a indice 29

Allocazione contigua Ogni file occupa un insieme di blocchi contigui. Con questa tecnica è semplice ed efficiente sia il metodo ad accesso sequenziale che il metodo ad accesso diretto. Il descrittore del file, contiene l indirizzo I0 del primo blocco in cui è allocato il file e il numero N di blocchi occupati. L indirizzo del blocco in cui è allocato il record Ri è dato da: Ii=I0+i/NB Dove NB = Db/Dr è il numero di record logici contenuti in ogni blocco, avendo indicato con Db la dimensione del blocco e con Dr la dimensione del record logico. Db I0 Dr 30

Il metodo di allocazione contigua presenta i seguenti svantaggi: Ricerca difficile per trovare un insieme di blocchi adiacenti la cui dimensione sia sufficiente per contenere il file da allocare. Per la scelta dell area contigua si ricorre a vari criteri, tra i quali: Best fit tende a minimizzare il numero di blocchi non utilizzati nell area prescelta per allocare il file, scegliendo quindi l area di dimensione più vicina (in eccesso) a quella del file. First fit viene scelta l area di indirizzo (su disco) inferiore. Worst fit viene scelta la zona di estensione massima, favorendo in questo modo la possibilità di ulteriori allocazioni nella stessa zona. Un altro svantaggio dell allocazione contigua è che porta alla frammentazione del disco. Per risolvere questo problema si ricorre all operazione di deframmentazione del disco che consiste nello spostare i file riallocandoli in modo contiguo eliminando così i numerosi buchi e ottenendo una zona libera contigua. 31

Descrittore f1 N Io Descrittore f2 f1 f1 f1 f1 f2 f2 f2 f2 f2 f3 f3 f3 f3 f4 f4 f4 f4 f4 f4 f4 f7 f7 f7 f7 Descrittore f7 f5 f5 f5 f6 f6 f6 Allocazione contigua 32

f1 f1 f1 f1 f2 f2 f2 f2 f2 f3 f3 f3 f3 f4 f4 f4 f4 f4 f4 f4 f7 f7 f7 f7 f5 f5 f5 f6 f6 f6 Deframmentazione del disco 33