ASR04 – 2005 – Christophe Cruz
1
Systèmes d’exploitation
Chap. 2
Systèmes de gestion de fichiers
ASR04 – 2005 – Christophe Cruz
2
Problématique
Enregistrer une grande quantité d’informations Persistance des données après l’arrêt de la machine Accès simultané par plusieurs processus
ASR04 – 2005 – Christophe Cruz
3
Solutions
Structurer les données sur un support physique Mécanisme d’abstraction - « fichier »
Suite d’octets Chap. 2 - SGF
ASR04 – 2005 – Christophe Cruz
4
Solutions
«Notion de droits »
Suite d’octets
Chap. 2 - SGF
ASR04 – 2005 – Christophe Cruz
5
Solutions
Les fichiers sont gérés par le « système de gestion de fichiers »
Noyau
S.G.F. différent en fonction des besoins Chap. 2 - SGF
ASR04 – 2005 – Christophe Cruz
6
Plan
Partie 1 : interface utilisateur des SGF courants 1. Les fichiers
2. Les répertoires
Partie 2 : implémentation des systèmes de gestion de fichiers 1. Organisation des systèmes de fichiers
2. Implémentation des fichiers 3. Implémentation des répertoires Partie 3 : Les appels systèmes
Chap. 2 - SGF
ASR04 – 2005 – Christophe Cruz
7
Plan
Partie 1 : interface utilisateur des SGF courants 1. Les fichiers
2. Les répertoires
Partie 2 : implémentation des systèmes de gestion de fichiers 1. Organisation des systèmes de fichiers
2. Implémentation des fichiers 3. Implémentation des répertoires Partie 3 : Les appels systèmes
ASR04 – 2005 – Christophe Cruz
8
1.1. Les fichiers
a) Le nommage des fichiers :
• Les fichiers possèdent un nom et un extension
• Les règles de nommage varient selon le SGF.
MS-Dos : 8 caractères et une extension facultative de 3 caractères jean.cpp, Jean.cpp, JEAN.Cpp même fichiers UNIX : 255 caractères, ToTo, toto, Urgent!, prog.c.tar.gz
NTFS et Windows : gestion UNICODE des noms, mais pas de gestion des majuscules.
ASR04 – 2005 – Christophe Cruz
9
1.1. Les fichiers
b) Les structures des fichiers :
Trois sortes de structures de fichiers
Arbre avec la notion de clé Ane Faon Poule
Casoar Daim Ecureuil Girafe Loup
Hase Ibis Séquence
d’octets 1 octet
Séquence d’enregistrement 1 Enregistrement Chap. 2 - SGF
ASR04 – 2005 – Christophe Cruz
10
1.1. Les fichiers
c) Les types de fichiers:
• Les fichiers ordinaires contenant les informations utilisateur. (ASCII, retour chariot et changement de ligne)
• Les répertoires sont des fichiers conservant la structure du SGF.
• Les fichiers spéciaux caractères liés aux E/S pour modéliser les E/S séries comme les terminaux.
• Les fichiers spéciaux blocs pour modéliser les disques durs.
Sous UNIX tout est fichier !!!
Chap. 2 - SGF
ASR04 – 2005 – Christophe Cruz
11
1.1. Les fichiers
d) Les accès aux fichiers :
• Accès séquentiel : lecture de tous les octets ou de tous les enregistrements dans l’ordre.
Chap. 2 - SGF
Bande magnétique Sauvegarde de 1 à 90 Go
~ 20€
ASR04 – 2005 – Christophe Cruz
12
1.1. Les fichiers
d) Les accès aux fichiers :
• Accès aléatoires : (random access file) Lecture dans n’importe quel ordre.
Chap. 2 - SGF
En deux étapes : positionnement (seek) puis lecture (read).
ASR04 – 2005 – Christophe Cruz
13
1.1. Les fichiers
e) Les attributs des fichiers :
• Le nombre d’attributs varie selon le S.E.
Date et heure
Attributs liés à la protection du fichier
Fichier caché, système, archivage, temporaire, verrouillage, etc.
• Droits sous Unix
3 groupes d’utilisateurs (u:user, g:group, o:others)
3 droits pour les fichiers (r: lecture, w: modification, x: exécution) 3 droits pour les répertoires (r: lecture, w: modification, x: traverser) Ex: /home/toto/, toto:etudiant, drwxr--r--
ASR04 – 2005 – Christophe Cruz
14
Plan
Partie 1 : interface utilisateur des SGF courants 1. Les fichiers
2. Les répertoires
Partie 2 : implémentation des systèmes de gestion de fichiers 1. Organisation des systèmes de fichiers
2. Implémentation des fichiers 3. Implémentation des répertoires Partie 3 : Les appels systèmes
ASR04 – 2005 – Christophe Cruz
15
1.2. Les répertoires
a) Les systèmes à un seul niveau
Ex : CDC 6600 premier superordinateur
A A B C
Répertoire racine
Quatre fichiers possédés par trois propriétaires IMAGE CDC
Chap. 2 - SGF
ASR04 – 2005 – Christophe Cruz
16
1.2. Les répertoires
b) Les systèmes à deux niveaux de répertoire Les répertoires privés évitent les conflits.
C
A A B C
Répertoire racine
C C
A B Répertoires utilisateurs Chap. 2 - SGF
ASR04 – 2005 – Christophe Cruz
17
1.2. Les répertoires
c) Les systèmes à répertoire hiérarchique Les répertoires privés évitent les conflits.
Les utilisateurs peuvent créer des arbres arbitraires.
C
A
B
Répertoire racine
C C
C A
Sous-répertoires A
A Répertoires utilisateurs
Chap. 2 - SGF
ASR04 – 2005 – Christophe Cruz
18
1.2. Les répertoires
d) Les chemins d’accès
• Quel que soit le séparateur employé, si le premier caractère est le séparateur alors le chemin est « absolu ».
Windows : \MesDocuments\courrier\
UNIX : /usr/toto/courriers/
MULTICS : >usr>toto>courrier>
• Il existe aussi le « chemins d’accès relatif » fonctionnant avec le
« répertoire de travail » ( ou « répertoire courant » ).
Chap. 2 - SGF
ASR04 – 2005 – Christophe Cruz
19
1.2. Les répertoires
Répertoire courant
bash$ cp /usr/toto/courrier/caf.txt /usr/toto/courrier/caf.txt.bak bash$ cp ./caf.txt ./caf.txt.bak
Sont les mêmes commandes si le répertoire courant est /usr/toto/courrier/
Les répertoires particuliers « . » et « .. »
« . » répertoire courant
« .. » répertoire père
bash$ cp ../lib/dictionnaire.dat . bash$ cp ./toto.txt ../toto/toto.txt
ASR04 – 2005 – Christophe Cruz
20
1.2. Les répertoires
e) Arborescence typique UNIX
Les « liens symboliques » sont des raccourcis vers un autre fichier : bash$ ls -l ./imprimer/lettre.txt
lrwxrwxrwx 1 Olivier etudiant 31 jan 14:16 ./imprimer/lettre.txt ->
/home/olivier/lettre.txt /
bin dev etc home lib sbin temp usr var
lib
bin local
ASR04 – 2005 – Christophe Cruz
21
1.2. Les répertoires
/bin: commandes de base UNIX (ls, cat, cp, mv, etc.) /dev: fichiers spéciaux représentants les périphériques
/dev/lp0 : lecteur de disquette /dev/hda0 : première partition du disque dur /dev/cdrom : lecteur cd-rom
/etc: fichiers d’initialisation, de configuration, etc.
/etc/passwd : contient les mots de passe cryptés
/etc/fstab: contient les systèmes de fichiers à monter au démarage /home: racine des répertoires utilisateurs
Chap. 2 - SGF
ASR04 – 2005 – Christophe Cruz
22
1.2. Les répertoires
/lib: bibliothèques de programmes /sbin: commandes d’administration, fsck, mkfs /tmp: fichiers temporaires du SGF et des utilisateurs
/usr: programmes et utilitaires mis à la disposition des utilisateurs /usr/src: contient les sources des programmes linux
/var: contient des données qui varient comme des fichiers en attente d’impression, courriers électroniques, fichiers de caches
Chap. 2 - SGF
ASR04 – 2005 – Christophe Cruz
23
Partie 2
Implémentation des systèmes de fichiers
Chap. 2 - SGF
ASR04 – 2005 – Christophe Cruz
24
Plan
Partie 1 : interface utilisateur des SGF courants 1. Les fichiers
2. Les répertoires
Partie 2 : implémentation des systèmes de gestion de fichiers 1. Organisation des systèmes de fichiers
2. Implémentation des fichiers 3. Implémentation des répertoires Partie 3 : Les appels systèmes
Chap. 2 - SGF
ASR04 – 2005 – Christophe Cruz
25
2.1. Organisation du système de fichiers
Organisation d’un disque dur
MBR Partition NTFS Partition ext2 Partition swap
Table de partition Partition du disque dur
ASR04 – 2005 – Christophe Cruz
26
Plan
Partie 1 : interface utilisateur des SGF courants 1. Les fichiers
2. Les répertoires
Partie 2 : Implémentation des systèmes de gestion de fichiers 1. Organisation des systèmes de fichiers
2. Implémentation des fichiers 3. Implémentation des répertoires Partie 3 : Les appels systèmes
ASR04 – 2005 – Christophe Cruz
27
2.2. Implémentation des fichiers
a) Allocation contiguë
• Méthode la plus simple
• Notion de blocs
Pour une partition avec des blocs de 1Ko Un fichier de 50Ko aura 50 blocs consécutifs
• Avantages : Simple à mettre en place
Seulement deux nombres à connaître (adresse de bloc et taille du fichier) Les performances de lecture sont optimales
Chap. 2 - SGF
ASR04 – 2005 – Christophe Cruz
28
2.2. Implémentation des fichiers
Fichier A (7 blocs) Fichier C (6 blocs) Fichier E (9 blocs) Fichier B (9 blocs) Fichier D (4 blocs) Fichier F (3 blocs)
Fichier A Fichier C (6 blocs) 9 blocs libre 9 blocs libres Fichier D Fichier F
Problèmes :
• Avec le temps le disque se fragmente (le disque n’est plus compacté)
• On doit connaître la taille du fichier avant de tout enregistrement (Word)
• CD-ROM Chap. 2 - SGF
ASR04 – 2005 – Christophe Cruz
29
2.2. Implémentation des fichiers
b) Allocation par liste chaînée
• Le premier mot de chaque bloc sert de pointeur sur le bloc suivant.
• Chaque bloc peut être utilisé dans cette méthode
• Aucun espace est perdu dans une fragmentation
• Pour le répertoire, seule l’adresse du 1erblocs est nécessaire Chap. 2 - SGF
ASR04 – 2005 – Christophe Cruz
30
2.2. Implémentation des fichiers
Bloc 0 du Fichier
Bloc 1 du Fichier
Bloc 2 du Fichier
Bloc 3 du Fichier
Bloc 4 du Fichier
Bloc 5 du Fichier
null
Bloc physique: 34 502 366 800 42 420
Problème :
• L’accès aléatoire est très lent
• La taille des blocs n’est pas en puissance de 2 Chap. 2 - SGF
ASR04 – 2005 – Christophe Cruz
31
2.2. Implémentation des fichiers
c) Allocation par liste chaînée utilisant une table en mémoire
• Les deux inconvénients d’une liste chaînée sont éliminés avec une table en mémoire (liste des pointeurs)
• Cette table est nommée la FAT (File Allocation Table ou table d’allocation de fichiers)
• Avantages :
La totalité des blocs est disponible L’accès aléatoire est facilité
ASR04 – 2005 – Christophe Cruz
32
2.2. Implémentation des fichiers
Bloc physique
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
10 11 7 3 2
12 14 -1 -1
Début du fichier A Début du fichier B
Bloc inutilisé Fin du fichier A Fin du fichier B
FAT Inconvénient :
• Toute la table doit se trouver en mémoire
• Pour 20 Go de disque, il faut gérer 20 millions de bloc 1Ko
• Chaque entrée utilise au minimum 3 à 4 octets
• Cette table prend 60 à 80 Mo en mémoire
ASR04 – 2005 – Christophe Cruz
33
2.2. Implémentation des fichiers
d) I-nodes (nœuds d’informations)
• Définition d’un i-node par fichier.
• L’avantage est que l’i-node a uniquement besoin d’être en mémoire quand le fichier correspondant à besoin d’être ouvert.
• Ex : Chaque i-node occupe n octets en mémoire et k fichiers doivent être ouverts, alors le tableau est de taille kn.
Chap. 2 - SGF
ASR04 – 2005 – Christophe Cruz
34
2.2. Implémentation des fichiers
d) I-nodes (nœuds d’informations) Chap. 2 - SGF
ASR04 – 2005 – Christophe Cruz
35
2.2. Implémentation des fichiers
d) I-nodes (nœuds d’informations) Chap. 2 - SGF
ASR04 – 2005 – Christophe Cruz
36
2.2. Implémentation des fichiers
d) I-nodes (nœuds d’informations)
• Association chemin-inode
• Les répertoires sont des fichiers Chap. 2 - SGF
ASR04 – 2005 – Christophe Cruz
37
Plan
Partie 1 : interface utilisateur des SGF courants 1. Les fichiers
2. Les répertoires
Partie 2 : Implémentation des systèmes de gestion de fichiers 1. Organisation des systèmes de fichiers
2. Implémentation des fichiers 3. Implémentation des répertoires Partie 3 : Les appels systèmes
ASR04 – 2005 – Christophe Cruz
38
2.3. Implémentation des répertoires
Informations générales :
• L’entrée du répertoire fournit les informations nécessaires pour trouver les blocs de disque.
• Il fait correspondre un nom ASCII du fichier à une information pour localiser les données.
• Chaque SGF gère les attributs différemment.
ASR04 – 2005 – Christophe Cruz
39
2.3. Implémentation des répertoires
Type de répertoire : jeux
Courrier informations Travail
Attributs Attributs Attributs Attributs (a)
•Liste d’entrées de taille fixe.
• Chaque « entrée du répertoire » contient un nom de fichier (tout est fichier), une structure (des attributs et une entrée dans la FAT).
jeux Courrier informations Travail
(b)
•Les attributs sont stockés dans le i- node plutôt que dans l’entrée du répertoire.
• Les entrées du répertoire sont plus petites et sont constituée du nom de fichier et d’un i-node.
Chap. 2 - SGF
ASR04 – 2005 – Christophe Cruz
40
2.3. Implémentation des répertoires
Gestion des noms longs:
• Jusqu’à maintenant, il était supposé que les noms de fichier étaient fixes.
MS-DOS : 8 octets pour le nom et 3 pour l’extension) UNIX v7 : 14 octets pour le nom et l’extension
• L’approche la plus simple consiste à définir une taille fixe de 255 et ensuite utiliser les concepts présentés précédemment. Gaspillage de beaucoup d’espace répertoire.
• Deux approches pour une taille non fixe du nom.
Chap. 2 - SGF
ASR04 – 2005 – Christophe Cruz
41
2.3. Implémentation des répertoires
Fichier 1: Attributs Fichier 1 : longueur de l’entrée
p r o j e t - t u t \0
Fichier 2 : Attributs Fichier 2 : longueur de l’entrée
d o c s \0 Entrée
d’un fichier
(a) fixe
(b) Non fixe
Fichier 1: Attributs Fichier 1 : Pointeur vers le nom
Fichier 2 : Attributs Fichier 2 : Pointeur vers le nom
s \0
p r o j e t - t u t \0
Entrée d’un fichier
d o c Tas Chap. 2 - SGF
ASR04 – 2005 – Christophe Cruz
42
Blocs logiques
0 1 2 3 4 5
Ex : Systèmes de fichiers des CD-ROM
Octets physiques
Fichier A Fichier B Fichier C
Le fichier A est un répertoire
Fichier B Fichier C
3 1
4 2
Nom Adresse Taille Chap. 2 - SGF
ASR04 – 2005 – Christophe Cruz
43
Partie 3
Les appels systèmes
ASR04 – 2005 – Christophe Cruz
44
3.1 Accès aux fichiers
Tous les processus gèrent une table de descripteur de fichier
• Les fichiers seront géré par les descripteurs
• Tous les fichiers se manipulent de la même manière (open, close, read, write)
• Le nombre de descripteur pour chaque fichier est limité 5
554 monfichier.o
4
324 monfichier.c
3
112 /dev/stderr
2
254 /dev/stdout
1
234 /dev/stdin
0
i-node fichier
descripteur
ASR04 – 2005 – Christophe Cruz
45
3.1 Accès aux fichiers
Ouverture d’un fichier (1)
int open ( const char* chemin, int drapeaux )
• chemin : chemin relatif ou absolu du fichier à ouvrir
• drapeaux : mode d’accès au fichier (lecture, écriture, etc.)
Ex: int desc = open( "monfichier.c“, O_RDWR | O_CREAT )
• Le méthode retourne le numéro de descripteur ou -1 en cas d’erreur Chap. 2 - SGF
ASR04 – 2005 – Christophe Cruz
46
3.1 Accès aux fichiers
Ouverture d’un fichier (2)
int open ( const char* chemin, int drapeaux, mode_t mode )
• chemin : chemin relatif ou absolu du fichier à ouvrir
• drapeaux : mode d’accès au fichier (lecture, écriture, etc.)
• mode : droits d’accès au fichier s’il doit être créé
Ex: int desc = open( "monfichier.c“, O_RDWR | O_CREAT, 0777 )
• Les droits effectifs sont calculés en retirant la valeur du mask (umask) Chap. 2 - SGF
ASR04 – 2005 – Christophe Cruz
47
3.1 Accès aux fichiers
Traitement des erreurs
• Quand une erreur survient lors d’un appel système, la variable globale errnoest fixé
• La fonction void perror( const char * s ); permet d’exploiter la valeur de errno pour afficher un message expliquant la dernière erreur survenue.
• A chaque utilisation d’un appel système, vous devrez traiter le cas d’erreur Chap. 2 - SGF
ASR04 – 2005 – Christophe Cruz
48
3.1 Accès aux fichiers
Lecture d’un fichier (2)
int read ( int fd, char* buf, int nb )
• fd : descripteur d’un fichier ouvert au moins en lecture
• buf : adresse d’une zone mémoire où les octets lues seront stockés
• nb : le nombre d’octets que l’on veut lire La fonction retourne :
• -1 en cas d’erreur
• 0 si la fin du fichier est atteint
• Le nombre d’octet lu Chap. 2 - SGF
Les lecture se font de manière séquentielle
ASR04 – 2005 – Christophe Cruz
49
monfichier 3
/dev/stderr 2
/dev/stdout 1
/dev/stdin 0
i-node fichier desc
tab[0] tab[1] tab[2] tab[3] tab[4] tab[5] tab[6] tab[7] tab[8] tab[9]
o b
b o n j
o u r j
n u or u
3.1 Accès aux fichiers
ASR04 – 2005 – Christophe Cruz
50
3.1 Accès aux fichiers
Écriture dans un fichier (2)
int write ( int fd, char* buf, int nb )
• fd : descripteur d’un fichier ouvert au moins en écriture
• buf : adresse d’une zone mémoire où les octets à écrire sont stockés
• nb : le nombre d’octets que l’on veut écrire La fonction retourne :
• -1 en cas d’erreur
• Le nombre d’octet écrit sinon
Les écritures se font de manière séquentielle
ASR04 – 2005 – Christophe Cruz
51
3.1 Accès aux fichiers
Positionnement dans un fichier (2)
long lseek ( int fd, long offset, int mode )
• fd : descripteur d’un fichier ouvert au moins en écriture
• offset : nombre d’octets de déplacement du pointeur (peut être <0)
• mode : fixe les conditions de déplacement
0 : positionnement par rapport au début du fichier 1 : positionnement par rapport à la position courante 2 : positionnement par rapport à la fin du fichier.
La fonction retourne :
• -1 en cas d’erreur
• Sinon la position Chap. 2 - SGF
ASR04 – 2005 – Christophe Cruz
52
3.1 Accès aux fichiers
Fermeture d’un fichier (2)
int close ( int fd )
• fd : descripteur d’un fichier ouvert au moins en écriture La fonction retourne :
• -1 en cas d’erreur
• 0 sinon
• Les fichiers sont automatiquement fermés par le système lorsque le processus qui à ouvert les fichiers se termine
Chap. 2 - SGF
ASR04 – 2005 – Christophe Cruz
53
3.1 Accès aux fichiers
Entrée/sortie de données quelconques
Il est possible de lire et d’écrire autre chose que des octets en respectant quelques règles :
• Contrôle du formatage des données
• Prendre garde à la taille des données à manipuler Chap. 2 - SGF
ASR04 – 2005 – Christophe Cruz
54
3.2 Manipulations de répertoires
Création de répertoire vide
int mkdir ( const char* chemin, mode_t mode )
Suppression de répertoire vide
int rmdir ( const char* chemin ) Chap. 2 - SGF
ASR04 – 2005 – Christophe Cruz
55
Entête du conteneur Nom fichier 1 Nom fichier 2 Nom fichier 3
Pt de block Pt de block Pt de block
Espace libre
Fichier 1
Fichier 2
Fichier 3 Entrées du
répertoire racine
Définition d’un système de fichier
• Le fichier a une taille de 128 Mo
• Définir la taille des blocs logiques
• Les blocs logiques des fichiers sont contigus
• Un seul répertoire racine
• Définition des champs des entrées du répertoire
• Les entrées de fichier sont empilées en haut
• Les fichiers sont empilés en bas
• Définir les mécanismes de gestions
ASR04 – 2005 – Christophe Cruz
56
ASR04 – 2005 – Christophe Cruz
57
1. Partitions du disque
Chap. 2 - SGF
Organisation d’un disque dur
MBR Partition NTFS Partition ext2 Partition swap
Table de partition Partition du disque dur
ASR04 – 2005 – Christophe Cruz
58
2. Implémentation du SGF
Détails d’un partition : ex I-nœud Chap. 2 - SGF
Index des blocs
Liste des blocs
ASR04 – 2005 – Christophe Cruz
59
3. Notion de blocs
Liste des blocs :
Blocde 512 octets = 1 Secteur 1024 octets = 2 Secteurs
2048 octets = 4 Secteurs (toujours en puissance de deux) Index des blocs : FAT et I-nœud
Chap. 2 - SGF
ASR04 – 2005 – Christophe Cruz
60
3.1. Gestion des blocs FAT32 MsDos
Bloc physique
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
10 11 7 3 2
12 14 -1 -1
Début du fichier A Début du fichier B
Bloc inutilisé Fin du fichier A Fin du fichier B
FAT Inconvénient :
• Toute la table doit se trouver en mémoire
• Pour 20 Go de disque, il faut gérer 20 millions de bloc 1Ko
• Chaque entrée utilise au minimum 3 à 4 octets
• Cette table prend 60 à 80 Mo en mémoire
Chap. 2 - SGF
ASR04 – 2005 – Christophe Cruz
61
3.2. Gestion des blocs par Unix
I-nodes (nœuds d’informations)
ASR04 – 2005 – Christophe Cruz
62
2. Implémentation du SGF
Index des blocs
ASR04 – 2005 – Christophe Cruz
63
4. Gestion des répertoires
Un répertoire est un fichier qui contient une liste de fichier Chap. 2 - SGF
Répertoire
ASR04 – 2005 – Christophe Cruz
64
4.1. Gestion des répertoires par Unix
I-nodes (nœuds d’informations)
• Association chemin-inode
• Les répertoires sont des fichiers Chap. 2 - SGF
ASR04 – 2005 – Christophe Cruz
65
3.1. Gestion des blocs FAT32 MsDos
Bloc physique
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
10 11 7 3 2
12 14 -1 -1
Début du fichier A Début du fichier B
Bloc inutilisé Fin du fichier A Fin du fichier B FAT
Chap. 2 - SGF
. ..
B Test.c
Attributs Attributs Attributs Attributs
Entrée FAT Entrée FAT Entrée FAT Entrée FAT Répertoire A
6 3 11 14
ASR04 – 2005 – Christophe Cruz
66
4.2. Comparaison du contenu d’un répertoire
Répertoire FAT32 Répertoire I-noeud
(a)
•Liste d’entrées de taille fixe.
• Chaque « entrée du répertoire » contient un nom de fichier, une structure (des attributs et une entrée dans la FAT).
Chap. 2 - SGF
jeux Courrier.doc informations Travail
Attributs Attributs Attributs Attributs
Entrée FAT Entrée FAT Entrée FAT Entrée FAT
jeux Courrier informations Travail
(b)
•Les attributs sont stockés dans le i- node plutôt que dans l’entrée du répertoire.
• Les entrées du répertoire sont plus petites et sont constituée du nom de fichier et d’un i-node.
I-node
I-node
I-node
I-node
ASR04 – 2005 – Christophe Cruz
67
4.3. Implémentation des répertoires
Gestion des noms longs:
• Jusqu’à maintenant, il était supposé que les noms de fichier étaient fixes.
MS-DOS : 8 octets pour le nom et 3 pour l’extension) UNIX v7 : 14 octets pour le nom et l’extension
jeux Courrier.doc informations Travail
Attributs Attributs Attributs Attributs
Entrée FAT Entrée FAT Entrée FAT Entrée FAT
ASR04 – 2005 – Christophe Cruz
68
4.3. Implémentation des répertoires
Fichier 1: Attributs Fichier 1 : longueur de l’entrée
p r o j e t - t u t \0
Fichier 2 : Attributs Fichier 2 : longueur de l’entrée
d o c s \0 Entrée
d’un fichier
(a) fixe
(b) Non fixe
Fichier 1: Attributs Fichier 1 : Pointeur vers le nom
Fichier 2 : Attributs Fichier 2 : Pointeur vers le nom
s \0
p r o j e t - t u t \0
Entrée d’un fichier
d o c Tas
ASR04 – 2005 – Christophe Cruz
69
- Exercice -
Entête du conteneur Nom fichier 1 Nom fichier 2 Nom fichier 3
Pt de block Pt de block Pt de block
Espace libre
Fichier 1
Fichier 2
Fichier 3 Entrées du
répertoire racine
Définition d’un système de fichier
• Le fichier a une taille de 128 Mo
• Définir la taille des blocs logiques
• Les blocs logiques des fichiers sont contigus
• Un seul répertoire racine
• Définition des champs des entrées du répertoire
• Les entrées de fichier sont empilées en haut
• Les fichiers sont empilés en bas
• Définir les mécanismes de gestions Chap. 2 - SGF