Université de La Manouba
Ecole Nationale des Sciences
de l’Informatique
Section : A.U. : 20011/2012
Module : Int. SE & Mise en œuvre UNIX
Classe : II1
Session : Principale
Surveillants
Signatures des
Nom : ……………………… Prénom :……………………..
N° CIN : …………………………………………………….
N° d’inscription : ……………………………………………
Signature de
l’étudiant
Date : 17/5/2012 Salle n° :…………………. Place n° :…………………..
(cid:1)- - - - - - - - - - - - - -- - - - - - - - - - - - - -- - - - - - - - - - - - - -- - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - -
²
Note
Appréciations du correcteur
Examen de la Session Principale
Documents non autorisés
Exercice 1 (4 pts) Comparaisons d'implantation de fichiers
On considère les quatre représentations suivantes de la localisation d'un fichier :
a) Un couple <numéro du premier bloc, nombre de blocs>
b) Un couple <numéro du premier bloc, numéro du dernier bloc> avec chaînage des blocs entre eux.
c) Un ensemble de 24 couples <numéro de bloc, nombre de blocs>
d) Un ensemble de 13 numéros de blocs:
-
-
-
-
10 numéros de blocs contenant des données,
1 numéro de bloc contenant des numéros de blocs contenant des données,
1 numéro de bloc contenant des numéros de blocs contenant des numéros de blocs contenant des données,
1 numéro de bloc contenant des numéros de blocs contenant des numéros de blocs contenant des numéros de blocs
contenant des données,
Donner pour chacune de ces représentations, celles des propositions suivantes qui sont vérifiées, en justifiant brièvement
votre réponse.
Il est possible que le fichier ne puisse être créé alors que l'espace libre est supérieur à la taille du fichier.
1. La taille totale du fichier doit être connue lors de sa création.
2. Aucune information de taille n'est nécessaire lors de la création.
3.
4. L'accès aléatoire à un bloc quelconque du fichier demande un seul accès disque.
5. L'accès aléatoire à un bloc quelconque du fichier demande au plus 4 accès disque.
6. L'allocation d'espace peut se faire par blocs individuels.
Cocher les cases qui correspondent aux propositions correctes, puis justifier votre réponse
a.
1
2
3
4
5
6
/1
/1
/1
/1
………………………………………………………………………………………………………….………………….
………..……………………………………………………………………………………………………………………
b.
1
2
3
Publicité
4
5
6
………………………………………………………………………………………………………….………………….
………..……………………………………………………………………………………………………………………
c.
1
2
3
4
5
6
………………………………………………………………………………………………………….………………….
………..……………………………………………………………………………………………………………………
d.
1
2
3
4
5
6
………………………………………………………………………………………………………….………………….
………..……………………………………………………………………………………………………………………
1
NE RIEN ECRIRE ICI
(cid:1)- - - - - - - - - - - - - -- - - - - - - - - - - - - -- - - - - - - - - - - - - -- - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - -
Exercice 2 (5 pts) SGF
On considère un petit disque de 64 secteurs décrit en ANNEXE I. Ce disque accueille un SGF similaire au FFS (Fast File
System) d’UNIX. Les 16 premiers secteurs du disque sont réservés pour la table des i-nœuds.
Chaque secteur contite quatre mots de 4 octets. Un i-noeud remplit un secteur et contient 2 pointeurs directs, 1 pointeur
indirect, et 1 double-pointeur indirect. Un i-nœud est un entier de 4 octets. Dans un répertoire, un nom de fichier est un
tableau de 4 octets. Un identificateur de bloc est un entier de 4 octets. Le répertoire racine est 0.
1. Quelle est la taille (en secteurs) du fichier décrit par l’i-noeud 1?
/0.5
/0.5
/1
/1
/1
/1
……….………..…………………………………………………………….……………….…………………………………
……….………..…………………………………………………………….……………….…………………………………
2. Quelle est la taille (en secteurs) du fichier décrit par l’i-noeud 4?
……………………………………………………………………………………………………………………………….…
……………………………………………………………………………………………………………………………….…
3. Quelle la liste des noms de fichiers pour le répertoire racine
…………………………………………………………………………………………….……………….………...…………
…….………..…………………………………………………………………………………………………………………
4. Quel est l’i-nœud du fichier /MARY/ABLE?
…….………..…………………………………………………………………………………………………………………
…….………..…………………………………………………………………………………………………………………
5. Pour le système de fichiers sur ce disque, que dois-je faire si j'ai bien lu l'intégralité du fichier / ME / WAS?
…………………………………………………………………………………………….……………….………...…………
…….………..…………………………………………………………………………………………………………………
6. Ce système de fichiers peut-il supporter les liens symboliques? Pourquoi ?
…………………………………………………………………………………………….……………….………...…………
…………………………………………………………………………………………….……………….………...…………
…….………..…………………………………………………………………………………………………………………
Exercice 3 (6=3+3 pts) Programmation système
Utilisez les appels systèmes : open, read, write, close et stat (voir ANNEXE II) pour :
1. Ecrire un extrait de code en C permettant de vérifier qu’un fichier passé en argument d’appel est accessible
uniquement en lecture et écriture pour le propriétaire.
2
Université de La Manouba
Publicité
Ecole Nationale des Sciences
de l’Informatique
Section : A.U. : 20011/2012
Module : Int. SE & Mise en œuvre UNIX
Classe : II1
Session : Principale
Surveillants
Signatures des
Nom : ……………………… Prénom :……………………..
N° CIN : …………………………………………………….
N° d’inscription : ……………………………………………
Signature de
l’étudiant
Date : 17/5/2012 Salle n° :…………………. Place n° :…………………..
(cid:1)- - - - - - - - - - - - - -- - - - - - - - - - - - - -- - - - - - - - - - - - - -- - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - -
/3
………………………………………………………………………………………………………….………………….……
…..………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………….………………….……
…..………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………….………………….……
…..………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………….………………….……
…..………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………….………………….……
…..………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………….………………….……
…..………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………….………………….……
…..………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………….………………….……
…..………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………….………………….……
…..………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………….………………….……
…..………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………….………………….……
………………………………………………………………………………….………………………………………………
……………………………………………………………………….……………….……………….………..………………
………………………………………………………………………………………………………….………..……………
…………………………………………………………………………………………….……………….………...…………
…………………………………………………………………………………………….……………….………...…………
…….………..…………………………………………………………………………………………………………………
2. Ecrire un extrait de code en C permettant de dupliquer le contenu d’un fichier en remplaçant tous ses caractères
minuscules en majuscules. La source et la cible sont supposés être des noms de fichier correct et avec les droits
d’accès nécessaires pour la réalisation de cette opération.
3
NE RIEN ECRIRE ICI
(cid:1)- - - - - - - - - - - - - -- - - - - - - - - - - - - -- - - - - - - - - - - - - -- - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - -
/3
………………………………………………………………………………………………………….………………….……
…..………………………………………………………………………………………………………………………………
………………………………………………………………………………….………………………………………………
……………………………………………………………………….……………….……………….………..………………
………………………………………………………………………………………………………….………..……………
…………………………………………………………………………………………….……………….………...…………
…….………..…………………………………………………………………………………………………………………
……….………..…………………………………………………………….……………….…………………………………
…………………………………………………………………………………………….……………….……………….…
……..………………………………………………………………………………………………………………………….
………..………………………………………………………………………………………………………….……………
….………...……………….………..…………………………………………………………………………………………
……………………………….………..…………………………………………………………….……………….…………
Publicité
…………………………………………………………………………………………………………………….……………
….……………….………..……………………………………………………………………………………………………
…………………….………..…………………………………………………………………………………………………
……….……………….………...……………….………..……………………………………………………………………
…………………………………………………….………..…………………………………………………………….……
….……………….………..……………………………………………………………………………………………………
…………………….………..…………………………………………………………………………………………………
……….……………….………...……………….………..……………………………………………………………………
…………………………………………………….………..…………………………………………………………….……
Exercice 4 (5=4+1 pts) outils make, gdb ,…
1. Donner le fichier Makefile pour construire le programme « commande », correspondant à la
situation suivante :
• Le fichier commande.c contient la fonction main et inclut les fichiers suivants : <stdio.h>, <string.h>,
<math.h>, "commun.h", "util.h" et "fichier.h"
• Le fichier util.c inclut les fichiers suivants : <stdio.h>, "commun.h" et "util.h"
• Le fichier commun.c inclut les fichiers suivants : <stdio.h>, "commun.h" et "fichier.h"
• Le fichier libfichier.a contient les fonctions déclarées dans le fichier fichier.h (fichier bibliothèque)
N.B.
-
- Utiliser les options de compilation pour indiquer : il s’agit de source en ANSI C, signaler tous les warnings et les
on utilise le compilateur C du projet GNU, gcc ;
considérer comme des erreurs;
4
Université de La Manouba
Ecole Nationale des Sciences
de l’Informatique
Section : A.U. : 20011/2012
Module : Int. SE & Mise en œuvre UNIX
Classe : II1
Session : Principale
Surveillants
Signatures des
Nom : ……………………… Prénom :……………………..
N° CIN : …………………………………………………….
N° d’inscription : ……………………………………………
Signature de
l’étudiant
Date : 17/5/2012 Salle n° :…………………. Place n° :…………………..
(cid:1)- - - - - - - - - - - - - -- - - - - - - - - - - - - -- - - - - - - - - - - - - -- - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - -
………………………………………………………………………………………………………………………
/4
………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………
………..………………………………………………………………………………………………………..….
………………………………………………………………………………………………………………………
…………………………….………..………………………………………………………………………………
………………………………….…………………………………………………………………………………
………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………
.………..………………………………………………………………………………………………………….…
…………….………..………………………………………………………………………………………………
………………………….………..…………………………………………………………………………………
……………………………….………………………………………………………………………………………
…………………….……………………………………………………………………………………….……………………
……….……….……….……….……….……………………………………………………………………………………….
2. Modifier Makefile pour pouvoir deboggué le programme par gdb
……………….………..……………………………………………………………………………………………
………………………………………………………………………………………………………………………
…………………………….………..………………………………………………………………………………
……………….……………….……………………………………………………………………………………
/1
………………………………………………………………………………………………………………………
Publicité
………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………
….………..………………………………………………………………………………………………………….
……………….………..……………………………………………………………………………………………
……………….………..……………………………………………………………………………………………
…………………………….………..………………………………………………………………………………
…………………………………….………………………………………………………………………………
5
NE RIEN ECRIRE ICI
(cid:1)- - - - - - - - - - - - - -- - - - - - - - - - - - - -- - - - - - - - - - - - - -- - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - -
…………………………….………………………………………………………………………………………
….……………….………..……………………………………………………………………………………………………
…………………….………..…………………………………………………………………………………………………
……….……………….………...……………….………..……………………………………………………………………
…………………….………..…………………………………………………………………………………………………
……….……………….………...……………….………..……………………………………………………………………
…………………….………..…………………………………………………………………………………………………
……….……………….………...……………….………..……………………………………………………………………
…………………….………..…………………………………………………………………………………………………
……….……………….………...……………….………..……………………………………………………………………
…………………….………..…………………………………………………………………………………………………
……….……………….………...……………….………..……………………………………………………………………
…………………….………..…………………………………………………………………………………………………
……….……………….………...……………….………..……………………………………………………………………
…………………….………..…………………………………………………………………………………………………
……….……………….………...……………….………..……………………………………………………………………
…………………….………..…………………………………………………………………………………………………
……….……………….………...……………….………..……………………………………………………………………
…………………….………..…………………………………………………………………………………………………
……….……………….………...……………….………..……………………………………………………………………
…………………….………..…………………………………………………………………………………………………
……….……………….………...……………….………..……………………………………………………………………
…………………….………..…………………………………………………………………………………………………
……….……………….………...……………….………..……………………………………………………………………
…………………….………..…………………………………………………………………………………………………
……….……………….………...……………….………..……………………………………………………………………
…………………….………..…………………………………………………………………………………………………
……….……………….………...……………….………..……………………………………………………………………
…………………………………………………….………..…………………………………………………………….…….
6
Université de La Manouba
Ecole Nationale des Sciences
de l’Informatique
Section : A.U. : 20011/2012
Module : Int. SE & Mise en œuvre UNIX
Classe : II1
Session : Principale
Surveillants
Signatures des
Nom : ……………………… Prénom :……………………..
N° CIN : …………………………………………………….
N° d’inscription : ……………………………………………
Signature de
l’étudiant
Date : 17/5/2012 Salle n° :…………………. Place n° :…………………..
(cid:1)- - - - - - - - - - - - - -- - - - - - - - - - - - - -- - - - - - - - - - - - - -- - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - -
Annexe
7