La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

GPA435 – Lab #2 partie 2 Explications compl é mentaires GPA435 – révision 2013, Tony Wong, ing., Ph.D.

Présentations similaires


Présentation au sujet: "GPA435 – Lab #2 partie 2 Explications compl é mentaires GPA435 – révision 2013, Tony Wong, ing., Ph.D."— Transcription de la présentation:

1 GPA435 – Lab #2 partie 2 Explications compl é mentaires GPA435 – révision 2013, Tony Wong, ing., Ph.D.

2 2 Problématique Création d un programme Bourne shell ( tparente ) capable de retracer la parenté des processus. Processus en mémoire au moment du l exécution du programme tparente. Affichage des liens de parenté selon les options données par l utilisateur du programme.

3 3 Liens de parenté Ces liens de parenté existent car: Un processus peut créer et exécuter un autre processus; Un processus peut créer et exécuter un autre processus; En langage C – fork(), exec(), etc. En langage C – fork(), exec(), etc. Un interpréteur de commandes peut exécuter un autre interpréteur de commandes; Un interpréteur de commandes peut exécuter un autre interpréteur de commandes; Dans le bourne shell – regroupement des commandes entre parenthèses – ( ). Dans le bourne shell – regroupement des commandes entre parenthèses – ( ).

4 4 Liens de parenté Tous les processus en mémoire ont un ancêtre commun: Processus sched portant le numéro PID = 0. Processus sched portant le numéro PID = 0. Processus sched crée et exécute les processus suivants: Processus sched crée et exécute les processus suivants: init (PID = 1), pageout (PID = 2), fsflush (PID = 3). init (PID = 1), pageout (PID = 2), fsflush (PID = 3).

5 5 Liens de parenté Vos propres programmes en exécution sont créés de la même façon. L environnement CDE est un ensemble de processus créés à partir du processus init (PID = 1); L environnement CDE est un ensemble de processus créés à partir du processus init (PID = 1); Le terminal avec lequel vous travaillez est la création d un des processus de l environnement CDE. Le terminal avec lequel vous travaillez est la création d un des processus de l environnement CDE.

6 6 Numéros PID Identification des liens de parenté: Par le numéro PID (Process IDentification) des processus. Par le numéro PID (Process IDentification) des processus. Les parents d un processus possèdent un PID plus petit que le PID d un enfant: Les parents d un processus possèdent un PID plus petit que le PID d un enfant: PID père < PID enfant PID père < PID enfant Le processus p è re est indiqu é par le numéro PPID (Parent PID). Le processus p è re est indiqu é par le numéro PPID (Parent PID). Tous les processus ont comme ancêtre le processus PID = 0. Tous les processus ont comme ancêtre le processus PID = 0.

7 7 USER PID PPID S PRI TT STIME TIME COMMAND root 0 0 T 96 ? Jan_03 0:17 sched root 1 0 S 59 ? Jan_03 0:02 /etc/init - root 2 0 S 98 ? Jan_03 0:00 pageout root 3 0 S 60 ? Jan_03 9:05 fsflush root S 59 ? Jan_03 0:00 /usr/lib/saf/sac -t 300 root S 59 ? Jan_03 0:00 /usr/sbin/inetd -s daemon S 59 ? Jan_03 0:00 /usr/lib/nfs/statd root 62 1 S 59 ? Jan_03 0:00 /usr/lib/sysevent/syseve root 31 1 S 59 ? Jan_03 0:00 /sbin/dhcpagent root 74 1 S 59 ? Jan_03 0:00 /usr/lib/picl/picld root 98 1 S 59 ? Jan_03 0:00 /etc/opt/SUNWconn/atm/bi root S 59 ?? Jan_16 0:00 /usr/openwin/bin/fbconso nobody S 59 ? Jan_04 0:38 fs catia S 49 ? Jan_14 0:00 /bin/ksh /usr/catia/cfg/ root S 59 ? Jan_09 0:00 rpc.ttdbserverd root S 59 ? 08:29:18 0:00 in.telnetd catia S 49 ? Jan_14 0:01 CATLICSL 1515 root S 59 ? Jan_16 0:01 /usr/openwin/bin/Xsun :0 root S 59 ? 08:30:07 0:00 in.telnetd wong S 59 pts/2 08:29:18 0:00 -tcsh root S 59 ? Jan_15 0:00 remotedprovider solaris_ wong S 49 pts/3 08:30:08 0:00 -tcsh daemon S 59 ? Jan_15 0:00 rpc.cmsd

8 8 Programme tparente Le programme permet la spécification de trois options facultatives qui modifient son comportement Lisez attentivement la description contenue dans le cahier de laboratoire. Lisez attentivement la description contenue dans le cahier de laboratoire. Le programme permet la saisie d un paramètre facultative qui spécifie le fonctionnement du programme.

9 9 Aide à la programmation Pour obtenir les options et le paramètre donnés sur la ligne de commande: Utiliser la commande for – do – done. Utiliser la commande for – do – done. Pour déterminer les options et le paramètres donnés sur la ligne de commande: Utiliser les instructions case – esac. Utiliser les instructions case – esac.

10 10 Aide à la programmation Pour déterminer les liens de parenté des processus en exécution: Utiliser la commande ps avec les options et les paramètres appropriés; Utiliser la commande ps avec les options et les paramètres appropriés; Enregistrer l information obtenue dans un fichier à l aide d une redirection; Enregistrer l information obtenue dans un fichier à l aide d une redirection; Lire le fichier de donn é es par la commande read ; Lire le fichier de donn é es par la commande read ; Appliquer un algorithme approprié pour retracer les liens de parenté à partir du fichier de donn é es. Appliquer un algorithme approprié pour retracer les liens de parenté à partir du fichier de donn é es.

11 11 Aide à la programmation Pour afficher les résultats à la sortie standard: Utiliser la commande echo Utiliser la commande echoou Utiliser la commande printf Utiliser la commande printf Pour enregistrer les résultats dans un fichier: Rediriger la sortie standard vers le fichier spécifié par le paramètre obtenu de la ligne de commandes. Rediriger la sortie standard vers le fichier spécifié par le paramètre obtenu de la ligne de commandes.

12 12 Aide à la programmation Séparer les différentes parties de votre programme en fonctions. Répartir le travail entre les membres de l équipe. Tester les parties séparément. Assembler les parties pour former le programme final.


Télécharger ppt "GPA435 – Lab #2 partie 2 Explications compl é mentaires GPA435 – révision 2013, Tony Wong, ing., Ph.D."

Présentations similaires


Annonces Google