Les systèmes de fichiers Les systèmes de fichiers Les problèmes

Transcription

Les systèmes de fichiers Les systèmes de fichiers Les problèmes
Université de Reims – Champagne Ardenne
Université de Reims – Champagne Ardenne
Les systèmes de fichiers
Les systèmes de fichiers
I. Généralités
F. Nolot
Licence d'informatique 2003-2004
1
Université de Reims Champagne-Ardenne
F. Nolot
2
Université de Reims Champagne-Ardenne
Les problèmes
Les objectifs
Les données crées par un processus sont limités
par son espace virtuel d'adressage
Enregistrer une très grande quantité d'informations
Conserver ces informations après la fin du processus
qui les utilise
Une fois le processus terminé, perte des
informations
Plusieurs processus doivent pouvoir accéder
simultanément à une information
Lors d'accès concurrents, les informations
doivent pouvoir être consultées
indépendamment des processus
F. Nolot
Licence d'informatique 2003-2004
Licence d'informatique 2003-2004
La solution classique : les fichiers
3
Université de Reims Champagne-Ardenne
F. Nolot
Licence d'informatique 2003-2004
4
Université de Reims – Champagne Ardenne
Les types de fichiers existant
Fichiers ordinaires : contiennent les informations
Les systèmes de fichiers
Répertoires : ce sont des fichiers système qui
conservent la structure du système de fichiers
Fichiers spéciaux caractères : permet de modéliser
les périphériques d'E/S
II. Les fichiers ordinaires
Fichiers spéciaux bloc : permet de modéliser les
disques
F. Nolot
Licence d'informatique 2003-2004
5
F. Nolot
Licence d'informatique 2003-2004
6
Université de Reims Champagne-Ardenne
Université de Reims Champagne-Ardenne
Les fichiers ordinaires
Leur type ?
Soit des fichiers ASCII
Déterminé soit par une extension
lignes de textes
MS-DOS : les exécutables ont l'extension .exe ou .com
Possibilité de les lire et de les imprimer directement
Soit par un attribut (MAC-OS)
Soit des fichiers binaires
Soit il n'est pas défini (UNIX), seul l'application
utilise (et reconnaît) l'extension
Une suite d'octets incompréhensible si on ne connaît
pas le format
F. Nolot
Licence d'informatique 2003-2004
7
Université de Reims Champagne-Ardenne
F. Nolot
8
Université de Reims Champagne-Ardenne
Exemple de types de fichiers
Type de fichier
Extension
Les accès aux fichiers
Fonction
Exécutable
Exe, com, ou aucun
Programme en langage machine prêt à
etre exécuté
Objet
obj, o
Compilé, langage machine non linké
Code source
c, cc, pas, java, asm
Code source en divers langage
Traitement par lots
bat, sh
Bibliothèque
lib, a
Impression ou vue
ps, dvi, pdf, jpg, bmp
Multimédia
mpeg, mpg, mp3
Archive
tgz, tar, zip, rar, bz2
F. Nolot
Licence d'informatique 2003-2004
Accès séquentiel
lecture des octets du fichier dans l'ordre, à partir
du début (ex : une bande magnétique)
Accès par rapport à leur position sur le support
Ensemble de commandes de
l'interpréteur de commandes
Bibliothèque de routine pour les
programmeurs
Fichiers dans un format d'impression
ou de visualisation
Fichiers contenant de informations
audio et/ou vidéo
Fichiers groupés dans un seul fichier
pouvant etre compressé
Licence d'informatique 2003-2004
Accès aléatoire
Possibilité d'accès direct à n'importe quel fichier
possibilité de se positionner à un endroit donné
d'un fichier
9
Université de Reims Champagne-Ardenne
F. Nolot
Licence d'informatique 2003-2004
10
Université de Reims – Champagne Ardenne
Les attributs des fichiers
Informations complémentaires concernant un fichier
Les systèmes de fichiers
Le nombre d'attribut varie en fonction du système
Exemple :
indicateurs sur les possibilités de lecture, écriture et
exécution
III. Les répertoires
Le créateur, le propriétaire
Fichier ASCII ou binaire ...
L'heure et la date de création
F. Nolot
Licence d'informatique 2003-2004
11
F. Nolot
Licence d'informatique 2003-2004
12
Université de Reims Champagne-Ardenne
Université de Reims Champagne-Ardenne
Pourquoi les répertoires ?
Représentation d'une hiérarchie
Pour hiérarchiser les fichiers
/
Gérer les fichiers de plusieurs utilisateurs
usr
Pour pouvoir organiser ses données
Plusieurs utilisateurs peuvent avoir des fichiers
ayant le même nom
lib
home
bin
A
B
bin
C
cours
ls
sh
doc
Chemin d'accès absolu : commence par le séparateur (/home/C/cours)
Chemin relatif : Si /home est le répertoire courant, l'accès à cours
se fait par C/cours
. représente le répertoire courant et .. le répertoire parent
F. Nolot
Licence d'informatique 2003-2004
13
Université de Reims – Champagne Ardenne
F. Nolot
Licence d'informatique 2003-2004
14
Université de Reims – Champagne Ardenne
Les systèmes de fichiers
Les systèmes de fichiers
IV. L'implantation
F. Nolot
Licence d'informatique 2003-2004
15
Université de Reims Champagne-Ardenne
A. Le disque
F. Nolot
Licence d'informatique 2003-2004
16
Université de Reims Champagne-Ardenne
Organisation du disque
Mémorisation des blocs libres
2 méthodes sont utilisées
Les fichiers sont stockés de manière contiguë ou pas
1ère solution : perte d'espace libre et temps pour compresser trop
long
C'est donc la 2
ème
Liste chaînée de blocs contenant chacun des numéros
de blocs libres
solution la plus souvent utilisée
Table de bits : pour un disque de n blocs, une table de
n bits est utilisée. Un 1 indique que le bloc est libre et
0 qu'il est occupé (ou l'inverse)
Problème : utilisation de bloc de taille fixe donc quelle taille
utiliser ?
Un secteur, une piste, un cylindre ou la taille d'une page pour
les systèmes paginés ?
La deuxième solution utilise généralement moins de
place
Si le bloc est trop grand, gaspillage
Si le bloc est trop petit, un grand de nombre de blocs est à gérer
pour un fichier
F. Nolot
Licence d'informatique 2003-2004
17
F. Nolot
Licence d'informatique 2003-2004
18
Université de Reims – Champagne Ardenne
Université de Reims Champagne-Ardenne
Organisation
Systèmes de fichiers enregistrés sur le disque
Les systèmes de fichiers
Chaque partition du disque possède un système de fichier
qui peut être différent
Au secteur 0 du disque se trouve la MBR (Master Boot
Record) puis la table des partitions
B. Les fichiers
Premier bloc des partitions est le bloc de boot
Le suivant : le superbloc qui contient les informations sur
le type de système de fichiers de la partition
F. Nolot
Licence d'informatique 2003-2004
19
Université de Reims Champagne-Ardenne
F. Nolot
Licence d'informatique 2003-2004
20
Université de Reims Champagne-Ardenne
Allocation contiguë
Allocation contiguë (2)
Chaque fichier est stocké dans une suite de blocs
consécutifs
Avantages :
Simple à mettre en place
Exemple : bloc de 2Ko, 5 fichiers de taille respective
16Ko, 12Ko, 6Ko, 6Ko et 4Ko
Excellentes performances car un seul déplacement au
début du fichier
Inconvénient : la fragmentation
Exemple : on supprime les fichiers B et D
F. Nolot
Licence d'informatique 2003-2004
21
Université de Reims Champagne-Ardenne
F. Nolot
Allocation par liste chaînée et FAT
Chaque fichier est considéré comme une liste chaînée de blocs
du disque
Stockage du pointeur de chaque bloc dans une table en
mémoire appelée FAT (File Allocation Table)
B
A
0
1
2
3
0
1
2
3
4
5
4
6
7
9
2
0
8
1
3
5
Avantage : un bloc physique est intégralement disponible
pour des données
Inconvénient : la place occupée par la table peut être
considérable
Plus de fragmentation
Exemple : un disque de 20Go avec des blocs de 2Ko,
soit environ 10 millions d'entrées dans la table. Si
chaque entrée n'est que de 2 octets, il faut donc au
total près de 20 Mo
Par contre, la lecture d'un fichier devient plus complexe et
plus lente (multiples déplacements)
L'adresse du bloc de fichier suivant entraîne des tailles
différentes des blocs de données du fichier
F. Nolot
22
Université de Reims Champagne-Ardenne
Allocation par liste chaînée
Bloc
physique
Licence d'informatique 2003-2004
Licence d'informatique 2003-2004
23
F. Nolot
Licence d'informatique 2003-2004
24
Université de Reims Champagne-Ardenne
Université de Reims Champagne-Ardenne
Exemple d'une FAT
Les i-nodes
B
A
Bloc
physique
0
1
2
3
0
1
2
3
4
5
4
6
7
9
2
0
8
1
3
5
9
8
7
6
5
4
3
2
1
0
F. Nolot
-1
1
9
7
-1
6
5
0
3
8
A chaque fichier, on associe une structure de
données appelée i-node qui contient
les attributs
les adresses du disque des blocs du fichier
Avantage : on ne charge en mémoire que les
nodes des fichiers ouverts.
i-
Début du fichier A
Début du fichier B
Licence d'informatique 2003-2004
25
Université de Reims – Champagne Ardenne
F. Nolot
Licence d'informatique 2003-2004
26
Université de Reims Champagne-Ardenne
Les entrées des répertoires
A chaque fichier correspond une entrée dans un répertoire
Les systèmes de fichiers
Elle fournit les informations pour trouver le fichier sur le disque
Soit l'adresse disque du fichier entier
Soit le numéro du 1er bloc du fichier
C. Les répertoires
Soit le numéro de l'i-node correspondant
Ainsi que les attributs sont stockés
Soit dans l'entrée du répertoire qui regroupe le nom du fichier,
les attributs et l'adresses disques
Soit dans l'i-node du fichier. Dans ce cas, la taille de l'entrée est
réduite au nom du fichier et au numéro de l'i-node
F. Nolot
Licence d'informatique 2003-2004
27
Université de Reims Champagne-Ardenne
F. Nolot
Licence d'informatique 2003-2004
28
Université de Reims – Champagne Ardenne
Gestion des noms de fichiers longs
Généralement, on fixe une taille maximale (255 caractères)
Les systèmes de fichiers
Problème : beaucoup d'espace perdu
2 solutions :
Chaque entrée d'un répertoire contient la longueur de
l'entrée du fichier, ses attributs ( de longueur fixe), son
nom de fichier (de longueur variable)
D. Les liens
Problème : quand un fichier est supprimé, un trou se
forme dans l'entrée du répertoire
Chaque entrée de répertoire est de longueur fixe, tous les
noms de fichier se trouvant à la fin du répertoire
F. Nolot
Licence d'informatique 2003-2004
29
F. Nolot
Licence d'informatique 2003-2004
30
Université de Reims Champagne-Ardenne
Université de Reims Champagne-Ardenne
Les liens physiques ou matériels (UNIX)
Les liens physiques ou matériels (UNIX)
Exemple : un fichier toto et deux liens tata et
titi vers toto
Ajout d'un nouveau nom dans le système de
fichiers, qui pointe vers le même i-node que le nom
original
Permet d'avoir plusieurs noms pour un même
fichier
L'i-node contient un compteur de lien
Initialisé à 1 lors de la création du fichier original
F. Nolot
Incrémenté à chaque création d'un lien vers ce
fichier
Licence d'informatique 2003-2004
31
Université de Reims Champagne-Ardenne
F. Nolot
Licence d'informatique 2003-2004
32
Université de Reims Champagne-Ardenne
Les liens symboliques (UNIX)
Liens physiques vs liens symboliques
Fichier texte qui contient le chemin d'accès et le
nom du fichier vers lequel il pointe
Liens physiques : conservation du propriétaire
Si le propriétaire efface le fichier, celui-ci appartient toujours au
propriétaire et donc s'il existe des quotas, cela peut poser des
problèmes
Le lien est marqué par un type spécial
Liens symboliques : pas ce problème car seul le propriétaire possède
un pointeur sur l'i-node. Par contre, si le propriétaire supprime ce
fichier, le lien devient invalide
Consommation de temps CPU supplémentaire car de nombreux
accès disque afin de lire le chemin d'accès puis le fichier pointé
Problème commun : un fichier peut avoir plusieurs chemin d'accès
possible. Lors d'une sauvegarde, un fichier peut donc être copié
plusieurs fois.
F. Nolot
Licence d'informatique 2003-2004
33
Université de Reims – Champagne Ardenne
F. Nolot
Licence d'informatique 2003-2004
34
Université de Reims Champagne-Ardenne
Manipulation des flux
Ouverture d'un flux
Les systèmes de fichiers
FILE *fopen(char *nom, char *mode)
E. Les commandes en langage C
F. Nolot
Licence d'informatique 2003-2004
35
F. Nolot
Mode est égale à
r : lecture seule, le fichier doit exister
w : écriture seule. Si le fichier existe, il est écrasé sinon il est créé
a : écriture seule en fin de fichier. Si le fichier existe, il n'est pas
modifié sinon il est créé
r+ : lecture et écriture. Si le fichier existe, les lectures et écritures
commenceront au début et écraseront les données présentes
w+ : lecture et écriture. Si le fichier existe, il est écrasé, sinon il est
créé
a+ : ajout et lecture. Lecture commence au début et les ajouts à la
fin
Licence d'informatique 2003-2004
36
Université de Reims Champagne-Ardenne
Université de Reims Champagne-Ardenne
Manipulation des flux (2)
Manipulation des flux (3)
Déplacement dans un flux
Fermeture d'un flux
int fclose (FILE *flux)
int fseek (FILE *flux, long position, int depart)
Retourne 0 en cas de succès et EOF en cas d'échec
depart a pour valeur :
Ecriture dans un flux
SEEK_SET : on mesure la position depuis le début du fichier
int fwrite( const void *bloc, size_t
taille_element, size_t nb_element,
FILE *flux)
Retourne le nombre d'éléments correctement écrits
Lecture dans un flux
int fread( const void *bloc, size_t taille_element,
size_t nb_element, FILE *flux)
SEEK_CUR : on mesure la position depuis la position courante
SEEK_END : on mesure la position depuis la fin du fichier
Retourne 0 en cas de succès et -1 en cas d'erreur
Retour au début du flux
void rewind (FILE *fp)
Retourne le nombre d'éléments correctement lus
F. Nolot
Licence d'informatique 2003-2004
37
Université de Reims – Champagne Ardenne
F. Nolot
Licence d'informatique 2003-2004
38
Université de Reims Champagne-Ardenne
La sauvegarde
Les supports utilisés pour le stockage ne sont pas
fiable à 100%
Les systèmes de fichiers
Plusieurs moyens de sauvegarde existent
La sauvegarde totale
V. La fiabilité
On copie la totalité des données
La sauvegarde incrémentale
Au lieu de toujours faire une sauvegarde totale,
sauvegarder régulièrement que les données
modifiées
F. Nolot
Licence d'informatique 2003-2004
39
Université de Reims Champagne-Ardenne
F. Nolot
40
Université de Reims Champagne-Ardenne
La cohérence
Cohérence basée sur les blocs
Si une panne arrive lorsque le système est en train
de faire des modifications sur les blocs du disque
Fabrication de 2 tables
L'une contient le nombre de fois qu'un bloc est
référencé dans un fichier
Que se passe-t-il si ces blocs sont des blocs d'i-nodes,
de répertoires ou de blocs libres
L'autre contient le nombre de fois qu'un bloc est
référencé dans la liste des blocs libres
La vérification de la cohérence est basée
Une fois les tables remplies, 4 situations sont
possibles
Soit sur les blocs
Soit sur les fichiers
F. Nolot
Licence d'informatique 2003-2004
Licence d'informatique 2003-2004
41
F. Nolot
Licence d'informatique 2003-2004
42
Université de Reims Champagne-Ardenne
Université de Reims Champagne-Ardenne
Cohérence basée sur les blocs (2)
Cohérence basée sur les blocs (3)
Système cohérent
Système incohérent
Le bloc 5 est manquant. Il sera considéré comme
libre
Indice des blocs
0
1
2
3
4
5
6
7
0
0
1
1
1
0
0
1
1
1
0
0
0
1
1
0
8
9 10 11 12 13 14 15 16 17 18
Bloc utilisé
0
0
1
Indice des blocs
1
0
1
1
1
0
0
0
0
1
2
3
4
5
6
7
0
1
0
0
0
1
1
1
0
0
1
1
1
0
0
1
1
1
0
0
0
0
1
0
Bloc libre
1
1
0
8
9 10 11 12 13 14 15 16 17 18
Bloc utilisé
0
0
1
1
0
1
1
1
0
0
0
0
1
0
0
0
1
1
1
Bloc libre
F. Nolot
Licence d'informatique 2003-2004
43
Université de Reims Champagne-Ardenne
F. Nolot
1
1
0
Licence d'informatique 2003-2004
44
Université de Reims Champagne-Ardenne
Cohérence basée sur les blocs (4)
Cohérence basée sur les blocs (5)
Système incohérent
Système incohérent
Le bloc 5 est dupliqué dans l'espace des blocs libres
Le bloc 5 appartient à 2 fichiers. La solution : allouer un
bloc libre, y copier le bloc dupliquer et le copier dans un
des fichiers
Indice des blocs
0
1
2
3
4
5
6
7
8
Indice des blocs
9 10 11 12 13 14 15 16 17 18
0
1
2
3
4
5
6
7
0
0
1
1
1
2
0
1
1
1
0
0
0
0
1
0
Bloc utilisé
0
0
1
1
1
0
0
1
0
0
1
1
0
1
1
1
0
0
0
1
F. Nolot
0
0
0
2
1
0
1
1
0
0
1
0
0
0
1
1
1
Licence d'informatique 2003-2004
45
Université de Reims Champagne-Ardenne
9 10 11 12 13 14 15 16 17 18
Bloc utilisé
Bloc libre
1
8
0
0
1
1
0
1
1
1
0
0
0
0
1
0
0
0
1
1
1
Bloc libre
F. Nolot
1
1
0
Licence d'informatique 2003-2004
46
Université de Reims – Champagne Ardenne
Cohérence basée sur les fichiers
Utilisé pour vérifier les entrées dans les répertoires
Les systèmes de fichiers
Pour chaque fichier, un compteur est incrémenté à
chaque fois qu'il se trouve dans un répertoire
Comparaison avec le compteur de lien enregistré dans
les i-nodes
F. Nolot
Licence d'informatique 2003-2004
VI. Exemples
47
F. Nolot
Licence d'informatique 2003-2004
48
Université de Reims – Champagne Ardenne
Université de Reims Champagne-Ardenne
ISO 9660
Standard international pour les CD-ROM
depuis 1988
Les systèmes de fichiers
Compatible avec la majorité des systèmes
d'exploitation
Données organisées sur une simple spirale
continue
A. ISO-9660
La spirale est divisé en bloc de 2352 octets
La partie utile est de 2048 octets par bloc
F. Nolot
Licence d'informatique 2003-2004
49
Université de Reims Champagne-Ardenne
F. Nolot
ISO 9660 – les répertoires
Le répertoire racine et les autres sont composés d'un
nombre variable d'entrées dont la dernière est
marquée par un bit spécial
Début de 16 blocs d'une utilisation non définie
Ensuite, le bloc descripteur primaire de volume composé des
identificateurs
Chaque entrée est de taille variable, constituée de
10 à 12 champs codés en ASCII ou binaire
du système : 32 octets
du volume : 32 octets
de l'éditeur : 128 octets
Ceux codés en binaires utilisent le format
du préparateur de données : 128 octets
Little endian (octet représenté avec le poids faible
en premier)
Le nom de 3 fichiers qui contiennent le résumé, la note sur les
droits réservés et des informations bibliographiques
Le nombre de blocs du CD, la date de création, la position du
répertoire racine Licence d'informatique 2003-2004
Big endian (octet représenté avec le poids fort en
premier)
51
Université de Reims Champagne-Ardenne
F. Nolot
Licence d'informatique 2003-2004
52
Université de Reims Champagne-Ardenne
ISO 9660 – les entrées de répertoire
ISO 9660 – les entrées de répertoire (2)
Longueur de l'entrée du répertoire (1 octet)
La taille du nom du fichier (1 octet)
Longueur de l'enregistrement des attributs étendus (1 octet)
Le nom du fichier composé : d'un nom (max. 8 caractères), d'une extension
(max. 3 caractères), un point, un point virgule, un numéro de version en
binaire (entre 4 octets et 15 octets)
Localisation du 1er bloc du fichier (8 octets). Stockage contigu des fichiers dont
le 1er détermine la position des suivants
Le nom : caractères (majuscules ou pas), chiffres et _
Taille du fichier (8 octets)
Les entrées d'un répertoire sont listées dans l'ordre alphabétique
Date et heure (7 octets)
Pas de limite au nombre d'entrée d'un répertoire mais Profondeur maximale
d'un répertoire : 8 niveaux
Flags pour cacher une entrée, pour distinguer une entrée de répertoire de celle
d'un fichier, ... (1 octet)
F. Nolot
50
Université de Reims Champagne-Ardenne
ISO 9660 (2)
F. Nolot
Licence d'informatique 2003-2004
Intervalle (2 octets)
Padding pour ajuster la taille de l'entrée pour obtenir une longueur constante
pour toutes les entrées
Identification du CD qui contient le fichier : possibilité de stocké un « super »
répertoire sur un CD et tous ses fichiers sur un autre (4 octets)
Champ System use : non défini mais de taille paire
Licence d'informatique 2003-2004
53
F. Nolot
Licence d'informatique 2003-2004
54
Université de Reims Champagne-Ardenne
Université de Reims – Champagne Ardenne
ISO 9660 – Les 3 niveaux
Il existe 3 niveaux concernant cette norme
Les systèmes de fichiers
Niveaux 1 : la plus restrictive
Nom de fichier : 8+3 caractères
Tous les fichiers doivent être contigus
Nom de répertoire : 8 caractères sans extension
B. L'extension Rock Ridge
Niveaux 2 : nom de fichier et répertoire allant jusque 31 caractères
Niveaux 3 : Niveau 2 + allègement de la contiguïté
un fichier peut être constitué de plusieurs sections, chacune d'elles étant
constitué de blocs contigus. Plusieurs blocs peuvent apparaître plusieurs
fois dans un même fichier ou dans plusieurs fichiers. On obtient une
optimisation de l'espace
F. Nolot
Licence d'informatique 2003-2004
55
Université de Reims Champagne-Ardenne
F. Nolot
Licence d'informatique 2003-2004
56
Université de Reims – Champagne Ardenne
Reproduire un système Unix
ISO-9660 ne permet pas de reproduire un système de fichiers Unix
(les liens, les attributs, ...)
Les systèmes de fichiers
Avec ISO-9660 + extension Rock Ridge, c'est possible
Utilisation du champ System use pour stocker
Les attributs POSIX (rwxrwxrwx)
C. L'extension Joliet
Numéro majeur et mineur d'un device
Lien symbolique
Autre nom du fichier : permet de lever la restriction sur les noms de fichier
de la norme ISO-9660
Relocalisation d'un répertoire pour lever la limite sur la profondeur
F. Nolot
Heure de création, de modification et d'accès du fichier
Licence d'informatique 2003-2004
57
Université de Reims Champagne-Ardenne
F. Nolot
Licence d'informatique 2003-2004
58
Université de Reims – Champagne Ardenne
Reproduire un système Windows
Plusieurs extensions possibles:
Les systèmes de fichiers
Les noms longs : maximum de 64 caractères
Utilisation de caractères Unicode, codés sur 2 octets
Profondeur de répertoire supérieure à 8 niveaux
Des répertoires pouvant avoir des extensions !
F. Nolot
Licence d'informatique 2003-2004
D. MS-DOS
59
F. Nolot
Licence d'informatique 2003-2004
60
Université de Reims Champagne-Ardenne
Université de Reims Champagne-Ardenne
Format d'une entrée répertoire
FAT pour MS-DOS
Numéro du premier bloc du fichier, dans la table
FAT
Nom du fichier (8 octets) + extension (3 octets)
Attributs : 1 octet
Lecture seule, archive, caché, système
Il existe 3 FAT pour MS-DOS
Inutilisé : 10 octets
Heure (2 octets) et Date (2 octets)
FAT-12 : 12 bits pour une adresse disque
Heure subdivisée en secondes (5 bits), minutes (6 bits) et
heures (5 bits)
FAT-16 : 16 bits pour une adresse disque
FAT-32 : 28 bits pour une adresse disque
Date subdivisée en jour (5 bits), mois (4 bits), année (7 bits) : la
base 1980
Pour toutes les FAT : chaque bloc est un multiple de
512 octets et la taille d'unité d'allocation (cluster)
varie
Indice du premier bloc du fichier : 2 octets
Taille du fichier : 4 octets
F. Nolot
Licence d'informatique 2003-2004
61
Université de Reims Champagne-Ardenne
F. Nolot
Licence d'informatique 2003-2004
Université de Reims Champagne-Ardenne
Limites de la FAT-12
Limites de la FAT-16
Taille maximale d'une partition : 212 x512=2 Mo
Tailles des blocs : 8, 16 et 32 Ko
En mémoire 4096 entrées de 2 octets chacune
Taille maximale d'une partition : 2 Go (64 Ko
d'entrées de 32 Ko chacune)
Ensuite, apparition de bloc de 1, 2 et 4 Ko. Cela
permet des partitions de 16 Mo maximum
Taille maximale des disques : 8 Go
MS-DOS supporte au maximum 4 partitions par
disque donc des disques de 64 Mo maximum
F. Nolot
62
Licence d'informatique 2003-2004
Apparition avec Windows 95 SE de la FAT-32
63
Université de Reims Champagne-Ardenne
F. Nolot
Licence d'informatique 2003-2004
64
Université de Reims Champagne-Ardenne
Limites de la FAT-32
Le système de fichiers de Windows 98
Adresses disques de 28 bits
Windows 95 : limité au format de MS-DOS : 8+3 et
FAT-12 ou FAT-16
Partition de taille maximale théorique : 2 x2 =8
To
28
15
Win95 Second Edition : utilisation des noms longs
et FAT-32
Or le système mémorise les tailles des partitions
dans des secteurs de 512 octets, en utilisant un
nombre de 32 bits, donc 29 x232 =2 To
Windows 98 et ME : idem que Win95SE
Utilisation des 10 octets inutilisés
Avantage de la FAT-32
F. Nolot
Pour un disque de 2 Go, possibilité d'utiliser des blocs
plus petit qu'en FAT-16 (obligatoirement 32 Ko en
FAT-16)
Licence d'informatique 2003-2004
65
F. Nolot
Licence d'informatique 2003-2004
66
Université de Reims Champagne-Ardenne
Université de Reims Champagne-Ardenne
Utilisation des 10 octets libres
Gestion des noms longs
1 octet pour la compatibilité avec Windows NT
2 noms sont possibles pour un fichier (ou
répertoire)
1 octet pour gestion de l'heure avec une meilleur
précision
Soit format 8+3
4 octets pour la date et heure de création
F. Nolot
Soit un autre format
2 octets pour la date du dernier accés
Dans ce cas, fabrication d'un nom au format 8+3
2 octets pour stocker les 16 bits de poids fort du bloc de
début
Algorithme utilisé : 6 premiers caractères, suivis
de ~1. Si le nom existe, ~2, ...
Donc à l'emplacement de l'indice du premier bloc, on
trouve maintenant les 16 bits de poids faible du bloc de
début
Les espaces, point en trop sont effacés
Certains caractères spéciaux remplacés par _
Licence d'informatique 2003-2004
67
Université de Reims Champagne-Ardenne
F. Nolot
Licence d'informatique 2003-2004
68
Université de Reims Champagne-Ardenne
Gestion des noms longs (2)
Entrée avec un nom long
Séquence : 1 octet
Si le nom est une partie d'un nom long : attribut
prend la valeur 0x0F : valeur inexistante dans le
format MS-DOS
5 caractères : 10 octets
Attributs : 1 octet
Le nom long est stocké dans une ou plusieurs
entrées de répertoire, précédant le nom de fichier
MS-DOS
0 : 1 octet
Checksum : 1 octets
6 caractères : 12 octets
Chaque entrée de nom long peut comprendre
jusqu'à 13 caractères
0 : 2 octets
2 caractères : 4 octets
F. Nolot
Licence d'informatique 2003-2004
69
Université de Reims Champagne-Ardenne
F. Nolot
Licence d'informatique 2003-2004
Université de Reims Champagne-Ardenne
Organisation des séquences
Exemple de noms longs
Stockage dans l'ordre inverse avec le début du nom
de fichier juste à coté du nom MS-DOS
Fichier qui a pour nom : Sujet de l'examen de
Système en Licence
Les dernières parties du nom long : ajout de la
valeur 64 à son numéro de séquence
67 m
Limite à 260 caractères
A 0 Ck L
i c e n
c 0
e
2 a
m e n
A 0 Ck d
e
s y
s 0
t è
1 S
u j e t
A 0 Ck
d e
l
' 0
e x
e
e n
Sujetd~1
F. Nolot
70
Licence d'informatique 2003-2004
71
F. Nolot
A NT S Heure
Licence d'informatique 2003-2004
Bas Taille
72
Université de Reims – Champagne Ardenne
Université de Reims Champagne-Ardenne
L'implémentation d'ext2
Bloc 0 : boot
Les systèmes de fichiers
Ensuite on a des groupes de blocs
Chaque groupe de blocs est constitué
D'un superbloc : nombre de blocs et i-nodes, taille des blocs, ...
Descripteur de groupe
Bitmap des blocs libres puis des i-nodes libres
E. Ext 2
i-nodes
Blocs de données
Chaque i-node fait 128 octets
12 blocs et 3 indirections
Les adresses sur 4 octets
F. Nolot
Licence d'informatique 2003-2004
73
Université de Reims Champagne-Ardenne
F. Nolot
Licence d'informatique 2003-2004
74
Université de Reims Champagne-Ardenne
Les indirections
Les répertoires
Structure d'un i-node dans ext2:
Ensenble non trié d'entrée de 16 octets
Les Attributs
Chaque entrée contient un nom de fichier et le
numéro de l'i-node correspondant
12 premières adresses disques du fichier
Si c'est insuffisant, existence de blocs d'indirections
simple, double et triple
Quand un fichier recherché est utilisé, chargement
du numéro d'i-node et chargement de l'i-node dans
la table des i-nodes (le numéro est utilisé comme
indice) qui contient tous les i-nodes des fichiers
ouverts
Simple : pointe sur une structure qui contient des
adresses disques supplémentaires
Double : pointe sur une structure qui contient des
adresses de redirection simple
Triple : ...
F. Nolot
Licence d'informatique 2003-2004
75
Université de Reims – Champagne Ardenne
F. Nolot
Licence d'informatique 2003-2004
76
Université de Reims Champagne-Ardenne
Caractéristiques de NT FileSystem
Système de fichiers récent, mis au point pour
Windows NT, réutilisé dans Windows 2000,
amélioré dans Windows XP
Les systèmes de fichiers
Utilisation d'adresses disque sur 64 bits
Les noms de fichiers limités à 255 caractères
F. NTFS (version Windows 2000)
Chemin complet limité à 32767 caractères
Codage des noms au format Unicode
Respect de la casse (mais pas par l'API Win32)
F. Nolot
Licence d'informatique 2003-2004
77
F. Nolot
Licence d'informatique 2003-2004
78
Université de Reims Champagne-Ardenne
Université de Reims Champagne-Ardenne
Structure du système de fichiers
Structure du système de fichiers (2)
Chaque volume (partition)
Chaque fichier possède une entrée dans la MFT et est vu
comme une suite d'attribut.
contient des fichiers, répertoires, bitmaps et structures
de données
Si l'attribut peut être stoké dans la MFT, il est dit résident
(date, nom du fichier, ...)
est organisé en une séquence de blocs (cluster) de
taille comprise entre 512 octets et 64 Ko
(généralement cluster de 4Ko)
Les non-résidents sont alloués sur le disque
Si un fichier est de petite taille, il est intégralement stoké
dans la MFT, sinon pointe vers des clusters externes
Chaque bloc est repérée par son offset par rapport
au début du volume, utilisation d'adresses sur 64
bits
F. Nolot
Licence d'informatique 2003-2004
La MFT est un fichier qui peut croître jusque 248
enregistrements
79
Université de Reims Champagne-Ardenne
Les fontionnalités de NTFS
Support de la compression de fichiers, de
répertoires et de volume
Lecture/écriture par n'importe quelles applications,
sans décompression par un autre programme
L'algo de compression supporte des clusters au max.
de 4Ko
EFS (Encrypting File System) : NTFS5
Utilisation de clé de cryptage symétrique en
combinaison avec la technologies des clés
publiques pour protéger l'accés aux fichiers.
F. Nolot
Licence d'informatique 2003-2004
81
F. Nolot
Licence d'informatique 2003-2004
80

Documents pareils