File System ext2. Struttura del filesystem ext2.
|
|
|
- Valentina Elia
- 9 anni fa
- Просмотров:
Транскрипт
1 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 unità di memorizzazione dei dati è generalmente delle dimensioni di byte, ma la sua dimensione può essere scelta tra 1.024, o byte in fase di creazione del filesystem. Struttura del filesystem ext2. I blocchi vengono raggruppati in block group in modo da suddividere l intero filesystem in entità autonome allo scopo di limitare eventuali errori che possono verificarsi nella struttura del filesystem (un errore è limitato all interno di un block group e non compromette l intero filesystem) e per ridurre i tempi di accesso alle informazioni, memorizzando i file nelle vicinanze delle directory che li contengono. Ogni block group contiene una copia delle informazioni essenziali del filesystem (superblock e descrittore del filesystem sono quindi ridondati) per una maggiore affidabilità e possibilità di recupero in caso di corruzione del superblock principale. Superblock contiene informazioni relative all intero filesystem, ad esempio: numero totale dei blocchi, numero totale inode, contatore blocchi liberi, dimensione del blocco, numeri di blocchi per gruppo, numero di inode per gruppo, fata ora ultima operazione di mount, nome partizione. Questi valori stabiliti al momento della creazione del filesystem e non possono essere più modificati, se non distruggendo il filesystem e creandone un altro. FS descriptor contiene informazioni relative al block group a cui si riferisce, ad esempio: il numero dei blocchi liberi, quello degli inode liberi e delle directory presenti nel block group. Data block bitmap è una sequenza di bit, ognuno dei quali indica se il corrispondente data block del block group è libero o allocato. Inode bitmap analogo al data block bitmap ma si riferisce agli inode Inode table è la porzione del filesystem che contiene gli inode del block group, ovvero strutture adibite alla memorizzazione delle proprietà degli oggetti del filesystem. Data blocks è la porzione del filesystem che contiene i blocchi (data blocks) del block group, adibiti alla memorizzazione delle informazioni contenute all interno dei file. 1
2 I file In generale, un file contiene delle informazioni (data) ed è caratterizzato da alcune proprietà, come il tipo, la dimensione, i permessi di accesso. Queste proprietà sono chiamate metadati. Il filesystem ext2 memorizza i metadati di un file in un apposita struttura, detta index node, o più comunemente inode, mentre le informazioni contenute nel file sono memorizzate nei blocchi, denominati anche data block. Ogni inode è una struttura che contiene i valori sottoelencati ed il numero degli inode è fissato alla creazione del filesystem. Quando tutti gli inode saranno utilizzati (allocati) da altrettanti file, non sarà più possibile creare altri file anche se ci sono data block liberi. In un inode ext2 vengono memorizzati i metadati di un file, tra cui Tipo indica il tipo di file (regular file, directory, symbolic link,...). UID proprietario identifica l utente propriertario del file (è il suo UID); GID proprietario identifica il gruppo propriertario del file (è il suo GID); Permessi (mode) sono i permessi di accesso al file; Dimensione indica la lunghezza del file in byte. Numero dei data block indica il numero dei data block utilizzati per memorizzare il file. data/ora dell ultima modifica (mtime) è il riferimento al momento nel quale il contenuto del file ha subito l ultima modifica (quella più recente); data/ora dell ultimo cambiamento dei metadati (ctime) è il riferimento al momento nel quale l inode relativo al file in questione ha subito l ultima modifica (anche se il suo contenuto non è stato modificato); data/ora dell ultimo accesso (atime) è il riferimento al momento nel quale il file è stato acceduto l ultima volta; data/ora di cancellazione (dtime) è il riferimento al momento nel quale il file è stato cancellato (tale campo, se diverso da 0, indica che l inode è stato cancellato ed il filesystem può riutilizzare lo spazio del disco da esso occupato per memorizzarci un altro inode); Numero degli hard link indica il numero degli hard link associati al file); Riferimenti ai data block sono i riferimenti ai blocchi nei quali sono memorizzate le informazioni contenute nel file. In particolare per ogni inode possono essere memorizzati fino a 12 riferimenti a blocchi contenenti dati (direct block), un riferimento ad un blocco che a sua volta contiene un elenco di direct block (indirect block), un riferimento ad un blocco che a sua volta contiene un elenco di indirect block (double indirect block) ed un riferimento ad un blocco che a sua volta contiene un elenco di double indirect block (triple indirect block). È da notare il fatto che tra i metadati di un inode non c è il nome del file, in quanto esso viene memorizzato soltanto all interno della directory che lo contiene (cioè nei data block relativi all inode della directory che lo contiene). Questo permette la gestione degli hard link. 2
3 I tipi di file In GNU/Linux possono essere utilizzati vari tipi di file, ognuno identificato da uno specifico codice che filesystem ext2 memorizza nei metadati relativi al file considerato. I file standard o regular file A tale categoria appartiene la maggior parte dei file presenti sui filesystem. Tale tipo rappresenta il file nella sua accezione di base, ovvero un contenitore di informazioni senza caratteristiche particolari. I file di questo tipo sono anche detti regular file. Le directory Una directory è un file particolare che contiene un elenco di elementi detti dentry (directory entry), ognuno dei quali è costituito da: il numero di inode al quale si riferisce; la lunghezza della dentry; la lunghezza del nome del file; il tipo del file; il nome del file; I numeri degli inode presenti in tale elenco, costituiscono i riferimenti univoci agli inode relativi ai file (o directory) accessibili da tale directory, cioè i file (o directory) contenuti all interno della directory. Si tenga presente che la dimensione del campo name è variabile. All interno della directory sono sempre presenti le directory. e.. che indicano rispettivamente la directory stessa e la directory padre. Quando viene specificato il percorso di un file (path), il kernel ricerca nelle dentry delle varie directory che costituiscono il path del file, il nome indicato, per trovare di volta in volta il relativo 3
4 numero di inode e per poter così accedere alle informazioni in esso contenute. Una volta raggiunto l inode relativo al file indicato, il sistema ha i riferimenti per poter accedere alle informazioni contenute nel file stesso. Esempio di accesso ad un file. I link Nei sistemi Unix-like dunque un file (o directory) è rappresentato da un inode, all interno del quale sono memorizzati i sui metadati, ovvero i suoi dati caratteristici ed in esso vi sono i riferimenti ai blocchi che contengono il contenuto vero e proprio del file. Come si può notare dalla struttura, negli inode non viene memorizzato il nome del file, poiché esso non è una caratteristica intrinseca del file stesso (il file è individuato univocamente dal numero di inode), ma è semplicemente un etichetta memorizzata nelle dentry che serve come riferimento per poter accedere all inode relativo al file. Quindi, sebbene un nome di file individui un solo inode, lo stesso inode può essere individuato da più nomi di file. L associazione tra il nome del file e l inode a cui si riferisce, memorizzato nelle dentry, è detta hard link (physical link, collegamento fisico o collegamento diretto). Dunque, un file (inode) può avere più hard link (più nomi) che si riferiscono ad esso. Quando viene creato un hard link, viene incrementato il contatore dei riferimenti nell inode relativo (i_links_count). In questo modo il sistema tiene traccia di quanti hard link sono riferiti ad ogni inode. L eliminazione di un hard link non implica l eliminazione di un file, ovvero dell inode relativo, ma un file viene effettivamente eliminato dal filesystem soltanto quando l ultimo degli hard link ad esso relativi viene eliminato e nessun processo sta utilizzando il file (inode) in questione. Alla creazione di un file viene sempre creato un hard link ad esso relativo, cioè il primo riferimento a sé stesso che è una dentry all interno della directory che lo contiene. In tale dentry sarà memorizzato il nome associato a tale hard link (il nome del file). È possibile creare hard link soltanto sui filesystem che li supportano e, comunque, sia l inode che il relativo hard link devono trovarsi sullo stesso filesystem; GNU/Linux permette la creazione di file particolari che il sistema riconosce come tali: i symbolic link (symlink, soft link o collegamenti simbolici). Essi sono dei file che contengono soltanto il path relativo al file o directory a cui si riferiscono. È importante sottolineare il fatto che il sistema non tiene conto, all interno degli inode, dei symbolic 4
5 link che si riferiscono ad essi, come invece avviene per gli hard link: quindi è possibile ottenere dei dangling link (collegamenti penzolanti) ovvero dei symbolic link che non sono collegati ad un file o ad una directory esistente. Per contro, i symbolic link non hanno le restrizioni degli hard link, quindi è possibile anche creare symbolic link relativi a file o directory situati in filesystem diversi da quello in cui viene creato il link. I link vengono creati per mezzo del comando ln. La creazione di un link, sia hard che symbolic, non occupa molto spazio sul disco, poiché non effettua la copia del contenuto del file al quale il link si riferisce. I file speciali Alcuni file in GNU/Linux hanno caratteristiche particolari e per questo sono detti file speciali e si dividono in FIFO (o named pipe), file di dispositivo e socket (Unix domain socket). Le FIFO o named pipe Una FIFO, detta anche named pipe, è un file il cui funzionamento è simile a quello di una pipe, cioè come memoria di appoggio per lo scambio di informazioni tra processi. Quando i processi comunicano tra loro attraverso una FIFO, il sistema non utilizza il filesystem, ma il transito delle informazioni avviene direttamente in memoria centrale. Il file serve soltanto come riferimento univoco alla FIFO per i processi che la vogliono utilizzare per comunicare tra loro.il nome FIFO deriva dal fatto che essa opera come una coda, ovvero è gestita in maniera tale che il primo dato in essa inserito è anche quello che viene estratto per primo (First In, First Out). Un processo può accedere in lettura e/o scrittura ad una FIFO, ovvero all inode (file) presente sul filesystem, soltanto se ha i diritti per poterlo fare, come avviene per tutti gli altri file. I file di dispositivo I file di dispositivo o device file sono particolari file che i sistemi Unix-like associano ai dispositivi fisici. Ad esempio, ad un terminale (monitor) è associato un file di dispositivo che rappresenta per il sistema il buffer di output del terminale stesso, ovvero i caratteri scritti in quel file verranno visualizzati sullo schermo; allo stesso modo la tastiera è associata ad un file, ovvero tutto ciò che viene digitato dalla tastiera finisce in tale file ed il sistema operativo leggerà i comandi impartiti da tale file. Per poter funzionare correttamente con il sistema, ogni dispositivo necessita di un apposito software denominato driver. Tale software ha il compito di far vedere il dispositivo al sistema, nel senso che si preoccupa di gestire i meccanismi per la comunicazione con il particolare dispositivo considerato. Quindi è necessario creare anche un file di dispositivo, con le opportune caratteristiche, da associare al dispositivo stesso. I file di dispositivo sono generalmente contenuti nella directory /dev. I socket I socket costituiscono un interfaccia di comunicazione tra processi. I socket locali, o Unix domain socket (il nome deriva dal fatto che tale meccanismo di comunicazione è nato in ambiente Unix nel 1983) presi in considerazione in questo contesto, costituiscono il meccanismo di comunicazione tra processi esistenti su una stessa macchina. L interfaccia dei socket viene attualmente utilizzata per la comunicazione tra processi esistenti anche su macchine diverse, ovvero per realizzare la comunicazione di rete. Un socket rappresenta un canale di comunicazione tra due processi, nel quale si possono scrivere informazioni e dal quale si possono leggerle. L interfaccia dei socket è caratterizzata da un elevata genericità e flessibilità, tanto che si è diffusa in tutti gli ambienti di programmazione, anche in quelli non legati al mondo Unix. 5
Architettura degli elaboratori Docente:
Politecnico di Milano Il File System Architettura degli elaboratori Docente: Ouejdane Mejri [email protected] Sommario File Attributi Operazioni Struttura Organizzazione Directory Protezione Il File
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
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.
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/[email protected] -versione del 30 marzo 2004-1-04.-04
SHELL: File e Filesystem
SHELL: File e Filesystem Obiettivi : - Usare i comandi per muoversi all'interno del filesystem - Copiare, spostare, rinominare file e directory - Usare i link - Visualizzare il contenuto di un file - Conoscere
La Shell di Unix. l utente impartisce i comandi al sistema digitandoli ad un apposito prompt;
La Shell di Unix La parte del sistema operativo Unix dedita alla gestione dell interazione con l utente è la shell, ovvero, un interfaccia a carattere: l utente impartisce i comandi al sistema digitandoli
Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova.
Programmi applicativi Un programma applicativo (o applicativo) è un eseguibile che può essere utilizzato dall utente e che ha funzionalità di alto livello (word processor, spreadsheet, DBMS) Univ. Milano-Bicocca
File: definizione. Il file è la più piccola unità logica manipolabie Un file è caratterizzato principalmente da:
File System File: definizione Il file è la più piccola unità logica manipolabie Un file è caratterizzato principalmente da: Dimensione Posizione Accessibilità (solo lettura, lettura e scrittura) Tipo (estensione)
Esame Laboratorio di Sistemi Operativi Cognome Nome Mat.
Esame Laboratorio di Sistemi Operativi 2-01-2008 Il compito è costituito da domande chiuse e domande aperte. Non è consentito l uso di libri, manuali, appunti., etc. Tempo massimo 1 ora. Domande chiuse:
Lezione 2: Comandi avanzati della Shell di Unix
Lezione 2: Comandi avanzati della Shell di Unix Laboratorio di Elementi di Architettura e Sistemi Operativi 6 Marzo 2013 Parte 1: Metacaratteri, link e file speciali I metacaratteri La shell riconosce
Architettura di un calcolatore
Architettura di un calcolatore Processore: CPU Componente elettronico costituito da minuscole componenti di silicio, chiamate CHIP. Esegue le istruzioni implementate nel SW, tramite una serie di operazioni
Modulo 3. Software. Corso di Sistemi di elaborazione delle informazioni -Autore: Ing. Maurizio Patanè
Modulo 3 Software Cosa è il software E l insieme di programmi che consente al computer di funzionare e di svolgere le funzioni richieste dall utente. Esistono fondamentalmente due tipologie di software:
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
Corso di Sistemi Operativi I/II. Introduzione a Linux. Il File System. Ruggero Donida Labati
Corso di Sistemi Operativi I/II Introduzione a Linux Il File System Ruggero Donida Labati Dipartimento di Informatica via Bramante 65, 26013 Crema (CR), Italy http://homes.di.unimi.it/donida [email protected]
Si può simulare una struttura di directory a multilivelli con una struttura di directory a singolo livello?"
Si può simulare una struttura di directory a multilivelli con una struttura di directory a singolo livello?" SOL Se è permesso che i nomi dei file abbiano lunghezza arbitraria, basta associare al nome
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 5 Martedì 25-10-2016 Definizione di processo Esiste una distinzione concettuale
Sistema operativo. Interazione con il SO
Sistema operativo Il sistema operativo (SO) è un insieme complesso di programmi che, in modo coordinato, controlla le risorse del sistema e i processi che usano queste risorse. Per evidenziare le funzionalità
Definizione di file. Directory e file File binari e file di testo
I/O Avanzato e File Definizione di file Directory e file File binari e file di testo 5 Definizione di file Directory e file Tutti i sistemi operativi permettono di organizzare le informazioni su hard disk
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:
File System I parte. File System
File System I parte File System Dati e Programmi sono organizzati mediante una struttura di files e directories: file: collezione di dati directory: collezione di file o di directory Il file system possiede
Fondamenti di GNU/Linux
Fondamenti di GNU/Linux FileSystem e Partizioni Daniele Costarella Ivan Grimaldi Che cos'è un FileSystem In informatica, un file system è un meccanismo
Prova in itinere 7 Giugno 2016 Università di Salerno
Sistemi Operativi: Prof.ssa A. Rescigno Anno Acc. 2015-2016 Prova in itinere 7 Giugno 2016 Università di Salerno 1. Codice comportamentale. Durante questo esame si deve lavorare da soli. Non si puó consultare
Gli Extended file system di Linux (Ext2/Ext3/Ext4)
Gli Extended file system di Linux (Ext2/Ext3/Ext4) Gli extended file systems sono i file system di default di Linux Ext3, Ext4 sono le versioni migliorate di Ext2 (dimensioni file, prestazioni...) e ne
File System. Capitolo 13
Capitolo 13 File System Problema 1: Le copie di un file possono essere inconsistenti, quindi per sbaglio si potrebbero leggere dati vecchi. È meglio creare un link a data nella home di ogni utente. Tuttavia,
Sistema operativo & file system 1
Il software (sw) Software di sistema e file system Lezione 1b L esecuzione di programmi è lo scopo di un elaboratore I programmi sono algoritmi codificati in un particolare linguaggio di programmazione
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
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
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
Sicurezza del File System
Sicurezza del File System Luigi Catuogno [email protected] BARONISSI 30 maggio 2002 Cos è un file system Luigi Catuogno - Sicurezza del File System 2 1 Cos è il filesystem Una parte del sistema operativo
Sistemi operativi. Motivazione. Tipi di software. Sistemi operativi. Un sistema operativo (SO) e un insieme di programmi che gestiscono le funzioni
Motivazione Sistemi operativi Molte attivita in parallelo su un singolo calcolatore Es.: stampa di un documento e scrittura di un altro Il sistema operativo serve a coordinare queste attivita e far comunicare
File System. Concetti e tecniche generali
File System Concetti e tecniche generali 1 Il file system Il file system è la parte del SO che si occupa di mantenere i dati/programmi in modo persistente Tipicamente le astrazioni fornite sono: File :
Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono e cooperano per:
Il Sistema Operativo Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono e cooperano per: gestire efficientemente l'elaboratore e le sue periferiche,
Il Sistema Operativo
Il Sistema Operativo Prof. Orazio Mirabella Il sistema operativo Strato di interfaccia fra l utente e l hardware che permette di: Superare problemi legati alla gestione delle risorse hardware Favorire
ISA Input / Output (I/O) Data register Controller
ISA Input / Output (I/O) Numerose Periferiche di tanti tipi diversi, collegati alla CPU mediante BUS diversi. Solo Input (tastiera, mouse), producono dati che la CPU deve leggere. Solo Output (Schermo),
Struttura Logica del S.O:
Avvertenza Quanto segue NON è un libro, ma è una copia dei lucidi usati a lezione che NON sostituisce i libri di testo adottati e consigliati per l insegnamento di Informatica Generale. Questa copia è
L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software:
Il Software L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software: un insieme di programmi che permettono di trasformare un insieme di circuiti
INDICI PER FILE. Accesso secondario. Strutture ausiliarie di accesso
INDICI PER FILE Strutture ausiliarie di accesso 2 Accesso secondario Diamo per scontato che esista già un file con una certa organizzazione primaria con dati non ordinati, ordinati o organizzati secondo
Esame Laboratorio di Sistemi Operativi Cognome Nome Mat.
Il compito è costituito da domande chiuse, domande aperte ed esercizi. Non è consentito l uso di libri, manuali, appunti., etc. Tempo massimo 2 ore. Domande chiuse: ogni domanda corrisponde ad un punteggio
Linux la gestione dei dischi
Linux la gestione dei dischi Agenda I nomi delle unità fisiche in ambiente Linux Partizioni e associazione tra file system e unità Amministrare le unità Nomi delle unità In Linux tutto è un file Ogni unità
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
Introduzione all'uso del sistema operativo Ubuntu
Introduzione all'uso del sistema operativo Ubuntu Aprire un Terminal. Osservare il prompt dei comandi Una shell è pronta ad interpretare ed eseguire i vostri comandi consentendovi di accedere ai servizi
Filesystem. Il file system è organizzato in blocchi logici contigui
Filesystem Il file system è organizzato in blocchi logici contigui dimensione fissa di 1024, 2048 o 4096 byte indipendente dalla dimensione del blocco fisico (generalmente 512 byte) Un blocco speciale,
Capitolo 11 -- Silberschatz
Implementazione del File System Capitolo 11 -- Silberschatz Implementazione del File System File system: Definizione dell aspetto del sistema agli occhi dell utente Algoritmi e strutture dati che permettono
File System. File system gerarchico. Proteggere la propria home directory ... / = Root nodi interni: directory foglie: directory vuote o file
File system gerarchico File System = Root nodi interni: directory foglie: directory vuote o file Arancio: porzione del f.s. di sistema Altri colori: sottoalberi del sistema operativo di proprietà dei vari
Esercitazione su Gerarchie di Memoria
Esercitazione su Gerarchie di Memoria Introduzione Memoria o gerarchie di memoria: cache, memoria principale, memoria di massa etc. (con possibilità di fallimenti nell accesso) o organizzazione, dimensionamento,
Elementi di Informatica
Elementi di Informatica Capitolo 1 - Concetti Generali Si definisce: Hardware, l'insieme degli elementi fisici che costituiscono un computer (vedi capitolo 2). Software, l'insieme dei programmi che consentono
Livelli del sottosistema di I/O
Input/Output 1 Livelli del sottosistema di I/O Software di I/O di livello utente Software di sistema indipendente dal dispositivo Driver dei dispositivi Gestori delle interruzioni Hardware Modo utente
