Page d'accueil R&T
IUT de Villetaneuse
Université Paris 13
Département
Equipe      Cours
Intranet
Formation Initiale
Formation Continue
Apprentissage
Département R&T
Cours R&T
 
Liens
Cours divers
Liens GTR
GTR en Ligne
Matières
AJAX: Asynchronous JavaScript and XML
Architecture des Ordinateurs
Programmation Python
Langage C (Module I3)
Administration Windows
Electronique 1ere annee
Module GEII ARS3 : Réseaux
Systèmes d'exploitation
Module I-C1 : Systèmes d'exploitation et programmation système
Module I-C3 : Client/Serveur et Web
Module I-C3 : Client/Serveur et Web (en apprentissage)
Télécoms 2
Communication
Réseaux RT2
Divers TP Réseaux
Nouveau cours de Telecom
 
Index des pages
 
Contact
E. Viennet
 
  

Introduction au Système UNIX

Séance 7 : Système de Gestion de Fichiers EXT2

Les exercices qui suivent s'appliquent à un système de fichiers de type EXT2 sous Linux. On considérera partout des blocs de 1024 octets.

EXERCICE 1 - 1-  Rappelez la signification des champs (voir annexe) d'un inode;

2-  Au vu de la structure d'un inode précédente, donnez la taille maximale d'un fichier sous Linux due à la structure en adresses de blocs (direct, simple, double et triple). Comparez avec la taille maximale au vu de la taille du champ Size.

3-  Comment convertir une adresse linéaire x d'un octet dans un fichier (offset) en Numéro de bloc ?

EXERCICE 2 - Soit le répertoire courant contenant les fichiers toto, nom_de_fichier_long et tata. Le répertoire père du répertoire courant ne contient que ce répertoire.

1-  Donnez la structure détaillée du inode contenant le répertoire courant, y compris le contenu des blocs de données.

2-  Combien de blocs sont nécessaires en tout pour stocker ce répertoire, sachant que les fichiers contiennent moins de 1Ko ?

3-  Rappelez les commandes Unix permettant de créer un répertoire, un lien symbolique, un lien direct, connaître le numéro de inode d'un fichier, connaître le nombre de références (liens directs) sur un fichier.

4-  Pourquoi même le super-utilisateur (root) ne peut-il pas créer un lien direct sur un répertoire ?

5-  Pourquoi ne peut-on pas créer de lien direct d'un fichier d'un système de fichiers à un autre fichier d'un autre système de fichiers ?

6-  On crée un lien en dur (dit aussi lien direct) de titi à tata. Combien vaut le compteur de références de titi, tata ? Quel est le numéro de inode de titi ?

7-  On crée un répertoire dans ce répertoire courant, de nom rep. Quels sont les changements sur l'inode contenant le répertoire courant ?

EXERCICE 3 - Montages

ps/figsgf.png

1-  Donnez la suite de commandes qui a permis de monter /dev/hda2 et /dev/hda3

2-  Créez un lien symbolique de nom lien sur le répertoire ../../local dans le répertoire etud.

3-  Que se passe-t-il si vous tapez cd lien à partir du répertoire etud ?

4-  Donnez la suite de commandes qui permettent de "démonter" ces volumes.

5-  Dessinez l'arbre des répertoires dans le cas où l'on monte le système de fichiers /dev/hda2 sur /tmp puis /dev/hda3 sur /tmp/local

6-  Que se passe-il si on tape cd lien à partir du répertoire etud ?

7-  On démonte /dev/hda2 et /dev/hda3, on crée un répertoire local dans le répertoire /usr. Dans /usr/local on crée le fichier toto. On monte /dev/hda2 sur /usr. Que donne ls /usr/local ?

Annexe 1 : Structure d'un inode

Taille en octet des différents champs constituant un inode :

File Links UID GID Size Direct   Direct Simple Double Triple Atime Ctime Mtime
Mode count 0   9 ind. ind. ind.
2 2 2 2 4 4 ... 4 4 4 4 4 4 4

Annexe 2 : Structure d'une entrée de répertoire

#define EXT2_NAME_LEN 255

struct ext2_dir_entry_2 {
        __u32   inode;                  /* Inode number */
        __u16   rec_len;                /* Directory entry length */
        __u8    name_len;               /* Name length */
        __u8    file_type;
        char    name[EXT2_NAME_LEN];    /* File name */
};
        
/*
 * Ext2 directory file types.  Only the low 3 bits are used.  The
 * other bits are reserved for now.
 */
#define EXT2_FT_UNKNOWN         0
#define EXT2_FT_REG_FILE        1
#define EXT2_FT_DIR             2
#define EXT2_FT_CHRDEV          3
#define EXT2_FT_BLKDEV          4
#define EXT2_FT_FIFO            5
#define EXT2_FT_SOCK            6
#define EXT2_FT_SYMLINK         7




File translated from TEX by TTH, version 3.01.
On 18 Oct 2001, 10:47.