Correction Examen SEA1-S2
Correction Examen SEA1-S2
Correction Examen SEA1-S2
Semestre : 2
Session : PRINCIPALE
Module : Système d’exploitation avancé (SEA1) Documents autorisés : NON
Enseignant(s) : UP Système Nombre de pages : 2
Classe(s) : 4EME ANNEE Date : 30/05/2022 Heure 14h30 Durée : 01h30
Exercice 1 (7 Points)
A l'aide des primitives « pipe » et « fork », écrire un programme P qui crée deux Fils
« F1 » et « F2 », tous les processus (Père et fils) doivent afficher les PID de tous les processus avant
de se terminer proprement.
1/2
Exercice 2 (6 points)
Soit l'algorithme suivant :
int main() {
int i=0 ;
pid_t pid1, pid2 ;
printf("La valeur du Compteur = %d \n",i) ;
pid1 = fork() ;
wait(NULL);
if (pid1 == -1) {
printf("Erreur") ;
return(1) ;
}
if (pid1 == 0) {
i++ ;
printf("La valeur du Compteur = %d\n",i) ;
pid2 = fork() ;
if (pid2 == -1) {
printf(" Erreur ") ;
return(1) ;
}
if (pid2 == 0) {
i++ ;
printf("La valeur du Compteur = %d\n",i) ;
}
}else {
i-- ;
printf("La valeur du Compteur = %d\n",i) ;
wait(NULL);
}
}
1- Indiquer le nombre de processus créés par ce programme. (1 point)
– Le premier processus père (qu'on appellera P1) est généré au lancement de l'application.
2/2
– Le processus P2 va appeler le deuxième fork(), ce qui va générer le processus P3.
• P1 va afficher :
1- Compteur = 0
4- Compteur -1
• P2 va afficher :
2- Compteur 1
• P3 va afficher :
3- Compteur 2
Exercice 3 (7 Points)
On suppose que l’exécution d’un processus se compose de deux temps processeur entre
lesquels s’intercale une demande d’E/S. On suppose de plus que les processus n’attendent pas pour
leur E/S (par exemple, ils utilisent tous un périphérique différent).
Les processus usuellement utilisés par le système après son chargement sont :
1. Donnez l’assignation pour l’ordonnancement des ces processus pour une stratégie Round
Robin avec un quantum du temps de 4 ms et calculer le temps moyen de séjour (temps de
rotation).
2. Donnez l’assignation pour l’ordonnancement de ces processus pour une stratégie Round
Robin virtuel avec quantum du temps de 4 ms. (Voir la description)
3/2
Un Round Robin Virtuel utilise deux
files « prêt ». Lorsqu’un processus qui
n’a pas consommé la totalité de son
quantum de temps est interrompu pour
faire une E/S, il est placé dans la file «
prêt » auxiliaire. Lors d’un choix de
sélection, les processus de la file « prêt
» auxiliaire sont prioritaires sur ceux
de la file « prêt » principale. Un
processus qui a été sélectionné à partir
de la file « prêt » auxiliaire ne
s’exécute que pendant un temps égal
au temps d’un quantum moins le
temps consommé du quantum
précédant l’E/S. Si le quantum
précédent est totalement consommé, le
processus est placé dans la file « prêt »
principale.
4/2