Sistemi Operativi - Home di homes.di.unimi.it

annuncio pubblicitario
Sistemi Operativi
Il file system
Casi di studio
AA 2002/03
©Bruschi, Rosti
1
Sistemi Operativi
Corso di laurea in Informatica
CP/M
•
•
•
•
•
Control Program for Microcomputer
Predecessore del MS-DOS
Dimensione media 16K
File system predisposto per Floppy
Allocazione dei file come lista-linkata di
blocchi
• Gestione dei blocchi liberi via bitmap
• Nomi dei file di caratteri 8 + 3
AA 2002/03
©Bruschi, Rosti
2
Sistemi Operativi
Corso di laurea in Informatica
CP/M
• Dimensione fissa dei record di directory
(32-byte)
• La dimensione della directory è
anch’essa fissa
• Directory singola
• Dimensione del blocco fisico 128 byte
• Dimensione del blocco logico 1K-byte
AA 2002/03
©Bruschi, Rosti
3
Sistemi Operativi
Corso di laurea in Informatica
Il File System di CP/M
Elemento di directory del S.O. CP/M
AA 2002/03
©Bruschi, Rosti
4
Sistemi Operativi
Corso di laurea in Informatica
CP/M
• Dopo il boot il sistema carica dal disco
la bitmap dei blocchi liberi (23 byte per
un disco di 180K)
• La open ricerca nella directory l’entry
relativa al file richiesto e trasferisce il
suo contenuto in memoria
• Gli accessi al contenuto sono facilitati
dall’avere l’indirizzo dei blocchi su cui i
file risiede in memoria
AA 2002/03
©Bruschi, Rosti
5
Sistemi Operativi
Corso di laurea in Informatica
MS-DOS
• Sistema operativo costruito su
processori INTEL
• Nella prima versione è un abbellimento
del CP/M
• Allocazione dei file come lista-linkata di
blocchi
• Adotta come meccanismo per la
gestione dello spazio su disco la FAT
AA 2002/03
©Bruschi, Rosti
6
Sistemi Operativi
Corso di laurea in Informatica
MS-DOS
• Dimensione variabile dei record di
directory (32-byte)
• Directory singola nella release 1.0 ad
albero a partire dalla release 2.0
• Diverse possibili dimensioni per i
blocchi, comunque multipli di 512 byte
• Diverse versioni di FAT
• Il file system supporta più partizioni per
ogni disco
AA 2002/03
©Bruschi, Rosti
7
Sistemi Operativi
Corso di laurea in Informatica
Il File System di MS-DOS
Elemento di directory in MS-DOS
AA 2002/03
©Bruschi, Rosti
8
Sistemi Operativi
Corso di laurea in Informatica
W2000
AA 2002/03
©Bruschi, Rosti
9
Sistemi Operativi
Corso di laurea in Informatica
Formati
• W2000 supporta diversi formati di file
system che differiscono tra loro per le
modalità con cui gestiscono le
informazioni in essi memorizzate:
•
•
•
•
CDFS: per i CD-ROM
UDF: per i DVD
FAT12, FAT16, FAT32
NTFS: file system nativo
AA 2002/03
©Bruschi, Rosti
10
Sistemi Operativi
Corso di laurea in Informatica
NTFS
• I dischi sono divisi in volumi
• Il blocco logico in NTFS viene chiamato
cluster
• NTFS indirizza solo i cluster
• La principale struttura dati per ogni volume è
la Master File Table (MFT)
• MFT è un array di record la cui dimensione è
fissa e pari a 1Kbyte
• La gestione dei blocchi liberi è fatta
attraverso bitmap
AA 2002/03
©Bruschi, Rosti
11
Sistemi Operativi
Corso di laurea in Informatica
MFT
AA 2002/03
©Bruschi, Rosti
12
Sistemi Operativi
Corso di laurea in Informatica
MFT
• Ogni MFT è costituito da una sequenza
di attributi
• Ogni attributo è definito da una coppia:
header e valore
• Il numero di attributi che definiscono un
MFT e quindi un file non è fisso
AA 2002/03
©Bruschi, Rosti
13
Sistemi Operativi
Corso di laurea in Informatica
Attributi usati in MFT
AA 2002/03
©Bruschi, Rosti
14
Sistemi Operativi
Corso di laurea in Informatica
Attributi
• Un file può quindi avere più attributi di
tipo data
• Se un file è particolarmente corto il suo
contenuto è memorizzato nel MFT
corrispondente
• Altrimenti nel MFT sono memorizzati gli
indirizzi di sequenze di cluster (run) in
cui sono presenti i dati
AA 2002/03
©Bruschi, Rosti
15
Sistemi Operativi
Corso di laurea in Informatica
Esempio di Record MFT
AA 2002/03
©Bruschi, Rosti
16
Sistemi Operativi
Corso di laurea in Informatica
MFT complesso
AA 2002/03
©Bruschi, Rosti
17
Sistemi Operativi
Corso di laurea in Informatica
Directory
AA 2002/03
©Bruschi, Rosti
18
Sistemi Operativi
Corso di laurea in Informatica
Struttura di W2000
AA 2002/03
©Bruschi, Rosti
19
Sistemi Operativi
Corso di laurea in Informatica
Object Name Space
AA 2002/03
©Bruschi, Rosti
20
Sistemi Operativi
Corso di laurea in Informatica
File Name Lookup
Passi per la ricerca del file C:maria\web.htm
AA 2002/03
©Bruschi, Rosti
21
Sistemi Operativi
Corso di laurea in Informatica
Compressione
• In W2000 un file può essere creato in
modo compresso
• Ogni volta che un file viene riscritto su
disco il sistema tenta di comprimerlo
utilizzando come unità di riferimento 16
cluster
• Se la compressione dà esito positivo si
provvede a riscrivere i dati compressi
AA 2002/03
©Bruschi, Rosti
22
Sistemi Operativi
Corso di laurea in Informatica
Compressione
AA 2002/03
©Bruschi, Rosti
23
Sistemi Operativi
Corso di laurea in Informatica
UNIX
AA 2002/03
©Bruschi, Rosti
24
Sistemi Operativi
Corso di laurea in Informatica
Layout del disco
• Il superblocco contiene informazioni di
gestione
• Numero di i-node
• Numero di blocchi del disco
• Indirizzo d’inizio della lista dei blocchi liberi
AA 2002/03
©Bruschi, Rosti
25
Sistemi Operativi
Corso di laurea in Informatica
I-node
Directory entry fields.
AA 2002/03
©Bruschi, Rosti
26
Sistemi Operativi
Corso di laurea in Informatica
File di grosse dimensioni
AA 2002/03
©Bruschi, Rosti
27
Sistemi Operativi
Corso di laurea in Informatica
Entry di Directory
AA 2002/03
©Bruschi, Rosti
28
Sistemi Operativi
Corso di laurea in Informatica
UNIX V7 File System
Come avviene la ricerca del file: /usr/ast/mbox
AA 2002/03
©Bruschi, Rosti
29
Sistemi Operativi
Corso di laurea in Informatica
Lettura dei dati da file
• Per accedere ai dati di un file è necessario
trasferire i dati presenti nell’i-node in memoria
• Le soluzioni possono essere due
• In una tabella di sistema
• Facilità la condivisione delle strutture dati
• In una tabella privata del processo
• Svincola le attività di un processo su un file da quelle che
possono essere svolte da un altro processo
• Spreco memoria
AA 2002/03
©Bruschi, Rosti
30
Sistemi Operativi
Corso di laurea in Informatica
Lettura dati
• Considero il I caso
• due processi che accedono al file in posizioni
diverse (dove inserisco il puntatore al file?)
• Posso inserirlo in uno spazio privato riservato
ad ogni processo
• Mantengo così una struttura unica con i dati
degli i-node
• Rendo più processi che vogliono operare
sullo stesso file autonomi, ma ciascuno
“vede” le modifiche apportare dall’altro
AA 2002/03
©Bruschi, Rosti
31
Sistemi Operativi
Corso di laurea in Informatica
Lettura dati
• Sorge però un altro problema
• Come posso fare in modo che due
processi padre e figlio possano condividere
in fase di esecuzione lo stesso puntatore a
file e cioè ciascuno veda le modifiche che
l’altro apporta a questo campo?
AA 2002/03
©Bruschi, Rosti
32
Sistemi Operativi
Corso di laurea in Informatica
UNIX File System (3)
AA 2002/03
©Bruschi, Rosti
33
Sistemi Operativi
Corso di laurea in Informatica
Linux
• Linux supporto un proprio file system noto
come Ext2
• Ext2 è basato sui principi generali del file
system di Unix
• Adotta la bitmap come sistema per
memorizzare i blocchi liberi e gli i-node liberi
• Per l’indirizzamento usa lo schema 12+3
invece di 10+3
• Il disco viene diviso in gruppi di blocchi per
tenere fisicamente vicini gli i-node con i
blocchi dati
AA 2002/03
©Bruschi, Rosti
34
Sistemi Operativi
Corso di laurea in Informatica
File System di Linux
AA 2002/03
©Bruschi, Rosti
35
Sistemi Operativi
Corso di laurea in Informatica
Scarica