Vous êtes sur la page 1sur 2

SEOC - 2A

TD 2 : Processus et ordonnancement

Exercice 1. On considère les deux structures de filiation (chaîne et arbre) représentées ci-après.

Ecrire un programme qui réalise une chaîne de n processus, où n est passé en paramètre de
l'exécution de la commande (par exemple, n = 3 sur la figure ci-dessus). Faire imprimer le numéro
de chaque processus et celui de son père.
Même question avec la structure en arbre.

Exercice 2. Exécution d’un programme

La famille de primitive exec permet de créer un processus pour exécuter un programme déterminé
(qui a auparavant été placé dans un fichier, sous forme binaire exécutable). On utilise en particulier
execvp pour exécuter un programme en lui passant un tableau d’arguments. Le paramètre filename
pointe vers le nom absolu ou relatif) du fichier exécutable, argv vers le tableau contenant les
arguments (terminé par NULL) qui sera passé à la fonction main du programme lancé. Par
convention, le paramètre argv[0] contient le nom du fichier exécutable, les arguments suivants étant
les paramètres successifs de la commande.

Noter que les primitives exec provoquent le « recouvrement » de la mémoire du processus appelant
par le nouveau fichier exécutable. Il n'y a donc pas normalement de retour (sauf en cas d'erreur –
fichier inconnu ou permission - auquel cas la primitive renvoie -1).
SEOC - 2A

2.1 Que fait le programme suivant ?

2.2 Ecrire un programme doit qui exécute une commande nix qu’on lui passe en paramètre.

Exemple :

Exercice 4 Question de réflexion

Cinq jobs sont en attente d’exécution. Leurs délais d’exécution sont respectivement de 9, 6, 3, 5 et
X secondes. Dans quel ordre faut-il les exécuter pour réduire le temps de réponse moyen ? Votre
réponse dépendra de X.

Exercice 5 Question de réflexion

Un système temps réel avec tolérance a quatre événements périodiques, avec des périodes de 50, 100,
200 et 250 ms chacun. Supposons que les quatre événements aient besoin respectivement de 35, 20, 10
et x ms de temps processeur. Quelle est la valeur de x la plus importante pour laquelle il est possible
d’ordonnancer le système ?

Exercice 6 Interblocage

Un système possède 2 processus et 3 ressources identiques. Chaque processus a besoin de 2 ressources


maximum.
Un interblocage est-il possible ? Expliquez votre réponse.

En généralisant le problème : soit un ensemble de p processus ayant besoin au maximum besoin de m


ressources et un total de r ressources disponibles, quelle condition faut-il satisfaire pour que le système
soit exempt d’interblocage ?

Vous aimerez peut-être aussi