IL FILE SYSTEM Memorizzazione delle Informazioni Permanenza delle Informazioni Indipendenza delle Informazioni I File Nome.

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "IL FILE SYSTEM Memorizzazione delle Informazioni Permanenza delle Informazioni Indipendenza delle Informazioni I File Nome."

Transcript

1 IL FILE SYSTEM Memorizzazione delle Informazioni Le applicazioni su un calcolatore hanno bisogno di memorizzare e rintracciare informazioni. Un processo può utilizzare il suo spazio degli indirizzi per memorizzare un quantitativo limitato di informazioni. Permanenza delle Informazioni Può essere necessario che le informazioni siano memorizzate per lungo tempo. Le informazioni memorizzate nello spazio degli indirizzi di un processo vengono perse al termine dell esecuzione del processo. Indipendenza delle Informazioni Più processi possono aver bisogno delle stesse informazioni contemporaneamente per cui è necessario che queste e la loro allocazione siano indipendenti dal processo. I File Per memorizzare grandi quantità di informazioni, rendere la memoria permanente e dare la possibilità a più processi di accedere alle stesse informazioni è necessario registrare tali informazioni in dischi o altri supporti in unità dette file. Il sistema operativo consente la gestione dei file mediante il modulo di gestione del File System. Oltre al contenuto proprio del file, il file system gestisce informazioni complementari relative al file come struttura, nome, tipo di accesso, protezione, ecc. I file consentono di ritrovare le informazioni che contengono mediante il proprio nome sul supporto in cui risiedono. Il nome del file si suddivide generalmente in Nome.Estensione entrambi con un numero variabile di caratteri e varia utilizzazione del minuscolo/maiuscolo. Spesso l estensione indica un particolare tipo di file, ad esempio: txt per un file di tipo testo; c per un programma in linguaggio C; lib per un file contenente una libreria di procedure. I file, in genere, contengono le informazioni in tre tipi di strutture: sequenza non strutturata di byte: consente la massima flessibilità al programma utente. Sistemi operativi molto diffusi come Dos e Unix utilizzano questa struttura (a); sequenza di record a lunghezza fissa: ha perso popolarità con il tempo (b); albero di record con campo chiave: è ancora in uso sui grossi mainframe usati per l elaborazione di dati commerciali (c). Nel corso del tempo il modello file, per la sua comodità d uso, si è articolato in diversi tipi di file: file regolari: contengono le informazioni dell utente, un programma eseguibile ecc. directory: conservano la struttura del file system ed informazioni sui file regolari; file speciali a caratteri: sono usati per modellare unità di input/output seriali come video, stampanti, reti, ecc; file speciali a blocchi: sono usati per modellare unità di input/output a blocchi come i dischi. Le informazioni nei file sono generalmente contenute in due formati: codice ASCII: rappresenta caratteri quasi tutti leggibili; i file programma sorgente ed i documenti sono generalmente registrati in questo formato. codice Binario: le sequenze di codici sono illeggibili; di solito i file memorizzati in questa modalità hanno una struttura interna. 1

2 Gli esempi precedenti mostrano due file binari: La figura (a) rappresenta un file eseguibile Unix; La figura (b) rappresenta un archivio contenente procedure. Le modalità di lettura delle informazioni in un file sono di due tipi: Accesso Sequenziale: i byte o i record sono letti uno dopo l altro, dall inizio alla fine; i vecchi sistemi operativi consentono solo questo tipo di accesso; nei file speciali a caratteri si accede in questo modo. Accesso Casuale: l accesso al blocco di informazioni avviene in maniera diretta; l avvento dei dischi ha consentito l introduzione di questo metodo di accesso; generalmente l accesso è diretto al blocco e sequenziale all interno del blocco. I sistemi operativi associano ai file altre informazioni come: data e ora della creazione; proprietario; dimensione, ecc. queste informazioni si definiscono attributi del file. Il sistema operativo pone a disposizione dell utente comandi di alto livello e chiamate di sistema per la gestione dei file. Alcune chiamate di sistema più comuni sono: create: creazione del file; delete: cancellazione del file; open: apertura del file con varie modalità (read-only, append, ecc.); close: chiusura del file; read: lettura di blocchi di dati; write: scrittura di blocchi di dati; append: aggiunta, in coda al file, di nuovi dati; seek: posizionamento del puntatore all interno del file. Alcuni sistemi operativi (es. Unix) consentono di mappare un file in memoria, ossia di caricarlo tutto o in parte, assegnandogli degli indirizzi virtuali. Questo permette ai processi di accedere in maniera trasparente ai file che possono essere quindi contenuti in memoria centrale per interi o per blocchi. 2

3 Questa tecnica velocizza le operazioni compiute sul file, soprattutto quando si riferiscono a parti limitate e non all intero file. Quando il processo che sta usando il file termina, quest ultimo viene riscritto sul disco. La virtualizzazione dell accesso comporta alcuni problemi che vanno attentamente gestiti: in caso di apertura contemporanea del file da parte di più processi alcune informazioni possono risultare inconsistenti; in caso di caduta del sistema alcune informazioni possono essere perse; sono necessarie tecniche per la rimozione delle pagine o dei blocchi dei file. Le Directory Per tener traccia dei file, il file system fornisce un indice comunemente chiamato directory. I vecchi sistemi operativi prevedevano un unica directory in cui confluivano tutti i file. Questo concetto è ormai superato dai sistemi gerarchici di directory. Tipicamente un elemento della directory contiene: il nome di un file ed eventualmente include anche gli attributi del file; in alternativa, il nome di un file ed un puntatore ad un altra struttura in cui si trovano gli attributi e gli indirizzi del disco. Ogni directory può contenere: file regolari; altre directory. In questo modo, a partire da una directory radice (root directory) è possibile generare un albero di directory e subdirectory. Il tipo di organizzazione dell albero delle directory dipende dalle scelte dell amministratore di sistema. Un tipico esempio prevede: la root directory include alcune directory di sistema come etc, bin, lib, tmp, ecc.; la root directory include una o più directory come usr per gli utenti; la directory usr contiene una subdirectory per ogni utente ed ogni utente organizza il proprio sottoalbero nel modo che ritiene più efficiente e comodo per il tipo di attività che svolge. Quando il file system è organizzato come un albero di directory, è necessario un qualche modo per specificare i nomi dei file. Questo può essere fatto in due diversi modi: path name assoluto: consiste nel cammino dalla directory radice al file. I componenti del cammino sono separati da opportuni simboli di separazione come / in Unix e \ in DOS. path name relativo: si usa congiuntamente al concetto di directory di lavoro. Un utente può definire una directory come directory di lavoro corrente. In questo caso tutti i path name che non iniziano con la directory radice sono considerati relativi alla directory di lavoro. Alcune tipiche chiamate di sistema per la gestione delle directory sono: create: crea una directory vuota; delete: cancella una directory; opendir: apre una directory per leggerne il contenuto; closedir: chiude una directory; readdir: restituisce il prossimo elemento di una directory vuota; rename: rinomina una directory; link: crea un link tra un file esistente ed un pathname; unlink: rimuove un elemento dalla directory. 3

4 Implementazione del file system Un fattore chiave nell implementazione della memorizzazione dei file è tener traccia di quali blocchi del disco associare a ciascun file. Le modalità di allocazione dei blocchi e del relativo reperimento sono: Allocazione Contigua E lo schema di allocazione più semplice, in quanto memorizza il file in blocchi di disco consecutivi. Vediamo ora pregi e difetti. PREGI è semplice da implementare, poiché tiene traccia del solo indirizzo di inizio del file memorizzando, quindi, un solo numero; è molto efficiente perché permette di leggere l intero file con una sola operazione. DIFETTI non è realizzabile senza che si conosca la dimensione massima del file; il disco risulta notevolmente frammentato e molto spazio viene sprecato. Allocazione a lista concatenata Ogni blocco associato al file contiene: dati veri e propri; il numero del blocco successivo assegnato al file. Vediamo ora pregi e difetti. PREGI non implica spreco di spazio perché i blocchi vengono allocati dinamicamente; nell elemento della directory viene memorizzato solo l indirizzo del primo blocco. DIFETTI la lettura sequenziale del file è semplice, ma l accesso diretto ai blocchi è estremamente lento; la quantità di dati nel blocco non corrisponde più ad una potenza di due. Allocazione a lista concatenata con indice Assegna ai file: blocchi di disco non necessariamente contigui; mantiene l elenco dei blocchi assegnati mediante una tabella in memoria. Questo tipo di allocazione è utilizzata nel sistema operativo MS-DOS. Vediamo ora pregi e difetti. PREGI l intero blocco è disponibile per i dati; l accesso diretto ad un blocco è molto più rapido; l elemento della directory contiene solo il numero del primo blocco. DIFETTI lo svantaggio principale consiste nel fatto che ad un gran numero di blocchi di disco corrisponde una tabella grande che occupa molto spazio in memoria centrale. 4

5 Allocazione mediante uso di tabelle i-node Questo tipo di allocazione è utilizzata nel sistema operativo Unix. Gli i-node sono piccole tabelle che contengono: gli attributi del file; gli indirizzi dei primi dieci blocchi assegnati al file; tre campi che consentono l indirizzamento dei blocchi successivi mediante: blocco a singola indirezione blocco a doppia ed a tripla indirezione Gli i-node sono in posizione definita all interno del file system. Vediamo ora i pregi. PREGI l elemento di directory contiene solo il nome del file ed il numero di i-node; consente di mantenere in memoria gli i-node dei file aperti sprecando poco spazio; consente di indirizzare un numero enorme di blocchi di disco; per i file di piccole dimensioni consente di reperire rapidamente l indirizzo dei primi blocchi di disco. Struttura delle directory Il file system, mediante il pathname fornito dall utente: localizza l elemento della directory; estrae le informazioni necessarie per trovare i blocchi di disco assegnati al file. Implementazione delle directory in MS-DOS L elemento di directory del DOS è di 32 byte, contiene: il nome e l estensione del file; tutti gli attributi; l indirizzo del primo blocco del disco assegnato al file. Le directory DOS possono contenere elementi che fanno riferimento a blocchi contenenti altre sub-directory, e pertanto in DOS è implementata una struttura gerarchica delle directory. 5

6 Implementazione delle directory in Unix La struttura delle directory Unix è estremamente semplice ed è composta da: nome del file; relativo numero di i-node; Tutte le informazioni relative al file sono contenute nell i-node. Unix: Ricerca di una directory nell albero Gestione dello spazio su disco I file sono generalmente memorizzati su disco, pertanto la gestione dello spazio è uno dei problemi fondamentali nell implementazione del file system. È ormai quasi unanime la modalità di registrazione dei file su disco in blocchi non necessariamente adiacenti. Questo perché memorizzando un file come una sequenza contigua di byte si presenta l ovvio problema che se il file aumenta di dimensione molto probabilmente dovrà essere spostato nel disco. Lo stesso problema si ha per i segmenti in memoria, con la differenza che muovere un segmento in memoria è un operazione relativamente veloce rispetto allo spostare un file da una posizione del disco a un altra. Il primo problema da risolvere è la scelta della dimensione dei blocchi. La scelta di un blocco molto grande rende più veloce il tempo di lettura ma provoca maggior spreco di spazio. Mentre la scelta di un blocco molto piccolo causa numerosi accessi ai blocchi per leggere i dati ma consente una gestione più efficiente dello spazio. L efficienza nel tempo e nello spazio sono intrinsecamente in conflitto nella scelta della dimensione delle unità di allocazione. Confrontando la velocità di trasferimento dei dati e l efficienza dello spazio su disco si può vedere che a una buona utilizzazione dello spazio corrisponde una bassa percentuale di dati e viceversa. Un compromesso si raggiunge scegliendo la dimensione del blocco di allocazione di: 512 byte, 1 K, 2 K. Considerando che il settore è la minima unità fisica leggibile dal disco avremo che la dimensione del settore sul disco è generalmente di 512 byte e la lettura di un blocco di allocazione di 1 K causerà sempre la lettura consecutiva di due settori di disco. Il problema successivo alla scelta della dimensione del blocco è quello della gestione dei blocchi liberi. I metodi usati comunemente sono due: lista concatenata di blocchi che contengono gli indirizzi dei blocchi liberi nel disco; mappa di bit: un disco di n blocchi richiede una mappa di n bit. I blocchi liberi si rappresentano con 1 sulla mappa, i blocchi allocati con 0 (o viceversa). Un esempio di lista concatenata può essere ottenuto consideriamo un blocco di 1 K con un numero di blocco del disco di 16 bit, ogni blocco sulla lista libera contiene i numeri di 511 blocchi liberi. Mentre per esempio un disco di 20Mbyte richiede 20Kbit per la mappa che corrisponde a soli 3 blocchi. Il metodo della lista concatenata è più efficiente se il disco è quasi pieno, poiché il numero di blocchi è molto limitato. Inoltre in queste condizioni, la mappa di bit potrebbe risultare spesso piena e richiedere continui accessi ad altre parti di mappa per assegnare blocchi liberi. Se c è abbastanza memoria principale per contenere la mappa di bit, è generalmente preferibile quest ultimo metodo. 6

7 Affidabilità del file system Il file system può contenere dati che non possono essere persi poiché di difficile o costoso recupero. L affidabilità del file system va perseguita spesso anche a scapito dell efficienza o di economie. I dispositivi di memorizzazione presentano spesso blocchi inutilizzabili a causa di difetti di fabbricazione, dell usura o di urti violenti. I blocchi inutilizzabili non devono essere assegnati a nessun file quindi necessitano una gestione appropriata. Le soluzioni per la gestione dei blocchi danneggiati possono essere di due tipi: soluzione hardware: o una parte di disco è riservata per tenere traccia dei blocchi rovinati e contiene dei blocchi di riserva; o in fase di inizializzazione il controllore del dispositivo legge questi blocchi e li sostituisce con blocchi di riserva, memorizzandone l avvenuta sostituzione; o questa soluzione è trasparente al file system. soluzione software: o l utente o il file system tiene traccia dei blocchi rovinati assegnandoli tutti ad un file speciale da non utilizzare; o nelle operazioni di backup è necessario porre attenzione per evitare la lettura di questo file. Consideriamo come esempio il comportamento del sistema operativo MS-DOS: marca questi blocchi con un codice speciale 888 nella File Allocation Table; il file system ignora questi blocchi che non saranno mai assegnati a nessun file e mai letti o scritti. Il metodo per ridurre le perdite di dati in caso di crash del file system o del disco è effettuare le copie di backup. Nella pianificazione delle operazioni di backup vanno valutati principalmente: la frequenza con cui effettuare le copie di backup: la scelta va pianificata in base alla quantità di lavoro svolta nel tempo ed al costo di ripristino. Generalmente la frequenza è di tipo giornaliero, settimanale, mensile o annuale (solo per archivi storici). i file che presentano la maggior necessità di essere copiati: la scelta va pianificata in base al contenuto dei file ed al costo di ripristino. Ad esempio: i file critici potrebbero essere raggruppati in directory dedicate delle quali si effettua copia con maggiore frequenza; la duplicazione di alcuni file critici può essere opportuna se il quantitativo di memoria sprecato è giustificabile. Limita i danni da problemi locali. la tecnica migliore per effettuare il backup: la scelta va pianificata in base al tempo disponibile ed al costo sopportabile per i supporti. Le tecniche di backup possono essere: backup su nastri dell intero file system; backup incrementale (copia solo dei file nuovi o modificati dall ultimo backup); duplicazione incrociata dei dati su due dispositivi: metà di ogni disco contiene i propri dati e l altra metà contiene i dati dell altro disco. Nel corso della vita del file system può succedere che la sua consistenza venga a mancare a causa di crash, di programmi che non rispettano le regole di allocazione o altro. La maggior parte dei sistemi operativi prevede un programma di servizio per la verifica della consistenza del file system e la correzione degli errori. Ad esempio i controlli di consistenza di UNIX sono di due tipi: sui blocchi e sui file. Nell effettuare il controllo di consistenza sui blocchi UNIX usa una tabella con due contatori per ogni blocco: il primo registra quante volte il blocco è presente in un file; il secondo quante volte il blocco è presente nella lista libera. Il test consiste nella scansione degli i-node, per individuare blocchi assegnati e la scansione della lista dei blocchi liberi. Al termine del check si possono verificare i seguenti casi: Caso normale: un blocco è presente una sola volta nella lista del file; Blocco mancante: un blocco non è presente nella lista libera e non è assegnato a nessun file, viene assegnato alla lista libera; Blocco duplicato nella lista libera: il doppio riferimento viene cancellato; Blocco assegnato a due file: è il caso più grave perché è sintomo di possibili dati alterati. Il contenuto del blocco è copiato in un altro blocco ed ognuno dei blocchi assegnato ad un file; Blocco presente nella lista libera ed assegnato ad un file: viene eliminato dalla lista libera. 7

8 UNIX quando effettua il controllo di consistenza sui file tiene conto che file distribuiti su diverse directory possono puntare allo stesso file fisico, e quindi allo stesso i-node (file di tipo link) in tal caso il contatore di link dell i-node è > 1. Nel test l albero delle directory viene interamente percorso e un contatore temporaneo per ogni i-node indica quanti file fanno riferimento ad ogni i-node. I risultati che si possono verificare sono: risultato normale: contatore temporaneo=contatore i-node; contatore temporaneo < contatore di link: anche se tutti i file vengono rimossi, l i-node resta bloccato. Al valore del contatore di link viene assegnato il valore del contatore temporaneo; contatore temporaneo > contatore di link: o se alcuni file vengono rimossi, il valore dei link si azzera; o l i-node viene reso libero; o i blocchi da esso riferiti vengono assegnati alla lista libera; o alcuni file puntano erroneamente all i-node e i dati vengono persi; o il contatore di link viene aggiornato al valore del contatore temporaneo. L accesso al disco è un operazione notevolmente più lenta della lettura in memoria. Molti file system prevedono tecniche per ridurre il numero di accessi al disco come: caching; riduzione dei movimenti del braccio del disco (soluzione soft); riduzione dei movimenti del braccio del disco (soluzione hard). Una delle tecniche usate più comunemente è il block cache in cui un certo numero di blocchi in memoria vengono riservati per contenere blocchi di disco. La quantità dei blocchi riservati va scelta in funzione: della memoria utilizzata; del miglioramento delle prestazioni richieste. I principi operativi che la regolano sono: ad ogni richiesta di un blocco viene scandita la tabella dei blocchi in memoria per verificarne la presenza; se non è presente il blocco viene caricato dal disco, copiato nella chache e poi reso disponibile alle richieste; la lista può essere gestita con normali algoritmi di rimpiazzamento delle pagine come FIFO e LRU; i blocchi critici vengono immediatamente riscritti sul disco quando modificati; per gli altri blocchi si può decidere di riscriverli subito oppure con una determinata frequenza. UNIX,ad esempio, ogni 30 secondi riscrive tutti i blocchi modificati su disco (oppure a richiesta dell utente), mentre MS-DOS riscrive immediatamente ogni blocco modificato. La riduzione dei movimenti del braccio del disco (soluzione soft) avviene nei seguenti passi: raggruppamento di blocchi in uso: andando a stimare i blocchi a cui si accede con maggiore probabilità in sequenza (o il più vicino possibile), al fine di ridurre i movimenti della testina. Si può osservare che : o con la gestione mediante mappa di bit è più facile scegliere un blocco libero vicino al blocco precedente; o con la gestione mediante lista è più difficoltoso. posizione dell indice dei blocchi: tenendo conto che la lettura di un file richiede comunque almeno 2 accessi uno all i-node ed uno al blocco e che il posizionamento degli i-node o della tabella di allocazione dei file al centro del disco per ridurre la distanza tra questi ed i blocchi a cui questi fanno riferimento (fattore 2); partizioni aperte: si tende ad avvicinare il più possibile gli i-node ai blocchi cui fanno riferimento nel seguente modo (Fig.2): o divisione del disco in gruppi di cilindri, ognuno con i propri i-node e la propria lista dei blocchi liberi; o quando una partizione esaurisce i blocchi, un blocco può essere allocato in una partizione diversa. interleave: un processo richiede un tempo t b per richiedere e recuperare un blocco. In situazioni (frequenti) di richieste consecutive di blocchi sequenziali può accadere che: o il blocco richiesto può essere già passato sotto la testina; o bisogna attendere una rotazione intera. 8

9 La tecnica di interleaving alloca i blocchi fisici del disco in ordine non sequenziale stretto, ma sequenziale con salti (fattore di interleaving). Sia t r il tempo di rotazione del disco avremo che: fattore di interleaving = [t r / t b ] + 1 La riduzione dei movimenti del braccio del disco (soluzione hard) avviene mediante la schedulazione del braccio del disco. Il tempo necessario per leggere un blocco di disco dipende da: seek time: spostamento della testina sul cilindro; latency time: tempo di rotazione per raggiungere il settore richiesto; transfer time: tempo di trasferimento. Il ritardo predominante è dato dal seek time, per cui vari algoritmi sono stati ideati per ottimizzare il movimento del braccio delle testine. Alcuni esempi sono: algoritmo FCFS (First Come First Served): o serve le richieste nell ordine in cui giungono; o non richiede nessun specifico supporto hardware o software; o è l algoritmo più corretto nei riguardi delle richieste ma non ottimale; o costringe il braccio del disco ad un superlavoro. algoritmo SSF (Shortest Seek First): o mantenendo in tabella tutte le richieste pendenti, l SSF si sposta sempre sulla richiesta più vicina a quella appena servita; o riduce di circa la metà gli spostamenti sul disco rispetto al FCFS; o presenta un problema di localizzazione delle richieste. algoritmo dell ascensore: o mantiene in tabella le richieste pendenti; o un bit up/down indica la direzione attuale del braccio del disco; o serve le richieste più vicine proseguendo sempre nella stessa direzione; o cambia direzione quando raggiunge l estremità o quando non ci sono più richieste nella direzione attuale; o la quantità massima di cilindri di cui deve essere spostato il braccio per servire le richieste pendenti è fisso: due volte il numero dei cilindri; o concilia meglio equità di servizio con efficienza. 9

10 Alcuni driver di disco evoluti permettono di conoscere il numero di settore attualmente in lettura. Ciò consente al software di I/O di inserire prima delle altre una eventuale richiesta per un settore della stessa traccia o di altra traccia dello stesso cilindro che stà per passare sotto la testina. Spunti per meditazione e per esercitazione di laboratorio Alcuni sistemi operativi forniscono una chiamata Rename per dare ad un file un nuovo nome, si discuta la differenza tra l usare questa chiamata e copiare semplicemente il file su di un nuovo file con il nuovo nome, seguito dalla cancellazione del vecchio; Si discuta l opportunità di compattare periodicamente la memoria del disco; Si discuta il seguente risultato dei contatori calcolati dal programma di controllo della coerenza dei blocchi di un disco: Sicurezza del sistema di archiviazione Il file system attribuisce a ciascun utente determinati diritti di accesso su ogni archivio o repertorio. Come sicurezza del file system si intende la proprietà di impedire qualsiasi accesso non corrispondente ai diritti attribuiti agli utenti. Il generico utente può quindi accedere solo agli archivi per i quali possieda qualche diritto di accesso e, in questa ipotesi, può eseguire solo le operazioni corrispondenti ai diritti posseduti. La sicurezza del sistema di archiviazione riguarda anche i procedimenti con i quali si ottengono i diritti di accesso agli archivi. La sicurezza del sistema di archiviazione deriva da opportuni meccanismi di protezione incorporati nella sua realizzazione. Modelli di protezione Ai fini della protezione, il sistema di archiviazione è un insieme di oggetti (archivi o repertori) accessibili unicamente per mezzo delle operazioni ad essi associate. Tipicamente le operazioni ammissibili sono quelle di: lettura ( r ) ; scrittura ( w ); esecuzione ( x ) (nel caso di repertori questa operazione assume il significato di ricerca). Il generico utente ha la facoltà di eseguire un operazione su un dato archivio o repertorio se e solo se gli è attribuito il corrispondente diritto di accesso. La possibilità di eseguire l operazione dipende da una relazione tra l insieme degli utenti e quello degli oggetti. Gli utenti operano sugli archivi per mezzo dei processi di loro proprietà: le operazioni eseguibili dal generico processo sono quindi limitate dai diritti di accesso attribuiti al suo proprietario. Le politiche che regolano l attribuzione dei diritti di accesso agli utenti competono al sistema operativo oppure agli utenti medesimi. Spetta invece esclusivamente al sistema operativo (file system) realizzare i meccanismi di protezione che impediscono agli utenti di superare i limiti dei propri diritti di accesso. Dominio di protezione Un modello generale di questi meccanismi è basato sul concetto di dominio di protezione. Un dominio di protezione è un insieme di coppie del tipo (Oggetto, DirittiDiAccesso). Ad esempio: (F i, {r,w}) esprime il possesso del diritto di lettura e di quello di scrittura sull archivio F i; (D j, {r,x}) esprime il possesso del diritto di lettura e quello di ricerca del repertorio D j. 10

11 Il modello basato sui domini consente di formalizzare il concetto della migrazione dei processi in un dominio di protezione diverso da quello di appartenenza (ad esempio per consentire ad un proprietario P di migrare nel dominio di protezione di P solo durante l esecuzione di un particolare programma che richiede operazioni non consentita a P ed invece consentite a P ). Per formalizzare la facoltà di migrare da un dominio all altro è sufficiente considerare anche i domini come oggetti, ai quali è associata la sola operazione di ingresso (in). Ad esempio: (Δ3, {in}) esprime la facoltà di migrare nel dominio Δ3. Una volta migrato in un nuovo dominio, l utente o il processo proveniente da un altro dominio non ha la possibilità di migrare ulteriormente. Strutture dati per la protezione La matrice di protezione è tipicamente molto grande e sparsa. Una struttura più efficiente è ottenuta rappresentando le stesse informazioni attraverso: liste di controllo degli accessi; liste associate ai domini. Ogni lista è associata ad un oggetto ed i suoi elementi sono coppie del tipo (dominio, insieme di diritti di accesso). Ciascuna lista elenca tutti i diritti di accesso sull oggetto che competono ad un certo dominio. Piuttosto che ai domini di protezione, gli elementi delle liste di controllo degli accessi sono spesso riferite agli utenti. Gli utenti sono identificati con una coppia del tipo (gruppo, nome), dove i nomi degli utenti sono locali ai gruppi (uno stesso nome può essere attribuito a più utenti, purché appartenenti a gruppi diversi). Comunque siano codificate, le liste di controllo degli accessi sono attribuiti dagli archivi (o dei repertori). In questo caso ogni lista è associata ad un dominio e i suoi elementi sono coppie del tipo (oggetto, Insieme Di Diritti di accesso). Ogni elemento della lista esprime la facoltà (capability) dell utente di accedere ad un dato oggetto con i diritti compresi in un certo insieme. Ogni lista viene perciò chiamata C-list (capability list) ed è un attributo degli utenti e dei loro processi. Protezione nel sistema operativo UNIX I meccanismi di protezione degli archivi adottati in UNIX si basano sulle liste di controllo degli accessi. Ogni utente è identificato da una coppia del tipo (gruppo, nome). Dato che ogni processo è attribuito a un utente proprietario (chiamato anche proprietario reale), l identificazione degli utenti si propaga ai loro processi. 11

12 La coppia (gruppo, nome) può essere registrata nel descrittore di processo oppure in una struttura dati dal gestore degli archivi, che costituisce una estensione della tabella dei processi. Oltre a quella corrispondente al proprietario reale, viene anche registrata la coppia (gruppo effettivo, nome effettivo), che identifica il proprietario effettivo. Ogni descrittore di archivio contiene invece una struttura dati simile, dal punto di vista del contenuto informativo a una lista di controllo degli accessi. Essa consiste di tre codici: DirittiProprietario; DirittiGruppo; DirittiAltriUtenti. Che esprimono i diritti di lettura, scrittura ed esecuzione rispettivamente: all utente proprietario; ai rimanenti utenti del gruppo; agli utenti dei rimanenti gruppi. Se ad esempio: DirittiProprietario, DirittiGrtuppo, DirittiAltriUtenti registrati nel descrittore dell archivio Fi hanno ordinatamente i valori 111,101 e 001 si intende che: il proprietario dell archivio Fi ha tutti i diritti di accesso; gli altri utenti del suo gruppo possiedono i diritti di lettura ed esecuzione; i rimanenti utenti del sistema possiedono esclusivamente il diritto di esecuzione. Questa convenzione non permette di discriminare tra utenti dello stesso gruppo del proprietario ne tra quelli appartenenti a gruppi diversi da quello del proprietario. A questa minore generalità rispetto alle liste di controllo degli accessi corrispondenti una maggiore compattezza dei dati. I meccanismi di protezione di UNIX consentono la migrazione dei processi in domini di protezione diversi da quelli dei loro proprietari, anche grazie a una ulteriore variabile booleana, denominata SetUld, contenuta nel descrittore di archivio. La migrazione è realizzata sfruttando la distinzione tra proprietario reale e proprietario effettivo del generico processo, cioè la possibilità di assegnare valori diversi alle coppie (gruppo, nome) e (GruppoEffettivo, NomeEffettivo). Per ogni operazione sul generico archivio F i, il File System identifica il proprietario effettivo del processore richiedente P e verifica se ha il diritto di eseguire l operazione. Superato questo controllo, il processore opera nel proprio dominio di protezione se il proprietario effettivo coincide con il proprietario reale; in caso contrario opera nel dominio del duo attuale proprietario effettivo. Per ogni processo P, la coppia (GruppoEffettivo, NomeEffettivo) ha normalmente lo stesso valore della coppia (gruppo, nome). L assegnazione di un valore diverso può avvenire solo con una chiamata di sistema eseguita dallo stesso P, per chiedere esplicitamente la migrazione oppure per eseguire il programma contenuto in un archivio F i. In questo caso, la chiamata di sistema utilizzata è la EXEC. Essa assegna alla coppia (GruppoEffettivo, NomeEffettivo) il valore corrispondente al proprietario F i, ricavato dal descrittore di questo archivio, se e solo se è vera la variabile SetUld contenuta nel descrittore di F i. Dopo la migrazione nel dominio di protezione associato al proprietario dell archivio F i, il processo può tornare nel proprio dominio solo se lo richiede con una apposita chiamata di sistema. Ad esempio nel sistema UNIX la creazione dei repertori non può avvenire senza possedere i diritti del superutente. L archivio che contiene il programma mkdir ha la variabile SetUld vera. Grazie a questo meccanismo della migrazione, un qualsiasi processo può eseguire mkdir con i privilegi del superutente. Identificazione degli utenti I meccanismi di protezione degli archivi sono basati sul presupposto della sicura identificazione degli utenti. Nei sistemi interattivi multi-utente, il progenitore di tutti i processi di un generico utente è quello che viene generato quando esso si connette al sistema attraverso un terminale. Per ogni processo diverso dal progenitore, la responsabilità di definire il proprietario spetta esclusivamente al sistema operativo, che assegna il figlio allo stesso utente che risulta proprietario del processo padre. L identificazione del proprietario del figlio è sicura se lo è quella del padre. In conclusione, la sicurezza degli archivi è fondata sulla corretta definizione del proprietario del processo progenitore, che a sua volta dipende dalla sicura identificazione dell utente che si connette attraverso il terminale. La tecnica comunemente usata è quella della parola d ordine (password), che l utente deve trasmettere attraverso il terminale, insieme al nome con il quale è registrato nel sistema, ogni volta che si connette. 12

Sistemi Operativi. Organizzazione logica ed implementazione di un File System

Sistemi Operativi. Organizzazione logica ed implementazione di un File System Modulo di Sistemi Operativi per il corso di Master RISS: Ricerca e Innovazione nelle Scienze della Salute Unisa, 17-26 Luglio 2012 Sistemi Operativi Organizzazione logica ed implementazione di un File

Dettagli

Indice. settembre 2008 Il File System 2

Indice. settembre 2008 Il File System 2 Il File System Indice 4. Il File System 5. Vantaggi del FS 6. Protezione 7. Condivisione 8. I file - 1 9. I file - 2 10. Attributi dei file 11. Directory 12. Livelli di astrazione - 1 13. Livelli di astrazione

Dettagli

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

Il file system. meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate. in memoria di massa Il File System 1 Il file system E quella componente del SO che fornisce i meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate in memoria di massa Realizza i concetti astratti

Dettagli

11 Realizzazione del File System. 11.1.1 Struttura a livelli (fig. 11.1) 11.4 Allocazione dei file

11 Realizzazione del File System. 11.1.1 Struttura a livelli (fig. 11.1) 11.4 Allocazione dei file 11 Realizzazione del File System 1 Metodi di allocazione Allocazione contigua Allocazione concatenata e varianti Allocazione indicizzata e varianti Gestione dello spazio libero 11.1.1 Struttura a livelli

Dettagli

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

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1 IMPLEMENTAZIONE DEL FILE SYSTEM 9.1 Implementazione del File System Struttura del File System Implementazione Implementazione delle Directory Metodi di Allocazione Gestione dello spazio libero Efficienza

Dettagli

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory FILE SYSTEM : INTERFACCIA 8.1 Interfaccia del File System Concetto di File Metodi di Accesso Struttura delle Directory Montaggio del File System Condivisione di File Protezione 8.2 Concetto di File File

Dettagli

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

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione IMPLEMENTAZIONE DEL FILE SYSTEM 9.1 Implementazione del File System Struttura del File System Implementazione Implementazione delle Directory Metodi di Allocazione Gestione dello spazio libero Efficienza

Dettagli

Infrastrutture Software

Infrastrutture Software Infrastrutture Software I componenti fisici di un sistema informatico sono resi accessibili agli utenti attraverso un complesso di strumenti software finalizzati all utilizzo dell architettura. Si tratta

Dettagli

Interfaccia del file system

Interfaccia del file system Interfaccia del file system Concetto di file Modalità di accesso Struttura delle directory Montaggio di un file system Condivisione di file Protezione 9.1 File E un insieme di informazioni correlate e

Dettagli

Controllo I/O Costituito dai driver dei dispositivi e dai gestori dei segnali d interruzione.

Controllo I/O Costituito dai driver dei dispositivi e dai gestori dei segnali d interruzione. C6. REALIZZAZIONE DEL FILE SYSTEM Struttura del file system Un file è analizzabile da diversi punti di vista. Dal punto di vista del sistema è un contenitore di dati collegati tra di loro, mentre dal punto

Dettagli

Il File System. Il file system

Il File System. Il file system Il File System Il file system Parte di SO che fornisce i meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate in memoria di massa Realizza i concetti astratti di file:

Dettagli

Memoria secondaria. Sistemi Operativi mod. B 14.1

Memoria secondaria. Sistemi Operativi mod. B 14.1 Memoria secondaria Struttura del disco Scheduling del disco Gestione dell unità a disco Gestione dello spazio di swap La struttura RAID Affidabilità dei dischi Connessione dei dischi 14.1 Memoria secondaria

Dettagli

Sistemi Operativi. Lez. 16 File System: aspetti implementativi

Sistemi Operativi. Lez. 16 File System: aspetti implementativi Sistemi Operativi Lez. 16 File System: aspetti implementativi Layout disco Tutte le informazioni necessarie al file system per poter operare, sono memorizzate sul disco di boot MBR: settore 0 del disco,

Dettagli

Capitolo 11 -- Silberschatz

Capitolo 11 -- Silberschatz Implementazione del File System Capitolo 11 -- Silberschatz Implementazione del File System File system: Definizione dell aspetto del sistema agli occhi dell utente Algoritmi e strutture dati che permettono

Dettagli

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

12. Implementazione di un File System. 12.1.1 Struttura a livelli. 12.2.1 Allocazione contigua 12. Implementazione di un File System 1 Struttura del file system Metodi di allocazione Gestione dello spazio libero Implementazione delle directory Prestazioni ed efficienza 2 Utente 12.1.1 Struttura

Dettagli

1. Spiegare le differenze fra le seguenti modalità di binding degli indirizzi:

1. Spiegare le differenze fra le seguenti modalità di binding degli indirizzi: 1. Spiegare le differenze fra le seguenti modalità di binding degli indirizzi: compile time, load time, execution time. Quale delle modalità precedenti necessita di un supporto hardware per poter essere

Dettagli

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

SISTEMI OPERATIVI. Gestione dei dischi. Gestione dei dischi e sistemi RAID SISTEMI OPERATIVI 08.c Gestione dei dischi e sistemi RAID Gestione dei dischi Caratteristiche dei dischi magnetici Schedulazione degli accessi al disco Sistemi RAID 1 Struttura meccanica 2 traccia testina

Dettagli

SISTEMI OPERATIVI DISTRIBUITI

SISTEMI OPERATIVI DISTRIBUITI SISTEMI OPERATIVI DISTRIBUITI E FILE SYSTEM DISTRIBUITI 12.1 Sistemi Distribuiti Sistemi operativi di rete Sistemi operativi distribuiti Robustezza File system distribuiti Naming e Trasparenza Caching

Dettagli

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

Sistemi Operativi GESTIONE DELLA MEMORIA SECONDARIA. D. Talia - UNICAL. Sistemi Operativi 11.1 GESTIONE DELLA MEMORIA SECONDARIA 11.1 Memoria Secondaria Struttura del disco Scheduling del disco Gestione del disco Gestione dello spazio di swap Struttura RAID Affidabilità Implementazione della memoria

Dettagli

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

Sistemi Operativi. Memoria Secondaria GESTIONE DELLA MEMORIA SECONDARIA. Struttura del disco. Scheduling del disco. Gestione del disco GESTIONE DELLA MEMORIA SECONDARIA 11.1 Memoria Secondaria Struttura del disco Scheduling del disco Gestione del disco Gestione dello spazio di swap Struttura RAID Affidabilità Implementazione della memoria

Dettagli

Implementazione del File System

Implementazione del File System Implementazione del file system Implementazione del File System Struttura del file system. Realizzazione del file system. Implementazione delle directory. Metodi di allocazione. Gestione dello spazio libero.

Dettagli

Le Infrastrutture Software ed il Sistema Operativo

Le Infrastrutture Software ed il Sistema Operativo Le Infrastrutture Software ed il Sistema Operativo Corso di Informatica CdL: Chimica Claudia d'amato claudia.damato@di.uniba.it Il Sistema Operativo (S0) (Inf.) E' l'insieme dei programmi che consentono

Dettagli

Sistemi Operativi (modulo di Informatica II)

Sistemi Operativi (modulo di Informatica II) Sistemi Operativi (modulo di Informatica II) Implementazione del file system Patrizia Scandurra Università degli Studi di Bergamo a.a. 2009-10 Implementazione del File System Sommario Realizzazione del

Dettagli

Il sistema operativo

Il sistema operativo Il sistema operativo Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Cos è un Sistema Operativo? Per capirlo, immaginiamo inizialmente

Dettagli

Il Sistema Operativo. Funzionalità. Sistema operativo. Sistema Operativo (Software di base)

Il Sistema Operativo. Funzionalità. Sistema operativo. Sistema Operativo (Software di base) Sistema Operativo (Software di base) Il Sistema Operativo Il sistema operativo è un insieme di programmi che opera sul livello macchina e offre funzionalità di alto livello Es.organizzazione dei dati attraverso

Dettagli

1. I dispositivi periferici

1. I dispositivi periferici La gestione dell I/O 1. I dispositivi periferici Un ulteriore aspetto fondamentale del SO è la gestione dei dispositivi periferici (periferiche) Dal punto di vista del sistema operativo per periferiche

Dettagli

Struttura dei dischi

Struttura dei dischi Università di Udine Facoltà di Scienze MM.FF.NN. A.A. 2007-2008 Copyright c 2000 04 Marino Miculan (miculan@dimi.uniud.it) La copia letterale e la distribuzione di questa presentazione nella sua integrità

Dettagli

Il File System. È la componente del S.O. che si occupa della gestione della memoria di massa e dell organizzazione logica dei dati

Il File System. È la componente del S.O. che si occupa della gestione della memoria di massa e dell organizzazione logica dei dati Il File System È la componente del S.O. che si occupa della gestione della memoria di massa e dell organizzazione logica dei dati Le operazioni supportate da un file system sono: eliminazione di dati modifica

Dettagli

SISTEMI OPERATIVI. Realizzazione del file system. Prof. Luca Gherardi Prof.ssa Patrizia Scandurra (anni precedenti) (MODULO DI INFORMATICA II)

SISTEMI OPERATIVI. Realizzazione del file system. Prof. Luca Gherardi Prof.ssa Patrizia Scandurra (anni precedenti) (MODULO DI INFORMATICA II) SISTEMI OPERATIVI (MODULO DI INFORMATICA II) Realizzazione del file system Prof. Luca Gherardi Prof.ssa Patrizia Scandurra (anni precedenti) Università degli Studi di Bergamo a.a. 2012-13 Sommario Realizzazione

Dettagli

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

Lezione 11. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata. Lezione 11 system Sistemi operativi 12 maggio 2015 System Programming Research Group Università degli Studi di Roma Tor Vergata SO 15 11.1 Di cosa parliamo in questa lezione? L interfaccia : system 1 Il

Dettagli

Funzioni del Sistema Operativo

Funzioni del Sistema Operativo Il Software I componenti fisici del calcolatore (unità centrale e periferiche) costituiscono il cosiddetto Hardware (ferramenta). La struttura del calcolatore può essere schematizzata come una serie di

Dettagli

PROGETTAZIONE FISICA

PROGETTAZIONE FISICA PROGETTAZIONE FISICA Memorizzazione su disco, organizzazione di file e tecniche hash 2 Introduzione La collezione di dati che costituisce una BDD deve essere fisicamente organizzata su qualche supporto

Dettagli

Sistemi Operativi (modulo di Informatica II) Sottosistema di I/O

Sistemi Operativi (modulo di Informatica II) Sottosistema di I/O Sistemi Operativi (modulo di Informatica II) Sottosistema di I/O Patrizia Scandurra Università degli Studi di Bergamo a.a. 2009-10 Sommario L hardware di I/O Struttura Interazione tra computer e controllori

Dettagli

File system II. Sistemi Operativi Lez. 20

File system II. Sistemi Operativi Lez. 20 File system II Sistemi Operativi Lez. 20 Gestione spazi su disco Esiste un trade-off,tra spreco dello spazio e velocità di trasferimento in base alla dimensione del blocco fisico Gestione spazio su disco

Dettagli

Sistemi Operativi (modulo di Informatica II)

Sistemi Operativi (modulo di Informatica II) Sistemi Operativi (modulo di Informatica II) Implementazione del file system Patrizia Scandurra Università degli Studi di Bergamo a.a. 2011-12 Implementazione del File System Sommario Realizzazione del

Dettagli

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

Nastro magnetico. Gestione della memoria di massa. Disco magnetico. Disco magnetico. Usato in passato come dispositivo di memorizzazione secondaria Impossibile visualizzare l'immagine. Nastro magnetico Gestione della memoria di massa Usato in passato come dispositivo di memorizzazione secondaria Può contenere grosse quantità di dati Principalmente

Dettagli

Fondamenti di Informatica: Sistemi Operativi 1. Introduzione

Fondamenti di Informatica: Sistemi Operativi 1. Introduzione Introduzione Fondamenti di Informatica: Sistemi Operativi 1 Elaboratori necessitano di SOFTWARE SOFTWARE DI SISTEMA (SISTEMI OPERATIVI): fanno funzionare le varie componenti del computer e permettono all

Dettagli

Introduzione. File System Distribuiti. Nominazione e Trasparenza. Struttura dei DFS. Strutture di Nominazione

Introduzione. File System Distribuiti. Nominazione e Trasparenza. Struttura dei DFS. Strutture di Nominazione File System Distribuiti Introduzione Nominazione e Trasparenza Accesso ai File Remoti Servizio Con/Senza Informazione di Stato Replica dei File Un esempio di sistema Introduzione File System Distribuito

Dettagli

File System Distribuiti

File System Distribuiti File System Distribuiti Introduzione Nominazione e Trasparenza Accesso ai File Remoti Servizio Con/Senza Informazione di Stato Replica dei File Un esempio di sistema 20.1 Introduzione File System Distribuito

Dettagli

Sistemi Operativi Il Sistema Operativo Windows (parte 3)

Sistemi Operativi Il Sistema Operativo Windows (parte 3) Sistemi Operativi Il Sistema Operativo Windows (parte 3) Docente: Claudio E. Palazzi cpalazzi@math.unipd.it Crediti per queste slides al Prof. Tullio Vardanega Architettura di NTFS 1 NTFS file system adottato

Dettagli

Sistemi Operativi II Corso di Laurea in Ingegneria Informatica

Sistemi Operativi II Corso di Laurea in Ingegneria Informatica www.dis.uniroma1.it/~midlab Sistemi Operativi II Corso di Laurea in Ingegneria Informatica Prof. Roberto Baldoni Complementi: Buffer I/O Gestione dei buffer e I/O scheduling: 1. Richiami sulle tecniche

Dettagli

Altri metodi di indicizzazione

Altri metodi di indicizzazione Organizzazione a indici su più livelli Altri metodi di indicizzazione Al crescere della dimensione del file l organizzazione sequenziale a indice diventa inefficiente: in lettura a causa del crescere del

Dettagli

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

Solitamente la capacità è minore di un disco magnetico, ma la velocità è molto più alta. C4. MEMORIA SECONDARIA Nel seguito verranno analizzati, oltre alla struttura dei dispositivi di memorizzazione, anche gli algoritmi di scheduling delle unità a disco, la formattazione dei dischi, la gestione

Dettagli

Il Software. Il software del PC. Il BIOS

Il Software. Il software del PC. Il BIOS Il Software Il software del PC Il computer ha grandi potenzialità ma non può funzionare senza il software. Il software essenziale per fare funzionare il PC può essere diviso nelle seguenti componenti:

Dettagli

Sistemi Operativi. ugoerr+so@dia.unisa.it 12 LEZIONE REALIZZAZIONE DEL FILE SYSTEM CORSO DI LAUREA TRIENNALE IN INFORMATICA. Sistemi Operativi 2007/08

Sistemi Operativi. ugoerr+so@dia.unisa.it 12 LEZIONE REALIZZAZIONE DEL FILE SYSTEM CORSO DI LAUREA TRIENNALE IN INFORMATICA. Sistemi Operativi 2007/08 Sistemi Operativi Docente: Ugo Erra ugoerr+so@dia.unisa.it 12 LEZIONE REALIZZAZIONE DEL FILE SYSTEM CORSO DI LAUREA TRIENNALE IN INFORMATICA UNIVERSITA DEGLI STUDI DELLA BASILICATA Sommario della lezione

Dettagli

File system. Chiamate di sistema POSIX Esempi: Chiamate di sistema Windows Esempio: Esercizi. 4.3 BSD Linux NTFS. Sistemi Operativi mod B 12.

File system. Chiamate di sistema POSIX Esempi: Chiamate di sistema Windows Esempio: Esercizi. 4.3 BSD Linux NTFS. Sistemi Operativi mod B 12. File system Chiamate di sistema POSIX Esempi: 4.3 BSD Linux Chiamate di sistema Windows Esempio: NTFS Esercizi 12.1 Le chiamate di sistema di UNIX per file UNIX mette a disposizione sia chiamate di sistema

Dettagli

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Compito fondamentale di un S.O. è infatti la gestione dell

Dettagli

Modulo 4: Gestore del File System (Memoria secondaria) Componenti

Modulo 4: Gestore del File System (Memoria secondaria) Componenti Parte 3 Modulo 4: Gestore del File System (Memoria secondaria) Componenti Interfaccia utente Gestore dell I/O Gestore del File System Gestore dei Processi Gestore della Memoria Centrale *KERNEL Informatica

Dettagli

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino Il Sistema Operativo Il Sistema Operativo è uno strato software che: opera direttamente sull hardware; isola dai dettagli dell architettura hardware; fornisce un insieme di funzionalità di alto livello.

Dettagli

Sistemi Operativi. ugoerr+so@dia.unisa.it 11 LEZIONE INTERFACCIA DEL FILE SYSTEM CORSO DI LAUREA TRIENNALE IN INFORMATICA. Sistemi Operativi 2007/08

Sistemi Operativi. ugoerr+so@dia.unisa.it 11 LEZIONE INTERFACCIA DEL FILE SYSTEM CORSO DI LAUREA TRIENNALE IN INFORMATICA. Sistemi Operativi 2007/08 Sistemi Operativi Docente: Ugo Erra ugoerr+so@dia.unisa.it 11 LEZIONE INTERFACCIA DEL FILE SYSTEM CORSO DI LAUREA TRIENNALE IN INFORMATICA UNIVERSITA DEGLI STUDI DELLA BASILICATA Sommario della lezione

Dettagli

Realizzazione del file system

Realizzazione del file system Realizzazione del file system Struttura del file system Metodi di allocazione: Contigua Concatenata Indicizzata Gestione dello spazio libero Realizzazione delle directory Efficienza e prestazioni Ripristino

Dettagli

10. Interfaccia del File System

10. Interfaccia del File System 10. Interfaccia del File System 10.1 Il concetto di File 10.2 Metodi di accesso 10.3 Struttura delle Directory 10.4 Protezione (Leggere) 10.5 Semantica della Consistenza (Leggere) Un File System consiste

Dettagli

Introduzione. Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache...

Introduzione. Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache... Appunti di Calcolatori Elettronici Concetti generali sulla memoria cache Introduzione... 1 Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache...

Dettagli

ARCHIVI E LORO ORGANIZZAZIONI

ARCHIVI E LORO ORGANIZZAZIONI ARCHIVI E LORO ORGANIZZAZIONI Archivio: - insieme di registrazioni (record), ciascuna costituita da un insieme prefissato di informazioni elementari dette attributi (campi) - insieme di informazioni relative

Dettagli

Protezione. Sistemi Operativi mod. B 16.1

Protezione. Sistemi Operativi mod. B 16.1 Protezione Scopi della Protezione Dominio di Protezione Matrice d Accesso Implementazione della Matrice d Accesso Revoca dei Diritti d Accesso Sistemi Basati su Abilitazioni Protezione basata sul linguaggio

Dettagli

File system. Realizzazione del file system. Struttura del file system. Struttura del file system. Realizzazione del file system

File system. Realizzazione del file system. Struttura del file system. Struttura del file system. Realizzazione del file system Realizzazione del file system Struttura del file system Metodi di allocazione: Contigua Concatenata Indicizzata Gestione dello spazio libero Realizzazione delle directory Efficienza e prestazioni Ripristino

Dettagli

Il software: Istruzioni per il computer. I tre tipi di software di sistema. Compiti del sistema operativo

Il software: Istruzioni per il computer. I tre tipi di software di sistema. Compiti del sistema operativo Il software: Istruzioni per il computer I tre tipi di software di sistema Software applicativo aiuta a svolgere operazioni utili in vari campi programmi di videoscrittura, fogli elettronici, videogiochi

Dettagli

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

Memoria secondaria. Struttura del disco. Scheduling del disco. Gestione dell unità a disco. Affidabilità dei dischi: RAID Memoria secondaria Struttura del disco Scheduling del disco Gestione dell unità a disco Affidabilità dei dischi: RAID Sistemi Operativi 13.1 Struttura del disco I dischi vengono indirizzati come grandi

Dettagli

SISTEMI OPERATIVI. Gestione della memoria Domande di verifica. Luca Orrù Centro Multimediale Montiferru 18/06/2007

SISTEMI OPERATIVI. Gestione della memoria Domande di verifica. Luca Orrù Centro Multimediale Montiferru 18/06/2007 2007 SISTEMI OPERATIVI Gestione della memoria Domande di verifica Luca Orrù Centro Multimediale Montiferru 18/06/2007 Gestione della memoria 1. Si descriva il concetto di memoria virtuale (esame del 19-06-2006)

Dettagli

Redundant Array of Inexpensive (Independent) Disks. Disco magnetico

Redundant Array of Inexpensive (Independent) Disks. Disco magnetico 26/5/25 RAID Redundant Array of Inexpensive (Independent) Disks Disco magnetico Costituito da un insieme di piatti rotanti (da a 5) Piatti rivestiti di una superficie magnetica Esiste una testina (bobina)

Dettagli

Memorizzazione dei dati: Dischi e File

Memorizzazione dei dati: Dischi e File Memorizzazione dei dati: Dischi e File Query\update Query plan Execution Engine richieste di indici, record e file Index/file/record Manager comandi su pagine Query Compiler Buffer Manager Lettura/scrittura

Dettagli

Introduzione ai Sistemi Operativi

Introduzione ai Sistemi Operativi Introduzione ai Sistemi Operativi Sistema Operativo Software! Applicazioni! Sistema Operativo! È il livello di SW con cui! interagisce l utente! e comprende! programmi quali :! Compilatori! Editori di

Dettagli

Il Sistema Operativo (1)

Il Sistema Operativo (1) E il software fondamentale del computer, gestisce tutto il suo funzionamento e crea un interfaccia con l utente. Le sue funzioni principali sono: Il Sistema Operativo (1) La gestione dell unità centrale

Dettagli

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1 MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati

Dettagli

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

MECCANISMI E POLITICHE DI PROTEZIONE 13.1 MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati

Dettagli

Sommario. G. Piscitelli

Sommario. G. Piscitelli Sommario Fondamenti dei Sistemi Operativi Device Manager Dispositivi di I/O Interfaccia (o controller) e software di pilotaggio (driver) di un dispositivo Schedulazione dei dischi: i parametri Schedulazione

Dettagli

Dispensa di Fondamenti di Informatica. Architettura di un calcolatore

Dispensa di Fondamenti di Informatica. Architettura di un calcolatore Dispensa di Fondamenti di Informatica Architettura di un calcolatore Hardware e software La prima decomposizione di un calcolatore è relativa ai seguenti macro-componenti hardware la struttura fisica del

Dettagli

GESTIONE DELLA MEMORIA CENTRALE

GESTIONE DELLA MEMORIA CENTRALE GESTIONE DELLA MEMORIA CENTRALE E MEMORIA VIRTUALE 7.1 Gestione della memoria Segmentazione Segmentazione con paginazione Memoria Virtuale Paginazione su richiesta Sostituzione delle pagine Trashing Esempi:

Dettagli

Sistemi Operativi. 5 Gestione della memoria

Sistemi Operativi. 5 Gestione della memoria Gestione della memoria Compiti del gestore della memoria: Tenere traccia di quali parti della memoria sono libere e quali occupate. Allocare memoria ai processi che ne hanno bisogno. Deallocare la memoria

Dettagli

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

INFORMATICA. Il Sistema Operativo. di Roberta Molinari INFORMATICA Il Sistema Operativo di Roberta Molinari Il Sistema Operativo un po di definizioni Elaborazione: trattamento di di informazioni acquisite dall esterno per per restituire un un risultato Processore:

Dettagli

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL STRUTTURA DEI SISTEMI OPERATIVI 3.1 Struttura dei Componenti Servizi di un sistema operativo System Call Programmi di sistema Struttura del sistema operativo Macchine virtuali Progettazione e Realizzazione

Dettagli

Sistemi Operativi GESTIONE DELLA MEMORIA CENTRALE. D. Talia - UNICAL. Sistemi Operativi 6.1

Sistemi Operativi GESTIONE DELLA MEMORIA CENTRALE. D. Talia - UNICAL. Sistemi Operativi 6.1 GESTIONE DELLA MEMORIA CENTRALE 6.1 Gestione della Memoria Background Spazio di indirizzi Swapping Allocazione Contigua Paginazione 6.2 Background Per essere eseguito un programma deve trovarsi (almeno

Dettagli

Forse la periferica più importante di un elaboratore File system:

Forse la periferica più importante di un elaboratore File system: Forse la periferica più importante di un elaboratore File system: Un insieme di funzionalità per astrarre i dati grezzi presenti in memoria di massa e interpretare questi ultimi in termini di files e cartelle

Dettagli

Informatica di Base - 6 c.f.u.

Informatica di Base - 6 c.f.u. Università degli Studi di Palermo Dipartimento di Ingegneria Informatica Informatica di Base - 6 c.f.u. Anno Accademico 2007/2008 Docente: ing. Salvatore Sorce Il Sistema Operativo Gerarchia del software

Dettagli

Ingegneria Gestionale della logistica e produzione Prof. A. Palomba - Elementi di Informatica (J-Z)

Ingegneria Gestionale della logistica e produzione Prof. A. Palomba - Elementi di Informatica (J-Z) 2011-2012 Ingegneria Gestionale della logistica e produzione Prof. A. Palomba - Elementi di Informatica (J-Z) 14 File e cartelle File system Software di utilità Il S.O. e le periferiche Il S.O. e la memoria

Dettagli

Architettura di un sistema di calcolo

Architettura di un sistema di calcolo Richiami sulla struttura dei sistemi di calcolo Gestione delle Interruzioni Gestione della comunicazione fra processore e dispositivi periferici Gerarchia di memoria Protezione. 2.1 Architettura di un

Dettagli

Sistemi Operativi. Implementazione del File System

Sistemi Operativi. Implementazione del File System Sistemi Operativi (modulo di Informatica II) Implementazione del file system Patrizia Scandurra Università degli Studi di Bergamo a.a. 2008-09 Implementazione del File System Sommario Realizzazione del

Dettagli

Unità Periferiche. Rete Di Controllo

Unità Periferiche. Rete Di Controllo MODELLO LOGICO-FUNZIONALE DI UN ELABORATORE Centrale di canale Periferiche CPU Memoria centrale ALU CU Memoria Locale ALU = Aritmetic Logic Unit CU = Registri CU ISTRUZIONE Decodificatore Rete Di Controllo

Dettagli

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi Software relazione Hardware Software di base Software applicativo Bios Sistema operativo Programmi applicativi Software di base Sistema operativo Bios Utility di sistema software Software applicativo Programmi

Dettagli

Tecnologia di un Database Server (centralizzato) Gestione del buffer

Tecnologia di un Database Server (centralizzato) Gestione del buffer Buffer Basi di Dati / Complementi di Basi di Dati 1 Tecnologia di un Database Server (centralizzato) Gestione del buffer Angelo Montanari Dipartimento di Matematica e Informatica Università di Udine Buffer

Dettagli

Link e permessi. Corso di Laurea Triennale in Ingegneria delle TLC e dell Automazione. Corso di Sistemi Operativi A. A. 2005-2006

Link e permessi. Corso di Laurea Triennale in Ingegneria delle TLC e dell Automazione. Corso di Sistemi Operativi A. A. 2005-2006 Corso di Laurea Triennale in Ingegneria delle TLC e dell Automazione Corso di Sistemi Operativi A. A. 2005-2006 Link e permessi Link Un riferimento ad un file è detto link Ogni file può avere un numero

Dettagli

Sistema Operativo Compilatore

Sistema Operativo Compilatore MASTER Information Technology Excellence Road (I.T.E.R.) Sistema Operativo Compilatore Maurizio Palesi Salvatore Serrano Master ITER Informatica di Base Maurizio Palesi, Salvatore Serrano 1 Il Sistema

Dettagli

Ingegneria Gestionale della logistica e produzione Prof. A. Palomba - Elementi di Informatica (DF-M)

Ingegneria Gestionale della logistica e produzione Prof. A. Palomba - Elementi di Informatica (DF-M) 2009-2010 Ingegneria Gestionale della logistica e produzione Prof. A. Palomba - Elementi di Informatica (DF-M) 13 File e cartelle File system Software di utilità Il S.O. e le periferiche Il S.O. e la memoria

Dettagli

La Memoria Virtuale Ottimizzazione della memoria centrale

La Memoria Virtuale Ottimizzazione della memoria centrale La Memoria Virtuale Ottimizzazione della memoria centrale 1) Introduzione- Gerarchia della memoria Da un punto di vista funzionale, ogni dispositivo di memorizzazione elettronica di informazioni presenta

Dettagli

Capitolo 3: Strutture dei sistemi operativi

Capitolo 3: Strutture dei sistemi operativi Capitolo 3: Strutture dei sistemi operativi Componenti del sistema Servizi di un sistema operativo Chiamate del sistema Programmi di sistema Struttura del sistema Macchine virtuali Progettazione e realizzazione

Dettagli

B alberi. dizionari in memoria secondaria

B alberi. dizionari in memoria secondaria B alberi dizionari in memoria secondaria dizionari su memoria secondaria la memorizzazione su memoria secondaria risponde a due esigenze permanenza dell informazione la RAM è volatile grande quantità di

Dettagli

Il file system. File system. Fornisce il meccanismo per la memorizzazione e l accesso di dati e programmi Consiste di due parti

Il file system. File system. Fornisce il meccanismo per la memorizzazione e l accesso di dati e programmi Consiste di due parti Il file system File system Fornisce il meccanismo per la memorizzazione e l accesso di dati e programmi Consiste di due parti Collezione di file Struttura di cartelle (directory) 1! Interfaccia Implementazione

Dettagli

Sistemi Operativi File System (parte 2)

Sistemi Operativi File System (parte 2) Sistemi Operativi File System (parte 2) Docente: Claudio E. Palazzi cpalazzi@math.unipd.it Crediti per queste slides al Prof. Tullio Vardanega Realizzazione del file system 1 I file system (FS) sono memorizzati

Dettagli

Gestione della Memoria

Gestione della Memoria Gestione della Memoria Idealmente la memoria dovrebbe essere grande veloce non volatile Gerarchia di memorie Disco: capiente, lento, non volatile ed economico Memoria principale: volatile, mediamente grande,

Dettagli

Memoria Virtuale. Lezione 29 Sistemi Operativi

Memoria Virtuale. Lezione 29 Sistemi Operativi Memoria Virtuale Lezione 29 Sistemi Operativi I Principi Abbiamo sinora assunto che durante l esecuzione di un programma, lo stesso debba risiedere completamente in MC Intorno alla metà degli anni 70 viene

Dettagli

Laboratorio di Informatica di Base Archivi e Basi di Dati

Laboratorio di Informatica di Base Archivi e Basi di Dati Laboratorio di Informatica di Base Archivi e Basi di Dati Introduzione La memorizzazione dei dati è un aspetto molto importante dell informatica Oggi, mediante i computer, è possibile memorizzare e modificare

Dettagli

Il File System. Architettura del File System (2) Architettura del File System. Parte V. Il File System

Il File System. Architettura del File System (2) Architettura del File System. Parte V. Il File System Il File System Parte V Il File System I/O Virtuale: l'accesso alla memoria di massa avviene tramite tramite il SO La memoria di massa è organizzata in unità virtuali denominate file (archivio) File System:

Dettagli

Processo - generalità

Processo - generalità I processi Processo - generalità Astrazione di un attività; Entità attiva che ha un suo percorso evolutivo; Attività = azione dedicata al raggiungimento di uno scopo Il processo esegue istruzioni per svolgere

Dettagli

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

Lezione 14. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata Lezione 14 Sistemi operativi 9 giugno 2015 System Programming Research Group Università degli Studi di Roma Tor Vergata SO 15 14.1 Di cosa parliamo in questa lezione? Ottimizzazione degli accessi alla

Dettagli

Parte V Il File System

Parte V Il File System Parte V Il File System Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 V - 1 Il File System I/O Virtuale: l'accesso alla memoria di massa avviene tramite tramite il SO La memoria di massa è organizzata

Dettagli

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

Memoria secondaria. Architettura dell elaboratore. Memoria secondaria. Memoria secondaria. Memoria secondaria Architettura dell elaboratore Capacità di memorizzazione dei dispositivi di memoria: Memoria centrale attualmente si arriva ad alcuni GB centinaia di GB o TB Memoria principale e registri: volatilità,

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica per chimica industriale e chimica applicata e ambientale LEZIONE 4 - parte II La memoria 1 La memoriaparametri di caratterizzazione Un dato dispositivo di memoria è caratterizzato da : velocità di accesso,

Dettagli

HARDWARE. Relazione di Informatica

HARDWARE. Relazione di Informatica Michele Venditti 2 D 05/12/11 Relazione di Informatica HARDWARE Con Hardware s intende l insieme delle parti solide o ( materiali ) del computer, per esempio : monitor, tastiera, mouse, scheda madre. -

Dettagli

Un sistema operativo è un insieme di programmi che consentono ad un utente di

Un sistema operativo è un insieme di programmi che consentono ad un utente di INTRODUZIONE AI SISTEMI OPERATIVI 1 Alcune definizioni 1 Sistema dedicato: 1 Sistema batch o a lotti: 2 Sistemi time sharing: 2 Sistema multiprogrammato: 3 Processo e programma 3 Risorse: 3 Spazio degli

Dettagli

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

Lezione 12. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata Lezione 12 Sistemi operativi 19 maggio 2015 System Programming Research Group Università degli Studi di Roma Tor Vergata SO 15 12.1 Di cosa parliamo in questa lezione? Organizzazione e realizzazione dei

Dettagli