Systèmes de gestion de fichiers Windows NT vs Unix
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 :
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. 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.
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).
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.
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 :
la taille du FS
la liste des blocs libres
la liste des blocs utilisés
le nom de la partition
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.