Vous êtes sur la page 1sur 7

2I

Thorie Systme dExploitation 2010-2011

Examen de rattrapage Thorie Systme dExploitation (Dure 2h)


Janvier 2011

Exercice 1 : (9 pts) Partie I :


1. Rappelez la dfinition et les objectifs de l'ordonnancement des processus. 2. Rappelez les critres de performance des politiques d'ordonnancement. 3. Donnez un exemple de politique d'ordonnancement qui peut crer une situation de famine.

Partie II :
Les processus suivants doivent tre excuts sur un ordinateur ayant un seul CPU : Processus 1 2 3 4 5 Date de dbut dexcution 0 4 4 7 8 Dure suppose dexcution 14 12 7 4 7

1. On supposera que le temps de commutation de contexte est ngligeable. Donner le diagramme de Gantt et le temps moyen de traitement lorsque lalgorithme dordonnancement de processus utilis par le systme dexploitation utilise la mthode dite du plus court temps dexcution restant. 2. Mme question avec la mthode par quantum (on prendra 4 comme dure dun quantum)

Prcisions : Ces processus ne font pas d'entres-sorties et leur priorit ne change pas en cours d'excution. On ne tiendra pas compte du temps de commutation des processus. Les processus sont excutes sur le mme processeur.

Exercice 2 : (5 pts)
Soit le programme suivant : /_ prog tube1 . c _/ #inc lude<stdio.h> #inc lude<stdlib.h> #inc lude<unistd.h> #inc lude<sys/wait.h> #define LECTURE 0

Hassine Moungla

2I #define ECRITURE 1 int main ( ) { int fd [ 2 ] ; int cpt ; char message [ ] = Hello daddy ! ; char buf [ 8 ] ; i f ( pipe ( fd ) == 1) { perror ( Erreur a la cration du tube ) ; exit(1) ; } switch ( f o r k ( ) ) { case 1 : perror ( Erreur a la cration du fils ) ; exit(2) ; break ;

Thorie Systme dExploitation 2010-2011

case 0 : if ( write ( fd [ECRITURE] , message , s i z e o f (message ) ) == 1) { perror ( Erreur lors de l criture du message ) ; exit(3) ; } close ( fd [LECTURE] ) ; close ( fd [ECRITURE] ) ; break ; default : wait (NULL) ; while (( cpt = read ( fd [LECTURE] , buf , sizeof(buf) 1 ) ) > 0 ) { buf [cpt] = \ 0 ; printf ( buf contient %s \n , buf ) ; } close ( fd [ECRITURE] ) ; close ( fd [LECTURE] ) ; } } 1. Dcrivez les diffrentes tapes de lexcution du programme prog tube1.c 2. Est-ce que le programme prog tube1.c ne se termine ? si non, proposer une modification minimale du code source permettant de rsoudre ce problme.

Hassine Moungla

2I

Thorie Systme dExploitation 2010-2011

Exercice 4 : (6 pts)
On considre les deux structures de filiation (chaine et arbre) reprsentes ci-aprs. crire un programme qui ralise une chaine de n processus, o n est passe en paramtre de l'excution de la commande (par exemple, n = 3 sur la figure ci-dessus). Faire imprimer le numro de chaque processus et celui de son pre. Mme question avec la structure en arbre.

pid, ppid

pid, ppid

pid, ppid EXIT

Structure chaine

pid, ppid pid, ppid EXIT EXIT

pid, ppid

pid, ppid EXIT

pid, ppid EXIT

Structure arbre

Annexe :

Hassine Moungla

2I
0 Unit de temps

Thorie Systme dExploitation 2010-2011


Processus

Hassine Moungla

2I
0 Unit de temps

Thorie Systme dExploitation 2010-2011

Processus

Hassine Moungla

2I
0 Unit de temps

Thorie Systme dExploitation 2010-2011


Processus

Hassine Moungla

2I
0 Unit de temps

Thorie Systme dExploitation 2010-2011


Processus

Hassine Moungla