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