Corso di Informatica e Rappresentazione Digitale - File System PDF
Document Details
Uploaded by HardierRooster5292
Università San Raffaele Roma
Noemi Scarpato
Tags
Summary
Lezione sul file system, con una panoramica sui diversi concetti correlati, come la rappresentazione digitale e l'organizzazione dei file. Il documento descrive il concetto di file system, i diversi tipi di file presenti, la gestione delle informazioni, fornendo un'introduzione completa a questo argomento.
Full Transcript
Noemi Scarpato CORSO DI INFORMATICA E RAPPRESENTAZIONE DIGITALE Noemi Scarpato Università Telematica San Raffaele Roma File System 1 di 14 ...
Noemi Scarpato CORSO DI INFORMATICA E RAPPRESENTAZIONE DIGITALE Noemi Scarpato Università Telematica San Raffaele Roma File System 1 di 14 Noemi Scarpato Cosa Vedremo Nelle Lezioni 1. Fondamenti Dell´Informatica 2. Architetture e Sistemi Operativi 3. Introduzione alle Reti di Calcolatori - INTERNET, IL World Wide Web e i loro servizi. 4. Elaborazione di documenti elettronici 5. Fondamenti di elaborazione multimediale 6. Creazione di Pagine Web. File System 2 di 14 Noemi Scarpato Architetture e Sistemi Operativi Introduzione al Computer e Rappresentazione dell'Informazione. Architettura della macchina di von Neumann. Dispositivi di memoria,dispositivi di input, dispositivi di output. Classificazioni e architetture. Sistemi Operativi. Introduzione e organizzazione dei sistemi operativi. Gestione dei processi. Gestione della memoria. Gestione dei dispositivi. File system. La sicurezza nei sistemi operativi. Casi di studio: Windows (VISTA,SEVEN) e Linux (Mandriva,Ubuntu). File System 3 di 14 File System Noemi Scarpato La funzionalità principale di un calcolatore è immagazzinare dati. Esistono diversi media atti allo scopo, come ad esempio dischi rigidi, floppy disk, cd-rom, dvd, ma anche nastri. Ognuno di questi media ha caratteristiche fisiche e sistemi di registrazione diversi. Come abbiamo visto nei lucidi precedenti, è possibile semplificare dicendo che ognuno di essi permette la registrazione di dati sotto forma di blocchi, sequenze contigue di byte della dimensione comprese fra 1 e 16 KB. ognuno di questi media ha caratteristiche fisiche diverse. Tuttavia, dal punto di vista dell’utente finale, tale visione è ancora troppo complicata: è necessario capire in che modo organizzare tali blocchi, e questo dipende ancora dalle caratteristiche fisiche dei media. File System 4 di 14 File System Noemi Scarpato Quello che vogliamo è un’astrazione che nasconda la complessità dei diversi media proponendo un’interfaccia comune (ovvero indipendente dal supporto di memorizzazione utilizzato), efficiente e conveniente da fare. Tale astrazione è il concetto di file system, che suggerisce una visione astratta basata sul concetto di file e Directory. Un file è una sequenza contigua di byte, a cui sono normalmente associati un certo numero di attributi. File System 5 di 14 Noemi Scarpato File System Una Directory è innanzitutto l’insieme di informazioni necessarie per organizzare i file che compongono un file system; più informalmente, è un contenitore per file e ulteriori Directory. A seconda di come le informazioni vengono organizzate sul supporto di memorizzazione, si parla di file system di tipo diverso. Il codice del sistema operativo che interpreta le informazioni contenute nel disco rigido è diverso per ogni file system di tipo differente; inoltre, ogni sistema operativo è dotato di uno o più file system nativi, ovvero comunemente utilizzati quando il sistema operativo viene installato. Non è quindi detto che un file system possa essere letto da un sistema operativo diverso. File System 6 di 14 File Noemi Scarpato Ogni file è caratterizzato da un insieme di attributi che possono essere memorizzati assieme al file stesso, oppure in sezioni apposite della memoria secondaria, oppure direttamente all’interno delle Directory che contengono tali file: Nome: attributo principale; Locazione e dimensione: permettono di sapere in quali blocchi della memoria secondaria il file è memorizzato. Informazioni temporali:servono a tenere traccia delle interazioni possibili con il file; normalmente, vengono memorizzati semplicemente il tempo di creazione, di ultima modifica e di ultimo accesso al file. Informazioni sulla proprietà:rendono possibile associare un proprietario ad un file, il quale normalmente possiede privilegi speciali sul file. File System 7 di 14 Noemi Scarpato File Attributi di protezione:permettono di specificare chi ha il permesso di eseguire particolari operazioni sui file, come ad esempio la lettura e la scrittura (e l’esecuzione, nel caso di programmi) Esistono varie tipologie di file, che possono essere distinte per: Estensione: al nome del file viene associata un’estensione di 3-4 caratteri separata da un punto; ad esempio file.txt è un file di testo. (Meccanismo utilizzato in windows) "Numero magico“:si fa riferimento al contenuto del file per identificare il suo tipo; molti formati di file utilizzano i primi caratteri come "numero magico", che è sufficiente per identificare un file. Ad esempio, tutti i file PDF iniziano per "%PDF". E’ il meccanismo utilizzato in UNIX/Linux. File System 8 di 14 Noemi Scarpato Operazioni sui file Dal punto di vista del programmatore, è possibile interagire con i file utilizzando alcune funzioni standard: Creazione - create() : crea un file vuoto (di lunghezza zero) Apertura/chiusura - open(), close() : permettono rispettivamente al sistema operativo di caricare, in alcune strutture dati interne, tutte le informazioni relative al file e di rimuovere le informazioni sul file dalla memoria ed eventualmente di registrare le modifiche non salvate sul supporto di memorizzazione. Lettura/scrittura/append - read(), write() Posizionamento - lseek() Cancellazione - unlink() Troncamento - ftruncate() Lettura/scrittura attributi - fstat(), chown(), chmod() File System 9 di 14 Noemi Scarpato Directory Il concetto di Directory è fondamentale per organizzare i propri dati in maniera gerarchica. Ogni Directory può contenere file oppure ulteriori Directory. Si viene così a creare una struttura dati ben nota in ambito informatico che prende il nome di albero. Nell’albero delle Directory, esiste una Directory da cui ha origine l’intero file system che viene chiamata Directory radice. Ogni Directory è radice del suo sott’albero; i file vengono chiamati foglie, in quanto non hanno nessun sottoalbero File System 10 di 14 Noemi Scarpato Directory Ogni file viene individuato univocamente da un percorso, che è composto dal cammino di Directory che deve essere utilizzato a partire dalla Directory radice per raggiungere il file, più il nome del file stesso detto path. Ad esempio, il path "/b/x/5.txt" individua univocamente il file corrispondente. Nei file system organizzati ad albero, un file può essere "contenuto" in una sola Directory. E’ questo il caso di file system come NTFS e FAT, che sono utilizzati in ambito Windows. Nei sistemi UNIX/Linux, invece, la struttura delle Directory permette ad un file di appartenere a più Directory, grazie al concetto di collegamento. File System 11 di 14 Noemi Scarpato Directory Esiste un’unica copia del file, raggiungibile da due percorsi distinti. Il vantaggio di un simile meccanismo è organizzativo: esistono concetti che non possono essere catalogati facilmente nella struttura gerarchica di un albero. Ogni processo è associato al concetto di Directory corrente, che viene utilizzato come base di partenza per tutte le operazioni sui file effettuate dal processo. Oltre al path assoluto, che ha come base di partenza la Directory radice, ogni file può essere identificato anche a partire dalle Directory corrente, utilizzando un path relativo. File System 12 di 14 Noemi Scarpato Directory Per esempio, facendo riferimento agli esempi precedenti, il file "/b/x/5.txt", oltre ad essere identificato da questo path assoluto, può essere identificato come "x/5.txt" da un processo la cui Directory corrente è "/b". Una particolare notazione da tenere in considerazione quando si crea un percorso assoluto è quello di Directory genitore, che viene identificata da due punti consecutivi ".."; per esempio, a partire dalla Directory "/a", il file "5.txt" può essere identificato come "../b/x/5.txt“. File System 13 di 14 Noemi Scarpato Directory L’idea alla base del concetto di Directory corrente è sia quella di semplificare la vita dell’utente, che può riferirsi ai file utilizzando nomi più brevi, sia di semplificare e ottimizzare il sistema operativo, che può accedere ad un file utilizzando un percorso più breve, invece di un percorso completo. Dal punto di vista del programmatore, oltre ad avere la possibilità di cambiare la Directory corrente, è possibile ovviamente creare nuove Directory e cancellare e rinominare Directory esistenti. Dal punto di vista della lettura, l’approccio è simile a quello dei file: si apre una Directory, si leggono le informazioni contenute all’interno su file e Directory presenti nella stessa, per poi chiudere la Directory. Dal punto di vista della scrittura, non esistono operazioni specifiche: questo perché la creazione e la cancellazione di file sono già atti di modifica di una Directory. File System 14 di 14