Systèmes de gestion de fichiers

... Décembre 2000. Systèmes de gestion de fichiers. Windows NT vs Unix.
Adressage des données dans un système de gestion de fichier de type Unix (
UFS).

Part of the document


Systèmes de gestion de fichiers
Windows NT vs Unix





[pic]
Adressage des données dans un système de gestion de fichier de type Unix
(UFS).





|[pic] |Bruno BORNIL |[pic] |
| |Groupe 2 | |
| |IR5 / INGENIEURS 2000 | |
|Informatique & Réseaux | |UMLV 2000-2001 |
|5 | | |

Sommaire






Sommaire 2


I. Introduction & définition 3


II. Le Système de Gestion de Fichiers sous Unix 4

1) Types de FS sous Unix: 4
2) Types de fichiers : 4
3) Catalogues : 5
4) Les inodes 6
5) Organisation des disques / Structure du disque 7
6) Quelques caractéristiques : 8

III. Le Système de Gestion de Fichiers sous Windows NT 9

1) Structure Interne : 9
2) Structure disque : 10
3) « Master File Table » et Metafiles : 10
a) Principe 10
b) Pratique 11
4) La MFT en détail: 13
c) MFT et "File Record" 13
d) File Record en détail: 14
e) Attribut $Data d'un File Record: 14
5) File Reference : 15

IV. Comparaison des SGF Unix / Windows NT 16


Conclusion 17


Références : 18

a) Livres : 18
b) Sites Web : 18


Introduction & définition







Le Système de Gestion de Fichiers (SGF) joue un rôle central dans un
système d'exploitation car il doit gérer la plupart des informations des
usagers et du système lui-même.

Le fichier est l'unité logique de base d'un SGF.

La conservation des fichiers et la réalisation des fonctions d'accès
impliquent la prise en charge par le SGF de :

. la gestion du support physique en masquant à l'utilisateur les détails
de l'organisation physique de ses fichiers

. la sécurité des fichiers, c'est à dire la garantie de leur intégrité
en cas d'incident ou de malveillance.

. la protection des fichiers, c'est à dire le respect des règles
d'utilisation fixées (droits d'accès, conditions de partage...)

C'est tout cela qui regroupe le fonctionnement d'un système de gestion de
fichiers dont voici l'illustration:













Transparence pour l'utilisateur de l'organisation physique des données sur
Disque.

Le SGF est aussi un outil de manipulation des fichiers et de la structure
d'arborescence des fichiers sur disque.


Nous allons présenter dans la suite de ce dossier deux grands systèmes
de gestion de fichiers : celui d'Unix suivi de celui de Windows NT. Nous
ferons dans une autre partie la comparaison entre ces deux SGF pour en
tirer des conclusions dans une dernière partie.
Le Système de Gestion de Fichiers sous Unix



Un fichier Unix est une suite finie de bytes (octets). Un fichier est
matérialisé par une inode et des blocs du disque.

C'est l'inode qui définit les fichiers avec un ensemble d'informations
(taille, dates, localisation...).

Le système de fichier d'Unix ne propose pas de structure particulière en ce
qui concerne la structure interne du fichier : elle est de la
responsabilité de l'utilisateur.




Types de FS sous Unix:


Il existe différents types de FS sous Unix, en voici une petite liste...

S5FS : System V FS, le système de fichier original du Système V.
UFS : Unix File System, le système de fichier d'Unix (standard)
BFFS : Berkeley Fast File System, une amélioration (performances et
fonctionnalités) de l'UFS. Ecrite par Kirk McCusick.

(Réf. Systèmes de fichiers)




Types de fichiers :


Il existe principalement 4 types de fichiers sous Unix :

. les fichiers ordinaires : fichiers de données, exécutables,
manipulés directement par les utilisateurs.

les répertoires :conteneur de fichiers.


les liens : pointent vers un fichier


les fichiers spéciaux : périphériques, mémoire, manipulés que
par l'intermédiaire du système.


Catalogues :


Les fichiers catalogues sont les n?uds de l'arbre (en fait du graphe
acyclique...) qui forme la structure hiérarchique de l'ensemble des
fichiers d'un disque. La figure suivante illustre cette structure
hiérarchisée :

[pic]
Structure hiérarchisée des répertoires.

Un fichier catalogue contient une liste des noms de fichiers qui lui sont
rattachés.
Chaque fichier étant identifié par son inode.
Un catalogue est un fichier ordinaire dans lequel seul le système a le
droit d'écrire. Il contient des entrées de 16 octets (pour une version
système V et antérieure): 2 octets pour l'inode (ou 16 bits) et 14 pour le
nom du fichier

Remarque : Cela nous donne donc un maximum de 216 soit 65536 numéros
d'inodes différents ! Ce qui correspond au nombre de fichier total.

[pic]

Cette arborescence (de type graphe acyclique) est née grâce au projet
MULTICS.
Les inodes



Ce sont les inodes qui définissent les fichiers sous Unix. C'est en fait
une structure contenant les informations suivantes :


. propriétaire
. type( régulier, répertoire, caractères, spécial, tube)
. droits accès (sur 9 bits)
. date d'accès, de modification, de création
. compteur de référence
. taille
. localisation des données


ATTENTION : le système manipule un fichier uniquement en utilisant son
inode et non le nom symbolique attribué par l'utilisateur. L'information du
nom symbolique se trouve d'ailleurs au niveau du répertoire et non au
niveau de l'inode.

[pic]
Adressage des blocs dans les inodes.

Un inode (ou n?ud-i) contient 13 adresses sur le disque, sous la forme
de 13 numéros de blocs. Les 10 premières adresses sont celles des 10
premiers blocs du fichier. Si le fichier contient plus de 10 blocs (soit
plus de 5120 octets), la 11ème pointe sur un bloc qui contient les adresses
de 128 blocs suivant : on parle alors de simple indirection. Si le fichier
est toujours plus grand (>138 blocs soit 70656 octets) la 12ème adresse
pointe sur un bloc dont chacune des 128 adresses pointe sur un bloc de 128
adresses de 128 blocs de fichier. Pour les fichiers encore plus gros (>
8459264 octets soit 8Mo), la 13ème adresse utilise un schéma à 3 niveaux
d'indirection : ce qui porte la taille maximale d'un fichier à 1Go
(1082201088 octets).

Dans le cas d'adresses de 256 blocs, on atteint un nombre maximal de blocs
pour un fichier de:

Blocs directs :10
+ Blocs indirect_1 : 256 = 256
+ Blocs indirect_2 : 2562 = 65536
+ Blocs_indirect_3 : 2563 = 16777216
soit un total de : 16843018 blocs.


Si notre SGF possède des blocs de 512 octets : 8 Go


Les droits d'accès sur les fichiers
- les différents utilisateurs : le propriétaire (u), le groupe (g) et
les autres (o)
- les différents droits : lecture (r), écriture (w) et l'exécution
(x).

Cela nous donne une combinaison de 3x3=9 droits d'accès différents.




Organisation des disques / Structure du disque


C'est à la création du système de fichier que l'organisation
structurelle du FS est créé afin de permettre une gestion de ces fichiers.

Un disque est vu par le système comme un tableau de blocs (de 512 octets ou
plus suivant la taille de base des blocs). Le SGF découpe le disque en 4
régions distinctes.

[pic]
Les régions d'un disque UFS.

Voici les composants de cette structure :

. Boot Bloc ou Bloc 0 : Utilisé au chargement du système. Il contient des
informations sur la structure du disque et aussi le « boot loader » qui
permet de démarrer le système.

. Super Bloc ou Bloc 1 :Informations générales sur le disque logique.
Propre à chaque partition. Parmi ces informations, on trouve :

V la taille du FS
V la liste des blocs libres
V la liste des blocs utilisés
V le nom de la partition
V la date de modification du FS


. Liste des inodes : la table des inodes. Chacun des inodes est une
structure de 64 octets. Ce nombre identifie de manière unique un fichier.

. Zone de stockage / Blocs : les blocs de données. Ils sont chaînés lors de
la création du disque. Ils sont situés à la fin du disque. C'est aussi
dans cette zone que l'on trouve la liste des chaînée correspondant à
l'espace libre sur le disque.










Quelques caractéristiques :



. Différenciation des Majuscules / Minuscules
. Le nombre de caractères pour un chemin < 1024 octets
. Tous caractères valides pour le nom de fichier sauf le « / »
. 256 caractères pour les noms de fichiers sur UFS récents
. 14 caractères pour les noms de fichiers sur Système V et antérieur.


Le Système de Gestion de Fichiers sous Windows NT



C'est en 1988 que Microsoft décida de crée un tout nouveau système de
fichier pour remplacer le FAT du MS-DOS/Windows et le HPFS de l'OS/2 : le
« New Technology File System » allait naître en même temps que Windows NT !







Structure Interne :




[pic]

Cette image illustre que le système de fichier de Windows NT est une
véritable structure de donnée, équivalente à une base de donnée !

Structure disque :


Ici, la plus petite unité d'allocation disque se nomme Cluster. Un
Cluster est formé de 4 secteurs. En voici une illustration :

[pic]
secteurs & clusters d'un disque dur.

Pour s'adresser au disque, NTFS utilise deux terminologies :