Corrige janvier2005 Mercredi janvier Dur ?ee heures Documents autoris ?es Corrig ?e pr ?eliminaire et partiel Examen syst emes d ? exploitation L parcours informatique - Examen Les valeurs de retour des primitives ne sont pas syst ?ematiquement test ?ees
Mercredi janvier Dur ?ee heures Documents autoris ?es Corrig ?e pr ?eliminaire et partiel Examen syst emes d ? exploitation L parcours informatique - Examen Les valeurs de retour des primitives ne sont pas syst ?ematiquement test ?ees dans les programmes de l ? ?enonc ?e On supposera donc que les primitives ne renvoient jamais un code d ? erreur Les processus Exercice Combien de processus engendre l ? ?evaluation de la commande C fork fork fork Dessiner l ? arbre g ?en ?ealogique des processus engendr ?ees par cette ligne Solution Le processus courant appelons-le le pere engendre dans l ? ensemble autres processus En e ?et comme dans une instruction a b b n ? est pas ?evalu ?ee si l ? ?evaluation de a donne de m eme dans dans une instruction a b b n ? est pas ?evalu ?ee si l ? ?evaluation de a ne donne pas Donc dans fork b seulement le pere ex ?ecute b et dans fork b seulement le ?ls ex ?ecute b Pour s ? en convaincre nous avons ?ecrit le programme suivant forks c include int main void fork fork fork sleep exit On peut tester donc comme il suit lsantoca localhost janvier gcc -Wall -pedantic forks c -o forks lsantoca localhost janvier forks sleep ps -o P p c PPID PID COMMAND bash forks forks forks forks bash ps On voit donc l ? arbre g ?en ?ealogique des processus forks F F F F F F F OH NI JM KL HO IN JM LK OH IN JM LK HO IN MJ KL CL parcours informatique - Examen syst emes d ? exploitation p Exercice Consid ?erer le programme suivant forkpause c include include include include void interruption int signum if signum SIGINT printf UN n int main void int pid signal SIGINT interruption signal SIGALRM interruption pid fork srand pid if pid sleep rand printf DEUX n kill getppid SIGINT else alarm sleep rand printf TROIS n pause exit EXIT SUCCESS R ?epondre aux questions suivants en expliquant votre r ?eponse ?? Que peut se passer si l ? on supprime la ligne Solution Dans ce cas le p ere peut se terminer avant recevoir le signal SIGINT par le ?ls On pourra donc obtenir les a ?chages DEUX TROIS ou TROIS DEUX ?? Que peut se passer si l ? on supprime la ligne Solution Si le signal SIGINT est envoy ?e au pere avant que celui ex ?ecute la ligne le pere se bloquera en attente d ? un signal A ?n de pr ?evenir cette d ?esagr ?eable situation la ligne pr ?epare un envoi du signal SIGALRM apres secondes ?? Que se passe-t-il si on ?echange l ? ordre des lignes - Solution L ? initialisation du g ?en ?erateur de nombres al ?eatoires est la m eme pour le ?ls et le pere car la valeur de pid est la m eme La temporisation al ?eatoires du ?ls et du
Documents similaires
-
24
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Sep 04, 2022
- Catégorie Business / Finance
- Langue French
- Taille du fichier 70.9kB