Corrige janvier2005 pdf 1 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
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
-
22
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Mai 25, 2021
- Catégorie Business / Finance
- Langue French
- Taille du fichier 70.9kB