Skip to topic | Skip to bottom
Home
Minfo05
Minfo05.TpAsySeance11r1.1 - 06 Dec 2005 - 15:42 - OlivierDalletopic end

Start of topic | Skip to actions

Approfondissement Système - TP11

Exercice 1 : Ajouter un fichier "hello-world"

C'est la fin du dernier TP, si vous ne l'aviez pas terminé.

Exercice 2 : Construire une arborescence simple

Il s'agit maintenant d'ajouter un 4e élément à la racine : un répertoire de nom "titi". Que contient-il ? Au minimum "." et "..". Il faudra donc trouver un nouveau numéro d'inode pour "." et faire en sorte que ".." ai le même numéro d'inode que la racine de votre SF.

Exercice 3 : Construire une arborescence recursive profonde

On souhaite maintenant construire un SF qui est formé de répertoires qui contiennent toujours la même chose : un fichier "toto" et un répertoire "titi" :
  • / contient "toto" et "titi" (et "." et "..")
  • /titi contient "toto" et "titi" (...)
  • /titi/titi contient "toto" et "titi" ( ... )
  • ...

A chaque niveau ce sont toujours les même opérations qui sont associées aux fichiers et répertoires. En revanche, comme il s'agit de fichiers et répertoires différents, il faut leur associer un numéro d'inode différent. Un solution simple consiste à définir un plan de numérotation de la forme i*K + J où :

  • K est une constante > 2, par exemple 4, 8, 10 ...
  • i représente le niveau de profondeur (i=0 -> niveau /, i=1 -> niveau /titi, i=2 -> niveau /titi/titi)
  • J représente le type du fichier :
    • J=1 un répertoire "titi"
    • J=2 un fichier régulier "toto"

Ainsi, avec K=10, on a par exemple

  • / = 0*10 + 1 = 1
  • /titi/toto = 1*10 +2 =12
  • /titi/titi/titi/titi/titi = 5*10 + 1 = 51

De plus, on doit toujours vérifier les propriétés suivantes

  • le répertoire i*K+1 contient un répertoire "titi" de numéro (i+1)*K+1
  • le répertoire i*K+1 contient un fichier "toto" de numéro (i+1)*K+2

Par mesure de sécurité, vous ferez quand même en sorte de limiter la profondeur à un maximum de 20 niveaux (le répertoire 20*K+1 doit donc être vide).

-- OlivierDalle - 06 Dec 2005
to top


You are here: Minfo05 > ApprofondissementSysteme > TpAsySeance11

to top

Copyright © 1999-2017 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding WIKIDeptinfo? Send feedback