Précédent Remonter Suivant

4  Les noms de fichiers

Pendant l'utilisation d'un système de fichiers il existe toujours un répertoire courant qui est initialement root. On peut désigner un fichier soit de façon absolue (en partant de root), soit de façon relative (en partant du répertoire courant).

Syntaxe des noms de fichier :
nom ::= nom-absolu | nom-relatif
nom-absolu ::= '/'nom-relatif | "/"
nom-relatif ::= { nom-simple'/' } nom-simple

nom-simple est une suite d'au plus 14 caractères différents de '/' et '\0' et éventuellement vide, auquel cas elle est comprise comme ".". Le nom particulier "/" désigne évidemment la racine root.

En interne, on peut mémoriser le répertoire courant sous la forme d'une pile de i-nombres. Le sommet de la pile est le i-nombre du répertoire courant, la pile étant constituée des i-nombres des répertoires pères jusqu'à la racine. Une telle pile permet de s'assurer par exemple que l'on ne détruit pas un répertoire du chemain courant. La figure 6 donne l'interface des fonctions de gestion de cette pile sous forme d'un tableau de i-nombres.

#define MAXPILE 100
INOMBRE tpile [MAXPILE] ;
int     spile = 0 ;
void    empiler (INOMBRE i_nombre) ; 
void    depiler (void) ; 
INOMBRE sommet (void) ; 
void    vider (void) ; 
int     est_en_pile (INOMBRE i_nombre) ; 
 

Figure 6 : Fonctions de gestion de la pile des i-nombres définissant le chemin courant



Question 7   Donnez quelques noms possibles pour le fichier fs.c dans le cas où root est le répertoire courant et dans le cas où c'est usr.

Question 8   Étant donné le i-nombre du répertoire courant, donnez l'algorithme de principe de pwd.

Question 9   Donnez l'algorithme de la commande cd qui change le répertoire courant.

Question 10   Étant donné un nom absolu de fichier, donnez l'algorithme qui identifie le inoeud du fichier.

Précédent Remonter Suivant