Interfaccia del file system Concetto di file Metodi

  • Slides: 14
Download presentation
Interfaccia del file system • • Concetto di file Metodi di accesso Struttura delle

Interfaccia del file system • • Concetto di file Metodi di accesso Struttura delle directory Protezione Sistemi operativi 10. 1

Struttura dei file • • File: Spazio di indirizzi logici contigui • Strutture complesse

Struttura dei file • • File: Spazio di indirizzi logici contigui • Strutture complesse – Documento formattato – File rilocabile • Si possono simulare i tipi di file complessi utilizzando file costituiti da record, per mezzo di appropriati caratteri di controllo. • Chi decide: – Il sistema operativo – Il programma Tipi: Dati (numerico, caratteri, binario), Programmi Nessuna struttura: sequenza di parole, byte Struttura a record semplice – Linee – Lunghezza fissa – Lunghezza variabile Sistemi operativi 10. 2

Attributi e operazioni • Attributi: – Nome – (unica informazione conservata in formato direttamente

Attributi e operazioni • Attributi: – Nome – (unica informazione conservata in formato direttamente leggibile) – Tipo – (per alcuni sistemi). – Posizione – puntatore alla posizione del file sul dispositivo. – Dimensione – dimensione effettiva del file. – Protezione – controlla chi può leggere, scrivere, o eseguire il file. – Ora, data, e identificazione dell’utente – protezione, e controllo d’uso. • Le informazione sui file sono mantenute nella struttura della directory, che è conservata sul disco. • Operazioni: – scrittura – creazione – riposizionamento nel file – file seek – lettura – troncamento – cancellazione – chiusura - close (Fi) – apertura - open(Fi) Sistemi operativi 10. 3

Tipi di file: nome, estensione Sistemi operativi 10. 4

Tipi di file: nome, estensione Sistemi operativi 10. 4

Metodi di accesso • Accesso sequenziale: E’ un modello di file che si “ispira”

Metodi di accesso • Accesso sequenziale: E’ un modello di file che si “ispira” al nastro read next write next reset la scrittura è una concatenazione in fondo al file • Accesso diretto: E’ un modello di file legato al disco read n write n position to n read next write next rewrite n n = numero di blocco (record) relativo Sistemi operativi 10. 5

Struttura della directory e informazioni • Il disco è suddiviso in partizioni, ciascuna partizione

Struttura della directory e informazioni • Il disco è suddiviso in partizioni, ciascuna partizione ha una directory di dispositivo che contiene informazioni su tutti i file. Directory File • • • F 1 F 2 F 3 F 4 Fn Sia la struttura della directory che i file stanno su disco. I backup di queste strutture vengono fatte su nastri. Informazioni in una directory di dispositivo: – Nome – Tipo – Indirizzo – Lunghezza reale – Massima lunghezza – Data ultimo accesso – Data ultima modifica (per copia di backup) – ID del possessore (chi paga) – Informazioni di protezione Sistemi operativi 10. 6

Operazioni/organizzazione di directory • Operazioni: – Ricerca di un file – Creazione di un

Operazioni/organizzazione di directory • Operazioni: – Ricerca di un file – Creazione di un file – Cancellazione di un file – Elenco dei contenuti di una directory – Cambiamento di nome di un file – Attraversamento del file system • Organizzazione: – Efficienza: trovare un file rapidamente. – Nomi: convenienti per gli utenti. T Due utenti possono avere nomi diversi per gli stessi file. T Lo stesso file può avere diversi nomi. – Raggruppamento logico dei file sulla base di alcune proprietà, (ad esempio, tutti i programmi pascal, tutti i giochi, …) Sistemi operativi 10. 7

Directory a singolo livello • Una singola directory per tutti gli utenti. • •

Directory a singolo livello • Una singola directory per tutti gli utenti. • • Problema dei nomi (necessità di avere tutti nomi distinti) Problema di raggruppamento Sistemi operativi 10. 8

Directory a due livelli • Si ha una directory separata per ogni utente. •

Directory a due livelli • Si ha una directory separata per ogni utente. • • Si può avere lo stesso nome di file per utenti diversi Ricerca efficiente Non si hanno capacità di raggruppamento Nome di percorso (permette ad un utente di vedere i file degli altri utenti) Sistemi operativi 10. 9

Directory strutturate ad albero • • • Ricerca efficiente Capacità di raggruppamento Directory corrente

Directory strutturate ad albero • • • Ricerca efficiente Capacità di raggruppamento Directory corrente / Path name assoluto o relativo La creazione di un nuovo file avviene nella directory corrente. Le directory sono file speciali (la distinzione avviene per mezzo di un bit). Sistemi operativi 10. 10

Directory a grafo aciclico • Si hanno file e sotto–directory condivisi. Sistemi operativi 10.

Directory a grafo aciclico • Si hanno file e sotto–directory condivisi. Sistemi operativi 10. 11

Directory a grafo aciclico • • • Due nomi diversi per lo stesso oggetto

Directory a grafo aciclico • • • Due nomi diversi per lo stesso oggetto (aliasing) Link (collegamento) o copia dei file Problema della cancellazione. Se dict cancella list puntatore errato. Soluzioni: – Puntatori all’indietro, si possono cancellare tutti i puntatori. – Si conserva un file fino a che non sono stati cancellati tutti i riferimenti ad esso (è sufficiente anche memorizzare il numero di riferimenti alla directory). Sistemi operativi 10. 12

Directory a grafo • Come garantire l’assenza di cicli? – Si permettono solo collegamenti

Directory a grafo • Come garantire l’assenza di cicli? – Si permettono solo collegamenti a file e non a sotto–directory. – Garbage collection. Si attraversa il file system, marcando i file accessibili. In un secondo passaggio si rimuovono i file non marcati. – Ogni volta che si aggiunge un link si verifica che vada bene impiegando un algoritmo di rilevazione di cicli. Sistemi operativi 10. 13

Protezione • • Il possessore di un file deve poter controllare cosa può essere

Protezione • • Il possessore di un file deve poter controllare cosa può essere fatto e da chi. Tipi di accesso. Lettura. Scrittura. Esecuzione. Append. Cancellazione. List Modo di accesso: read, write, execute Tre classi di utenti RWX a) accesso del proprietario 7 111 RWX b) accesso del gruppo 6 110 RWX c) accesso pubblico 1 001 • Si richiede al system manager di creare un gruppo G (con nome unico) e di aggiungere alcuni utenti al gruppo. • Per un particolare file (es. game) o sotto–directory, si definisce un accesso appropriato. owner • chmod group 761 public game Si assegna un gruppo ad un file chgrp Sistemi operativi G 10. 14 game