VMS :Le système de fichier.

 

 

VMS possède un système de fichier hiérarchisé de manière arborescente baptisé RMS. Les fichiers s’écrivent X.Y;E où X est le nom du fichier, Y l’extension et Z la version. Deux types de fichiers sont à distinguer, les fichiers de données ou de programmes et les fichiers catalogue semblables à ceux du monde UNIX. Ces derniers représentent les nœuds de l’arbre et référencent des fichiers et des catalogues Leur extension est .DIR et leur version est toujours égale à 1. Les catalogues ne décrivent pas l’endroit où sont stockés les fichiers. Une zone spéciale du disque est réservée à cette description.

Structure du disque.

Le disque est assimilable à un tableau de blocs de 512 octets. Le disque est découpé en trois parties dès l’installation du système :

-         La première partie correspond au bloc 0 qui est réservée pour le démarrage de la machine.

-         La deuxième partie est représentée par le bloc 1 ou HOME BLOCK qui contient certaines informations (taille du disque, emplacement du fichier index…).

-         La troisième partie englobe l’ensemble des blocs libres utilisables pour stocker les fichiers utilisateur.

A l’installation, le système créer plusieurs fichiers indispensables comme le présente la figure ci-dessus.

Ce fichier contient les définitions de tous les fichiers du disque (ainsi que lui-même). Une définition d’un fichier est une structure de 512 octets (1 bloc) qui est appelée entête. Comme un entête occupe un bloc en entier, le numéro de bloc donne l’Id du fichier.

Bitmap.sys est un fichier dont la taille est proportionnelle à celle du disque car il contient la carte des blocs occupés. Dans ce fichier, chaque bloc est représenté par un bit. Si le bit est à 1, le bloc est occupé. Une instruction propre au processeur VAX permet une recherche rapide des blocs libres dans ce fichier.

Ce fichier contient les blocs déclarés inutilisables. Comme les blocs inutilisables sont référencés dans un fichier, les bits correspondant à chaque fichier sont marqués par un bit 1 dans le fichier bitmap.sys. Ils ne pourront donc être alloués de nouveau.

C’est un fichier catalogue (un répertoire). Il est l’entrée principale sur le disque, la racine de celui-ci. Il contient les fichiers et les catalogues situés immédiatement en dessous.

Les 512 octets par header sont extensibles permettant ainsi d’avoir des fichiers de très grandes tailles.

La plus importante particularité de ce système de fichiers provient de sa capacité native de gérer les versions des fichiers. A chaque modification d’un fichier, un nouveau fichier est créé avec le numéro de version incrémenté. Les anciennes versions existent toujours sur le disque mais, par défaut le nom du fichier pointe sur la dernière version. Ceci pose quelques problèmes quand un fichier est très souvent mis à jour sur ce système car on peut atteindre la limite des versions interdisant alors la création d’une nouvelle version de ce fichier.