SystŁmes d’Exploitation I - Examen Mai 2018

Page 1 sur 7Lecteur de document UniversityLib

SystŁmes d’Exploitation I - Examen Mai 2018

Programming, Operating Systems, Scheduling · exam

NOM :

PRENOM :

GROUPE :

CIN :

CODE :

SIG. ETUDIANT :

SIG. SURVEILLANT :

CODE :

NOTE :

1Łre annØe LFIG, TSI, ECOM - SystŁmes d’Exploitation I

Examen, Mai 2018, 90 min

ESEN - UniversitØ de la Manouba

AMINE DHRAIEF - CHIEHB-EDDINE BEN N’CIR

Cet examen comporte 7 questions, pour un total de 20 points. La clartØ de votre

expression et la qualitØ de votre Øcriture sont deux critŁres pris en compte dans la

notation.

Gestion des Processus (6 points)

Qui suis-je ? (2 points)

1.

(a) (1/2 point) Je suis un processus qui s’est terminØ mais son pŁre n’a pas encore lu

son code de retour.

(b) (1/2 point) Je suis un processus dont le pŁre s’est terminØ avant lui.

(a) Processus Zombie

(c) (1/2 point) Je suis un appel systŁme qui permet de crØer un processus.

(d) (1/2 point) Je suis un appel systŁme qui a(cid:30)che le PID du processus pŁre.

(c)

fork()

(d) getppid()

(b) Processus Orphelin

Page 1 sur 7

Points obtenus :

sur un total de 2 points

NE RIEN (cid:201)CRIRE ICI

A(cid:30)chage d’un processus (2 points)

2. (2 points) Soit le code ci-dessous

i n t main ( )

{

pid_t pi d ;

i n t v a l u e = 5 ;

p id = f o r k ( ) ;

i f

( p i d == 0 ) {

v a l u e += 1 5 ;

r e t u r n 0 ; }

e l s e

i f

( p i d > 0 ) {

w ait (NULL ) ;

p r i n t f ( " v a l u e = %d " , v a l u e ) ; }

r e t u r n 0 ;

}

Que va a(cid:30)cher ce code, sachant que wait(NULL) permet (cid:224) un processus pŁre d’attendre

la (cid:28)n d’exØcution de son processus (cid:28)ls ?

Solution: value = 5 l’incrØmentation a eu lieu sur la copie du (cid:28)ls (copy on write)

Arborescence des processus (2 points)

3. (2 points) Soit l’arborescence des processus prØsentØe par la (cid:28)gure ci-dessous :

Proposez un code qui va gØnØrer cette arborescence ?

P1 → P2 → P3 → P4 → P5

Page 2 sur 7

Points obtenus :

sur un total de 4 points

NOM :

Publicité

PRENOM :

GROUPE :

CIN :

CODE :

SIG. ETUDIANT :

SIG. SURVEILLANT :

CODE :

Solution:

i n t main ( )

{

i f ( f o r k ()==0)

i f ( f o r k ()==0)

i f ( f o r k ()==0)

i f ( f o r k ()==0)

wait (NULL ) ;

p r i n t f ("%d −−> %d \n " , g e t p p i d ( ) , g e t p i d ( ) ) ;

r e t u r n 0 ;

}

ou bien

i ;

i n t main ( )

{

i n t

i =0;

f o r ( i =0; i <4; i ++)

{

i f ( f o r k ( ) ) break ;

}

p r i n t f ("%d −−> %d\n " , g e t p p i d ( ) , g e t p i d ( ) ) ;

r e t u r n 0 ;

}

Page 3 sur 7

Points obtenus :

sur un total de 0 points

NE RIEN (cid:201)CRIRE ICI

Ordonnancement des Processus (7 points)

Qui suis-je ? (2 points)

4.

(a) (1/2 point) Je suis la version avec rØquisition de l’algorithme d’ordonnancement SJF.

(b) (1/2 point) Je suis la di(cid:27)Ørence entre le temps de la premiŁre exØcution et le temps

d’entrØe dans le systŁme.

(a)

SRT

(c) (1/2 point) Je suis la di(cid:27)Ørence entre le temps de terminaison et le temps d’entrØe

dans le systŁme.

(b) temps d’attente

(d) (1/2 point) Je suis la version avec rØquisition de l’algorithme d’ordonnancement

PAPS (FCFS).

(c) temps de sØjour

(d) Round Robin ou Tourniquet

Ordonnancement Round Robin vs. SJF (5 points)

ConsidØrons cinq processus P1, P2, P3, P4, P5, dont les temps d’exØcution et leurs temps

d’arrivØe respectifs sont les suivants

Processus Temps d’arrivØe Temps d’exØcution

P1

P2

P3

P4

P5

0

2

4

Publicité

6

8

3

6

4

5

2

5.

(a) (2 points) Dessiner le diagramme de GANTT pour l’ordonnancement SJF.

Page 4 sur 7

Points obtenus :

sur un total de 4 points

NOM :

PRENOM :

GROUPE :

CIN :

CODE :

SIG. ETUDIANT :

SIG. SURVEILLANT :

CODE :

Solution:

P1 P2 P5 P3 P4

20

11

3

15

9

(b) (2 points) Dessiner le diagramme de GANTT pour l’ordonnancement Round Robin

(quantum = 2 unitØs de temps).

Solution:

P1 P2 P1 P3 P2 P4 P3 P5 P2 P4

20

2

17

15

11

13

7

5

4

9

(c) (1 point) Lequel des deux ordonnancements SJF/Round Robin peut entra(cid:238)ner l’ap-

parition de la famine ? Justi(cid:28)ez votre rØponse.

Solution: SJF car sans rØquisition

Gestion des Fichiers (7 points)

Qui suis-je ? (2 points)

6.

(a) (1/2 point) Je suis une table stockØe (cid:224) la (cid:28)n du MBR, je contiens des informations

sur la subdivision logique du disque dur. J’indique l’adresse de dØbut et de (cid:28)n de

chaque subdivision logique.

(b) (1/2 point) Je suis la plus petite unitØ de stockage d’un systŁme de (cid:28)chiers d’un

systŁme informatique. Le choix de sa taille est e(cid:27)ectuØ lors du formatage du disque,

et in(cid:29)ue sur les performances et sur la capacitØ utile du disque.

(c) (1/2 point) Je suis une structure de donnØe associØe (cid:224) un seul (cid:28)chier. Je contiens

(b)

Blocs

(a) Table de partitions

Page 5 sur 7

Points obtenus :

sur un total de 41/2 points

NE RIEN (cid:201)CRIRE ICI

essentiellement les adresses des blocs de donnØes du (cid:28)chier.

Publicité

(d) (1/2 point) Je suis une structure de donnØe qui contient les adresses des blocs de

donnØes des di(cid:27)Ørents (cid:28)chiers stockØs sur une partition en utilisant une liste cha(cid:238)nØe

indexØe.

(c)

i-node

(d)

FAT

FAT pour un disque de 1 To (5 points)

7. ConsidØrons un disque dur ayant une capacitØ de 1 To et un systŁme de gestion de (cid:28)chier

utilisant FAT-32.

(a) (1 point) Donner la taille minimale de bloc physique en Kilo octets pour indexer

tout l’espace disque.

Solution: Taille du disque = 1T o = 240octets. Une entrØe de la FAT-32 a 28

bits. Nombre d’unitØ d’allocations (nombre d’entrØe possibles) = = 228. Taille

minimale de bloc physique = 1 bloc physique = 240/228 = 212octets = 4Koctets

(b) (1 point) Quelle est alors la taille minimale d’un (cid:28)chier dans un tel systŁme ?

Solution: Taille du disque = 21T o = 240. Une entrØe de la FAT (cid:224) 28 bits.

Nombre d’unitØ d’allocations (nombre d’entrØe possibles) = = 228. Taille mini-

male d’un (cid:28)chier = 1 bloc physique = 4 Koctets

(c) (1 point) Calculer le nombre de blocs nØcessaires pour stocker la table FAT sur le

disque.

Solution: Taille de la table FAT = 228 ∗ 28bits. nombre de blocs nØcessaires

= 228 ∗ 28/215 = 28 ∗ 213blocs

Page 6 sur 7

Points obtenus :

sur un total de 31/2 points

NOM :

PRENOM :

GROUPE :

CIN :

CODE :

SIG. ETUDIANT :

SIG. SURVEILLANT :

CODE :

(d) (1 point) Pour la mØmorisation de blocs libres de cette unitØ disque, la mØthode

table de bits (bitmap) est utilisØe. Quelle est la taille de la table de bits en blocs ?

Solution: Taille de la table de bit = nombre de blocs du disque = 228bits. Taille

de la table en bloc = 228/215 = 213blocs

(e) (1 point) Vous dØcidez de formater ce disque dur en FAT-16 en choisissant des

blocs physiques de 32 Koctets. Expliquer pourquoi il est dØconseillØ fortement de

faire cette opØration ?

Solution: taille max = 216 ∗ 215 = 231 = 2GB <<< 1T o

1

2

2

4

4

4

5

41/2

6

31/2

7

2

Total

20

Page:

Points:

Score:

Page 7 sur 7

Fin de l’Examen