Exam in UNIX Implementation and Integration

Computer Science, Operating Systems, UNIX · exam

Voir tous les documents en systèmes d'exploitation et cloud

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