Ens.: M.T. Bennani
Facult´e des Sciences de Tunis - Dept. Informatique
Travaux pratiques en syst`emes d’exploitation Ann´ee : 2013-2014 TP N1 - D´etection de l’interblocage
Nom & Pr´enom :
Ce TP a pour objectif de simuler l’interblocage et de r´ealiser l’algorithme de d´etection de l’interblocage. Le support de simulation est assur´e par le simulateur MOSS (Modern Operating Systems Simulator,http://www.ontko.com/moss/deadlock/user_guide.htmlDeadlock).
1.
(5pts) Etude bibliographique´
(a) Quel est le rˆole des fichiers avec l’extension ”.dat” ?
(b) Quels sont les ´etats qu’un processus peut avoir et que le simulateur MOSS suporte ? (c) Soit la ligne de commande suivante : ”java deadlock a 2 1 >trace.log”. Quel est le rˆole de
chaque arguement dans cette ligne de commande ?
(d) Donner la ligne de commade permettant d’initier deux processus et deux instances pour deux ressources diff´erentes.
(e) Proposer un processus dont le comportement est le suivant : traitement durant 20ms, demande de ressource A, traitement durant 20ms, demande d’une ressource B, traitement pendant 20ms, lib´erer A, traitement pendant 20ms, lib´erer B, fin de traitement.
2.
(5pts) Premi`ere ´etude exp´erimentale
(a) Soit la ligne de commande suivante : ”java deadlock a 2 1>trace1 1.log”. Au lancement de l’interface IHM du simulateur, utilisez ”run”. Interpr´eter le contenu du fichier trace.log.
Y-a-t-il blocage ? interblocage ? Pourquoi ?
(b) Modifier la ligne de commande pr´ec´edente pour qu’on puisse initialiser le syst`emes avec 2 instance de la ressource A. Interpr´eter le fichier de log. Y-a-t-il blocage ? interblocage ? Pourquoi ?
(c) Modifier la ligne de commande pr´ec´edente pour qu’on puisse initialiser le syst`emes avec 0 instance de la ressource A. Interpr´eter le fichier de log. Y-a-t-il blocage ? interblocage ? Pourquoi ?
3.
(5pts) Deuxi`eme ´etude exp´erimentale
(a) Soit la ligne de commande suivante : ”java deadlock b 2 1 1>trace2 1.log”. Au lancement de l’interface IHM du simulateur, utilisez ”run”. Interpr´eter le contenu du fichier trace.log.
Y-a-t-il blocage ? interblocage ? Pourquoi ?
(b) Soit la ligne de commande suivante : ”java deadlock b 2 1 2>trace2 1.log”. Au lancement de l’interface IHM du simulateur, utilisez ”run”. Interpr´eter le contenu du fichier trace.log.
Y-a-t-il blocage ? interblocage ? Pourquoi ?
(c) En se basant sur le processus d´efinit dans 1.(e), proposer un deuxi`eme processus qui permet d’entrer dans un interblocage avec le premier. Quelle est la ligne de commande utilis´ee ? Donner la trace d’ex´ecution des deux processus.
(d) Prposer une sc´enario avec trois processus et trois ressources. Donner le sh´emas, puis, le code des processus, la ligne de commande qui lance la simulation et la trace d’ex´ecution.
TPs en syst`eme d’exploitation TP1 Ann´ee universitaire : 2013-2014 4.
(5pts) Analyse de l’algorithme de d´etection d’interblocage
En r´ecup´erant le code source du simulateur, nous proc´edons `a l’analyse des fichiers suivants :
”Kernel.java”, ”deadlock.java” et ”DeadlockManager.java”.
(a) Quel est le rˆole du fichier Kernel.java? (b) Quel est le rˆole du fichier deadlock.java?
(c) Quel est le rˆole du fichier DeadlockManager.java? (d) Expliquer comment est d´etect´e l’interblocage ? 5.
(10pts) Integration du m´ecanise de pr´evention de l’interblocage
(a) Dans le cas d’un interblocage, que propose MOSS pour r´esoudre le probl`eme ? Donner le code qui le r´ealise.
(b) Le m´ecanisme de pr´evention de l’interblocage est introduit dans le cours comme une alt´entive `a la solution propos´ee dans MOSS. Proposez le code qui permet de pr´evenir l’interblocage et integrez le dans le code du simulateur.
Page 2