L'ensemble du système se décompose en quatre couches, à chacune
d'elles correspond une interface utilisable par les couches de niveau
supérieur.
Les trois premières sont des interfaces de programmation (API),
autrement dit des modules C qui proposent un certain nombre de
services :
volume
c'est la couche inférieure qui permet de créer,
monter, démonter un volume et d'accéder à ses blocs ;
fs
implante la structure du système de fichiers ;
fichier
propose les opérations habituelles sur les fichiers
(ouverture, fermeture, lecture, écriture...).
La quatrième couche est interactive et comporte, d'une part, la
commande ffs qui fabrique un nouveau système de fichier,
d'autre part, l'interpréteur de commandes shell permettant
d'exploiter un système de fichiers et qui propose une version
simplifiée des commandes habituelles d'Unix (cp, cd,
ls, mkdir, rmdir...).
Enfin le module erreurs est utilisé par toutes les couches
pour gérer les erreurs éventuelles.
La figure 1 représente l'agencement des différentes
couches.
Figure 1 : Agencement des différentes couches du système de
fichiers