Vous êtes sur la page 1sur 6

UVCI

Master CIO, BC

Programmation système et réseau


Fiche d’exercices

Exercice 1 : Questions de cours

1) Quelle fonction est utilisée par un processus Linux pour créer un autre processus ?
2) Quel est le rôle de la fonction d’ordonnancement ?
3) Quand dit-on que l’ordonnancement est préemptif ?
4) Expliquer le principe de la mise en œuvre du mécanisme de thread. Quels sont ces avantages
et inconvénients ?
5) Soit sem un sémaphore.
a) Définir la notion de sémaphore.
b) Définir l’opération P(sem).
c) Définir l’opération V(sem).
d) Qu’est-ce qu’une ressource critique ?
6) Définir un système d’exploitation. Citer les grandes fonctionnalités d’un SE.
7) Citer des évènements pouvant créer une commutation de contexte.
8) Définir la notion d’appel système.
9) Définir un processus. Quels sont les différents états d’un processus ?
10) Quels sont les différents états d’un processus Linux ?
11) Quelle fonction est utilisée par un processus Linux pour créer un autre processus ?
12) Définir PCB. Quelles informations contient-il ?
13) Quel est le rôle de la fonction d’ordonnancement ? Quand dit-on que l’ordonnancement
est préemptif ?
14) Dans le principe de fonctionnement des threads, quels sont les éléments spécifiques à
ceux-ci? Espace d’adressage, compteur ordinal, pile d’exécution, variables, fichiers
ouverts, regsitres.

Exercice 2 : Ordonnancement de processus

On considère quatre processus P1, P2, P3 et P4, soumis dans cet ordre, dont les caractéristiques
sont les suivantes :

Temps d’exécution Priorité


(plus petite valeur = plus grande priorité)
P1 8 unités 4
P2 8 unités 3
P3 10 unités 1
P4 4 unités 2

Pour chacune des questions suivantes, déterminez les temps de réponse (date de fin d’exécution)
des quatre processus P1, P2, P3 et P4 :

1) Avec un ordonnancement FIFO ;


2) Avec un ordonnancement par priorité ;
3) Avec un ordonnancement par quantum de temps, Q=2 et l’ordre initial est FIFO.

Exercice 3

On considère quatre processus P1, P2, P3 et P4, soumis dans cet ordre, dont les caractéristiques
sont les suivantes :

Temps d’exécution Priorité


(plus petite valeur = plus grande priorité)
P1 8 unités 4
P2 8 unités 3
P3 10 unités 1
P4 4 unités 2

Pour chacune des questions suivantes, déterminez les temps de réponse des quatre processus P1,
P2, P3 et P4 :

1) Avec un ordonnancement FIFO ;

2) Avec un ordonnancement par priorité ;

3) Avec un ordonnancement par quantum de temps, Q=2 et l’ordre initial est FIFO.

Exercice 4

On considère un système composé de 3 processus Linux P1, P2 et P3 appartenant à la classe


d’ordonnancement SCHED_RR. L’ordonnancement est effectué selon une méthode du tourniquet
associé à une priorité. Ainsi les processus P1 et P2 sont de même priorité PRIO1 tandis que le
processus P3 est de priorité PRIO2, PRIO2 < PRIO1. Le quantum de temps Q est égal à 10 ms. Par
ailleurs chaque processus peut effectuer des entrée-sorties avec un disque. Le disque est une
ressource non requérable et l’ordre de service des requêtes disques est du type FIFO. Les profils
des trois processus sont les suivants:

P1 P2 P3
Calcul : 20 ms Calcul : 30 ms Calcul : 30 ms
Entrées-sorties : 5 ms Entrées-sorties : 15 ms Entrées-sorties : 5 ms
Calcul : 20 ms Calcul : 10 ms Calcul : 5 ms
Entrées-sorties : 10 ms Entrées-sorties : 5 ms
Calcul : 10 ms Calcul : 10 ms

1) Représentez sur un chronogramme d’exécution où vous ferez apparaitre les états prêt, élu et
bloqué, l’exécution des trois processus et les changements d’états intervenant.

2) Pour chacun des trois processus, détermine le temps de réponse.


Exercice 5

Soit le programme essai.c suivant :

#include

Main() {

Int pid ;

Pid= fork();

If (pid==0) {

for (;;) Printf (“je suis le fils”);

Else

for (;;) Printf (“je suis le père”);

1) On compile et on exécute ce programme. Apres l’exécution de la commande ps –l, on a les


caractéristiques de l’ensemble des processus de l’utilisateur ci-dessous :
Les champs S et CMD codent respectivement l’état du processus (S pour Stopped, R pour Running)
et le nom du programme exécuté.

1.1) Quelles informations la commande ps donne sur la filiation des processus ?

On tape la commande kill -9 593 qui entraine la terminaison du processus dont le pid 593 est
spécifié en argument. Après l’exécution de la commande ps –l, on a à présent les caractéristiques
suivantes :

1.2) Quel processus essai est tué par la commande ps ? Dans quel état est-il après la commande
kill?

Exercice 6

Ecrire un programme qui affiche les information suivantes associées à un processus:

- Le numero du processus (pid)

- le nuùero du père du processus (ppid)

- l’UID réel du processus (uid)

- l’UID effectif du processus (euid)

- le GID réel du processus (gid)

- le GID effectif du processus (egid)


Exercice 7

Ecrire un programme qui crée un processus fils et qui affiche les informations relatives aux
processus père et fils.

Vous aimerez peut-être aussi