Vous êtes sur la page 1sur 2

Principal Janvier 2017

Etablissement : Time Higher School

Matière : Système Temps Réels Classe : RT5


Documents : Autorisés

Exercice 1 ( 6 points)

1- Expliquez la différence entre les ordonnanceurs d’exécution non préemptifs et préemptifs.


2- Supposez que plusieurs processus sont à l’état prêt et que le processus élu exécute le
programme suivant :
int main ( )
{
for ( int i=0; i<=100; i = min(100,i++));
return 0;
}
a) Que se passe-t-il pour les processus qui sont à l’état prêt, si l’ordonnanceur d’exécution est
non préemptif?
b) Que se passe-t-il pour les processus qui sont à l’état prêt, si l’ordonnanceur d’exécution est
préemptif?

Exercice 2 (14 points)

Soit un système à quatre tâches. Les deux premières tâches incrémentent un compteur
de 1 à 255 et affiche « Ti = xxx ».
La première tâche, détecte un seuil sur le compteur si sa valeur est paire et supérieur à
100 alors des messages sont envoyés vers la troisième tâche, ces messages contiennent
« Seuil=xxx» et seront affichés sur l’afficheur LCD.
La deuxième tâche, détecte un seuil sur le compteur égal à 85 alors un message est
envoyé vers la quatrième tâche, ce message contient la valeur (seuil+i) avec i le nombre de
messages envoyés.
La quatrième tâche décrémente cette valeur jusqu’a 23 et n’accepte aucun message
dans la phase de décomptage.
1- Développer le programme des quatre tâches T1, T2, T3 et T4 et le main, prévoir un
sémaphore pour la protection de l’afficheur LCD.

1
2

Vous aimerez peut-être aussi