file system - homes.dico.unimi.ithomes.dico.unimi.it/~sisop/lucidi0910/solez23.pdf · a.a....
TRANSCRIPT
![Page 1: File System - homes.dico.unimi.ithomes.dico.unimi.it/~sisop/lucidi0910/Solez23.pdf · A.A. 2009/2010 Corso: Sistemi Operativi © Danilo Bruschi 4 Obiettivi di un file system (lato](https://reader033.vdocuments.site/reader033/viewer/2022053022/604d0dab4b6d3c082e2171b6/html5/thumbnails/1.jpg)
File System
Sistemi Operativi Lezione 23
![Page 2: File System - homes.dico.unimi.ithomes.dico.unimi.it/~sisop/lucidi0910/Solez23.pdf · A.A. 2009/2010 Corso: Sistemi Operativi © Danilo Bruschi 4 Obiettivi di un file system (lato](https://reader033.vdocuments.site/reader033/viewer/2022053022/604d0dab4b6d3c082e2171b6/html5/thumbnails/2.jpg)
A.A. 2009/2010 Corso: Sistemi Operativi
© Danilo Bruschi2
Necessità
• Un qualunque sistema per la gestione delle informazioni deve essere in grado di soddisfare i seguenti requisiti:
• Memorizzare grosse quantità di dati• Garantire che le informazioni memorizzate
sopravvivano al processo che le ha generate• Consentire l’accesso alle informazioni a più processi
indipendentemente dal processo che le ha generate
![Page 3: File System - homes.dico.unimi.ithomes.dico.unimi.it/~sisop/lucidi0910/Solez23.pdf · A.A. 2009/2010 Corso: Sistemi Operativi © Danilo Bruschi 4 Obiettivi di un file system (lato](https://reader033.vdocuments.site/reader033/viewer/2022053022/604d0dab4b6d3c082e2171b6/html5/thumbnails/3.jpg)
A.A. 2009/2010 Corso: Sistemi Operativi
© Danilo Bruschi3
File System
• Le informazioni sono memorizzate permanentemente su dischi o dispositivi analoghi sotto forma di file
• I file sono gestiti dal SO che decide le modalità di gestione e d’uso
• La componente del sistema operativo dedicata alla gestione dei file è chiamata file system
• In alcune circostanze il termine file system è usato anche per indicare l’insieme dei file contenuti in un sistema
![Page 4: File System - homes.dico.unimi.ithomes.dico.unimi.it/~sisop/lucidi0910/Solez23.pdf · A.A. 2009/2010 Corso: Sistemi Operativi © Danilo Bruschi 4 Obiettivi di un file system (lato](https://reader033.vdocuments.site/reader033/viewer/2022053022/604d0dab4b6d3c082e2171b6/html5/thumbnails/4.jpg)
A.A. 2009/2010 Corso: Sistemi Operativi
© Danilo Bruschi4
Obiettivi di un file system (lato user)
• Fornire sotto forma di syscall o comandi le necessarie primitive affinché ogni utente possa:• Creare, cancellare, leggere, e modificare un file• Eseguire le operazioni di back-up e recovery• Definire schemi per controllare chi accede ai
propri file • Strutturare i propri file in base alle proprie
necessità• Spostare dati tra file
![Page 5: File System - homes.dico.unimi.ithomes.dico.unimi.it/~sisop/lucidi0910/Solez23.pdf · A.A. 2009/2010 Corso: Sistemi Operativi © Danilo Bruschi 4 Obiettivi di un file system (lato](https://reader033.vdocuments.site/reader033/viewer/2022053022/604d0dab4b6d3c082e2171b6/html5/thumbnails/5.jpg)
A.A. 2009/2010 Corso: Sistemi Operativi
© Danilo Bruschi5
Obiettivi di un file system (lato sistema)
• Garantire l’integrità dei dati memorizzati nei file
• Ottimizzare l’uso dello spazio su disco• Ottimizzare in termini di tempo le prestazioni
dei dispositivi• Supportare dispositivi di memorizzazione
diversi• Minimizzare o eliminare i rischi per la perdita
di dati
![Page 6: File System - homes.dico.unimi.ithomes.dico.unimi.it/~sisop/lucidi0910/Solez23.pdf · A.A. 2009/2010 Corso: Sistemi Operativi © Danilo Bruschi 4 Obiettivi di un file system (lato](https://reader033.vdocuments.site/reader033/viewer/2022053022/604d0dab4b6d3c082e2171b6/html5/thumbnails/6.jpg)
I Dischi
Alcune delle fotografie riportate sono riprese da: http://royal.pingdom.com/2010/02/18/amazing-facts-and-figures-about-the-evolution-of-hard-disk-drives/
![Page 7: File System - homes.dico.unimi.ithomes.dico.unimi.it/~sisop/lucidi0910/Solez23.pdf · A.A. 2009/2010 Corso: Sistemi Operativi © Danilo Bruschi 4 Obiettivi di un file system (lato](https://reader033.vdocuments.site/reader033/viewer/2022053022/604d0dab4b6d3c082e2171b6/html5/thumbnails/7.jpg)
A.A. 2009/2010 Corso: Sistemi Operativi
© Danilo Bruschi7
Hard Disk
![Page 8: File System - homes.dico.unimi.ithomes.dico.unimi.it/~sisop/lucidi0910/Solez23.pdf · A.A. 2009/2010 Corso: Sistemi Operativi © Danilo Bruschi 4 Obiettivi di un file system (lato](https://reader033.vdocuments.site/reader033/viewer/2022053022/604d0dab4b6d3c082e2171b6/html5/thumbnails/8.jpg)
A.A. 2009/2010 Corso: Sistemi Operativi
© Danilo Bruschi8
Disk Head
![Page 9: File System - homes.dico.unimi.ithomes.dico.unimi.it/~sisop/lucidi0910/Solez23.pdf · A.A. 2009/2010 Corso: Sistemi Operativi © Danilo Bruschi 4 Obiettivi di un file system (lato](https://reader033.vdocuments.site/reader033/viewer/2022053022/604d0dab4b6d3c082e2171b6/html5/thumbnails/9.jpg)
A.A. 2009/2010 Corso: Sistemi Operativi
© Danilo Bruschi9
Controller (IDE)
![Page 10: File System - homes.dico.unimi.ithomes.dico.unimi.it/~sisop/lucidi0910/Solez23.pdf · A.A. 2009/2010 Corso: Sistemi Operativi © Danilo Bruschi 4 Obiettivi di un file system (lato](https://reader033.vdocuments.site/reader033/viewer/2022053022/604d0dab4b6d3c082e2171b6/html5/thumbnails/10.jpg)
A.A. 2009/2010 Corso: Sistemi Operativi
© Danilo Bruschi10
IDE Cable
![Page 11: File System - homes.dico.unimi.ithomes.dico.unimi.it/~sisop/lucidi0910/Solez23.pdf · A.A. 2009/2010 Corso: Sistemi Operativi © Danilo Bruschi 4 Obiettivi di un file system (lato](https://reader033.vdocuments.site/reader033/viewer/2022053022/604d0dab4b6d3c082e2171b6/html5/thumbnails/11.jpg)
A.A. 2009/2010 Corso: Sistemi Operativi
© Danilo Bruschi11
3 ISAslots
5 PCI slots Pentium CPU6 SIMMslots
2 DIMM slots
![Page 12: File System - homes.dico.unimi.ithomes.dico.unimi.it/~sisop/lucidi0910/Solez23.pdf · A.A. 2009/2010 Corso: Sistemi Operativi © Danilo Bruschi 4 Obiettivi di un file system (lato](https://reader033.vdocuments.site/reader033/viewer/2022053022/604d0dab4b6d3c082e2171b6/html5/thumbnails/12.jpg)
A.A. 2009/2010 Corso: Sistemi Operativi
© Danilo Bruschi12
Tracce e Settori
• Ogni superficie è suddivisa in un insieme di Tracce
• Ogni traccia è suddivisa in settore
![Page 13: File System - homes.dico.unimi.ithomes.dico.unimi.it/~sisop/lucidi0910/Solez23.pdf · A.A. 2009/2010 Corso: Sistemi Operativi © Danilo Bruschi 4 Obiettivi di un file system (lato](https://reader033.vdocuments.site/reader033/viewer/2022053022/604d0dab4b6d3c082e2171b6/html5/thumbnails/13.jpg)
A.A. 2009/2010 Corso: Sistemi Operativi
© Danilo Bruschi13
Tracce
• Struttura fisica di un disco con doppio settore sulle tracce esterne
• Struttura logica dello stesso dispositivo
![Page 14: File System - homes.dico.unimi.ithomes.dico.unimi.it/~sisop/lucidi0910/Solez23.pdf · A.A. 2009/2010 Corso: Sistemi Operativi © Danilo Bruschi 4 Obiettivi di un file system (lato](https://reader033.vdocuments.site/reader033/viewer/2022053022/604d0dab4b6d3c082e2171b6/html5/thumbnails/14.jpg)
A.A. 2009/2010 Corso: Sistemi Operativi
© Danilo Bruschi14
Formato di una traccia
dataheadergap gap
CRC
SettoreSettore Precedente
Prossimo
Inter-blockgap
Inter-blockgap
Note:
CRC è acronimo di “cyclic redundancy check”. Un codice correttore relativo al campo data, situato alla fine di ogni settore.
![Page 15: File System - homes.dico.unimi.ithomes.dico.unimi.it/~sisop/lucidi0910/Solez23.pdf · A.A. 2009/2010 Corso: Sistemi Operativi © Danilo Bruschi 4 Obiettivi di un file system (lato](https://reader033.vdocuments.site/reader033/viewer/2022053022/604d0dab4b6d3c082e2171b6/html5/thumbnails/15.jpg)
A.A. 2009/2010 Corso: Sistemi Operativi
© Danilo Bruschi15
Cilindri
• Tutte le tracce con lo stesso numero costituiscono un cilindro
surface 0
surface 1surface 2
surface 3surface 4
surface 5
cylinder k
spindle
platter 0
platter 1
platter 2
![Page 16: File System - homes.dico.unimi.ithomes.dico.unimi.it/~sisop/lucidi0910/Solez23.pdf · A.A. 2009/2010 Corso: Sistemi Operativi © Danilo Bruschi 4 Obiettivi di un file system (lato](https://reader033.vdocuments.site/reader033/viewer/2022053022/604d0dab4b6d3c082e2171b6/html5/thumbnails/16.jpg)
A.A. 2009/2010 Corso: Sistemi Operativi
© Danilo Bruschi16
Cilindri
•
arm
Le testine si muovonoda cilindro a cilindro
spindle
![Page 17: File System - homes.dico.unimi.ithomes.dico.unimi.it/~sisop/lucidi0910/Solez23.pdf · A.A. 2009/2010 Corso: Sistemi Operativi © Danilo Bruschi 4 Obiettivi di un file system (lato](https://reader033.vdocuments.site/reader033/viewer/2022053022/604d0dab4b6d3c082e2171b6/html5/thumbnails/17.jpg)
A.A. 2009/2010 Corso: Sistemi Operativi
© Danilo Bruschi17
Disk Hardware
Evoluzione dei dischi a partire dal dispositivo originale del PC IBM sino al modello Western Digital WD 18300
![Page 18: File System - homes.dico.unimi.ithomes.dico.unimi.it/~sisop/lucidi0910/Solez23.pdf · A.A. 2009/2010 Corso: Sistemi Operativi © Danilo Bruschi 4 Obiettivi di un file system (lato](https://reader033.vdocuments.site/reader033/viewer/2022053022/604d0dab4b6d3c082e2171b6/html5/thumbnails/18.jpg)
A.A. 2009/2010 Corso: Sistemi Operativi
© Danilo Bruschi18
1956 – Primo HD (IBM 350)- 5MB
![Page 19: File System - homes.dico.unimi.ithomes.dico.unimi.it/~sisop/lucidi0910/Solez23.pdf · A.A. 2009/2010 Corso: Sistemi Operativi © Danilo Bruschi 4 Obiettivi di un file system (lato](https://reader033.vdocuments.site/reader033/viewer/2022053022/604d0dab4b6d3c082e2171b6/html5/thumbnails/19.jpg)
A.A. 2009/2010 Corso: Sistemi Operativi
© Danilo Bruschi19
1979 – 250 MB
![Page 20: File System - homes.dico.unimi.ithomes.dico.unimi.it/~sisop/lucidi0910/Solez23.pdf · A.A. 2009/2010 Corso: Sistemi Operativi © Danilo Bruschi 4 Obiettivi di un file system (lato](https://reader033.vdocuments.site/reader033/viewer/2022053022/604d0dab4b6d3c082e2171b6/html5/thumbnails/20.jpg)
A.A. 2009/2010 Corso: Sistemi Operativi
© Danilo Bruschi20
L’evoluzione
![Page 21: File System - homes.dico.unimi.ithomes.dico.unimi.it/~sisop/lucidi0910/Solez23.pdf · A.A. 2009/2010 Corso: Sistemi Operativi © Danilo Bruschi 4 Obiettivi di un file system (lato](https://reader033.vdocuments.site/reader033/viewer/2022053022/604d0dab4b6d3c082e2171b6/html5/thumbnails/21.jpg)
A.A. 2009/2010 Corso: Sistemi Operativi
© Danilo Bruschi21
Ultima generazione (2008)
1GB, 16 mm in altezza, 16 grammi
![Page 22: File System - homes.dico.unimi.ithomes.dico.unimi.it/~sisop/lucidi0910/Solez23.pdf · A.A. 2009/2010 Corso: Sistemi Operativi © Danilo Bruschi 4 Obiettivi di un file system (lato](https://reader033.vdocuments.site/reader033/viewer/2022053022/604d0dab4b6d3c082e2171b6/html5/thumbnails/22.jpg)
A.A. 2009/2010 Corso: Sistemi Operativi
© Danilo Bruschi22
L’evoluzione
![Page 23: File System - homes.dico.unimi.ithomes.dico.unimi.it/~sisop/lucidi0910/Solez23.pdf · A.A. 2009/2010 Corso: Sistemi Operativi © Danilo Bruschi 4 Obiettivi di un file system (lato](https://reader033.vdocuments.site/reader033/viewer/2022053022/604d0dab4b6d3c082e2171b6/html5/thumbnails/23.jpg)
A.A. 2009/2010 Corso: Sistemi Operativi
© Danilo Bruschi23
Errori
• Nella gestione di un disco si possono verificare diverse tipologie di errore, alcune di queste possono essere risolte dal controller, nella maggior parte dei casi è il driver che deve trovare una soluzione• Errori di programmazione: invio di parametri errati (n.ro
cilindro, n.ro settore ecc.) al controller. In questi casi l’operazione va interrotta sperando che non si verifichi troppo frequentemente
• Transient checksum error: errori di lettura/scrittura a causa di tracce di polvere. In questi casi si tratta di riprovare un certo numero di volte
• Permanent checksum error: il settore viene marcato come cattivo (bad). Solo l’hw può porre rimedio a questa situazione
![Page 24: File System - homes.dico.unimi.ithomes.dico.unimi.it/~sisop/lucidi0910/Solez23.pdf · A.A. 2009/2010 Corso: Sistemi Operativi © Danilo Bruschi 4 Obiettivi di un file system (lato](https://reader033.vdocuments.site/reader033/viewer/2022053022/604d0dab4b6d3c082e2171b6/html5/thumbnails/24.jpg)
A.A. 2009/2010 Corso: Sistemi Operativi
© Danilo Bruschi24
Errori
• Seek errors: il braccio non è ben calibrato e non si posiziona correttamente sulle tracce. È necessario avviare un’operazione per ricalibrare il braccio, quando il controller lo rende possibile
• Controller error: anche in questo caso va avviata un’operazione di reset del controller, che può comunque risultare non risolutiva
![Page 25: File System - homes.dico.unimi.ithomes.dico.unimi.it/~sisop/lucidi0910/Solez23.pdf · A.A. 2009/2010 Corso: Sistemi Operativi © Danilo Bruschi 4 Obiettivi di un file system (lato](https://reader033.vdocuments.site/reader033/viewer/2022053022/604d0dab4b6d3c082e2171b6/html5/thumbnails/25.jpg)
A.A. 2009/2010 Corso: Sistemi Operativi
© Danilo Bruschi25
Bad Block
a. Una traccia con settore rovinatob. Sostituzione di un settore disponibile con il contenuto
del settore rovinatoc. Shifting di tutti i settori per bypassare quello rovinato
![Page 26: File System - homes.dico.unimi.ithomes.dico.unimi.it/~sisop/lucidi0910/Solez23.pdf · A.A. 2009/2010 Corso: Sistemi Operativi © Danilo Bruschi 4 Obiettivi di un file system (lato](https://reader033.vdocuments.site/reader033/viewer/2022053022/604d0dab4b6d3c082e2171b6/html5/thumbnails/26.jpg)
A.A. 2009/2010 Corso: Sistemi Operativi
© Danilo Bruschi26
R.A.I.D. Redundant array of inexpensive disks
• Un tipo di unità dischi che utilizza una combinazione di due o più due o più drive per migliorare la resistenza ai guasti e le prestazioni
• Usata frequentemente nei sistemi server, molto meno sui PC
• Si distinguono diversi livelli di R.A.I.D.
![Page 27: File System - homes.dico.unimi.ithomes.dico.unimi.it/~sisop/lucidi0910/Solez23.pdf · A.A. 2009/2010 Corso: Sistemi Operativi © Danilo Bruschi 4 Obiettivi di un file system (lato](https://reader033.vdocuments.site/reader033/viewer/2022053022/604d0dab4b6d3c082e2171b6/html5/thumbnails/27.jpg)
A.A. 2009/2010 Corso: Sistemi Operativi
© Danilo Bruschi27
R.A.I.D. (0 - 1)
• Livello 0• Data striping su più dischi • Nessuna ridondanza• Migliora le prestazioni ma non ha effetto sulla fault-tolerance
• Livello 1• Data mirroring: (a.k.a.: “shadowing”)• I dati sono scritti contemporaneamente su due dischi diversi• Se un disco si guasta, il sistema “si sposta” automaticamente sul
secondo senza alcuna perdita di dati o di qualità del servizio• Grosso impatto sulla fault tolerance, poco impatto sulle prestazioni
![Page 28: File System - homes.dico.unimi.ithomes.dico.unimi.it/~sisop/lucidi0910/Solez23.pdf · A.A. 2009/2010 Corso: Sistemi Operativi © Danilo Bruschi 4 Obiettivi di un file system (lato](https://reader033.vdocuments.site/reader033/viewer/2022053022/604d0dab4b6d3c082e2171b6/html5/thumbnails/28.jpg)
A.A. 2009/2010 Corso: Sistemi Operativi
© Danilo Bruschi28
R.A.I.D. (3 - 5)
• Level 3• I dati sono gestiti come nel livello 0, in più è però
previsto un disco per contenere i dati necessari alla correzione
• Ottime prestazioni, and some level of fault tolerance
• Level 5• Data striping a livello byte, e codice di correzione a
livello stripe• Prestazioni molto buone, fault tolerance buona
![Page 29: File System - homes.dico.unimi.ithomes.dico.unimi.it/~sisop/lucidi0910/Solez23.pdf · A.A. 2009/2010 Corso: Sistemi Operativi © Danilo Bruschi 4 Obiettivi di un file system (lato](https://reader033.vdocuments.site/reader033/viewer/2022053022/604d0dab4b6d3c082e2171b6/html5/thumbnails/29.jpg)
A.A. 2009/2010 Corso: Sistemi Operativi
© Danilo Bruschi29
R.A.I.D.
![Page 30: File System - homes.dico.unimi.ithomes.dico.unimi.it/~sisop/lucidi0910/Solez23.pdf · A.A. 2009/2010 Corso: Sistemi Operativi © Danilo Bruschi 4 Obiettivi di un file system (lato](https://reader033.vdocuments.site/reader033/viewer/2022053022/604d0dab4b6d3c082e2171b6/html5/thumbnails/30.jpg)
A.A. 2009/2010 Corso: Sistemi Operativi
© Danilo Bruschi30
Disk Arm Scheduling
• Il tempo richiesto per leggere o scrivere un blocco del disco è determinato da tre fattori
1. Seek time2. Rotational delay3. Actual transfer time
• Il termine preponderante è il tempo di seek
• Il controllo degli errori è effettuato dal device controller
![Page 31: File System - homes.dico.unimi.ithomes.dico.unimi.it/~sisop/lucidi0910/Solez23.pdf · A.A. 2009/2010 Corso: Sistemi Operativi © Danilo Bruschi 4 Obiettivi di un file system (lato](https://reader033.vdocuments.site/reader033/viewer/2022053022/604d0dab4b6d3c082e2171b6/html5/thumbnails/31.jpg)
A.A. 2009/2010 Corso: Sistemi Operativi
© Danilo Bruschi31
![Page 32: File System - homes.dico.unimi.ithomes.dico.unimi.it/~sisop/lucidi0910/Solez23.pdf · A.A. 2009/2010 Corso: Sistemi Operativi © Danilo Bruschi 4 Obiettivi di un file system (lato](https://reader033.vdocuments.site/reader033/viewer/2022053022/604d0dab4b6d3c082e2171b6/html5/thumbnails/32.jpg)
File system lato utente
![Page 33: File System - homes.dico.unimi.ithomes.dico.unimi.it/~sisop/lucidi0910/Solez23.pdf · A.A. 2009/2010 Corso: Sistemi Operativi © Danilo Bruschi 4 Obiettivi di un file system (lato](https://reader033.vdocuments.site/reader033/viewer/2022053022/604d0dab4b6d3c082e2171b6/html5/thumbnails/33.jpg)
A.A. 2009/2010 Corso: Sistemi Operativi
© Danilo Bruschi33
Termini
• Campo• Elemento base• Contiene un singolo valore• Caratterizzato dal tipo di dato e dalla dimensione
• Record• Insieme di campi opportunamente correlati• Trattato come una singola entità logica
• Esempi: record studente, impiegato, cittadino
![Page 34: File System - homes.dico.unimi.ithomes.dico.unimi.it/~sisop/lucidi0910/Solez23.pdf · A.A. 2009/2010 Corso: Sistemi Operativi © Danilo Bruschi 4 Obiettivi di un file system (lato](https://reader033.vdocuments.site/reader033/viewer/2022053022/604d0dab4b6d3c082e2171b6/html5/thumbnails/34.jpg)
A.A. 2009/2010 Corso: Sistemi Operativi
© Danilo Bruschi34
File
• File• Insieme di record omogenei opportunamente
correlati• Identificato da un nome logico
• Database• Collezione di record non necessariamente
omogenei e di relazioni tra loro esistenti
![Page 35: File System - homes.dico.unimi.ithomes.dico.unimi.it/~sisop/lucidi0910/Solez23.pdf · A.A. 2009/2010 Corso: Sistemi Operativi © Danilo Bruschi 4 Obiettivi di un file system (lato](https://reader033.vdocuments.site/reader033/viewer/2022053022/604d0dab4b6d3c082e2171b6/html5/thumbnails/35.jpg)
A.A. 2009/2010 Corso: Sistemi Operativi
© Danilo Bruschi35
File naming
• Il primo problema che il file system deve risolvere è proporre agli utenti uno schema attraverso il quale identificare i propri file all’interno di un sistema• I nomi solitamente possono contenere un
qualunque carattere alfanumerico fatta eccezione per alcuni caratteri speciali
• I nomi variano in lunghezza 8-255 caratteri• Alcuni sistemi non distinguono tra maiuscole e
minuscole• È oramai prassi utilizzare una notazione postfissa
![Page 36: File System - homes.dico.unimi.ithomes.dico.unimi.it/~sisop/lucidi0910/Solez23.pdf · A.A. 2009/2010 Corso: Sistemi Operativi © Danilo Bruschi 4 Obiettivi di un file system (lato](https://reader033.vdocuments.site/reader033/viewer/2022053022/604d0dab4b6d3c082e2171b6/html5/thumbnails/36.jpg)
A.A. 2009/2010 Corso: Sistemi Operativi
© Danilo Bruschi36
File Naming
![Page 37: File System - homes.dico.unimi.ithomes.dico.unimi.it/~sisop/lucidi0910/Solez23.pdf · A.A. 2009/2010 Corso: Sistemi Operativi © Danilo Bruschi 4 Obiettivi di un file system (lato](https://reader033.vdocuments.site/reader033/viewer/2022053022/604d0dab4b6d3c082e2171b6/html5/thumbnails/37.jpg)
A.A. 2009/2010 Corso: Sistemi Operativi
© Danilo Bruschi37
Struttura dei file
• Ulteriore elemento che caratterizza un file system sono le modalità con cui consente ad un utente di organizzare le proprie informazioni all’interno di un file
![Page 38: File System - homes.dico.unimi.ithomes.dico.unimi.it/~sisop/lucidi0910/Solez23.pdf · A.A. 2009/2010 Corso: Sistemi Operativi © Danilo Bruschi 4 Obiettivi di un file system (lato](https://reader033.vdocuments.site/reader033/viewer/2022053022/604d0dab4b6d3c082e2171b6/html5/thumbnails/38.jpg)
A.A. 2009/2010 Corso: Sistemi Operativi
© Danilo Bruschi38
Tipi di file
• Ogni file system può supportare diversi tipi di file che differiscono tra loro per l’uso che il sistema ne fa• Regular file: contengono informazioni degli utenti
• ASCII• Binary
• Directory: usati dal file system • Character special file: presenti sul sistema Unix,
dove sono usati per la gestione di dispositivi seriali• Block special file: presenti sul sistema Unix, dove
sono usati per la gestione di dispostivi a blocchi
![Page 39: File System - homes.dico.unimi.ithomes.dico.unimi.it/~sisop/lucidi0910/Solez23.pdf · A.A. 2009/2010 Corso: Sistemi Operativi © Danilo Bruschi 4 Obiettivi di un file system (lato](https://reader033.vdocuments.site/reader033/viewer/2022053022/604d0dab4b6d3c082e2171b6/html5/thumbnails/39.jpg)
A.A. 2009/2010 Corso: Sistemi Operativi
© Danilo Bruschi39
Binary file
![Page 40: File System - homes.dico.unimi.ithomes.dico.unimi.it/~sisop/lucidi0910/Solez23.pdf · A.A. 2009/2010 Corso: Sistemi Operativi © Danilo Bruschi 4 Obiettivi di un file system (lato](https://reader033.vdocuments.site/reader033/viewer/2022053022/604d0dab4b6d3c082e2171b6/html5/thumbnails/40.jpg)
A.A. 2009/2010 Corso: Sistemi Operativi
© Danilo Bruschi40
File Access
• Le modalità di accesso determinano come un’applicazione può accedere ai dati memorizzati in un file
• Accesso Sequenziale • Legge tutti i bytes/records dall’inizio• Non è possibile effettuare salti all’interno del file, è
possibile ritornare all’inizio o ripartire dall’ultima operazione di lettura
![Page 41: File System - homes.dico.unimi.ithomes.dico.unimi.it/~sisop/lucidi0910/Solez23.pdf · A.A. 2009/2010 Corso: Sistemi Operativi © Danilo Bruschi 4 Obiettivi di un file system (lato](https://reader033.vdocuments.site/reader033/viewer/2022053022/604d0dab4b6d3c082e2171b6/html5/thumbnails/41.jpg)
A.A. 2009/2010 Corso: Sistemi Operativi
© Danilo Bruschi41
File access
• Random access• bytes/records possono essere letti in qualunque
ordine• Fondamentale per supportare data base • La read può avere due diversi formati:
• Move file marker (seek), then read (file) • Read (file, n.ro rec.), Read (file, key)
![Page 42: File System - homes.dico.unimi.ithomes.dico.unimi.it/~sisop/lucidi0910/Solez23.pdf · A.A. 2009/2010 Corso: Sistemi Operativi © Danilo Bruschi 4 Obiettivi di un file system (lato](https://reader033.vdocuments.site/reader033/viewer/2022053022/604d0dab4b6d3c082e2171b6/html5/thumbnails/42.jpg)
A.A. 2009/2010 Corso: Sistemi Operativi
© Danilo Bruschi42
Attributi o metadata
• Sono informazioni associate al file ed usate dal sistema per svolgere attività di gestione e manutenzione del file:• Controllo degli accessi• Back-up• Gestione degli spazi• accounting
• Sono dati molto dipendenti dal sistema operativo
![Page 43: File System - homes.dico.unimi.ithomes.dico.unimi.it/~sisop/lucidi0910/Solez23.pdf · A.A. 2009/2010 Corso: Sistemi Operativi © Danilo Bruschi 4 Obiettivi di un file system (lato](https://reader033.vdocuments.site/reader033/viewer/2022053022/604d0dab4b6d3c082e2171b6/html5/thumbnails/43.jpg)
A.A. 2009/2010 Corso: Sistemi Operativi
© Danilo Bruschi43
Attributi di un File
![Page 44: File System - homes.dico.unimi.ithomes.dico.unimi.it/~sisop/lucidi0910/Solez23.pdf · A.A. 2009/2010 Corso: Sistemi Operativi © Danilo Bruschi 4 Obiettivi di un file system (lato](https://reader033.vdocuments.site/reader033/viewer/2022053022/604d0dab4b6d3c082e2171b6/html5/thumbnails/44.jpg)
A.A. 2009/2010 Corso: Sistemi Operativi
© Danilo Bruschi44
Operazioni su File
1. Create
2. Delete
3. Open
1. Close
2. Read
3. Write
1. Append
2. Seek
3. Get attributes
4. Set Attributes
5. Rename
![Page 45: File System - homes.dico.unimi.ithomes.dico.unimi.it/~sisop/lucidi0910/Solez23.pdf · A.A. 2009/2010 Corso: Sistemi Operativi © Danilo Bruschi 4 Obiettivi di un file system (lato](https://reader033.vdocuments.site/reader033/viewer/2022053022/604d0dab4b6d3c082e2171b6/html5/thumbnails/45.jpg)
A.A. 2009/2010 Corso: Sistemi Operativi
© Danilo Bruschi45
File Directory• File di proprietà del sistema operativo• Di fatto costituiscono un elenco dei file
presenti sul sistema• Esistono diversi modi per organizzare le
directory all’interno di un file system
![Page 46: File System - homes.dico.unimi.ithomes.dico.unimi.it/~sisop/lucidi0910/Solez23.pdf · A.A. 2009/2010 Corso: Sistemi Operativi © Danilo Bruschi 4 Obiettivi di un file system (lato](https://reader033.vdocuments.site/reader033/viewer/2022053022/604d0dab4b6d3c082e2171b6/html5/thumbnails/46.jpg)
A.A. 2009/2010 Corso: Sistemi Operativi
© Danilo Bruschi46
Single-Level Directory
• Un sistema con directory ad un livello• contiene 4 file• Di proprietà di 3 persone, A, B, and C• Ovviamente non possono coesistere due file con lo stesso nome
Le lettere indicano i diversiproprietari dei file
![Page 47: File System - homes.dico.unimi.ithomes.dico.unimi.it/~sisop/lucidi0910/Solez23.pdf · A.A. 2009/2010 Corso: Sistemi Operativi © Danilo Bruschi 4 Obiettivi di un file system (lato](https://reader033.vdocuments.site/reader033/viewer/2022053022/604d0dab4b6d3c082e2171b6/html5/thumbnails/47.jpg)
A.A. 2009/2010 Corso: Sistemi Operativi
© Danilo Bruschi47
Two-level Directory
• Quando un utente accede ad un file il SO deve sapere chi è al fine di individuare il corretto file
![Page 48: File System - homes.dico.unimi.ithomes.dico.unimi.it/~sisop/lucidi0910/Solez23.pdf · A.A. 2009/2010 Corso: Sistemi Operativi © Danilo Bruschi 4 Obiettivi di un file system (lato](https://reader033.vdocuments.site/reader033/viewer/2022053022/604d0dab4b6d3c082e2171b6/html5/thumbnails/48.jpg)
A.A. 2009/2010 Corso: Sistemi Operativi
© Danilo Bruschi48
Hierarchical Directory
![Page 49: File System - homes.dico.unimi.ithomes.dico.unimi.it/~sisop/lucidi0910/Solez23.pdf · A.A. 2009/2010 Corso: Sistemi Operativi © Danilo Bruschi 4 Obiettivi di un file system (lato](https://reader033.vdocuments.site/reader033/viewer/2022053022/604d0dab4b6d3c082e2171b6/html5/thumbnails/49.jpg)
A.A. 2009/2010 Corso: Sistemi Operativi
© Danilo Bruschi49
Path name
• Nei casi di directory con strutture ad albero il nome dell’utente e del file non sono più sufficienti per individuare univocamente un file
• Si usano i path name:• Assoluti: che descrivono il commani a partire dalla
radice (root) iniziano sempre con / (\)• Relativi: sono computati a partire da una working
directory (ogni processo ne possiede una)
![Page 50: File System - homes.dico.unimi.ithomes.dico.unimi.it/~sisop/lucidi0910/Solez23.pdf · A.A. 2009/2010 Corso: Sistemi Operativi © Danilo Bruschi 4 Obiettivi di un file system (lato](https://reader033.vdocuments.site/reader033/viewer/2022053022/604d0dab4b6d3c082e2171b6/html5/thumbnails/50.jpg)
A.A. 2009/2010 Corso: Sistemi Operativi
© Danilo Bruschi50
Path Name
![Page 51: File System - homes.dico.unimi.ithomes.dico.unimi.it/~sisop/lucidi0910/Solez23.pdf · A.A. 2009/2010 Corso: Sistemi Operativi © Danilo Bruschi 4 Obiettivi di un file system (lato](https://reader033.vdocuments.site/reader033/viewer/2022053022/604d0dab4b6d3c082e2171b6/html5/thumbnails/51.jpg)
A.A. 2009/2010 Corso: Sistemi Operativi
© Danilo Bruschi51
Operazioni su Directory
1. Create
2. Delete
3. Opendir
4. Closedir
1. Readdir
2. Rename
3. Link
4. Unlink