Architettura dei calcolatori e sistemi operativi. Input Output. IO 2 Il File System

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Architettura dei calcolatori e sistemi operativi. Input Output. IO 2 Il File System"

Transcript

1 Architettura dei calcolatori e sistemi operativi Input Output IO 2 Il File System

2 File System E quel componente del Sistema Operativo che realizza i servizi di gestione dei file file: unità di archiviazione in memoria di massa. Definisce la struttura logica della memoria di massa (organizzazione e memorizzazione dei file) ed è costituito da un insieme di funzioni di Sistema Operativo e relative strutture dati di supporto LINUX è in grado di gestire file system molto diversi (compatibilità e gestione di particolari tipi di periferiche): standard, di rete,. Il disaccoppiamento tra i programmi applicativi e i diversi file system è realizzato tramite un interfaccia: VFS (Virtual File system Switch) che mette a disposizione le API (implementate in glibc) che consentono utilizzo indipendente delle chiamate di sistema - 2 -

3 File Costituito da: una sequenza di byte; un nome simbolico e univoco all interno del direttorio; un insieme di attributi (Tipo, Locazione nel dispositivo, Dimensione, Protezione, Time stamp, Proprietario) Un file in LINUX può contenere dati o programmi (file normale) contenere riferimenti ad altri file (direttorio) rappresentare l astrazione di un dispositivo periferico (file speciale) Tutte le operazioni sul contenuto del file richiedono il trasferimento in/da memoria di byte e partono dalla posizione corrente nel file, aggiornandola Operazioni (dipendono anche dal tipo di file) creazione, apertura, chiusura, cancellazione lettura, scrittura; riposizionamento

4 Funzioni per la gestione dei file Per operare su un file è necessario: aprirlo, se il file esiste già crearlo (cioè inserirlo nel file system), se il file non esiste Le funzioni di apertura e creazione richiedono come parametro il nome del file e restituiscono un intero non negativo chiamato descrittore del file Le funzioni di lettura e scrittura, e altre ancora, usano come riferimento il descrittore del file e operano su sequenze di byte a partire da un byte specifico, la cui posizione è contenuta dall indicatore di posizione corrente - 4 -

5 Funzioni per la gestione dei file L immagine del file system è memorizzata in memoria di massa (vedremo più avanti come) Per rendere più efficienti gli accessi a file, il Sistema Operativo mantiene in memoria centrale una parte delle strutture dati per gestire i file. A questo livello interessa mettere in evidenza: Tabella dei file aperti per ogni processo è un vettore che contiene alcune informazioni sui file aperti da un certo processo. L indice del vettore rappresenta il descrittore del file. è referenziata nella struttura dati del descrittore del processo Tabella globale dei file aperti nel sistema è un vettore che contiene un elemento per ogni file aperto nel sistema. Ogni elemento viene referenziato tramite gli elementi delle tabelle dei file aperti dei processi e contiene, tra le altre, l indicatore di posizione corrente nel file, il numero di processi in accesso (link) al file e un riferimento (i-node) al file su disco - 5 -

6 Linguaggio C, file e Sistema Operativo Il linguaggio C dispone di una libreria standard di ingresso e uscita, che definisce le funzioni C per le operazioni sui file (fopen, fread, fwrite, fclose, fputs, fgets etc.) In linguaggio C il riferimento a file è dato da un puntatore (FILE * file_pointer) Le funzioni C usano il file pointer e invocano i servizi messi a disposizione dal sistema operativo Le implementazioni delle funzioni C su un certo Sistema Operativo definiscono le modalità di chiamata dei servizi di Sistema Operativo e il legame tra il file pointer e il descrittore di file Attenzione: fopen e simili possono avere comportamenti differenti da un sistema operativo ad un altro - 6 -

7 Creat ( ) e Open ( ) int creat (char *nomefile, int permessi) int open (char *nomefile, int tipo, int permessi) Restituiscono un intero non negativo che rappresenta il descrittore del file La posizione corrente è a inizio file (=0) nomefile: deve essere il nome completo e valido del file permessi: gestisce i permessi di accesso al file tipo: modalità di apertura (O_RDONLY, O_WRONLY, O_RDWR) Create: viene aggiunto un nuovo file al file system allocazione dello spazio su disco; creazione dell i-node del file; aggiunta dei riferimenti al file nel file system (nel direttorio) Open: sulla base del nome individua il riferimento (i-node) alla posizione del file sul disco In entrambi i casi Aggiorna la tabella globale dei file aperti Aggiorna la tabella dei file aperti dal processo - 7 -

8 Read ( ) e Write ( ) int read(int fd, char buffer[ ], int numero_byte) int write(int fd, char buffer[ ], int numero_byte) accedono al file tramite descrittore (ottenuto tramite creat o open) restituiscono il numero di caratteri effettivamente letti/scritti aggiornano l indicatore di posizione corrente variabile per dati che devono essere scritti su file, vengono letti da file - 8 -

9 Riposizionamento - Lseek ( ) Sposta la posizione degli indicatori di lettura e di scrittura. Le operazioni consentite dipendono dal tipo di accesso al file. Spesso viene mantenuto dal file system un solo indicatore valido per lettura e per scrittura Utilizzo: long lseek(int fd, long offset, int riferimento) modifica la posizione corrente e la restituisce come long riferimento = 0: posizione corrente = inizio file + offset riferimento = 1: posizione corrente = posizione corrente precedente + offset riferimento = 2: posizione corrente = fine file + offset Esempi: lseek(fd, 0L, 1): restituisce la posizione attuale senza modificarla; lseek(fd, 0L, 0): posiziona all inizio del file; lseek(fd, 0L, 2): posiziona alla fine del file

10 Duplicazione - Dup ( ) Crea un nuovo descrittore associato ad un file già aperto con open. Aggiunge una riga nella tabella dei file aperti da quel processo Utilizzo: fd1=open( ); fd2=dup(fd1); la posizione corrente è comunque unica per i due o più descrittori (esiste una sola riga nella tabella globale dei file aperti)

11 Chiusura - Close ( ) Elimina il descrittore dalla tabella dei file aperti dal processo. Decrementa il numero di link al file (processi con quel file aperto) nella tabella globale dei file aperti, e se non vi sono altri riferimenti elimina il descrittore dalla tabella globale dei file aperti Utilizzo: int close(int fd) restituisce l esito dell operazione di chiusura

12 Ridenominazione - Link ( ) Per associare un nuovo nome ad un file già esistente: int link(char *nome, char *nuovo_nome) restituisce l esito dell operazione. Crea una nuova entry nel direttorio che contiene nuovo_nome Non crea un nuovo i-node, ma incrementa di uno i riferimenti (link) - intesi come nomi, a quel file nell i-node che lo rappresenta nel filesystem

13 Cancellazione - Unlink ( ) Elimina nell i-node un link ad un file specificato tramite nome (decrementa di uno il numero di riferimenti) Se esiste un solo link, il file viene eliminato dal file system. In questo caso, le azioni necessarie sono: Deallocazione dello spazio sul dispositivo fisico Aggiunta dello spazio deallocato alla lista dello spazio disponibile sul dispositivo Rimozione dell i-node del file dal file system. Utilizzo: int unlink(char *nome)

14 Un esempio (i) /* esempio di uso delle operazioni LINUX sui file.*/ #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <unistd.h> void main() { int fd1; int i,pos; char c; /* apertura del file */ fd1=open("fileprova", O_RDWR); /* visualizza posizione corrente */ printf("\npos= %ld \n", lseek(fd1,0,1)); /* scrittura del file */ for (i=0; i<20;i++) { c=i + 65; /*caratteri ASCII a partire da A*/ write(fd1, &c, 1); printf("%c",c);} /* visualizza posizione corrente; riportala a 0 */ printf("\npos= %ld \n", lseek(fd1,0,1)); lseek(fd1,0,0);

15 Un esempio (ii) /* lettura e visualizzazione del file */ for (i=0; i<20;i++) { read(fd1, &c, 1); printf("%c",c);} printf("\n"); /* posizionamento al byte 5 del file e stampa posiz.*/ printf("\npos= %ld\n", lseek(fd1,5,0)); /*lettura di 5 caratteri */ for (i=0; i<5;i++) { read(fd1, &c, 1); printf("%c",c);} printf("\n"); /*scrittura di 5 caratteri x*/ c= 'x'; for (i=0; i<5;i++) { write(fd1, &c, 1);}

16 Un esempio (iii) } /* lettura del file dall'inizio */ lseek(fd1,0,0); for (i=0; i<20;i++) { read(fd1, &c, 1); printf("%c",c);} printf("\n"); /* chiusura file */ close(fd1);

17 Direttori: strutturazione gerarchica del file system Un file system è organizzato in: Partizioni: contengono insiemi di file correlati Direttori: una partizione è suddivisa in direttori. I direttori contengono informazioni sui file o direttori in essi contenuti e fungono da indice. Direttorio radice (root): è il direttorio accessibile direttamente e autonomamente dal file system File (normali): contengono effettivamente i dati o i programmi Pathname (nome completo di un file): è il nome (percorso) ottenuto concatenando tutti i nomi dei direttori che devono essere percorsi dalla radice fino al file

18 Direttori I direttori sono dei file (d) e quindi sono caratterizzati da nome e diritti d accesso Contengono informazioni sui file e direttori in essi contenuti (nome, attributi, proprietario) Forniscono una corrispondenza tra nomi di file e file stessi. Il loro contenuto può essere visto come una tabella, con una entry per ogni file/direttorio contenuto. Ogni entry è del tipo <riferimento al file/direttorio su disco, nome file/direttorio >

19 Contenuto di un direttorio (/etc) riferimento posizione file/direttorio su disco (i-node) nome file/direttorio 3. (direttorio corrente) 2.. (direttorio padre) 4 passwd 7 shadow

20 Operazioni sui direttori Sui direttori, così come sui file, è possibile compiere alcune operazioni: Ricerca di un file: Sulla base di un nome o una espressione regolare consente di recuperare le informazioni su uno o più file Creazione di un file: Al direttorio viene aggiunto un elemento che raccoglie le informazioni sul nuovo file Rimozione di un file: Eliminazione di un descrittore di file. Il descrittore deve essere prima individuato tramite una operazione di ricerca Elenco dei file: Produce l elenco dei nomi ed eventualmente altre informazioni relative ai file memorizzati Rinomina di un file: Modifica il nome di un file già presente nel direttorio. Il descrittore deve essere prima individuato tramite una operazione di ricerca. Per creare un direttorio si usa la funzione mknod ( )

21 Periferiche e file speciali In Unix le periferiche sono viste come file speciali, simulate come file nel direttorio /dev. Sulle periferiche è possibile eseguire open, read e write (purché ne abbia senso), close ma non creat Ogni programma, all esecuzione, dispone già di 3 descrittori di file: stdin (0), stdout (1), stderr (2) associati rispettivamente alla tastiera e al video. Nella tabella dei file aperti di un processo, i primi 3 elementi sono associati a questi descrittori I descrittori standard possono essere ridiretti su altri file. Ad esempio: close (1); /* chiude lo standard output e libera il descrittore 1 */ fd = open (./outputfile, O_WRONLY); /* il descrittore 1 viene associato a ouputfile, quindi ogni operazione su 1 viene eseguita su outputfile */

22 Struttura del dispositivo logico: Volume La memoria principale non volatile (dischi magnetici HHD o memorie allo stato solido SSD) è rappresentata e gestita a livello di file system come un dispositivo logico, chiamato volume Il volume è composto da una sequenza di blocchi logici (vettore di blocchi), di dimensioni fisse pari a un multiplo di 512 byte (configurabile a livello di sistema) L indirizzamento dei dati nel volume si basa sul concetto di Logical Block Address (LBA) che può essere interpretato come l indice del blocco nel volume Il blocco è l unità di informazione logicamente trasferita con un solo accesso a disco, quindi è un multiplo del settore di disco La conversione tra indirizzi del dispositivo logico (volumi e blocchi) e indirizzi fisici (tracce e settori) è realizzata dal driver del disco

23 Area buffer/cache e gestori dei dispositivi a blocchi Il file system svolge le sue funzioni appoggiandosi a due componenti il gestore dei buffer/cache che gestisce le zone di memoria destinate a contenere blocchi dei file che sono stati letti da disco il gestore del disco (disk driver) che disaccoppia il dispositivo logico da quello fisico Il gestore dei buffer/cache gestisce la Page Cache (zona di memoria centrale) con il principio di tenere in memoria il più a lungo possibile i blocchi letti da disco Quando il file system richiede la lettura di un blocco di un file passa la richiesta al gestore dei buffer/cache se il blocco del file è già nella page cache, il gestore dei buffer lo «fornisce» al file system in caso contrario il file system identifica l LBA del blocco da caricare e richiede al gestore di allocare spazio e di caricare il blocco il gestore dei buffer interagisce con il disk driver, accodando la richiesta di trasferimento che sarà soddisfatta in maniera ottimale dal driver in funzione delle operazioni fisiche su disco File System Carattere Buffer Blocco Driver dispositivi Cache Controllori dei dei dispositivi

24 Struttura logica di un file Il file è visto dal file system come una sequenza di blocchi numerati logicamente a partire da 0 all interno del file (FBA File Block Address) Le operazioni read, write etc. fanno riferimento alla posizione corrente nel file Ad esempio: ricerca del byte 520 (posizione corrente): Blocco = 520 div 512 Offset nel blocco = 520 % 512 (resto della divisione) - 1 Offset =7 Blocco 0 Blocco 1 Blocco

25 Allocazione del file nel volume File Posizione corrente: 520 byte 520 File in blocchi Blocco 0 del file ottavo Blocco 1 byte del file Blocco 2 del file La corrispondenza tra i blocchi di un file e i blocchi del volume in cui viene memorizzato dipende dalla tecnica di allocazione blocchi del volume Volume posizione del byte nel volume

26 Tecnica di allocazione: UNIX i-node UNIX utilizza lo schema di allocazione indicizzata combinata dei blocchi dei file sui blocchi del volume La tecnica è realizzata mediante una lista (i-list)i cui elementi sono chiamati i-node (index-node) Ogni i-node contiene la lista degli attributi e degli indirizzi dei blocchi di disco a cui sono associati i blocchi del file Un file esiste nel file system se esiste il corrispondente i-node La tecnica di allocazione e la struttura del volume dipendono dal file system: si considera UNIX (e LINUX per compatibilità)

27 Struttura del volume Blocco di boot Super block Lista i-node Blocchi dati Un volume contiene l immagine del file system ad esso associato Blocco 0 o blocco di boostrap: contenuto tipicamente nel primo settore del disco, contiene il codice di inizializzazione del sistema operativo (altrimenti allocato ma non utilizzato) Superblock: descrive lo stato del file system (es. dimensioni, spazio libero...) Lista degli i-node: dimensione definita in fase di configurazione del sistema operativo. Ogni elemento è un i-node per rendere più efficiente l accesso ai file, una parte della lista di i-node è generalmente contenuta in memoria centrale nella tabella degli i-node (tramite la quale è comunque possibile accedere alla i-list) Blocchi di dati: che contengono i blocchi dei file

28 Implementazione dei file tramite i-nodei Ogni file ordinario, direttorio o speciale ha associato un i- node i-node: 64 byte di informazioni Gli i-node dei file in un disco sono memorizzati in sequenza numerica all inizio del disco o di ogni cilindro e costituiscono la i-list In un direttorio, i file o direttori contenuti sono rappresentati da una tabella le cui entry sono costituite dalla coppia < i_node, nome_file > Dato il numero dell i-node UNIX può localizzare la posizione del file calcolandone l indirizzo su disco

29 Informazioni nell i-node node Tipo di file, bit di protezione (9 rwx) e altri bit Numero di link al file Proprietario e gruppo del proprietario Lunghezza del file in byte o blocchi (se ordinario o direttorio) 13 indirizzi su disco che referenziano in modo diretto o indiretto i blocchi su disco contenenti il file. Non sono significativi nel caso di file speciale Data e ora in cui il file è stato letto e scritto per l ultima volta Data e ora dell ultima modifica dell i-node

30 Allocazione indicizzata negli UNIX i-node I primi 10 indirizzi su disco rappresentano direttamente i blocchi del file su disco Per file di dimensioni maggiori, l i-node contiene l indirizzo di un blocco del disco chiamato single indirect block (11) che a sua volta contiene altri indirizzi di blocchi del disco Se questo non è sufficiente, l i-node mette a disposizione un altro indirizzo, chiamato double indirect block (12) che contiene l indirizzo di un blocco che a sua volta contiene una lista di single indirect block Ognuno di questi blocchi punta a sua volta a qualche centinaia (128 di solito) di single indirect block Esiste anche un triple indirect block (13) nel caso la doppia indicizzazione non sia sufficiente

31 Rappresentazione dell i-node i-node Mode Owner, group Timestamp Size Number of blocks Number of references tipo di file e protezione Data Data Data Data Data Data Direct blocks (10) Data Data Data Single indirect blocks Double indirect blocks Triple indirect blocks Data Data Data Data

32 Contenuto del superblock Sono le informazioni necessarie a creare o eliminare un file, ad aggiungere o togliere blocchi a un file esistente dimensione del volume; numero di blocchi liberi nel volume; parte iniziale della lista dei blocchi liberi; numero di elementi della lista dei blocchi liberi; numero di elementi della lista degli i-node; numero di i-node liberi; lista dei primi i-node liberi; altre informazioni ausiliarie

33 Gestione dello spazio libero All atto della creazione e scrittura di un file è necessario individuare sul disco il primo blocco libero da allocare al file UNIX utilizza una lista concatenata di blocchi liberi (in genere il primo elemento della lista punta ad un altra lista ) lista dei blocchi liberi (parte contenuta nel superblock) lista dei blocchi liberi (parte contenuta nel blocco 180) 240 lista dei blocchi liberi (parte contenuta nel blocco 240)

34 Strutture dati del file system (1) UNIX dispone di tre tabelle per la gestione dei file Tabella dei descrittori di file utente: tabella associata ad ogni processo utente costituita da una riga per ogni file aperto dal processo (indice = descrittore del file). Ogni elemento della tabella contiene l indice della riga della tabella globale dei file aperti relativa al file Tabella globale dei file aperti: tabella del sistema operativo che contiene una riga per ogni file aperto nel sistema; ogni riga contiene l indice del corrispondente i-node nella tabella degli i- node, l indicatore della posizione corrente del file e il contatore al numero di riferimenti (link) da parte dei processi a questo file Tabella degli i-node: le righe contengono la copia in memoria degli i-node del volume per maggiore efficienza nei riferimenti

35 Strutture dati del file system (2)

36 Operazioni sui file e strutture dati del file system (i) Open ( ): la richiesta di apertura di un file al sistema operativo prevede le seguenti operazioni: Riserva una riga nella tabella globale dei file aperti e inizializza il contatore dei riferimenti e l indicatore di posizione Riserva un riga nella tabella dei descrittori di file utente aperti del processo e vi scrive l indice della riga della tabella globale dei file aperti Restituisce al processo un descrittore costituito dal numero della riga della tabella dei descrittori di file utente aperti

37 Operazioni sui file e strutture dati del file system (i) Open ( ): cont. Determina quale sia l i-node corrispondente al file il cui path name è stato indicato nella richiesta e scrive il suo riferimento nella riga della tabella globale dei file aperti associata al file Per questa operazione il file system esegue una ricerca ordinata all interno di tutti i direttori del pathname. Per esaminare ogni direttorio (memorizzato in un blocco di dati del volume) è necessario accedere all i-node corrispondente presente nella tabella degli i-node (eventualmente ricopiato dalla i-list) e caricare in memoria il suo contenuto Ad esempio /dir1/file Ricerca dell i-node di root e caricamento in memoria dei blocchi che costituiscono root (generalmente, almeno l i-node di root è sempre caricato nella Tabella degli i-node in posizione prefissata) Ricerca in root della entry di dir1 (<i-node, dir1>) Ricerca dell i-node di dir1 e caricamento in memoria dei blocchi che costituiscono dir1 Ricerca in dir1 della entry di file (<i-node, file>) Copiatura dell i-node di file nella Tabella degli i-node e aggiornamento della riga relativa nella tabella globale dei file aperti

38 Operazioni sui file e strutture dati del file system (ii) Creat ( ): la richiesta di creazione di un file al sistema operativo prevede le seguenti operazioni: Verifica che esista un i-node libero Verifica che esistano blocchi liberi Riserva una riga nella tabella globale dei file aperti e inizializza il contatore dei riferimenti e l indicatore di posizione Riserva un riga nella tabella dei descrittori di file utente aperti del processo e vi scrive l indice della riga della tabella globale dei file aperti Restituisce al processo un descrittore costituito dal numero della riga della tabella dei descrittori di file utente aperti Alloca l i-node al file, inizializzando le informazioni in esso contenute e aggiorna le informazioni relative alla i-list Aggiorna il direttorio che contiene il file Scrive nella riga della tabella globale dei file aperti associata al file il riferimento all i-node corrispondente al file

39 Operazioni sui file e strutture dati del file system (iii) Dup ( ): si generano due descrittori nella medesima tabella dei file aperti da quel processo e che puntano allo stesso file la posizione corrente è unica, esiste una sola riga nella tabella globale dei file aperti Fork ( ): vengono duplicate anche le tabelle dei file aperti da un processo la posizione corrente è unica, esiste una sola riga nella tabella globale dei file aperti Apertura dello stesso file da parte di 2 processi: si aggiunge una riga nella tabella globale dei file aperti ogni processo ha una propria posizione corrente del file

40 Operazioni sui file e strutture dati del file system (iv) Lettura o scrittura: Deve essere fornito il descrittore del file che permette di seguire i puntatori nelle tre tabelle e tramite l i-node identificare i blocchi di dati del file Chiusura di un file: Il sistema operativo libera la corrispondente riga dei descrittori di file utente aperti Decrementa il contatore dei riferimenti nella tabella globale dei file e se =0, libera la riga

41 Esempio P apre il file F; P esegue una dup; P esegue una fork, generando Q; R apre lo stesso file F

42 Esempio: strutture dati del file system Descrittore di un file del processo P P Indicatore posizione corrente Numero di riferimenti Q i-node F Disco R Tabella globale file aperti Tabella degli i-node

Giuseppe Pelagatti. Programmazione e Struttura del sistema operativo Linux

Giuseppe Pelagatti. Programmazione e Struttura del sistema operativo Linux IL FILE SYSTEM Giuseppe Pelagatti Programmazione e Struttura del sistema operativo Linux Appunti del corso di Architettura dei Calcolatori e Sistemi Operativi (AXO) Parte IO: Input/Output e File System

Dettagli

8. IL FILE SYSTEM. 1. I servizi per la gestione dei file

8. IL FILE SYSTEM. 1. I servizi per la gestione dei file IL FILE SYSTEM 8. IL FILE SYSTEM In tutti i sistemi operativi il File System costituisce una parte molto rilevante del codice complessivo, ma noi lo tratteremo abbastanza brevemente, perchè dal punto di

Dettagli

Architettura degli elaboratori Docente:

Architettura degli elaboratori Docente: Politecnico di Milano Il File System Architettura degli elaboratori Docente: Ouejdane Mejri mejri@elet.polimi.it Sommario File Attributi Operazioni Struttura Organizzazione Directory Protezione Il File

Dettagli

Architettura dei calcolatori e sistemi operativi. Input Output. IO 3 Device driver

Architettura dei calcolatori e sistemi operativi. Input Output. IO 3 Device driver Architettura dei calcolatori e sistemi operativi Input Output IO 3 Device driver Device driver - gestori delle periferiche Sono moduli software che realizzano l interfacciamento e la gestione dei dispositivi

Dettagli

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. 2016-17 Pietro Frasca Lezione 23 Martedì 17-01-2017 Il file system Il file system si basa sulle astrazioni

Dettagli

CAP.8: Il file system

CAP.8: Il file system Struttura interna del sistema operativo Linux CAP.8: Il file system Primitive per la gestione dei file 28/10/2013 File System Il gestore del file system è quel componente del Sistema Operativo che realizza

Dettagli

CAP.8: Il file system

CAP.8: Il file system Struttura interna del sistema operativo Linux CAP.8: Il file system Primitive per la gestione dei file File System Il gestore del file system è quel componente del Sistema Operativo che realizza i servizi

Dettagli

Struttura interna del sistema operativo Linux. Il file system. -revisione del 30 marzo 2004

Struttura interna del sistema operativo Linux. Il file system. -revisione del 30 marzo 2004 Struttura interna del sistema operativo Linux Il file system -revisione del 30 marzo 2004 File System Il file system è il componente del sistema operativo che realizza i servizi di gestione dei file file:

Dettagli

5. I device driver. Device driver - gestori delle periferiche. Struttura interna del sistema operativo Linux. Tipi di periferiche. Tipi di periferiche

5. I device driver. Device driver - gestori delle periferiche. Struttura interna del sistema operativo Linux. Tipi di periferiche. Tipi di periferiche Device driver - gestori delle periferiche Struttura interna del sistema operativo Linux Sono moduli software che realizzano l interfacciamento e la gestione dei dispositivi periferici Interagiscono con

Dettagli

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. 2018-2019 Pietro Frasca Lezione 22 Martedì 08-01-2019 Struttura logica del file system una tipica organizzazione

Dettagli

Linguaggio C: i file

Linguaggio C: i file Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica A - GES Prof. Plebani A.A. 2006/2007 Linguaggio C: i file La presente dispensa e da utilizzarsi ai soli fini didattici previa

Dettagli

File System ext2. Struttura del filesystem ext2.

File System ext2. Struttura del filesystem ext2. Struttura di base File System ext2 Lo spazio fisico di un disco viene usualmente diviso in partizioni; ogni partizione può contenere un filesystem. Nel filesystem ext2 il blocco (block) definisce la minima

Dettagli

Struttura interna del sistema operativo Linux

Struttura interna del sistema operativo Linux Struttura interna del sistema operativo Linux 5. I device driver A cura di: Anna Antola Giuseppe Pozzi DEI, Politecnico di Milano anna.antola/giuseppe.pozzi@polimi.it -versione del 30 marzo 2004-1-04.-04

Dettagli

GESTIONE DEI FILE IN C. Docente: Giorgio Giacinto AA 2008/2009

GESTIONE DEI FILE IN C. Docente: Giorgio Giacinto AA 2008/2009 Università degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria per l Ambiente ed il Territorio Corso di Laurea Specialistica in Ingegneria Civile - Strutture FONDAMENTI DI INFORMATICA 2

Dettagli

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. File. Marco D. Santambrogio Ver. aggiornata al 6 Marzo 2016

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. File. Marco D. Santambrogio Ver. aggiornata al 6 Marzo 2016 File Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 6 Marzo 2016 Obiettivi Il salvataggio dei dati File File e OS File in C 2 3 I programmi che abbiamo considerato finora. Perdono

Dettagli

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. File. Marco D. Santambrogio Ver. aggiornata al 21 Maggio 2014

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. File. Marco D. Santambrogio Ver. aggiornata al 21 Maggio 2014 File Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 21 Maggio 2014 Obiettivi Il salvataggio dei dati File File e OS File in C 2 3 I programmi che abbiamo considerato finora. Perdono

Dettagli

CAP9. Device drivers

CAP9. Device drivers Struttura interna del sistema operativo Linux CAP9. Device drivers Device drivers Gestori di periferiche Sono moduli software che realizzano l interfacciamento e la gestione dei dispositivi periferici

Dettagli

Esercitazione 4. Gestione dei file in Unix

Esercitazione 4. Gestione dei file in Unix Esercitazione 4 Gestione dei file in Unix Primitive fondamentali (1/2) open close Apre il file specificato e restituisce il suo file descriptor (fd) Crea una nuova entry nella tabella dei file aperti di

Dettagli

Il file system. dell 11. -Revisione. l 11 Aprile 2005

Il file system. dell 11. -Revisione. l 11 Aprile 2005 Struttura interna dei sistemi operativi unix-like Il file system -Revisione dell 11 l 11 Aprile 2005 File System Il file system è il componente del sistema operativo che realizza i servizi di gestione

Dettagli

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

Input/output da file I/O ANSI e I/O UNIX FLUSSI E FILE FLUSSI FLUSSI di TESTO FLUSSI BINARI FILE Input/output da file Il linguaggio C non contiene istruzioni di I/O, in quanto tali operazioni vengono eseguite tramite funzioni di libreria standard. Questo approccio rende estremamente flessibile e potente

Dettagli

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. File. Marco D. Santambrogio Ver. aggiornata al 15 Maggio 2015

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. File. Marco D. Santambrogio Ver. aggiornata al 15 Maggio 2015 File Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 15 Maggio 2015 2nda prova in itinere Era il 21 Maggio 2 2nda prova in itinere Era il 21 Maggio Spostata (da 3 settimane) al 22

Dettagli

Esercizio n. 4 File system

Esercizio n. 4 File system Esercizio n. 4 File system Un processo P esegue il programma seguente, creando un processo figlio Q, che crea a sua volta un figlio R: int main ( ) { /* processo P */ / dichiarazioni varie / fd = open

Dettagli

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

Sistemi Operativi (modulo di Informatica II) L interfaccia del file system Sistemi Operativi (modulo di Informatica II) L interfaccia del file system Patrizia Scandurra Università degli Studi di Bergamo a.a. 2009-10 Sommario Il concetto di file Metodi di accesso Struttura delle

Dettagli

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 System 1 Il file system È quella parte del Sistema Operativo che fornisce i meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate in memoria di massa. Realizza i

Dettagli

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 System Il file system È quella parte del Sistema Operativo che fornisce i meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate in memoria di massa. Realizza i concetti

Dettagli

&& (nessun altro processo ha il file aperto) && (il fd e chiuso) Cancella il file;

&& (nessun altro processo ha il file aperto) && (il fd e chiuso) Cancella il file; CREAZIONE ritorna fd o 1 Pseudocodice dell operazione: If(file esiste) If(Write permission) Tronca la lunghezza a 0 e lascia il file aperto in scrittura; Else Exit(-1); Else Alloca un nuovo INODE con link=1

Dettagli

Filesystem: richiami sui concetti di base

Filesystem: richiami sui concetti di base Filesystem: richiami sui concetti di base 1 Cosa è un file system? Con file system si intende la parte del sistema operativo che si occupa di organizzare e gestire i dati/programmi in modo persistente

Dettagli

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

Il file È un insieme di informazioni: programmi. Il File System. Il file system Il File System Il file È un insieme di informazioni: programmi d a t i testi rappresentati come insieme di record logici (bit, byte, linee, record, etc.) Ogni file è individuato da (almeno) un nome simbolico

Dettagli

File binari e file di testo

File binari e file di testo I file File binari e file di testo distinzione tra file binari file di testo si possono usare funzioni diverse per la gestione di tipi di file diversi Programmazione Gestione dei file 2 File binari e file

Dettagli

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

Il file system. Il File System. Il file È un insieme di informazioni: programmi dati testi Il file system È quella parte del Sistema Operativo che fornisce i meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate in memoria di massa. Il File System Realizza i concetti

Dettagli

LABORATORIO DI SISTEMI OPERATIVI

LABORATORIO DI SISTEMI OPERATIVI LABORATORIO DI SISTEMI OPERATIVI Corso di Laurea Triennale in Ingegneria Informatica A.A. 2018/2019 Guglielmo Cola Email: g.cola@iet.unipi.it Web: iet.unipi.it/g.cola Organizzazione del filesystem Meccanismo

Dettagli

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

Sistemi Operativi FILE SYSTEM : INTERFACCIA. D. Talia - UNICAL. Sistemi Operativi 8.1 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. L interfaccia del file system

Sistemi Operativi. L interfaccia del file system Sistemi Operativi (modulo di Informatica II) L interfaccia del file system Patrizia Scandurra Università degli Studi di Bergamo a.a. 2008-09 Sommario Il concetto di file Metodi di accesso Struttura delle

Dettagli

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

Sistemi Operativi (modulo di Informatica II) L interfaccia del file system Sistemi Operativi (modulo di Informatica II) L interfaccia del file system Patrizia Scandurra Università degli Studi di Bergamo a.a. 2011-12 Sommario Il concetto di file Metodi di accesso Struttura delle

Dettagli

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

Il file system di Unix. Caratteristiche generali dei FS comunemente usati da Unix/Linux Il file system di Unix Caratteristiche generali dei FS comunemente usati da Unix/Linux Il file system di Unix Il file system è la parte del SO che si occupa di mantenere i dati/programmi in modo persistente

Dettagli

Il linguaggio C. Breve panoramica su stdio.h

Il linguaggio C. Breve panoramica su stdio.h Il linguaggio C Breve panoramica su stdio.h 1 Input/Output: stdio.h Contiene definizioni di costanti legate all I/O es. EOF (end of file) #define EOF (-1) valore restituito alla fine di un file Contiene

Dettagli

System call per l accesso a file

System call per l accesso a file System call per l accesso a file Nome open creat close read write lseek unlink remove fcntl Significato apre un file in lettura e/o scrittura o crea un nuovo file crea un file nuovo chiude un file precedentemente

Dettagli

Esercizio FAT 1. Soluzione: 1. Capacità del disco: 2 24 blocchi (3 byte=24 bit) 2

Esercizio FAT 1. Soluzione: 1. Capacità del disco: 2 24 blocchi (3 byte=24 bit) 2 Esercizio FAT 1 In un disco con blocchi di 1 Kbyte (= 2 10 byte), è definito un file system FAT. Gli elementi della FAT sono in corrispondenza biunivoca con i blocchi fisici del disco. Ogni elemento ha

Dettagli

Igino Corona

Igino Corona Sistemi Operativi Esercitazione 6: Comunicazione fra processi in Linux PIPE Igino Corona igino.corona@diee.unica.it 17 Novembre 2009 File In Linux, un le può essere un contenitore di informazione o uno

Dettagli

Capitolo Silberschatz

Capitolo Silberschatz File System Capitolo 10 -- Silberschatz Interfaccia del File System Per gli utenti di un computer, il File System è spesso l aspetto più visibile del SO di quel computer. Il File System fornisce infatti

Dettagli

Implementazione del File System nel Sistema Operativo Unix

Implementazione del File System nel Sistema Operativo Unix Implementazione del File System nel Sistema Operativo Unix (Bach: the Design of the Unix Operating System (cap: 4, da 5.1 a 5.7, 5.12) 1 Argomenti Index node (I-NODE) gestione dei file mediante i-node

Dettagli

Gestione dei file. Stefano Ferrari. Università degli Studi di Milano Programmazione. anno accademico

Gestione dei file. Stefano Ferrari. Università degli Studi di Milano Programmazione. anno accademico Gestione dei file Stefano Ferrari Università degli Studi di Milano stefano.ferrari@unimi.it Programmazione anno accademico 2016 2017 Gli stream Si dice stream qualsiasi sorgente di dati in ingresso e qualsiasi

Dettagli

Capitolo 3 -- Stevens

Capitolo 3 -- Stevens I/O non bufferizzato (1) Capitolo 3 -- Stevens System Call open close read write lseek 1.2 sono degli interi non negativi file descriptor il kernel assegna un file descriptor ad ogni file aperto le funzioni

Dettagli

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

Informatica II Sistemi Operativi DIGIP - a.a. 2015/16 DIPARTIMENTO DI INFORMATICA Alberto Ceselli (alberto.ceselli@unimi.it) Informatica II Sistemi Operativi DIGIP - a.a. 2015/16 Sistemi Operativi (modulo di Informatica II) L interfaccia del file system Patrizia

Dettagli

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. File. Marco D. Santambrogio Ver. aggiornata al 15 Maggio 2013

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. File. Marco D. Santambrogio Ver. aggiornata al 15 Maggio 2013 File Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 15 Maggio 2013 Obiettivi Alcuni problemi aperti Il main() Allocazione dinamica della memoria Il salvataggio dei dati File File

Dettagli

Laboratorio di Sistemi Operativi

Laboratorio di Sistemi Operativi II Semestre - Marzo/Giugno 2008 matricole congr. 0 mod 3 I/O non bufferizzato System Call open close read write lseek 2 1 file descriptor sono degli interi non negativi il kernel assegna un file descriptor

Dettagli

Interfaccia del file system

Interfaccia del file system Interfaccia del file system Concetto di file Metodi di accesso Struttura delle directory Protezione 1 Concetto di File Insieme di informazioni correlate, registrate in memoria secondaria, con un nome.

Dettagli

Laboratorio di Programmazione

Laboratorio di Programmazione Laboratorio di Programmazione (Laurea triennale in matematica) Lezione 26 Sommario: Gestione dei file in C. File ad accesso sequenziale: apertura, chiusura, lettura e scrittura. File binari. Gestione files

Dettagli

Strutture dei sistemi di calcolo

Strutture dei sistemi di calcolo Strutture dei sistemi di calcolo Funzionamento di un sistema di calcolo Struttura di I/O Struttura della memoria Gerarchia delle memorie Architetture di protezione Architettura di un sistema di calcolo

Dettagli

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

Sistemi Operativi. Bruschi Martignoni Monga. File system Astrazioni utente Metadati Tecniche implementative. Sistemi Operativi 1 Mattia Lezione XXX: Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it a.a. 2008/09 1 c 2009 M.. Creative Commons Attribuzione-Condividi allo stesso modo

Dettagli

File System. Sistemi Operativi Lezione 19

File System. Sistemi Operativi Lezione 19 File System Sistemi Operativi Lezione 19 Necessità Un qualunque sistema per la gestione delle informazioni deve essere in grado di soddisfare i seguenti requisiti: Memorizzare grosse quantità di dati Garantire

Dettagli

Il Sistema Operativo Gestione del File System

Il Sistema Operativo Gestione del File System ISTITUTO TECNICO SECONDO BIENNIO GIORGIO PORCU www.thegiorgio.it Sommario File System File e Cartelle Partizione Path Tabella di Allocazione Frammentazione 2 File File Gestione dell Interfaccia Gestione

Dettagli

La gestione dell'errore

La gestione dell'errore La gestione dell'errore Esiste una variabile globale intera, definita nell'header errno.h che viene settata nel caso in cui una chiamata di sistema non possa eseguire correttamente il suo compito. Tale

Dettagli

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

Il file system. Il File System. Attributi del file. File 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

Premessa. Input /output e gestione dei file. I file e gli stream. Il puntatore al file. 21. I FILE NEL LINGUAGGIO C Versione 1.

Premessa. Input /output e gestione dei file. I file e gli stream. Il puntatore al file. 21. I FILE NEL LINGUAGGIO C Versione 1. Input /output e gestione dei file Premessa Iniziamo la lezione dicendo subito che per INPUT/OUTPUT si intende l insieme delle operazioni di ingresso ed uscita, ossia lo scambio di informazioni tra il programma

Dettagli

Capitolo 5 -- Stevens

Capitolo 5 -- Stevens Libreria standard di I/O Capitolo 5 -- Stevens Libreria standard di I/O rientra nello standard ANSI C perché è stata implementata su molti sistemi operativi oltre che su UNIX le sue funzioni individuano

Dettagli

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

Gestione del file system. Astrazione di File System. Attributi del file. File Gestione del file system Astrazione di 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

Dettagli

Il File System. Sistemi Operativi T AA

Il File System. Sistemi Operativi T AA Il File System Sistemi Operativi T AA 2011-12 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

Dettagli

Gestione dei File. Credits Prof. Campi

Gestione dei File. Credits Prof. Campi Gestione dei File Credits Prof. Campi 1 Perché i file? Sono strutture dati persistenti Sono solitamente memorizzati sui dischi Si usano dall'interno dei programmi Realizzano la persistenza dei dati cioè

Dettagli

Il File System. Sistemi Operativi L-A AA

Il File System. Sistemi Operativi L-A AA Il File System Sistemi Operativi L-A AA 2009-2010 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

Dettagli

Sistemi Operativi. Lez. 14 File System: aspetti implementativi

Sistemi Operativi. Lez. 14 File System: aspetti implementativi Sistemi Operativi Lez. 14 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

Gestione dei files. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Via Leopardi 132

Gestione dei files. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Via Leopardi 132 Gestione dei files Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Via Leopardi 132 Struttura del disco fisso Un disco fisso è composto da una serie di piatti sovrapposti Ogni piatto è

Dettagli

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

Logico e fisico. Fisico: legato agli aspetti costruttivi e tecnologici HARDWARE Logico: legato al significato e all organizzazione SOFTWARE FISICO File System FISICO LOGICO Indice Caratteristiche generali I file e directory Metodi di accesso Directory e descrittori dei file Operazioni sui file Organizzazione della memoria fisica Allocazione della

Dettagli

Sistema operativo: Gestione del file system e delle periferiche

Sistema operativo: Gestione del file system e delle periferiche Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2009/2010 Sistema operativo: Gestione del file system e delle periferiche La

Dettagli

Realizzazione del file system. Fabio Buttussi HCI Lab Dipart. Di Matematica ed Informatica Università degli studi di Udine

Realizzazione del file system. Fabio Buttussi HCI Lab Dipart. Di Matematica ed Informatica Università degli studi di Udine Realizzazione del file system Fabio Buttussi HCI Lab Dipart. Di Matematica ed Informatica Università degli studi di Udine www.dimi.uniud.it/buttussi Struttura del file system Il file system risiede in

Dettagli

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

Sistemi Operativi Da Unix a GNU/Linux (parte 3) Sistemi Operativi Da Unix a GNU/Linux Docente: Claudio E. Palazzi cpalazzi@math.unipd.it Crediti per queste slides al Prof. Tullio Vardanega Caratteristiche del File System 1 File visto da FS come sequenza

Dettagli

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. 2017-18 Pietro Frasca Lezione 23 Giovedì 11-01-2018 Organizzazione fisica del file system Il file system

Dettagli

File I/O. M. R. Guarracino: File I/O 1

File I/O. M. R. Guarracino: File I/O 1 File I/O M. R. Guarracino: File I/O 1 File I/O Gran parte delle operazioni su file in ambiente UNIX possono essere eseguite utilizzando solo cinque funzioni: open read write lseek close M. R. Guarracino:

Dettagli

UNIX file system: organizzazione logica. Il File System di UNIX. UNIX file system: organizzazione fisica

UNIX file system: organizzazione logica. Il File System di UNIX. UNIX file system: organizzazione fisica UNIX file system: organizzazione logica / Il File System di UNIX omogeneità: tutto è file tre categorie di file file ordinari direttori bin.profile etc usr dev anna file1 paolo mbox dispositivi fisici:

Dettagli

Il File System di UNIX

Il File System di UNIX Il File System di UNIX UNIX file system: organizzazione logica / bin etc usr dev omogeneità: tutto è file tre categorie di file file ordinari direttori anna paolo.profile file1 mbox testi... dispositivi

Dettagli

Architettura dei Sistemi Informatici

Architettura dei Sistemi Informatici Sistemi di Calcolo Architettura dei Sistemi Informatici Sistemi informatici PC, terminali e reti Architettura insieme delle componenti del sistema, descrizione delle loro funzionalità e della loro interazione

Dettagli

Modulo 12: File System

Modulo 12: File System Modulo 12: File System Livelli logici per l accesso ai file Organizzazione dei file su disco Organizzazione di un File System di UNIX 12.1 Livelli logici per l accesso ai file Programmi utente Pile Sequenziali

Dettagli

Gestione dei file in C

Gestione dei file in C Gestione dei file in C Fondamenti di Informatica Che cos è un file e a cosa serve? Memoria di massa vs memoria centrale q La memoria di massa (disco fisso) è un dispositivo di memorizzazione generalmente

Dettagli

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

File-System! Introduzione al File-System! Struttura dei File! Concetto di File! File-System Introduzione al File-System Dal punto di vista dell utente File Directory Metodi e strutture per garantire accesso organizzazione condivisione protezione su/ai dati memorizzati Operating System

Dettagli

Esercizio 1. Si consideri il seguente frammento di FAT: Blocco Fisico - valore nella FAT. e di directory D1 : nome file - primo blocco A 32 B 36

Esercizio 1. Si consideri il seguente frammento di FAT: Blocco Fisico - valore nella FAT. e di directory D1 : nome file - primo blocco A 32 B 36 Esercizio 1. Si consideri il seguente frammento di FAT: Blocco Fisico - valore nella FAT 30 16 31 34 32 33 33 35 34 41 35 40 36 37 37 31 38 29 39 30 40 39 e di directory D1 : nome file - primo blocco A

Dettagli

Dati due punti sul piano calcolare la loro distanza

Dati due punti sul piano calcolare la loro distanza Introduzione al C Primo esempio in C Dati due punti sul piano calcolare la loro distanza Soluzione: la distanza fra due punti si calcola secondo il teorema di Pitagora, con la formula: y Distanza = (lato12

Dettagli

Capitolo 2: Strutture dei sistemi di calcolo

Capitolo 2: Strutture dei sistemi di calcolo Capitolo 2: Strutture dei sistemi di calcolo Funzionamento di un sistema di calcolo Struttura di I/O Struttura della memoria Gerarchia delle memorie Architetture di protezione Struttura delle reti di calcolatori

Dettagli

INFORMATICA DI BASE IL SISTEMA OPERATIVO

INFORMATICA DI BASE IL SISTEMA OPERATIVO Sommario della 2^ Lezione Analisi del concetto di files, directory e unità Procedure per creare e modificare directory Copiare rinominare spostare visualizzare ed eliminare files Analisi del concetto del

Dettagli

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

Gestione dei file. Linguaggio ANSI C Input/Output - 13 Gestione dei file Necessità di persistenza dei file archiviare i file su memoria di massa. Un file è una astrazione fornita dal sistema operativo, il cui scopo è consentire la memorizzazione di informazioni

Dettagli

Streams e disk files

Streams e disk files Streams e disk files Streams Un canale è una sequenza di byte di dati Sorgente o destinazione di dati che possono essere associati ad un disco o ad altre periferiche Due tipi di stream: Testo: sequenza

Dettagli

Corso di Reti di Calcolatori T

Corso di Reti di Calcolatori T Università degli Studi di Bologna Scuola di Ingegneria Corso di Reti di Calcolatori T Esercitazione 0 (proposta) Lettura e Scrittura File in Java e C Luca Foschini Michele Solimando, Giuseppe Martuscelli

Dettagli

Directory. Le directory unix sono file.

Directory. Le directory unix sono file. Le directory unix sono file. Directory Molte system call per i file ordinari possono essere utilizzate per le directory. E.g. open, read, fstat, close. Tuttavia le directory non possono essere create con

Dettagli

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

Le strutture. Una struttura C è una collezione di variabili di uno o più tipi, raggruppate sotto un nome comune. Le strutture Una struttura C è una collezione di variabili di uno o più tipi, raggruppate sotto un nome comune. Dichiarazione di una struttura: struct point { int x; int y; }; La dichiarazione di una struttura

Dettagli

Sistema Operativo (Software di base)

Sistema Operativo (Software di base) 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

I SISTEMI OPERATIVI (1)

I SISTEMI OPERATIVI (1) I SISTEMI OPERATIVI () un computer può essere pensato come una stratificazione di macchine virtuali, ciascuna delle quali mette a disposizione alcuni servizi, che sono utilizzabili mediante chiamate effettuate

Dettagli

Sommario. File Management. File. File Management System

Sommario. File Management. File. File Management System Sommario File Management Panoramica Organizzazione dei file ed accesso ad essi File Directories Record Blocking Gestione della Memoria Secondaria File I file costituiscono gli elementi fondamentali di

Dettagli

I file Laboratorio di Linguaggi di Programmazione a.a. 2001/2002

I file Laboratorio di Linguaggi di Programmazione a.a. 2001/2002 I file Laboratorio di Linguaggi di Programmazione a.a. 2001/2002 dott.ssa Francesca A. Lisi lisi@di.uniba.it Sommario Generalità sui file in C I file ad accesso sequenziale I file di testo Riferimenti

Dettagli

Sistemi Operativi Teledidattico

Sistemi Operativi Teledidattico Sistemi Operativi Teledidattico Anno 2002 3a esercitazione 5/10/2002 Paolo Torroni processi fork (creazione di un figlio) exec (sostituzione di codice del programma in esecuzione) wait (attesa della terminazione

Dettagli

Architettura dei calcolatori e sistemi operativi. M2 Organizzazione della memoria virtuale Struttura dello spazio virtuale kernel e utente

Architettura dei calcolatori e sistemi operativi. M2 Organizzazione della memoria virtuale Struttura dello spazio virtuale kernel e utente Architettura dei calcolatori e sistemi operativi M2 Organizzazione della memoria virtuale Struttura dello spazio virtuale kernel e utente 18.01.2015 Architettura Intel x64 Lo spazio di indirizzamento virtuale

Dettagli

Sistemi Operativi 1. Mattia Monga. a.a. 2008/09. Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia

Sistemi Operativi 1. Mattia Monga. a.a. 2008/09. Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia 1 Mattia Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it a.a. 2008/09 1 c 2009 M.. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia

Dettagli

Sistemi Operativi (M. Cesati)

Sistemi Operativi (M. Cesati) Sistemi Operativi (M. Cesati) Compito scritto del 1 febbraio 2016 Nome: Matricola: Corso di laurea: Cognome: Crediti da conseguire: 5 6 9 Scrivere i dati richiesti in stampatello. Al termine consegnare

Dettagli

FILE SYSTEM 2. I-nodes (o Inodes)

FILE SYSTEM 2. I-nodes (o Inodes) FILE SYSTEM 2 I-nodes (o Inodes) Un file ha diverse componenti: nome, contenuto, proprietario, diritti d accesso, data di modifica, ecc. Tutte le informazioni sono contenute in una struttura (un record)

Dettagli

File System. Capitolo Silberschatz

File System. Capitolo Silberschatz File System Capitolo 10 -- Silberschatz Interfaccia del File System Per gli utenti di un computer, il File System è spesso l aspetto più visibile del SO di quel computer. Il File System fornisce infatti

Dettagli

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

Le strutture. Una struttura C è una collezione di variabili di uno o più tipi, raggruppate sotto un nome comune. Le strutture Una struttura C è una collezione di variabili di uno o più tipi, raggruppate sotto un nome comune. Dichiarazione di una struttura: struct point { int x; int y; }; La dichiarazione di una struttura

Dettagli

I files in C. A cura del prof. Ghezzi

I files in C. A cura del prof. Ghezzi I files in C A cura del prof. Ghezzi 1 Perchè i files? Realizzano la persistenza dei dati dati che sopravvivono all esecuzione del programma Sono delle strutture di dati sequenziali 2 Files e S.O. I files

Dettagli

IL SOFTWARE DI SISTEMA

IL SOFTWARE DI SISTEMA Software (sw) L esecuzione di programmi è lo scopo di un elaboratore L insieme dei programmi che un elaboratore può eseguire rappresenta il software in dotazione all elaboratore IL SOFTWARE DI SISTEMA

Dettagli

2. Cenni di sistemi operativi

2. Cenni di sistemi operativi 2. Cenni di sistemi operativi Andrea Marongiu (andrea.marongiu@unimore.it) Paolo Valente Contiene slides dal corso «Sistemi Operativi» dei prof. Gherardi/Scandurra dell Università degli studi di Bergamo

Dettagli