TP n°4
Exercice 1.
Système de fichiersLe support de simulation est assuré par le simulateur MOSS (Modern Operating systems Simulator, http://www.ontko.com/moss/filesys/user_guide.html).
1. Installation
(a) Télécharger le fichier http://www.ontko.com/moss/filesys/filesys.tgz
(b) Suivre les étapes mentionnées dans http://www.ontko.com/moss/filesys/install_unix.html pour installer le simulateur.
(c) Procéder aux tests pour vérifier que l’installation s’est bien déroulée 2. Simulation
(a) Quel est le rôle de la commande “mkfs” dans le système d’exploitation Linux ? Préciser ce que cette commande génère.
(b) Lancer la commande ”java mkfs filesys.dat 128 80”. Interpréter le résultat d’exécution de cette commande.
(c) Editer le contenu du fichier filesys.dat avec la commande “java dump filesys.dat”. Interpréter son contenu.
(d) Lancer la commande ”java mkdir /home”. Interpréter le contenu du fichier filesystem.dat.
(e) Lancer la commande ”java mkdir /usr”. Interpréter le contenu du fichier filesystem.dat.
(f) Pourquoi la taille du fichier filesystem.dat n’a pas changé ? 3. Analyse du code et des résultats du simulateur
(a) Quelle est la structure de l’i-node dans le simulateur? Préciser sa taille.
(b) Dans le pire des cas, dans la partie données, la taille d’un fichier ne dépasse pas celle du blocs. Ceci nous donne le plus grand nombre d’i-node que nous devons prévoir. Calculer le nombre de blocs d’i-nodes que nous devons avoir dans notre cas.
(c) Déterminer la relation entre le nombre de blocs et le nombre de blocs maximum des I- nodes. En déduire, le nombre maximum de fichiers si la taille des blocs est de 512 Octets et nous disposons d’un disque de 24Mo.
Enoncé : Ecrire un programme find.java qui à partir d’un path donné vérifie si bel et bien le path existe, si oui il l’affichera sur l’écran ainsi que tous les paths de ses sous fichiers et sous répertoires (récursivement), un path par ligne.
Exp :
java find /home
pourrait produire l’output :
/home /home/
/home/nathant/bar.txt /home/nathant/foo.txt /home/rayo
/home/rayo/homer
/home/rayo/homer/odyssey.txt /home/rayo/homer/iliad.txt /home/rayo/virgil
/home/rayo/virgil/aeneid.txt /home/rayo/virgil/eclogues.txt /home/rayo/virgil/georgics.txt
Exercice 2.
LiensLa commande ln permet de réaliser des liens symboliques entre éléments dans le système de fichiers, à l’instar de raccourci sous le système Windows. La commande prend en paramètre le chemin vers le fichier ou répertoire ciblé puis le nom du lien à créer.
1. Créer un répertoire Dos1 ainsi que le fichier Dos1/file1 2. Modifier le contenu du fichier créé
3. Créer, à l’aide de la commande ln s, un lien symbolique nommé lsym faisant référence au dossier Dos1.
4. Interpréter la ligne correspondante à lsym de la commande ll.
5. Taper la commande ls lsym. Que remarquez-vous?
6. Faire des modification sur file1. Que remarquez-vous au niveau de lsym?
7. Supprimer Dos1. Refaire les questions 4. et 5.
8. Refaire les questions 1. et 2.
9. Créer à l’aide de la commande ln, un lien matériel nommé lmat faisant référence au fichier file1.
10. Interpréter la ligne correspondante à lmat de la commande ll.
11. Taper la commande echo “$(<lmat)”. Que remarquez-vous?
12. Faire des modification sur file1 et puis sur lmat et interpréter à chaquer fois le contenu des deux fichiers.
13. Supprimer file1, que remarquez vous?
Pour chacune de ces commandes, étudier la page d’aide et donner une description de la commande.
Tester chacune de ces commandes sur des exemples concrets et analyser la réponse du système.