1.4: Il File System. File, directory, file system. Struttura e operazioni su file e directory. Implementazione delle directory
|
|
- Beatrice Grimaldi
- 8 anni fa
- Visualizzazioni
Transcript
1 1.4: Il File System File, directory, file system Struttura e operazioni su file e directory Implementazione delle directory Struttura del file system Metodi di allocazione Gestione dello spazio libero Miglioramento delle prestazioni Crash recovery Il file system di Unix Chiamate di sistema 1.4.1
2 Introduzione Il S.O. fornisce una vista logica uniforme della memorizzazione di informazioni; fa astrazione delle proprietà fisiche dei dischi e definisce un'unità logica di raggruppamento delle informazioni, il file. Un file è una collezione di informazioni correlate definito dal suo creatore; un file ha un nome. Normalmente i file rappresentano programmi (in forma sorgente o in linguaggio macchina) e dati. I file sono generalmente organizzati in cartelle (directory), per agevolarne l'uso. Un insieme di file e cartelle residenti in un volume fisico o logico costituisce un file system
3 Ruolo di un File System Un file system svolge anzitutto i seguenti compiti: Semplificare l'accesso al disco da parte dei programmi Permettere agli utenti di organizzare i propri dati in modo semplice e conveniente Il S.O. è responsabile delle seguenti attività riguardo la gestione dei file system: Creazione e distruzione di file Creazione e distruzione di directory Supporto di primitive per la manipolazione di file e directory Allocazione di spazio a un file Mappatura dei file nella memoria secondaria Fornire utility per il crash recovery (recupero dai guasti) 1.4.3
4 Struttura dei File Dal punto di vista del S.O.: Nulla sequenza di byte (approccio Unix) Struttura a record, semplice Righe (di testo) Lunghezza fissa Lunghezza variabile Struttura complessa File eseguibile Archivio di dati (generato da tar, cpio etc.) Vantaggi e svantaggi dell'approccio Unix: Maggior elasticità (tutto è deciso dai programmi utente) Se è il Kernel a decidere, il tutto è inamovibile! 1.4.4
5 Struttura dei Nomi di File Dal punto di vista del S.O.: Nulla sequenza di caratteri arbitrari, salvo "/" e "\0" (approccio Unix) Struttura a nome + "." + estensione command.com, ping.exe, autoexec.bat,... Discorso analogo al precedente: se è il S.O. a decidere, si deve fare necessariamente in quel modo In Unix, non esiste nel Kernel il concetto di estensione; esiste però nei programmi a livello utente; es. gcc:.c file sorgente linguaggio C.s file sorgente assembler.o file oggetto rilocabile.a libreria statica 1.4.5
6 Attributi dei File Nome in forma leggibile dall'uomo Tipo se supportato dal S.O. Ubicazione informazione sui blocchi di dati che compongono il file Dimensione lunghezza del file in byte Protezione controllo File: chi può leggere, scrivere, eseguire il file etc. Directory: chi può consultare il contenuto, chi può distruggere file nella directory, etc. Identificazione di utente proprietario, data e ora (di creazione, ultima modifica, ultimo accesso etc.) per i meccanismi di protezione e sicurezza Unix: anche identificazione di gruppo di appartenenza Queste informazioni sono memorizzate: 1.4.6
7 Struttura delle directory Differenti metodi sono possibili Il più diffuso: ad "albero rovesciato" (directory tree structure). Directory = file (quasi) normale; contiene al suo interno lista di nomi di file e di puntatori ai blocchi di dati o di controllo (Unix: inode). Una directory può contenere file e/o altre (sotto)directory. Esiste una directory radice, da cui si diparte tutto il file system. Caratteristiche: Ricerca efficiente di file e directory Concetto di cartella attiva (working directory), associata a un processo Pathname assoluto (relativo alla directory radice) o relativo (relativo alla cartella attiva) 1.4.7
8 Struttura delle directory (Cont.) / boot bin sbin lib var etc usr tmp home dev spool opt run bin sbin lib luca mario gianni at cron mail samba src bin text tmp C C
9 Implementazione delle Directory Lista lineare, di nomi di file + puntatori a blocchi Semplice da programmare Time consuming alla ricerca, se le directory non sono mantenute piccole Usata da Unix Tabella di hashing (hash table) Accelera il tempo di ricerca Complessa... e time consuming da programmare, per il S.O Hash values 1.4.9
10 Funzioni di hashing Tecnica generale di programmazione, utilizzata in molte parti di un S.O. es.: gestione dei blocchi della cache (in RAM) dei dischi. Meccanismo: Definire una funzione di hashing, con N valori finiti (es.: 0 63) Spesso si sceglie per N una potenza di 2 es.: h = (somma dei caratteri del nome file) modulo N Raggruppare gli elementi in N liste lineari; ciascuna lista contiene elementi con identico valore della funz. di hashing Ricerca elemento: Calcolare funz. di hashing Ricercare l'elemento (se c'è) nella sola lista corrispondente al valore della funzione Trovare valore ottimo di N, e "buona" funzione di hashing:
11 Operazioni Su un file: create, open, close create/open: ricerca della entry richiesta in una directory su disco, e copia del contenuto in memoria, per agevolare il lavoro del Kernel close: processo inverso. read, write seek (riposizionamento) remove truncate Su una directory: search entry (file) create entry, remove entry list dir. contents
12 Implementazione di un File System Un file system risiede in un disco fisico, o in una partizione di un disco fisico In generale: in un disco logico Aspetti principali di implementazione: Scelta del block size per il file system Mapping tra blocchi del disco e blocchi di un file es.: il blocco n. 3 del file "/tmp/data" corrisponde al blocco n del disco logico su cui risiede il file system Allocazione dei blocchi ai file Gestione dello spazio libero (blocchi) Strategie di ottimizzazione delle prestazioni
13 Block Size di un File System Valori usuali tra 512 byte e 8 KB Maggiori valori velocizzano il file system, ma aumentano la frammentazione interna (spazio inutilizzato per blocchi usati solo in parte) es.: file di 9000 byte block size = 8 KB 7384 byte inutilizzati; block size = 1 KB 216 byte inutilizzati. Ottimizzazione in 4.2BSD (FFS Fast File System), per diminuire la frammentazione esterna: due dimensioni di blocco, per file senza blocchi indiretti Block size es. 8 KB; fragment size es. 1 KB Tutti i blocchi di un file sono grandi block size, salvo l'ultimo L'ultimo blocco è un multiplo di fragment size, per completare il file Es.: file di byte 2 blocchi da 8KB + un frammento da 2 KB (non
14 Allocazione di Blocchi a un File Diverse tecniche (secondo le metriche prestazionali di interesse): Allocazione contigua (blocchi fisicamente succcessivi) Veloce per accesso random (adeguato per sistemi real time) Occorre prevedere a priori la dimensione del file Problema della frammentazione esterna (zone di blocchi non utilizzati, sparse nel file system). Allocazione collegata (lista collegata di blocchi) Ogni blocco contiene puntatore al prossimo Lento per accesso random (occorre traversare tutto il file) Non c'è frammentazione esterna FAT (File Allocation Table) è una variante di questa tecnica. Allocazione indicizzata (blocco indice che punta a tutti gli altri) Abbastanza veloce per accesso random
15 Allocazione di Blocchi a un File (Cont.) Unix: tecnica combinata (allocazione indicizzata + collegata) inode
16 Gestione dello Spazio Libero Diverse tecniche: Mappa di bit (o vettore di bit) (ogni blocco è un bit; 0 = libero, 1 = occupato) Algoritmo semplice e veloce per trovare prossimo blocco libero Overhead di spazio (per la bit map) È facile ottenere file con blocchi contigui Lista collegata (i blocchi liberi puntano ciascuno al prossimo) Non c'è overhead di spazio È meno facile (ma non impossibile) ottenere file con blocchi contigui Lista collegata con raggruppamento (un blocco libero della lista contiene gli indirizzi di N altri blocchi liberi) Variante dello schema precedente Utilizzato da Unix: La lista parte dal super block (struttura di controllo di tutto un file
17 Ottimizzazione delle Prestazioni Vari accorgimenti/strategie: Disk cache (parte di RAM dedicata al mapping di alcuni blocchi disco) Vale quanto detto in generale sul caching Algoritmo di sostituzione più usato: algoritmo LRU (Least Recently Used) Miglioramento accesso sequenziale: tecniche read ahead (lettura anticipata) e free behind (rilascio indietro) La ricerca di elementi viene accelerata con le tecniche di hashing Caching anche dei blocchi indice e strutture di controllo dei file (Unix: inode) Ottimizzazione (minimizzazione) dei movimenti delle testine del disco È il cosiddetto disk scheduling (v. oltre) riordinamento ottimale delle richieste pendenti di lettura/scrittura al disco Gap di prestazioni tra CPU e disco: ha senso aggiungere
18 Crash Recovery Un buon file system deve essere ridondante nella gestione dei dati, per permettere la ricostituzione di informazioni danneggiate (almeno nei casi comuni) Consistency checker Programma che confronta dati in una struttura di directory con quelli nei blocchi di dati sul disco, e tenta di riparare inconsistenze (sfruttando la ridondanza) Unix: fsck(8) Windows: scandisk Utility di backup e restore (già viste) Unix: dd, cp a, tar, cpio
19 Il File System di Unix Vedi Modulo 2.1, "Sistemi Unix e Linux" Un file è rappresentato da un inode: una struttura di dati che memorizza tutte le informazioni su uno specifico file su disco, e che sono necessarie a gestirlo. Utente: referenzia un file dal pathname; Kernel: referenzia un file dall'inode Kernel: mapping da pathname a inode (utilizzando le informazioni nelle directory)
20 Gestione del File System nel Kernel Unix Apertura di un file: Primitiva fd = open(name, mode, mask); Dal pathname, iniziando la ricerca Per pathname assoluti, dalla directory radice (inode sempre in memoria, dal bootstrap) Per pathname relativi, dalla directory di lavoro del processo (gli inode delle directory di lavoro di ogni processo attivo sono mantenute in memoria) Processo di ricerca: continua iterativamente, attraverso gli inode delle directory, fino alla fine del path e al raggiungimento dell'inode desiderato Vengono controllati i bit x delle directory, e i bit r e/o w del file finale L'inode è caricato in memoria (struct inode), in una tabella degli inode La rappresentazione di un inode in memoria è diversa da quella su disco Viene allocata una struct file, che punta all'inode; contiene:
21 Gestione del File System nel Kernel Unix (Cont.) La open() parte dal pathname e restituisce un file descriptor (fd) Piccolo intero, positivo o nullo Utilizzato da tutte le chiamate di sistema che referenziano un file aperto Il Kernel utilizza il fd per indicizzare una tavola dei file aperti di processo Ogni elemento della tavola contiene un puntatore a una struct file (vista prima), in una tavola dei file aperti di sistema Ogni elemento (struct file) contiene un puntatore a una struct inode (vista prima), in una tavola degli inode (di sistema). Gli elementi delle tavole dei file aperti di sistema e degli inode contengono un reference count (contatore dei riferimenti), dato che possono essere puntati più volte. La primitiva close() effettua il cammino inverso: a partire dal file
22 Tavole di Sistema per il File System Unix struct file *u_ofile[nr_open]; struct file file[nfile]; struct inode inode[ninode];
23 Introduzione alle Chiamate di Sistema Informazioni generali: Chiamate sistema Unix = funzioni C. Valore di ritorno: 1 in caso di errore, 0 se O.K. (salvo ove diversamente specificato) Inclusione tipica degli header file: #include <sys/types.h> /* pseudo tipi */ #include <unistd.h> #include <stdlib.h> pseudo tipi utilizzati: typedef long time_t; /* codifica di data+ora */ typedef long off_t; /* un offset in un file */ typedef unsigned int size_t; /* la dimensione di una stringa, etc. */ typedef short pid_t; /* il PID di un processo */
24 Chiamate di Sistema File System fd = open(path, flags, mode); path = percorso (relativo o assoluto) del file da aprire; mode = bit di protezione; flags: O_RDONLY, O_WRONLY, O_RDWR; O_APPEND, O_CREAT, O_TRUNC, O_EXCL mode è facoltativo; è usato (obbligatoriamente) solo se c'è O_CREAT ritorna file descriptor (f.d.) del file aperto creat(path, mode) equivale a open(path, O_CREAT O_WRONLY O_TRUNC, mode) es.: fd = open("./my_data", O_RDWR); close(fd); fd = f.d. del file da chiudere
25 Chiamate di Sistema File System (Cont.) nr = read(fd, buf, nb); legge fino a nb byte dal canale identificato da fd e li scrive a partire da buf ritorna il numero di byte effettivamente letti (<= nb), 0 se EOF, 1 se errore es.: nn = read(fd, buf, BUFSIZ); nw = write(fd, buf, nb); scrive nb byte sul canale identificato da fd, leggendoli a partire da buf ritorna il numero di byte effettivamente scritti es.: nn = write(fd, buf, BUFSIZ); newpos = lseek(fd, offset, whence); sposta l'i/o pointer (offset del prossimo read o write) whence: SEEK_SET, SEEK_CUR, SEEK_END offset: può essere negativo ritorna nuovo valore dell'i/o pointer; (off_t) 1 se errore
26 Chiamate di Sistema File System (Cont.) link(oldpath, newpath); crea nuovo hard link per un file (normale o speciale) oldpath e newpath devono essere nello stesso file system; oldpath deve esistere esiste limite massimo al numero di hard link di un file, che è memorizzato nell'i node (di solito 128) dopo l'operazione, oldpath e newpath sono indistinguibili ritorna 0 se OK, 1 se errore comando equivalente: ln old new symlink(oldpath, newpath); crea link simbolico per un file (normale o speciale o directory) oldpath e newpath possono non appartenere allo stesso file system; oldpath può non esistere ritorna 0 se OK, 1 se errore comando equivalente:
27 Chiamate di Sistema File System (Cont.) unlink(path); rimuove un hard link per il file: decrementa link count nello i node libera la entry della directory se il link era l'ultimo (link count scende da 1 a 0), il file è rimosso (blocchi di dati e i node deallocati) es.: rinomina di un file link("pippo", "pluto"); unlink("pippo"); rename(oldpath, newpath); cambia il nome di un file: la vecchia entry (oldpath) sparisce viene creata la nuova entry (newpath) è esattamente equivalente alla successione link(oldpath, newpath); unlink(oldpath);
28 Esempi di codice 1 copyfile(infile, outfile) { ifd = open(infile, read only); ofd = open(outfile, write only+crea se necessario, read write per tutti); if(open error) return ERROR; loop (nread = read(ifd, buffer, 4096); finchè nread diverso da 0) { if(read error) return ERROR; write(ofd, buffer, nread); } close(ifd); close(ofd); return SUCCESS;
29 Esempi di codice 2 copyfilesection(infile, outfile, offset) { ifd = open(infile, read only); ofd = open(outfile, write only+crea se necessario, read write per tutti); if(open error) return ERROR; lseek(ifd, offset, da inizio file); loop (nread = read(ifd, buffer, 4096); finchè nread diverso da 0) { if(read error) return ERROR; write(ofd, buffer, nread); } close(ifd); close(ofd);
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
DettagliSistemi 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
Dettagli12. 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
DettagliSistemi 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
DettagliCapitolo 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
DettagliSistemi 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
DettagliIl 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:
DettagliSistemi 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
DettagliIndice. 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
DettagliLink 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
DettagliFile 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:
DettagliIl 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:
DettagliIl 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
DettagliIl Sistema Operativo: il File System
Il Sistema Operativo: il File System Il File System è quella parte del S.O. che si occupa di gestire e strutturare le informazioni memorizzate su supporti permanenti (memoria secondaria) I file vengono
DettagliDigressione: man 2...
Syscall File I/O Digressione: man 2... Le funzioni della libreria standard UNIX associate alle system call di Linux sono documentate nella sezione 2 di man e.g.: man 2 open Ogni manpage di system call
DettagliFiles, File I/O, File Sharing. Franco Maria Nardini
Files, File I/O, File Sharing Franco Maria Nardini UNIX file types UNIX non richiede una struttura interna del file. Dal punto di vista del sistema operativo c e un solo tipo di file. Struttura e interpretazione
DettagliSistemi 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
DettagliSistemi 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
DettagliAppunti di Sistemi Operativi. Enzo Mumolo e-mail address :mumolo@units.it web address :www.units.it/mumolo
Appunti di Sistemi Operativi Enzo Mumolo e-mail address :mumolo@units.it web address :www.units.it/mumolo Indice 1 Cenni su alcuni algoritmi del Kernel di Unix 1 1.1 Elementi di Unix Internals.................................
DettagliIl 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
DettagliFile 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
DettagliSistemi 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,
Dettagli11 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
DettagliControllo 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
DettagliSistemi 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
DettagliSistemi 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
DettagliLezione 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
DettagliImplementazione 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.
DettagliSISTEMI 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
DettagliSistemi 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
DettagliSistemi 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
DettagliPARTE 4 La Macchina Software
PARTE 4 La Macchina Software 94 Macchina Hardware e Macchina Software applicativi sistema operativo macchina hardware Agli albori dell'informatica, si programmava in binario, cioe` in linguaggio macchina,
DettagliStrutturazione logica dei dati: i file
Strutturazione logica dei dati: i file Informazioni più complesse possono essere composte a partire da informazioni elementari Esempio di una banca: supponiamo di voler mantenere all'interno di un computer
DettagliInterfaccia 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
DettagliIntroduzione alla programmazione in C
Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C P. Tosoratti Introduzione all informatica Materiale
DettagliInformatica e Bioinformatica: Sistemi Operativi
Informatica e Bioinformatica: Sistemi Operativi 11 marzo 2013 Macchina Hardware/Software Sistema Operativo Macchina Hardware La macchina hardware corrisponde alle componenti fisiche del calcolatore (quelle
DettagliHBase Data Model. in più : le colonne sono raccolte in gruppi di colonne detti Column Family; Cosa cambia dunque?
NOSQL Data Model HBase si ispira a BigTable di Google e perciò rientra nella categoria dei column store; tuttavia da un punto di vista logico i dati sono ancora organizzati in forma di tabelle, in cui
DettagliSoftware 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
DettagliSistemi 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
DettagliIl 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
DettagliIntroduzione al Linguaggio C
Introduzione al Linguaggio C File I/O Daniele Pighin April 2009 Daniele Pighin Introduzione al Linguaggio C 1/15 Outline File e dati Accesso ai file File I/O Daniele Pighin Introduzione al Linguaggio C
DettagliCorso di Sistemi Operativi Ingegneria Elettronica e Informatica prof. Rocco Aversa. Raccolta prove scritte. Prova scritta
Corso di Sistemi Operativi Ingegneria Elettronica e Informatica prof. Rocco Aversa Raccolta prove scritte Realizzare una classe thread Processo che deve effettuare un numero fissato di letture da una memoria
DettagliSistemi 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
DettagliIl sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione
Il sistema di I/O Hardware di I/O Interfacce di I/O Software di I/O Introduzione 1 Sotto-sistema di I/O Insieme di metodi per controllare i dispositivi di I/O Obiettivo: Fornire ai processi utente un interfaccia
Dettagli= 0, 098 ms. Da cui si ricava t 2 medio
1. Una macchina ha uno spazio degli indirizzi a 32 bit e una pagina di 8 KB. La tabella delle pagine è completamente nell hardware, con una parola a 32 bit per voce. Quando parte un processo, la tabella
DettagliUniversità degli Studi di Padova Dipartimento di Matematica. - Corso di Laurea in Informatica
Università degli Studi di Padova Dipartimento di Matematica. - Corso di Laurea in Informatica Il presente esame scritto deve essere svolto in forma individuale in un tempo massimo di 60 minuti dalla sua
DettagliFONDAMENTI di INFORMATICA L. Mezzalira
FONDAMENTI di INFORMATICA L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software
DettagliLezione 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
DettagliI file di dati. Unità didattica D1 1
I file di dati Unità didattica D1 1 1) I file sequenziali Utili per la memorizzazione di informazioni testuali Si tratta di strutture organizzate per righe e non per record Non sono adatte per grandi quantità
DettagliSistema operativo: Gestione della memoria
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Sistema operativo: Gestione della memoria La presente dispensa e
DettagliGestione della memoria centrale
Gestione della memoria centrale Un programma per essere eseguito deve risiedere in memoria principale e lo stesso vale per i dati su cui esso opera In un sistema multitasking molti processi vengono eseguiti
DettagliInformatica 3. LEZIONE 21: Ricerca su liste e tecniche di hashing. Modulo 1: Algoritmi sequenziali e basati su liste Modulo 2: Hashing
Informatica 3 LEZIONE 21: Ricerca su liste e tecniche di hashing Modulo 1: Algoritmi sequenziali e basati su liste Modulo 2: Hashing Informatica 3 Lezione 21 - Modulo 1 Algoritmi sequenziali e basati su
DettagliQuinto Homework. Indicare il tempo necessario all'esecuzione del programma in caso di avvio e ritiro fuori ordine.
Quinto Homework 1) Si vuole progettare una cache a mappatura diretta per un sistema a 32 bit per una memoria da 2 GB (quindi sono solo 31 i bit utili per gli indirizzi) e blocchi di 64 byte. Rispondere
DettagliFile 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
DettagliFile 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
DettagliLe 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
DettagliVarie tipologie di memoria
Varie tipologie di memoria velocita` capacita` registri CPU memoria cache memoria secondaria (Hard Disk) Gestione della memoria Una parte della viene riservata per il SO I programmi per poter essere eseguiti
DettagliProgettazione Fisica FILE
Progettazione Fisica Organizzazione dei files Organizzazione indici FILE Insieme di record lunghezza fissa (R) lunghezza variabile Record Header BH RH record1 RH record2 RH record2 RH record3 Block Header
DettagliRealizzazione 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
DettagliStrutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1)
Strutture Strutture e Unioni DD cap.10 pp.379-391, 405-406 KP cap. 9 pp.361-379 Strutture Collezioni di variabili correlate (aggregati) sotto un unico nome Possono contenere variabili con diversi nomi
DettagliINFORMATICA 1 L. Mezzalira
INFORMATICA 1 L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software del modello
Dettagli10. 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
DettagliGestione della memoria. Paginazione Segmentazione Segmentazione con paginazione
Gestione della memoria Paginazione Segmentazione Segmentazione con paginazione Modello di paginazione Il numero di pagina serve come indice per la tabella delle pagine. Questa contiene l indirizzo di base
DettagliEsercitazione E2 Memoria virtuale
Esercitazione E2 Memoria virtuale Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 E2-1 Memoria virtuale 1 Si consideri un sistema a memoria virtuale con indirizzi virtuali a 32 bit, indirizzi fisici
DettagliTerza lezione: Directory e File system di Linux
Terza lezione: Directory e File system di Linux DIRECTORY E FILE SYSTEM Il file system di Linux e Unix è organizzato in una struttura ad albero gerarchica. Il livello più alto del file system è / o directory
DettagliIl software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi
Il Software Il software impiegato su un computer si distingue in: Software di sistema Sistema Operativo Compilatori per produrre programmi Software applicativo Elaborazione testi Fogli elettronici Basi
DettagliDrivers. Introduzione Tipologie Struttura Interazione con il kernel
Drivers Introduzione Tipologie Struttura Interazione con il kernel Driver Un driver è un modulo del sistema operativo Esterno al kernel Dedicato alla gestione di una specifica periferica Come altre funzionalità
DettagliCorso di Sistemi di Elaborazione delle informazioni
Corso di Sistemi di Elaborazione delle informazioni Sistemi Operativi Francesco Fontanella Complessità del Software Software applicativo Software di sistema Sistema Operativo Hardware 2 La struttura del
DettagliIL SISTEMA OPERATIVO IL SISTEMA OPERATIVO INTERFACCE TESTUALI INTERFACCE TESTUALI FUNZIONI DEL SISTEMA OPERATIVO INTERFACCE GRAFICHE
IL SISTEMA OPERATIVO Insieme di programmi che opera al di sopra della macchina fisica, mascherandone le caratteristiche e fornendo agli utenti funzionalità di alto livello. PROGRAMMI UTENTE INTERPRETE
DettagliTesina per l esame di Sistemi Operativi a cura di Giuseppe Montano. Prof. Aldo Franco Dragoni
Sistemi operativi real time basati su Linux: gestione delle risorse e dei processi. Tesina per l esame di Sistemi Operativi a cura di. Prof. Aldo Franco Dragoni Corso di laurea in Ingegneria Informatica
DettagliIl sistema operativo: interazione con l utente
interazione con l utente S.O fornisce un meccanismo per specificare le attività da eseguire (es. copiare un file) L interazione avviene mediante un linguaggio testuale (DOS) o grafico (Windows) linguaggio
DettagliOrganizzazione della memoria
Memorizzazione dati La fase di codifica permette di esprimere qualsiasi informazione (numeri, testo, immagini, ecc) come stringhe di bit: Es: di immagine 00001001100110010010001100110010011001010010100010
DettagliFunzioni in C. Violetta Lonati
Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni
DettagliAlgoritmi e strutture dati. Codici di Huffman
Algoritmi e strutture dati Codici di Huffman Memorizzazione dei dati Quando un file viene memorizzato, esso va memorizzato in qualche formato binario Modo più semplice: memorizzare il codice ASCII per
DettagliGestione della memoria centrale
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Gestione della memoria centrale 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide
DettagliFunzioni matlab per la gestione dei file. Informatica B Prof. Morzenti
Funzioni matlab per la gestione dei file Informatica B Prof. Morzenti File Contenitori di informazione permanenti Sono memorizzati su memoria di massa Possono continuare a esistere indipendentemente dalla
DettagliMatlab: Gestione avanzata dei file
Matlab: Gestione avanzata dei file Informatica B File 2 Contenitori di informazione permanenti Sono memorizzati su memoria di massa Possono continuare ad esistere indipendentemente dalla vita del programma
DettagliIl memory manager. Gestione della memoria centrale
Il memory manager Gestione della memoria centrale La memoria La memoria RAM è un vettore molto grande di WORD cioè celle elementari a 16bit, 32bit, 64bit (2Byte, 4Byte, 8Byte) o altre misure a seconda
DettagliCalcolatori Elettronici A a.a. 2008/2009
Calcolatori Elettronici A a.a. 2008/2009 PRESTAZIONI DEL CALCOLATORE Massimiliano Giacomin Due dimensioni Tempo di risposta (o tempo di esecuzione): il tempo totale impiegato per eseguire un task (include
DettagliIl SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)
Il software Software Il software Il software è la sequenza di istruzioni che permettono ai computer di svolgere i loro compiti ed è quindi necessario per il funzionamento del calcolatore. Il software può
DettagliIl Sistema Operativo
Il Sistema Operativo Il Sistema Operativo Il Sistema Operativo (S.O.) è un insieme di programmi interagenti che consente agli utenti e ai programmi applicativi di utilizzare al meglio le risorse del Sistema
DettagliUniversità di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Lezione 11 Martedì 12-11-2013 1 Tecniche di allocazione mediante free list Generalmente,
DettagliSISTEMI 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)
DettagliMateriali per il modulo 1 ECDL. Autore: M. Lanino
Materiali per il modulo 1 ECDL Autore: M. Lanino RAM, l'acronimo per "random access memory", ovvero "memoria ad acceso casuale", è la memoria in cui vengono caricati i dati che devono essere utilizzati
DettagliSistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo
Sistema Operativo Fondamenti di Informatica 1 Il Sistema Operativo Il Sistema Operativo (S.O.) è un insieme di programmi interagenti che consente agli utenti e ai programmi applicativi di utilizzare al
DettagliIntroduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico
Introduzione alle basi di dati Introduzione alle basi di dati Gestione delle informazioni Base di dati Modello dei dati Indipendenza dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS Gestione delle
DettagliStrutture di Memoria 1
Architettura degli Elaboratori e Laboratorio 17 Maggio 2013 Classificazione delle memorie Funzionalitá: Sola lettura ROM, Read Only Memory, generalmente usata per contenere le routine di configurazione
DettagliPROGETTAZIONE 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
Dettagli1. 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
DettagliGestione dei File in C
Gestione dei File in C Maurizio Palesi DIIT Università di Catania Viale Andrea Doria 6, 95125 Catania mpalesi@diit.unict.it http://www.diit.unict.it/users/mpalesi Sommario In questo documento saranno introdotte
DettagliStruttura del Micro Filesystem (µfs)
Struttura del Micro Filesystem (µfs) Il Micro Filesystem deve essere organizzato all'interno di un unico file regolare Linux (dev_ufs) ed può basato sul filesystem FAT-32 con la gestione dei permessi in
DettagliAllocazione dinamica della memoria - riepilogo
Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica In breve Storage duration Allocazione dinamica della
DettagliForse 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
DettagliTecnologia 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
DettagliIntroduzione. 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
DettagliFile 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
DettagliModulo 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
DettagliSistemi 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
DettagliMECCANISMI 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
DettagliIntroduzione ai Device Drivers in Linux. E.Mumolo, DEEI mumolo@units.it
Introduzione ai Device Drivers in Linux E.Mumolo, DEEI mumolo@units.it 1 Device Drivers Moduli software che gestiscono le periferiche attraverso il file system Tutte le periferiche sono viste come file
Dettagli