Correction du Test n°2 - Processus, Signaux, Ordonnancement, Mémoire et Disques (DVD-MIAGE 2010)
Exercice 1 – Processus
Solution :
- pid 15557 : 2
- pid 15558 : 4
- pid 15559 : 8
- pid 15560 : 2
- pid 15561 : 4
- pid 15562 : 4
- pid 15563 : 2
Exercice 2 – Signaux
Solution :
- Ligne 3 : création d'un processus fils. En cas de succès, le PID du fils est renvoyé au processus parent, et 0 est renvoyé au processus fils.Le processus père exécute
wait(NULL)et attend donc la terminaison de son fils avant de continuer. - Ligne 5 : les deux processus (père et fils) affichent leur numéro de PID suivi de « fini ».
#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <signal.h>static int drapeau = 0;static void interruption(int signum) { drapeau = 1; return; }static void (*old)(int signum);void init_wait_simple(void) {old = signal(SIGCHLD, interruption);}void end_wait_simple(void) {signal(SIGCHLD, old);}void wait_simple(void) {while (drapeau == 0) pause();drapeau = 0;}int main(void) {init_wait_simple();if (fork()) wait_simple();printf("[%d] fini\n", getpid());end_wait_simple();return 0;}Exercice 3 – Ordonnancement
Solution :
- Round-Robin (q=1) :
P1 P2 P3 P1– Le processus P1 ne respecte pas son échéance. - SJF (Shortest Job First) :
P1 P2 P3– Le processus P1 ne respecte pas son échéance. - Ordonnancement à priorités : La priorité des processus est fixe et dépend de leur échéance.
P1 P2 P3– Tous les processus respectent leur échéance.
Exercice 4 – Mémoire (Gestion des pages)
Solution :
- Algorithme OPT (Optimal) : Choix de la page victime référencée le plus tard dans le futur.
Page Cadre 0 Cadre 1 Cadre 2 Déf. de page 2 2 - - O 1 2 1 - O 0 2 1 0 O 7 2 1 0 N 1 2 1 0 O 6 2 1 6 N 1 2 1 6 O 5 2 5 6 N 7 7 5 6 O 6 7 5 6 O 2 2 5 6 N 6 2 5 6 O 7 2 5 7 O 0 0 5 7 N 7 0 5 7 O 1 0 1 7 O 0 0 1 7 O 2 2 1 7 N 1 2 1 7 O 7 2 1 7 O - Algorithme FIFO (First In First Out) : Choix de la page victime la plus ancienne en mémoire.
Page Cadre 0 Cadre 1 Cadre 2 Déf. de page 2 2 - - O 1 2 1 - O 0 2 1 0 O 7 7 1 0 N 1 7 1 0 O 6 7 1 6 N 1 7 1 6 O 5 7 5 6 N 7 7 5 6 O 6 7 5 6 O 2 2 5 6 N 6 2 5 6 O 7 2 5 7 O 0 0 5 7 N 7 0 5 7 O 1 0 1 7 O 0 0 1 7 O 2 2 1 7 N 1 2 1 7 O 7 2 1 7 O - Algorithme LRU (Least Recently Used) : Choix de la page victime non référencée depuis le plus longtemps.
Page Cadre 0 Cadre 1 Cadre 2 Déf. de page 2 2 - - O 1 2 1 - O 0 2 1 0 O 7 7 1 0 N 1 7 1 0 O 6 7 1 6 N 1 7 1 6 O 5 7 5 6 N 7 7 5 6 O 6 7 5 6 O 2 2 5 6 N 6 2 5 6 O 7 2 5 7 O 0 0 5 7 N 7 0 5 7 O 1 0 1 7 O 0 0 1 7 O 2 2 1 7 N 1 2 1 7 O 7 2 1 7 O
Exercice 5 – Disques
Solution :
- Algorithme FIFO : Positions consécutives de la tête de lecture/écriture : 15, 100, 30, 27, 55, 16, 122, 44, 63, 56.
Déplacement total :
85 + 70 + 3 + 28 + 39 + 106 + 78 + 19 + 7 = 435 - Algorithme SSTF (Shortest Seek Time First) : Positions consécutives de la tête de lecture/écriture : 15, 16, 27, 30, 44, 55, 56, 63, 100, 122.
Déplacement total :
1 + 11 + 3 + 14 + 11 + 1 + 7 + 37 + 22 = 107
Questions Fréquentes
Qu’est-ce que le PID d’un processus ?
Le PID (Process Identifier) est un numéro unique attribué à chaque processus en cours d’exécution par le système d’exploitation.
Comment fonctionne l’algorithme OPT en gestion des pages ?
L’algorithme OPT choisit la page victime qui ne sera pas utilisée pendant le plus longtemps dans le futur, minimisant ainsi les défauts de page.
Quelle est la différence entre FIFO et SSTF pour l’ordonnancement des disques ?
FIFO traite les requêtes dans l’ordre d’arrivée, tandis que SSTF privilégie les requêtes les plus proches de la tête de lecture pour réduire le temps de recherche.