Systèmes d'exploitation I - 1

Systèmes d'exploitation, Programmation · lab

Browse all programmation documents

Systèmes d'exploitation I - 1

année Li en e

ère

Travaux Pratiques 3 : la gestion des pro essus

ESEN - Université de la Manouba

Amine DHRAIEF

1. Pré isez le nombre de pro essus réer par les programmes i-dessous et dessinez l'arbo-

res en e des pro essus orrespondante en justi(cid:28)ant votre réponse

/

Code 1

/

i n t m a in ( ) {

f o r k ( ) ;

f o r k ( ) ;

f o r k ( ) ;

}

/

Code 2

/

i n t m a in ( ) {

i f

Advertisement

( f o r k ( ) > 0 )

f o r k ( ) ;

}

}

/

Code 3

/

i n t m a in ( ) {

i n t p t = 0 ;

wh i l e ( p t < 3 ) {

i f

( f o r k ( ) > 0 )

p t ++;

e l s e

p t = 3 ;

}

2. Remplissez les hamps (1),(2) dans le ode i-dessous pour que :

(a) le pro essus père a(cid:30) he son PID ainsi que le PID de son (cid:28)ls.

(b) le pro essus (cid:28)ls a(cid:30) he son PID ainsi que le PID de son père.

i n t m a in ( )

{

p i d_ t p i d ;

p i d = f o r k ( ) ;

Advertisement

i f

( p i d == 0 )

{

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

; /

( 1 )

/

}

e l s e

{

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

; /

( 2 )

/

}

r e tu rn 0 ;

}

3. Combien de pro essus engendre l'exé ution du programme C suivant ? En donner l'ar-

bores en e ?

i n t m a in ( vo id ) {

f o r k ( ) && (

Advertisement

f o r k ( )

| |

f o r k ( )

) ;

s l e e p ( 2 ) ;

r e tu rn 0 ;

}

Page 2

4. Qu'est e qu'un pro essus zombie ? en dé rivant les grandes lignes du programme, expli-

quez omment réer un pro essus zombie.

5. Qu'est e qu'un pro essus orphelin ? Une fois orphelin, à qui est-il ratta hé ? Dé rire les

grandes lignes d'un programme permettant de réer un orphelin.

6. Dans les programmes suivants, ra jouter les instru tions wait() et les éventuels tests

onditionnant l'exé ution de es dernières de sorte que haque pro essus enfant informe

orre tement son parent de sa (cid:28)n d'exé ution.

i n t m a in ( ) {

i n t r e s u l t , a = 0 ;

r e s u l t = f o r k ( ) ;

i f

( r e s u l t > 0 )

a = 5 ;

}

i n t m a in ( ) {

i n t r e s u l t 1 ,

r e s u l t 2 ,

Advertisement

r e s u l t 3 ;

r e s u l t 1 = f o r k ( ) ;

r e s u l t 2 = f o r k ( ) ;

r e s u l t 3 = f o r k ( ) ;

}

Page 3

i n t m a in ( ) {

i n t r e s u l t 1 ,

r e s u l t 2 ,

r e s u l t 3 ;

r e s u l t 1 = f o r k ( ) ;

i f

( r e s u l t 1 ==0) {

r e s u l t 2 = f o r k ( ) ;

i f

( r e s u l t 2 == 0 ) {

r e s u l t 3 = f o r k ( ) ;

}

}

}

Page 4