Vous êtes sur la page 1sur 2

TD 2.

La gestion des processus msec pour une entrée/sortie, puis exigera finalement 30 msec de temps
CPU. L'exécution du processus C nécessite 40 msec de temps CPU.
Le temps de changement de contexte est de 1 msec.

1. Donner le diagramme de Gantt en appliquant l’algorithme Round


Robin avec un quantum = 30msec
Exercice 1. 2. Calculer le temps de séjour moyen.
3. Répondre aux deux questions précédentes avec les valeurs
Considérons cinq processus A, B, C, D et E, dont les temps d’exécution et
suivantes : quantum = 30msec, et quantum = 50msec.
leurs arrivages respectifs sont donnés dans la table ci-dessous
Exercice 3.
Processus Durée d’exécution Temps d’arrivage
A 3 0 Soit le programme C suivant :
B 6 1
C 4 4
D 2 6 #include <stdio.h>
#include <unistd.h>
E 1 7 #include <sys/types.h>

En utilisant l’algorithme d’ordonnancement FIFO et Le plus court d’abord void main()


(SJF) {

1. Donner le diagramme de Gantt illustrant l’exécution de ces int resultat=fork();


processus if (resultat == -1)
2. Calculer le temps de séjour de chaque processus, le temps moyen prinf (" Fork a échoué! \n");
de séjour, le temps d’attente et le temps moyen d’attente
if (resultat == 0)
printf(" ceci est le processus fils %d\n", resultat);
else
printf(" ceci est le processus père %d\n", resultat);
Exercice 2.
sleep(10) ;
Soient trois processus A, B et C. Le processus A arrive en premier suivi de
}
B (20 msec après), puis C (46 msec après A). On suppose que l'exécution
du processus A nécessite 80 msec de temps CPU. L'exécution du processus
B nécessite d'abord 50 msec de temps CPU, bloquera ensuite durant 20
1
1. Quel est le résultat d’exécution de ce programme ?
2. Combien de processus avez-vous ?

Exercice 4.

Soit le programme C suivant :

#include <stdio.h>
#include <unistd.h>

main()
{
printf(« processus initial – pid = %d »,getpid() ) ;
execl(/bin/ps,/bin/ps, »-l», »1 »);
printf(« fin de execl ») ;
}

1. Le message « fin de execl » serait –t-il affiché ? si oui dans quel


cas ?sinon justifier ?
2. Modifier le programme pour qu’il puisse exécuter n’importe quel
commande dont on saisie le nom et deux de ses arguments au
clavier.
3. Ajouter les modifications nécessaires au programme pour qu’il
puisse exécuter les programme de façon continue jusqu’à saisi du
nom de la chaine « exit ».

Vous aimerez peut-être aussi