Probleme de tp/linux
lili
-
sawsam Messages postés 2 Statut Membre -
sawsam Messages postés 2 Statut Membre -
Bonjour,je dois rendre un tp en systeme d'exploitation ce dimanche et je bloque surtout sur la partie ou je dois
dois ecrire le programme processus exploitation relatif à l'appel de execlp
je vous prie de m'aider,l'ennoncé du tp est le suivant:
On se propose de mettre en place un system automatique pour le suivie quotidien des parametres d'exploitation de la
la centrale thermique port en vue de pallier les risques de pics de valeurs enregistres par les capteurs et compteurs de la central (principalement la temperature, la pression atmospherique et la tension electrique),
ce qui mettrait tout l'instalationen peril.
la methode de collecte et de traitement de ces informations qui etait realisee d'une maniere manuelle,est deleguee actuellement a un systeme automatique.
pour ce faire, le systeme qui est le processus pere doit creer avec fork(), trois processus fils (Thermometre,Barometre et Voltmetre) pour veiller a ce que les parametres a surveiller ne depassent pas les normes (soit TPnorm pour la temperature, PRnorm pour la pression atmospherique et TSnorm pour la tension electrique).
la prise de mesures periodiques des trois parametres est declanchee toutes les 5 secondes par le processus principal de controle (processus pere) qui doit armer un delai de garde (timeout) en utilisant la primitive alarm() et traiter le signal SIGALRM emis par l'horloge a la fin du delai.
le traitement consiste a reveiller avec les signaux SIGUSR1 les processus fils endormis (pause()) Thermometre, Barometre et Voltmetre.
quand ces derniers recoivent chacun le signal SIGUSR1,
il se reveille pour effectuer le prelevement.
le processus pere se met en attente avec waitpid() , de la valeur des ces prelevements, si celles-ci sont superieures aux normes il declanche une alerte a
travers l'affichage d'un message pour avertir les techniciens de controle afin qu'ils procedent a la prise d'actions correctives necessaires sur les equipements concernes de l'instalation.
dans le cas contraire le pere sauvegarde dans une structure de donnees qui convient, les informations delivrees.
le pere arme ensuite un delai de garde de 15 secondes et recoit un signal SIGALRM emis par l'horloge, dont le traitement consiste a faire un appel a execlp a un processus Exploitation qui devra editer un rapport dater, mentionant les releves des differents capteurs et compteurs.
l'arret de fonctionement du systeme est conditionne par l'execution du processus Exploitation ou bien par l'envoi d'une commande stop materialisee par la combinaison de touches Ctrl-C qui se traduit par l'envoi du signal SIGINT au processus pere, ce qui declenchera une procedure d'arret mettant fin a tous ses processus fils en cours d'execution et l'affichage
d'un message <Systeme de surveillance de la centrale arret>
travail demande
1 Programmez les prelevemnts periodiques de la temperature,de la pression atmospherique et de la tension electrique, en redefinissant les handlers des signaux SIGUSR1
(pour les processus Thermometre, Barometre,Voltmetre) et SIGALRM et SIGINT (pour le processus pere)
2 Ecrire le programme relatif au processus Exploitation relatif a'appel de execlp.
Note:
utiliser les primitives:
fork,execv,waitpid,getpid(),gestppid(),pause,alarm(),random(),kill(),sleep() ou usleep(), system(), execlp(),sigaction,
et les signaux :
SIGUSR1, SIGALRM, SIGINT
inclure les fichiers d'entete:
<stdio.h>, <stdlib.h>, <unistd.h>, <sys/types.h>,<sys/wait.h>, <sys/time/h>,<signal.h>
3 Les parametres
TPnorme, PRnorm ,TSnorm doivent etre passes en argument de la procedure main du processus pere.
4 Pour generer un nombre aleatoire il faut proceder a l'inintialisation des valeurs au hasard avec la fonction:
srandom(time(NULL)) ensuite utiliser:
a+random()%b ce qui permet d'obtenir un nombre aleat
dois ecrire le programme processus exploitation relatif à l'appel de execlp
je vous prie de m'aider,l'ennoncé du tp est le suivant:
On se propose de mettre en place un system automatique pour le suivie quotidien des parametres d'exploitation de la
la centrale thermique port en vue de pallier les risques de pics de valeurs enregistres par les capteurs et compteurs de la central (principalement la temperature, la pression atmospherique et la tension electrique),
ce qui mettrait tout l'instalationen peril.
la methode de collecte et de traitement de ces informations qui etait realisee d'une maniere manuelle,est deleguee actuellement a un systeme automatique.
pour ce faire, le systeme qui est le processus pere doit creer avec fork(), trois processus fils (Thermometre,Barometre et Voltmetre) pour veiller a ce que les parametres a surveiller ne depassent pas les normes (soit TPnorm pour la temperature, PRnorm pour la pression atmospherique et TSnorm pour la tension electrique).
la prise de mesures periodiques des trois parametres est declanchee toutes les 5 secondes par le processus principal de controle (processus pere) qui doit armer un delai de garde (timeout) en utilisant la primitive alarm() et traiter le signal SIGALRM emis par l'horloge a la fin du delai.
le traitement consiste a reveiller avec les signaux SIGUSR1 les processus fils endormis (pause()) Thermometre, Barometre et Voltmetre.
quand ces derniers recoivent chacun le signal SIGUSR1,
il se reveille pour effectuer le prelevement.
le processus pere se met en attente avec waitpid() , de la valeur des ces prelevements, si celles-ci sont superieures aux normes il declanche une alerte a
travers l'affichage d'un message pour avertir les techniciens de controle afin qu'ils procedent a la prise d'actions correctives necessaires sur les equipements concernes de l'instalation.
dans le cas contraire le pere sauvegarde dans une structure de donnees qui convient, les informations delivrees.
le pere arme ensuite un delai de garde de 15 secondes et recoit un signal SIGALRM emis par l'horloge, dont le traitement consiste a faire un appel a execlp a un processus Exploitation qui devra editer un rapport dater, mentionant les releves des differents capteurs et compteurs.
l'arret de fonctionement du systeme est conditionne par l'execution du processus Exploitation ou bien par l'envoi d'une commande stop materialisee par la combinaison de touches Ctrl-C qui se traduit par l'envoi du signal SIGINT au processus pere, ce qui declenchera une procedure d'arret mettant fin a tous ses processus fils en cours d'execution et l'affichage
d'un message <Systeme de surveillance de la centrale arret>
travail demande
1 Programmez les prelevemnts periodiques de la temperature,de la pression atmospherique et de la tension electrique, en redefinissant les handlers des signaux SIGUSR1
(pour les processus Thermometre, Barometre,Voltmetre) et SIGALRM et SIGINT (pour le processus pere)
2 Ecrire le programme relatif au processus Exploitation relatif a'appel de execlp.
Note:
utiliser les primitives:
fork,execv,waitpid,getpid(),gestppid(),pause,alarm(),random(),kill(),sleep() ou usleep(), system(), execlp(),sigaction,
et les signaux :
SIGUSR1, SIGALRM, SIGINT
inclure les fichiers d'entete:
<stdio.h>, <stdlib.h>, <unistd.h>, <sys/types.h>,<sys/wait.h>, <sys/time/h>,<signal.h>
3 Les parametres
TPnorme, PRnorm ,TSnorm doivent etre passes en argument de la procedure main du processus pere.
4 Pour generer un nombre aleatoire il faut proceder a l'inintialisation des valeurs au hasard avec la fonction:
srandom(time(NULL)) ensuite utiliser:
a+random()%b ce qui permet d'obtenir un nombre aleat
A voir également:
- Probleme de tp/linux
- Linux reader - Télécharger - Stockage
- Backtrack linux - Télécharger - Sécurité
- R-linux - Télécharger - Sauvegarde
- Toutou linux - Télécharger - Systèmes d'exploitation
- Damn small linux - Télécharger - Systèmes d'exploitation