Vous êtes sur la page 1sur 3

SEOC - 2A

TD 1 : Notions de processus et d’ordonnancement

Nota : Cours de C : Introduction au langage C, de Bernard Cassagne


(ftp://ftp.imag.fr/pub/labo.../C/Introduction_ANSI_C.pdf)

Exercice 1. Transitions entre processus

La figure ci-dessus représente les transitions classiques entre les différents états possibles d’un
processus. Cependant on ne voit que quatre transitions sur les six théoriquement possibles.

Existe-t-il des circonstances dans lesquelles l’une ou l’autre des transitions manquantes pourraient
se produire ?

Exercice 2. Récupération et affichage de caractères

Créer un processus fils et afficher:


- Dans le fils: son PID et le PID du père
- Dans le père: son PID.

Exercice 3. Suite de Fibonacci

Soit l’exemple de code C suivant :

for (i=1; i<=4; i++)


{
pid = fork();
if (pid != 0)
printf("%d\n", pid);
}

3.1- Combien de processus seront créés ?

3.2- Quels seront les messages affichés ?


SEOC - 2A

Exercice 4.

Dénombrement de processus

main()
{
fork();
fork();
fork();
}

main()
{
thread_create(0, 0, thread1, NULL, 0, &thread1_id);
thread_create(0, 0, thread1, NULL, 0, &thread1_id);
thread_create(0, 0, thread1, NULL, 0, &thread1_id);
}

Exercice 5. Algorithmes d’ordonnancement

Généralement, les ordonnanceurs de type tourniquets maintiennent une liste de tous les processus
exécutables, chacun apparaissant exactement une fois dans la liste.
- Que se passerait-il si un processus revenait deux fois dans la liste ?
- Pouvez-vous évoquer une raison valable pour qu’il en soit ainsi ?

Exercice 6. Ordonnancement temps réel

Tâches Délai Période/Echéance


T1 4 10
T2 1 4
T3 1 5
T4 1 15
T5 6 8

Soit le jeu de tâches ci-dessus. Toutes les tâches arrivent au même instant dans le système (instant
0).

6.1- Montrer que l’on peut rapidement démontrer que ce jeu de tâches ne peut pas être
ordonnançable quel que soit l’ordonnanceur utilisé.

6.2- Supposons que l’on puisse exécuter ce jeu de tâches sur deux processeurs de puissance
identique. Proposez une répartition et un ordonnancement des tâches sur les deux processeurs afin
que les contraintes temporelles soient respectées.
SEOC - 2A

6.3- Donnez les chronogrammes d’ordonnancement des tâches.


Exercice 7. Ordonnancements

Soient cinq jobs de traitement,

Jobs Délai Priorités


A 10 3
B 6 5 (top)
C 2 2
D 4 1
E 8 4

Pour chacun des algorithmes d’ordonnancement suivants, déterminez le délai de rotation moyen des
processus. Ignorez la surcharge engendrée par les changements de processus.
a- Round Robin (tourniquet)
b- Ordonnancement par priorité
c- FIFO (First In – First Out)
d- Job le plus court en premier

Vous aimerez peut-être aussi