• Aucun résultat trouvé

Universit´e Paris Diderot Ann´ee 2016–2017 TP 8 : Retour en Terres Connues

N/A
N/A
Protected

Academic year: 2022

Partager "Universit´e Paris Diderot Ann´ee 2016–2017 TP 8 : Retour en Terres Connues"

Copied!
2
0
0

Texte intégral

(1)

Universit´e Paris Diderot Ann´ee 2016–2017 TP 8 : Retour en Terres Connues

Exercice 1 Salle de bain partag´ee.

Dans les locaux d’une entreprise, il y a un openspace avec une salle de bain mixte `a cˆot´e.

La salle de bain contient trois cabines et deux lavabos. Comme la salle de bain est mixte et de taille limit´ee, des r`egles de bonne conduite ont ´et´e ´edict´ees :

(a) Il ne peut pas y avoir simultan´ement des hommes et des femmes dans la salle de bain.

(b) Il ne peut pas y avoir plus de trois employ´es dans la salle de bain en mˆeme temps.

eguli`erement les employ´es, homme et femme ´egalement, vont aux toilettes. Ils ont le comportement suivant :

(a) Il tente de rentrer dans les toilettes. S’il n’y a pas de place ou si la salle de bain est occup´ee par l’autre sexe, il attend son tour.

(b) Une fois, rentr´e, l’employ´e occupe une cabine.

(c) Quand il a fini, l’employ´e se lave les mains `a un lavabo, d`es qu’un lavabo est libre.

(d) Finalement, l’employ´e sort de la salle de bain et retourne travailler et boire du caf´e.

Nous souhaitons mod´eliser ce probl`eme :

1. Proposez un programme mod´elisant ce probl`eme. Vous ´ecrirez notamment un code pour les threads ”homme”, un pour les threads ”femme”. Si possible, vous tenterez de limiter les risques de famine.

2. Un agent d’entretien doit r´eguli`erement passer nettoyer la salle de bain. Il arrive devant la porte et attend que la salle de bain soit vide avant d’entrer. Il nettoie et ressort.

Ajoutez un programme codant ce comportement pour un thread ”agent d’entretien” `a votre pr´ec´edente mod´elisation, explicitez ce que vous ajoutez ou modifiez dans le code des autres threads.

Vous veillerez `a ce que l’agent d’entretien acc`ede au plus vite `a la salle de bain (il doit nettoyer les salles de bains des autres ´etages et il ne peut donc pas attendre trop longtemps pour celle-ci).

Vous ´ecrirez vos programmes en Javaouen C ou en pseudo-code comme en cours. Le mode de communication des processus au sein de vos programmes se fera par m´emoire partag´ee.

Pour vos programmes, si vous utilisez des s´emaphores, vous pourrez supposer qu’il s’agit de emaphores forts. Vos programmes, devront garantir les points suivants :

— Le bon respect de la mod´elisation (la salle de bain n’est occup´ee que par un seul sexe, ne contient pas trop d’employ´es, . . .).

— L’interblocage des usagers (un employ´e finit toujours par acc´eder `a la salle de bain).

— Si possible, l’absence totale ou partielle de famine.

1

(2)

Exercice 2 Probl`eme de v´ehicules touristiques partag´es

On souhaite mod´eliser le comportement de touristes et de v´ehicules faisant faire le tour de Paris. Le comportement d’un touriste est le suivant, en boucle :

(a) Il se prom`ene.

(b) Il tente de monter dans un v´ehicule, si il n’y a pas de place dans le v´ehicule ou si il n’y a pas de v´ehicule, il attend un nouveau v´ehicule.

(c) Une fois mont´e dans le v´ehicule, il attend que le v´ehicule ait fini son tour et il descend.

Le comportement d’un v´ehicule est le suivant, en boucle : (a) Il attend d’ˆetre plein.

(b) Une fois plein, il part faire son tour touristique.

(c) Quand il a fini, il attend que les passagers soient descendus.

Nous souhaitons deux mod´elisations de ce probl`eme :

1. Dans la premi`ere mod´elisation, on supposera qu’il n’y a qu’un seul v´ehicule ayant une capacit´e de trois personnes ainsi que huit touristes.

2. Dans la seconde mod´elisation, on supposera qu’il y a deux v´ehicules, le premier aura une capacit´e de trois personnes et le second de deux personnes, quant au nombre de touristes il sera toujours de huit.

Donnez un programme pourchacunede ces deux mod´elisations. Le mode de communication des processus au sein de vos programmes se fera par m´emoire partag´ee. Pour vos programmes, si vous utilisez des s´emaphores, vous pourrez supposer qu’il s’agit de s´emaphores forts. Pour la r´eponse, merci de pr´eciser `a chaque fois le num´ero de la mod´elisation `a laquelle correspond votre programme. Vos programmes, devront garantir les points suivants :

— Le bon respect de la mod´elisation (il n’y a pas plus de passagers dans le v´ehicule que sa capacit´e, un v´ehicule attend d’ˆetre plein avant de partir, le v´ehicule attend bien que tous ses passagers descendent avant de faire monter de nouveaux passagers, l’attente aux ’bons endroits’ des passagers et des v´ehicules, . . . ) ;

— L’absence de famine des passagers (un passager attendant un v´ehicule finira par faire un tour touristique) ;

— Pour la deuxi`eme mod´elisation, une certaine alternance entre les v´ehicules, c’est-`a-dire que ce ne sera pas toujours le mˆeme v´ehicule qui sera utilis´e.

2

Références

Documents relatifs

On y constate que la première équivalence ne peut pas être observée expérimentalement avec précision (saut de pH trop faible) ; les indicateurs adaptés sont donc le

Comme on l’a vu dans les exemples des normes classiques sur R d , on peut obtenir le r´ esultat de ce th´ eor` eme “` a la main” dans la plupart des cas concrets, mais c’est

Face à cette situation, les personnes noires sont obligées tout à la fois d’adopter un pro- fil bas pour éviter les ennuis et de préserver leur dignité notamment par un mode de

Si les mesures r´ ealis´ ees n’ont pas mis en ´ evidence le ph´ enom` ene qui in- tervient dans l’´ ecoulement, elles montrent n´ eanmoins qu’` a iso-d´ ebit la structure

Compte tenu de la sym´ etrie g´ eom´ etrique, l’analyse s’effectue sur la structure tourbillonnaire longitudinale gauche lorsque la maquette est vue de l’arri` ere. Le pre-

Ainsi au mˆeme moment on peut avoir un processus de type I qui parcourt la liste avec plusieurs processus de type S, en revanche si un processus de type D a acc`es ` a la liste,

1 The group structure on F(U) is the natural one given by addition of functions.. 2 You will see in the other courses how to

Afin de pouvoir reproduire exactement vos ´ echantillons faites pr´ ec´ eder vos deux appels de la fonction runif par l’instruction set.seed(SSSMM), o` u SSSMM d´ esigne le num´ ero