Il s’agit de développer un programme en langage C pour réaliser un procédé de surveillance de deux processus dans un environnement industriel. L’ordinateur travaille de manière infinie sur un programme de fond représenté par une boucle infinie. Le processus de mesure ou d’arrêt des mesures est enclenché grâce à l’appui de la combinaison de touches ‘CTRL+Z’. Cette combinaison de touches peut être appuyée à tout moment par l’administrateur, ce qui va activer ou désactiver les processus de mesure. Les deux processus de mesure s’exécutent de la manière suivante :
C’est toujours le processus 1 qui commence, où la prise de mesure se fait en 3 étapes :
Prise de mesure 1, représentée par l’affichage du message ‘processus1_pid=val-pid : mesure 1’,
Attente de 1 mn,
Prise de mesure 2, représentée par l’affichage du message ‘processus1_pid=val-pid : mesure 2’,
Attente de 2 mn
Prise de la mesure 1 du processus 2 représentée par l’affichage du message ‘processus 2_pid=val-pid : mesure’,
Attente 1mn,
Reprise du système à partir du point a.
Notez :
1. les valeurs de pid affichées (val_pid) doivent être identiques dans chaque affichage soit pour le process1 ou pour le process2. Ie le système ne crée que 2 processus. Pour cela, il est recommandé d’utiliser la primitive fork().
2. Que le calcul du temps doit se faire en utilisant les signaux de d’alarme SIGALRM activé par la primitive alarm(…). Ie Ne pas utiliser pause(), ni sleep()
3. Lorsque l’administrateur désire éteindre l’ordinateur pour des raisons de maintenance, il doit appuyer 3 fois la combinaison ‘CTRL+C’ pour arrêter tout le programme y compris le programme de fond.
Questions :
svp j'arrive pas a faire la 2eme question de cet tp est-ce qu'il ya quelqu'un qui peut m'aider
Il aurrait été préférable de poster dans la catégorie du langage C. On est à la limite du déterrage.
Le Tout est souvent plus grand que la somme de ses parties.
primitive alarm()
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Le Tout est souvent plus grand que la somme de ses parties.