Système d'Exploitation II

Programming · exam

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

NOM :

PRENOM :

GROUPE :

CIN :

CODE :

SIG. ETUDIANT :

SIG. SURVEILLANT :

CODE :

NOTE :

ème

2

année Li en e LFIG, TSI, ECOM

Système d'Exploitation II

DS, Mars 2017, 60 min

ESEN - Université de la Manouba

Amine DHRAIEF

Cet examen omporte 7 questions, pour un total de 20 points. La larté de votre

expression et la qualité de votre é riture sont deux ritères pris en ompte dans la

notation.

Qui suis-je ? (2 points)

(a) (

1/2 point) Je suis une zone de données non initialisées.

1.

(b) (

1/2 point) Je suis une ommande qui liste la taille des di(cid:27)érents segments d'un

(a)

Segment BSS

pro essus.

( ) (

1/2 point) Je suis une stratégie d'optimisation des OS. Si de multiples appelants

(b)

size

demandent des ressour es initialement impossibles à distinguer, je leur fournit des

pointeurs vers la même ressour e. Ce i est maintenue jusqu'à e qu'un des appelants

modi(cid:28)e sa (cid:16) opie(cid:17) de la ressour e.

(d) (

1/2 point) Je suis un appel système qui permet de réer un pro essus.

( )

opy on write

(d)

fork

Con urren e et syn hronisation des Pro essus (3 points)

2. Dé(cid:28)nissez les termes suivants :

(a) (

1/2 point) Ob jet ritique :

Solution: Ob jet qui ne peut être a éder simultanément.

(b) (

1/2 point) Se tion ritique :

Solution: Ensemble de suites d'instru tions qui opèrent sur un ou plusieurs

ob jets ritiques

Page 1 sur 7

Points obtenus :

sur un total de 3 points

NE RIEN ÉCRIRE ICI

3. Quelles sont les quartes propriétés qui doivent être véri(cid:28)ées pour s'assurer un a ès

ex lusif à une se tion ritique ?

(a) (

(b) (

( ) (

(d) (

1/2 point) Propriété 1 :

1/2 point) Propriété 2 :

1/2 point) Propriété 3 :

1/2 point) Propriété 4 :

Solution:

Publicité

  • Uni ité : Un et un seul pro essus en se tion ritique
  • Pas d'ex ès de politesse : Condition de Progression Si plusieurs pro essus sont en

attente pour entrer dans leur se tion ritique, alors qu'au un ne se trouve en se tion

ritique, l'un d'eux doit pouvoir y rentrer au bout d'un temps (cid:28)ni.

  • Non interblo age : Si un pro essus est bloqué hors sa se tion ritique, e blo age

ne doit pas empê her les autres pro essus d'entrer en se tion ritique.

  • Équité : Il n'existe au un privilège entre les divers pro essus et l'entrée de la se tion

ritique ne doit pas dépendre de la volonté d'un pro essus parti ulier.

Gestion des Pro essus (7 points)

4. Considérez le ode suivant

i n t m a in ( v o i d )

p i d_ t p1 , p 2 ;

p 1 = f o r k ( ) ;

p 2 = f o r k ( ) ;

i f

( p 1

p 2 >0) f o r k ( ) ;

p r i n t f

( " P r o e s s u s %d : p 1=%d , p 2=%d \ n " , g e t p i d ( ) , p1 , p 2 ) ;

r e t u r n 0 ;

{

}

}

(a) (2

1/2 points) Donnez le nombre ainsi que l'arbores en e des pro essus réés par e

Page 2 sur 7

Points obtenus :

sur un total de 4

1/2 points

NOM :

PRENOM :

GROUPE :

CIN :

CODE :

SIG. ETUDIANT :

SIG. SURVEILLANT :

CODE :

ode.

Solution: P1 (cid:21)> P2 (cid:21)> P5

(cid:21)> P3

(cid:21)> P4

(b) (2

1/2 points) Expliquez pour haque pro essus, les valeurs de p1 et p2 a(cid:30) hées à

l'é ran. Les PIDs des n pro essus réés seront a(cid:30) hés à l'é ran omme suit : PID-

P1, PID-P2,...PID-Pn.

Solution: P1 : Pro essus PID-P1 : p1=PID-P2, p2=PID-P3

P2 : Pro essus PID-P1 : p1=0, p2=PID-P4

P3 : Pro essus PID-P1 : p1=PID-P2, p2=0

P4 : Pro essus PID-P4 : p1=0, p2=0

P5 : Pro essus PID-P5 : p1=PID-P2, p2=PID-P3

( ) (2 points) Ce ode peut générer des pro essus orphelins adoptés par le pro essus

(cid:16)init(cid:17). Il est possible de modi(cid:28)er le ode a(cid:28)n d'éviter des orphelins. Donnez le ode

modi(cid:28)é.

Page 3 sur 7

Points obtenus :

sur un total de 4

1/2 points

NE RIEN ÉCRIRE ICI

Solution:

i n t m a in ( v o i d )

p i d_ t p1 , p 2 ;

p 1 = f o r k ( ) ;

p 2 = f o r k ( ) ;

Publicité

i f

( p 1

p 2 >0) f o r k ( ) ;

p r i n t f

( " P r o e s s u s %d : p 1=%d , p 2=%d \ n " , g e t p i d ( ) , p1 , p 2 ) ;

w a i t (NULL ) ;

r e t u r n 0 ;

{

}

}

Gestion des Threads (8 points)

5. (4 points) Corrigez e ode pour qu'il ompile et s'exé ute orre tement. La orre tion

se fera dire tement sur le ode. Le ode ontient 4 erreurs.

#i n l u d e < s t d i o . h>

#i n l u d e < s t d l i b . h>

i n t m a in ( v o i d )

{

p t h r e a d _ t

t h r ;

i n t

p t r _ i n t ;

p t r _ i n t = m a l l o ( s i z e o f ( i n t ) ) ;

i f

( p t r _ i n t == NULL ) {

p e r r o r ( " m a l l o " ) ;

e x i t (EXIT_FAILURE ) ;

}

p t r _ i n t = 1 9 ;

i f

( p t h r e a d _ r e a t e ( t h r , NULL ,

f o n t i o n _ t h r e a d , p t r _ i n t

) != 0 ) {

f p r i n t f ( s t d e r r , " E r r e u r d a n s p t h r e a d _ r e a t e \ n " ) ;

e x i t (EXIT_FAILURE ) ;

}

Page 4 sur 7

Points obtenus :

sur un total de 4 points

NOM :

PRENOM :

GROUPE :

CIN :

CODE :

SIG. ETUDIANT :

SIG. SURVEILLANT :

CODE :

p t h r e a d _ j o i n ( t h r

, NULL ) ;

f p r i n t f ( s t d e r r , " T h r e a d Ma in \ n " ) ;

r e t u r n 0 ;

}

v o i d

f o n t i o n _ t h r e a d ( )

{

i n t

p t r _ i n t _ 2 = ( i n t

) a r g ;

i n t

temp=

p t r _ i n t _ 2 ;

Publicité

f r e e ( a r g ) ;

}

Solution:

#i n l u d e <p t h r e a d . h> /

1

/

#i n l u d e < s t d i o . h>

#i n l u d e < s t d l i b . h>

v o i d

f o n t i o n _ t h r e a d ( v o i d

a r g ) ; /

2

/

i n t m a in ( v o i d )

{

p t h r e a d _ t

t h r ;

i n t

p t r _ i n t ;

p t r _ i n t = m a l l o ( s i z e o f ( i n t ) ) ;

i f

( p t r _ i n t == NULL ) {

p e r r o r ( " m a l l o " ) ;

e x i t (EXIT_FAILURE ) ;

}

p t r _ i n t = 1 9 ;

/

3 &t h r au l i e u d e t h r

/

i f

( p t h r e a d _ r e a t e (& t h r , NULL ,

f o n t i o n _ t h r e a d , p t r _ i n t

) != 0 ) {

f p r i n t f ( s t d e r r , " E r r e u r d a n s p t h r e a d _ r e a t e \ n " ) ;

e x i t (EXIT_FAILURE ) ;

Page 5 sur 7

Points obtenus :

sur un total de 0 points

NE RIEN ÉCRIRE ICI

}

p t h r e a d _ j o i n ( t h r

, NULL ) ;

f p r i n t f ( s t d e r r , " T h r e a d Ma in \ n " ) ;

}

/

4 v o i d

a r g

/

v o i d

Publicité

f o n t i o n _ t h r e a d ( v o i d

a r g )

{

}

i n t

p t r _ i n t _ 2 = ( i n t

) a r g ;

i n t temp=

p t r _ i n t _ 2 ;

f r e e ( a r g ) ;

6. (2 points) Un thread dispose ex lusivement d' :

A. un identi(cid:28)ant

B. une se tion de données

C. un program ounter

D. un ensemble de registres

E. une pile

F. une se tion de ode

7. (2 points) Un thread partage ave les autres threads :

6.

A,C,D,E

A. un identi(cid:28)ant

B. une se tion de données

C. un program ounter

D. un ensemble de registres

E. une pile

F. une se tion de ode

Page 6 sur 7

Points obtenus :

sur un total de 4 points

7.

B,F

NOM :

PRENOM :

GROUPE :

CIN :

CODE :

SIG. ETUDIANT :

SIG. SURVEILLANT :

CODE :

Page:

1

2

3

4

6

Total

Points:

3

4

1/2

1/2

4

4

4

20

S ore:

Page 7 sur 7

Fin du DS