Vous êtes sur la page 1sur 2

Ecole Nationale des Sciences de l’Informatique A. U.

: 2023/2024
Systèmes d’exploitation & Programmation Concurrente II2

TD 1

Exercice 1

Considérons les processus suivants :

Date
Temps de traitement estimé (ms) Priorité
d’arrivée
P0 0 4CPU + 1I/O + 3CPU + 1I/O 3

P1 1 4CPU + 1I/O + 4CPU + 2I/O 2

P2 2 4CPU + 2I/O + 4CPU + 1I/O 2

P3 4 8 CPU + 2I/O 1

P4 3 9 CPU + 2I/O 1

1) Tracez le diagramme de GANTT correspondant à l’algorithme


d’ordonnancement du processeur selon l’algorithme Round Robin (RR) avec
un intervalle de temps=2 ms, sans considération de la priorité, sachant que la
gestion des E/S se fait selon l’algorithme FIFO. En déduire le temps de
traitement de chaque processus.

2) Refaire la question 1) en tenant compte de la priorité des processus (1 étant


niveau plus prioritaire). En déduire les temps de réponse ainsi que les temps
d’attente de chaque processus.
Exercice 2

Supposons que les appels à la fonction fork() ne retournent pas d’erreur. On


considère le programme suivant :

int main(void)

int i=0 ;

if( fork() && fork() )

fork() ;

i++ ;

printf(« %d\n »,i) ;

exit (EXIT_SUCCESS) ;

1) Tracez l’arborescence des processus engendrés par ce programme.

2) Combien de processus sont créés ? Et quelles sont les valeurs affichées ?

3) Quel arbre obtient-on si l’on remplace l’instruction if par (fork() && fork() *
fork()) ?

Vous aimerez peut-être aussi