Test n°2 processus, signaux, ordonnancement, mémoire, disqu

Projet DVD-MIAGE 2010 – Test n°2

Processus, signaux, ordonnancement, mémoire, disques

Exercice 1 – Processus

Voici un programme en C :

int main () {int i, x, f;x = 1;for (i = 0; i < 3; i++) {f = fork ();if (f == 0) {x = x * 2;printf ("pid %d : %d\n", getpid(), x);}}return 0;}

Combien de lignes seront imprimées lors de l’exécution de ce programme ? Indiquez une des suites possibles. Par exemple : pid 500 : 2.

Exercice 2 – Signaux

Voici un programme en C :

int main (void) {if (fork())wait (NULL);printf ("[%d] fini\n", getpid());return 0;}
1) Explication du fonctionnement du programme

Ce programme utilise la fonction fork() pour créer un processus fils. Le processus père attend la fin du fils avec wait(NULL) avant d’afficher son message. Le fils, quant à lui, affiche son message immédiatement après son exécution.

2) Réécriture du programme sans wait()

Voici une solution alternative utilisant pause() et un gestionnaire de signaux :

#include <stdio.h>#include <stdlib.h>#include <sys/types.h>#include <sys/wait.h>#include <unistd.h>#include <signal.h>void gestionnaire (int sig) {if (sig == SIGCHLD)printf ("[%d] fini\n", getpid());elseexit(1);}int main (void) {signal(SIGCHLD, gestionnaire);if (fork())pause();elseprintf ("[%d] fini\n", getpid());return 0;}

Exercice 3 – Ordonnancement

Soit trois processus avec les données suivantes :

ProcessusDurée de traitementÉchéance
P145
P2512
P327
1) Politique Round-Robin avec un quantum de 1 unité de temps

Les échéances ne sont pas respectées.

2) Politique SJF non préemptif

Les échéances ne sont pas respectées.

3) Ordonnancement à priorités fixes

Pour respecter les échéances, attribuez les priorités suivantes : P3 (priorité 1), P1 (priorité 2), P2 (priorité 3). Le nouvel ordonnancement est : P3, P1, P2.

Exercice 4 – Mémoire

Un processus accède aux pages suivantes sur un système avec 3 cadres (0 à 2) et 8 pages (0 à 7) :

2, 1, 0, 7, 1, 6, 1, 5, 7, 6, 2, 6, 7, 0, 7, 1, 0, 2, 1, 7.

1) Algorithme OPT (algorithme de Belady)

À compléter avec un schéma des défauts de page et des pages victimes.

2) Algorithme FIFO

À compléter avec un schéma des défauts de page et des pages victimes.

3) Algorithme LRU

À compléter avec un schéma des défauts de page et des pages victimes.

Exercice 5 – Disques

Un disque dur possède 128 pistes (0 à 127). La tête de lecture/écriture se trouve sur la piste 15, après être venue de la piste 29. Les requêtes d’accès sont : 100, 30, 27, 55, 16, 122, 44, 63, 56.

1) Algorithme FIFO

Déplacement total de la tête : À calculer.

2) Algorithme SSTF

Déplacement total de la tête : À calculer.

FAQ

1. Que signifie "défaut de page" dans le contexte de la mémoire virtuelle ?

Un défaut de page survient lorsqu’un processus tente d’accéder à une page qui n’est pas présente dans la mémoire physique (cadres) et doit être chargée depuis le disque dur.

2. Comment fonctionne l’algorithme SJF non préemptif ?

SJF (Shortest Job First) non préemptif exécute le processus ayant la durée de traitement la plus courte disponible dans la file d’attente, sans interrompre son exécution.

3. Pourquoi l’ordonnancement à priorités peut-il ne pas respecter les échéances ?

Si les priorités ne sont pas attribuées de manière optimale (par exemple, un processus à faible priorité mais long à exécuter), certaines échéances peuvent être dépassées.

Cela peut vous intéresser :

Partagez vos remarques, questions , propositions d'amélioration ou d'autres cours à ajouter dans notre site

Enregistrer un commentaire (0)
Plus récente Plus ancienne