Il file system (parte 1) Architettura degli elaboratori 2 - T. Vardanega Pagina 94

Documenti analoghi
Il file system Architettura degli elaboratori 2 - T. Vardanega Pagina 73. Il file system Architettura degli elaboratori 2 - T. Vardanega Pagina 75

Sistemi Operativi File System (parte 1)

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

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

Interfaccia del file system

File System. Sistemi Operativi Lezione 19

Sistemi Operativi Da Unix a GNU/Linux (parte 3)

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

Architettura di NTFS 1

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

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

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

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

Il File System. Sistemi Operativi L-A AA

Il File System. Sistemi Operativi T AA

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

File-System! Introduzione al File-System! Struttura dei File! Concetto di File!

Modelli e problematiche di file system

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

Filesystem: richiami sui concetti di base

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

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

Sistemi operativi e distribuiti

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

Architettura degli elaboratori Docente:

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

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

Modelli e problematiche di file system. Modelli e problematiche di file system. Modelli e problematiche di file system

Operazioni su file di caratteri

Gestione dei file. Linguaggio ANSI C Input/Output - 13

Un file system nasconde la complessità dei diversi media proponendone una astrazione.

Sistemi Operativi. L interfaccia del file system

Gestione di files Motivazioni

FONDAMENTI DI INFORMATICA. Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI. Facoltà di Ingegneria Università degli Studi di Udine

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.

Architettura dei Sistemi Informatici

Perchè i files? Realizzano la persistenza dei dati. Sono delle strutture di dati sequenziali. dati che sopravvivono all esecuzione del programma

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

Input/output da file I/O ANSI e I/O UNIX FLUSSI E FILE FLUSSI FLUSSI di TESTO FLUSSI BINARI FILE

Capitolo 11: l interfaccia del file system

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

File. Molto astratta: file ha un nome (ex. Pippo.c), ed altre caratteristiche (dimensione, tipo, etc). Operazioni: copiare, cancellare, eseguire..

INDICI PER FILE. Accesso secondario. Strutture ausiliarie di accesso

File System I parte. File System

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

Directory. Le directory unix sono file.

Sistemi Operativi Teledidattico

System call per l accesso a file

File System. Capitolo Silberschatz

FONDAMENTI DI INFORMATICA

Introduzione al C. Stream e disk file

Lezione 2: Comandi avanzati della Shell di Unix

File System Unix. Generalità

Le strutture. Una struttura C è una collezione di variabili di uno o più tipi, raggruppate sotto un nome comune.

Capitolo Silberschatz

Gestione dei File. Credits Prof. Campi

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

Introduzione alla. Alessandra Giordani Lunedì 11 marzo

Le variabili nel linguaggio C

i link Unix i link Unix gli hard link (link fisici)

IL SOFTWARE DI SISTEMA

Struttura dei programmi e Variabili

IL CONCETTO DI FILE. È illecito operare oltre la fine del file.

Gestione della memoria 1

Streams e disk files

File System ext2. Struttura del filesystem ext2.

Il sistema operativo LINUX Esercitazione 3

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

Gestione dei file in C

I files (archivi) Il C definisce in stdio.h tre file aperti automaticamente: stdin, stdout e stderr.! Sono ad accesso sequenziale diretto

Sistema operativo. Interazione con il SO

Laboratorio di Programmazione

Il Sistema Operativo

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

Parte IV: Gestione della memoria secondaria

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

Sistemi Operativi e Laboratorio, Prova del 19/6/2014

Modulo 13: System call relative al File System

I files in C. A cura del prof. Ghezzi

Sistemi Operativi Esercizi File System. Docente: Claudio E. Palazzi

Caratteristiche del File System 1

Il sistema operativo

I file utente sistema operativo nome

Introduzione al linguaggio C

Laboratorio di Sistemi Operativi

Dati due punti sul piano calcolare la loro distanza

File binari e file di testo

Organizzazione di un SO monolitico

Sistema Operativo (Software di base)

Sistemi Operativi Il Sistema Operativo Windows (parte 3)

Il file system di Unix. Caratteristiche generali dei FS comunemente usati da Unix/Linux

File System. Sistemi Operativi Lezione 23

Gestione dei file in C

ciclo di vita della soluzione (informatica) di un problema

Sistema operativo & file system 1

Sistemi Operativi Da Unix a GNU/Linux (parte 2)

Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Introduzione al C Unità 9 File

Esercizio FAT 1. Soluzione:

Transcript:

Aspetti generali 1 La maggior parte dell informazione applicativa (i dati) ha durata, ambito e dimensione più ampi della vita delle applicazioni che la usano 3 le esigenze più evidenti Nessun limite di dimensione fissato a priori Persistenza dei dati Condivisione dei dati tra applicazioni distinte Il file system è il servizio di S/O progettato per soddisfare questi bisogni Aspetti generali 2 Il termine file designa un insieme di dati correlati, residenti in memoria secondaria e trattati unitariamente File = raccoglitore, dossier Il termine file system (FS) designa la parte di S/O che si occupa di organizzazione, gestione, realizzazione ed accesso ai file Il file system (parte 1) Architettura degli elaboratori 2 - T. Vardanega Pagina 93 Il file system (parte 1) Architettura degli elaboratori 2 - T. Vardanega Pagina 94 Aspetti generali 3 La progettazione di FS affronta 2 problemi chiave Cosa occorre offrire all utente applicativo e secondo quali forme concrete Modalità di accesso a file Struttura logica e fisica di file Operazioni ammissibili su file Come ciò possa essere convenientemente realizzato Massima indipendenza dall architettura fisica di supporto File Il file è un meccanismo di astrazione Per salvare informazione su memoria secondaria e ritrovarvela in seguito senza doverne conoscere né la struttura logica e fisica né il funzionamento All utente non interessa come ciò avviene Interessa invece poter designare le proprie unità di informazione mediante nomi logici unici e distinti L utente vede e tratta solo nomi di file Le caratteristiche distintive di un file sono Attributi (tra cui il nome) Struttura interna Operazioni ammesse Il file system (parte 1) Architettura degli elaboratori 2 - T. Vardanega Pagina 95 Il file system (parte 1) Architettura degli elaboratori 2 - T. Vardanega Pagina 96 Attributi 1 Nome Stringa composta da 8 255 caratteri, inclusi numeri e caratteri speciali Con 1 estensioni che possono designare il tipo di file come visto dall utente MS-DOS (base di Windows 95 e Windows 98) Nomi da 1 8 caratteri, con 1 estensione da 1 3 caratteri, designante, senza distinzione tra maiuscolo e minuscolo (case insensitive) UNIX (base di GNU/Linux) Nomi fino a 14 (ora 255) caratteri, case sensitive, con estensioni, solo informative, senza limite di numero e di ampiezza In generale, l utente può configurare presso il S/O l associazione tra l ultima estensione del file ed il tipo applicativo corrispondente Attributi 2 Altri attributi significativi Dimensione corrente Data di creazione (può non essere mostrata) Data di ultima modifica Indica la freschezza del contenuto Creatore e possessore (anche distinti) P.es.: il compilatore crea file di proprietà dell utente Permessi di accesso Lettura, scrittura, esecuzione Il file system (parte 1) Architettura degli elaboratori 2 - T. Vardanega Pagina 97 Il file system (parte 1) Architettura degli elaboratori 2 - T. Vardanega Pagina 98 Architettura degli elaboratori 2 - T. Vardanega 1

Attributi 3 Protezione Password Creatore Proprietario Permesso di accesso al file Chiave di accesso al file Identità del processo che ha creato il file Identità del processo utilizzatore del file Uso 0 lettura/scrittura 1 sola lettura (read-only) Visibilità 0 normale 1 file non visibile (hidden) Livello 0 normale 1 file di sistema Archiviazione 0 salvato (backed up) 1 non salvato Tipo di contenuto 0 ASCII 1 binario Flag Tipo di accesso 0 sequenziale 1 casuale (random) Permanenza 0 normale 1 da eliminare dopo l uso (temporary) Accesso esclusivo 0 libero 0 bloccato (locked) Il file system (parte 1) Architettura degli elaboratori 2 - T. Vardanega Pagina 99 Struttura 1 La struttura dei dati all interno di un file può essere vista da 3 livelli di astrazione distinti Livello utente Il programma utente associa significato al contenuto grezzo del file Livello di struttura logica I dati grezzi (non interpretati) sono raggruppati dal S/O in strutture logiche per facilitarne il trattamento Livello di struttura fisica Il S/O mappa le strutture logiche sulle strutture fisiche della memoria secondaria disponibile (p.es.: settori o blocchi su disco) Le possibili strutture logiche di un file sono A sequenza di byte A record di lunghezza e struttura interna fissa A record di lunghezza e struttura interna variabile Il file system (parte 1) Architettura degli elaboratori 2 - T. Vardanega Pagina 100 Struttura 2 Sequenza di byte (byte stream) La strutturazione logica più rudimentale e flessibile La scelta di UNIX ( GNU/Linux) e Windows Il programma utente sa come dare significato al contenuto informativo del file Minimo sforzo per il S/O L accesso ai dati utilizza un puntatore relativo all inizio del file Lettura e scrittura operano a blocchi di byte Struttura 3 Record di lunghezza e struttura fissa Gli spazi non utilizzati sono riempiti da caratteri speciali (p.es.: NULL o SPACE) Il S/O conosce la struttura del file L accesso ai dati è sequenziale e utilizza un puntatore al record corrente Lettura e scrittura operano su record singoli Scelta obsoleta e legata a specifiche limitazioni dell architettura di sistema Il file system (parte 1) Architettura degli elaboratori 2 - T. Vardanega Pagina 101 Il file system (parte 1) Architettura degli elaboratori 2 - T. Vardanega Pagina 102 Struttura 4 Struttura 5 Record di lunghezza e struttura variabile Struttura interna di ogni record descritta e identificata univocamente da una chiave (key) posta in posizione fissa e nota nel record Chiavi raccolte in una tabella a se stante, ordinata per chiave, contenente anche i puntatori all inizio di ciascun record Accesso ai dati per chiave di record Uso abbastanza diffuso in sistemi mainframe A sequenza di byte A record di lunghezza fissa A record di lunghezza variabile con accesso tramite chiave e struttura di scansione per ricerca Il file system (parte 1) Architettura degli elaboratori 2 - T. Vardanega Pagina 103 Il file system (parte 1) Architettura degli elaboratori 2 - T. Vardanega Pagina 104 Architettura degli elaboratori 2 - T. Vardanega 2

Modalità di accesso 1 Accesso sequenziale Viene trattato un gruppo di byte (un record) alla volta Un puntatore indirizza il record corrente, e avanza a ogni lettura o scrittura La lettura può avvenire in qualunque posizione del file, la quale però deve essere raggiunta sequenzialmente Come con un nastro La scrittura può avvenire solo in coda al file (Append) Sul file si può operare solo sequenzialmente Ogni nuova operazione fa ripartire il puntatore dall inizio Modalità di accesso 2 Accesso diretto Opera su record di dati in posizione arbitraria nel file Posizione determinata rispetto alla base (offset = 0) Accesso indicizzato Per ogni file una tabella di chiavi ordinate contenenti gli offset dei rispettivi record nel file Informazione di navigazione non più nei record ma in una struttura a parte (principio delle base di dati) Ricerca binaria della chiave e poi accesso diretto Denominato ISAM (indexed sequential access method) da IBM Consente accesso sia indicizzato che sequenziale Il file system (parte 1) Architettura degli elaboratori 2 - T. Vardanega Pagina 105 Il file system (parte 1) Architettura degli elaboratori 2 - T. Vardanega Pagina 106 Classificazione UNIX GNU/Linux Windows Il FS può trattare diversi tipi di file Classificazione distinta da quella dell utente! File normali (regular), sui quali l utente può operare la propria classificazione Contenuto ASCII (testo) o binario (eseguibile) File catalogo (directory), con i quali il FS consente di descrivere l organizzazione di gruppi di file File speciali, con i quali il FS modella dispositivi orientati a carattere (p.es.: terminale) o a blocco (p.es.: disco) Il file system (parte 1) Architettura degli elaboratori 2 - T. Vardanega Pagina 107 Intestazione Esempio 1 File binari in UNIX e GNU/Linux Magic number Dim. area codice Dim. area dati Dim. area libera Dim. tabella simboli Indirizzo 1 a istruzione Altro Area codice (text) Area dati Info. di. rilocazione Tabella dei simboli Struttura di un file eseguibile Intestazione 1 Modulo 1 Intestazione 2 Modulo 2 Intestazione 3 Modulo 3 Nome modulo Data ultima modifica Proprietario Permessi di accesso Dimensione Struttura di un file archivio (tar : tape archive) Il file system (parte 1) Architettura degli elaboratori 2 - T. Vardanega Pagina 108 Operazioni ammesse 1 Creazione Inizialmente vuoto; inizializzazione attributi Apertura Deve precedere l uso; permette di predisporre le informazioni utili all accesso Cerca posizione (seek) Solo per accesso casuale Cambia nome rename (può implicare spostamento nella struttura logica del FS) Il file system (parte 1) Architettura degli elaboratori 2 - T. Vardanega Pagina 109 Distruzione Rilascio della memoria occupata Chiusura Rilascio delle strutture di controllo usate per l accesso ed il salvataggio dei dati Lettura. Scrittura read, write, append Trova attributi Modifica attributi Azioni più complesse (p.es.: copia) si ottengono tramite combinazione delle operazioni di base Operazioni ammesse 2 Sessione d uso di un file Si può accedere in uso solo ad un file già aperto Mediante l apertura, il S/O predispone uno specifico strumento (handle) di accesso a quel file Dopo l uso il file dovrà essere chiuso UNIX e GNU/Linux hanno una tabella dei file aperti a due livelli Livello I: informazioni sul file comuni a più processi Da handle verso attributi, posizione su disco, punto di R/W Livello II: dati specifici del particolare processo E puntatore alla voce corrispondente in tabella di livello I Il file system (parte 1) Architettura degli elaboratori 2 - T. Vardanega Pagina 110 Architettura degli elaboratori 2 - T. Vardanega 3

Esempio d uso con chiamate di sistema #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]){ FILE *fp; char dato; if (argc!= 2) { printf( Nome del file? ); exit(1); // continua 1/2 if ((fp = fopen(argv[1], w )) == NULL){ printf( File non aperto.\n ); exit(1); do { dato = getchar(); if (EOF == putc(dato, fp)) { printf( Errore di lettura.\n ); break; ; while (dato!= c ); fclose(fp); 2/2 File mappati in memoria Il S/O può mappare un file in memoria virtuale Il file continua a risiedere in memoria secondaria All indirizzo di ogni suo dato corrisponde un indirizzo di memoria virtuale (base + offset) Con memoria segmentata si ha {file = segmento potendo così usare lo stesso offset per entrambi Le operazioni su file avvengono in memoria principale Chiamata di indirizzo page fault caricamento operazione salvataggio in memoria secondaria A fine sessione le modifiche effettuate in memoria primaria vengono riportate in memoria secondaria Riduce gli accessi a disco ma comporta problemi con la condivisione e con i file di enorme dimensione Il file system (parte 1) Architettura degli elaboratori 2 - T. Vardanega Pagina 111 Il file system (parte 1) Architettura degli elaboratori 2 - T. Vardanega Pagina 112 Struttura della directory 1 Ogni FS usa directory (catalogo) o folder (cartella) per tener traccia dei suoi file regolari Le directory possono essere classificate, rispetto alla loro struttura, come A livello singolo A due livelli A albero A grafo aperto A grafo generalizzato (con cicli) Struttura della directory 2 Directory a livello singolo Tutti i file sono elencati su un unica lista lineare, ciascuno con il proprio nome I nomi devono pertanto essere unici Semplice da capire e da realizzare Gestione onerosa all aumentare dei file Nome Attributi Dati File 1 File 2 File 3 File 4 File 5 File 6 Il file system (parte 1) Architettura degli elaboratori 2 - T. Vardanega Pagina 113 Il file system (parte 1) Architettura degli elaboratori 2 - T. Vardanega Pagina 114 Struttura della directory 3 Directory a due livelli Una Root Directory contiene una User File Directory (UFD) per ciascun utente di sistema L utente registrato può vedere solo la propria UFD Le UFD di altri solo se esplicitamente autorizzato Buona soluzione per isolare utenti in sistemi multiprogrammati File localizzati tramite percorso (path name) I programmi di sistema possono essere copiati su tutte le UFD, oppure (meglio) posti in una directory di sistema condivisa ed ivi localizzati mediante cammini di ricerca predefiniti (search path) Struttura della directory 4 Directory ad albero Numero arbitrario di livelli Il livello superiore viene detto radice (root) Ogni directory può contenere file regolari o directory di livello inferiore Ogni utente ha la sua directory corrente, che può essere cambiata con comandi di sistema Se non si specifica il cammino (path), si assume la directory corrente Il cammino può essere assoluto (espresso rispetto alla radice) o relativo (rispetto alla posizione corrente) Il file system (parte 1) Architettura degli elaboratori 2 - T. Vardanega Pagina 115 Il file system (parte 1) Architettura degli elaboratori 2 - T. Vardanega Pagina 116 Architettura degli elaboratori 2 - T. Vardanega 4

Esempio di directory ad albero La directory come catalogo di file o directory di livello inferiore Esempio (/ per UNIX/GNU/Linux, \ per Windows) Livello corrente: directory Verdi =. (dot) Livello superiore Studenti (directory padre) =.. Verdi Livello inferiore (directory figlio) =./ (slash) Il file A1 identificato come [./]/A1 (cammino relativo) A1 A2 B /studenti/verdi//a1 (cammino assoluto) Il file D1 di un altro ramo (purché condiviso)../studenti/bianchi//d1 (relativo) /studenti/bianchi//d1 (assoluto) Bianchi M / Radice D1 Docenti Contenuto iniziale D2 Il file system (parte 1) Architettura degli elaboratori 2 - T. Vardanega Pagina 117 Il file system (parte 1) Architettura degli elaboratori 2 - T. Vardanega Pagina 118 Struttura della directory 5 Directory a grafo aperto (e generalizzato) L albero diventa grafo, consentendo allo stesso file di appartenere simultaneamente a più directory UNIX e GNU/Linux utilizzano collegamenti simbolici (link) tra il nome reale del file e la sua presenza virtuale La forma generalizzata consente collegamenti ciclici (riferimenti circolari) Studenti Un S/O potrebbe duplicare gli identificatori di accesso al file (handle) nomi distinti Verdi Bianchi Questo però rende più difficile assicurare la coerenza del file B Il file system (parte 1) Architettura degli elaboratori 2 - T. Vardanega Pagina 119 Operazioni su directory (GNU/Linux) Crea directory Cancella directory Cambia nome a directory Apri, chiudi, leggi directory Crea collegamento a file Rimuovi collegamento a file rm mkdir rmdir Create Delete Rename Opendir, Closedir, Readdir Link Unlink Hard link : un puntatore al file originario viene inserito nella directory remota; questo crea 2 vie d accesso distinte allo stesso file Symbolic link : file speciale il cui contenuto è il cammino del file originario; questo mantiene 1 sola via d accesso al file Il file system (parte 1) Architettura degli elaboratori 2 - T. Vardanega Pagina 120 mv ln Architettura degli elaboratori 2 - T. Vardanega 5