|
|
TELECOM & Management SudParis
TELECOM SudParis 2ème
année
TP Noté CSC4508/M2 du 19/06/08(2è session)
Modalités
Durée : 1 heure de préparation et 1 1/2-heure d'oral
Tous documents autorisés.
Préparation
cd votreRepertoireDeTravailPourCSC4508M2 cp ~simatic/Cours/CSC4508/tPNote2008Session2.tgz . tar xvfz tPNote2008Session2.tgz cd TPNote2008Session2
Question 1 : DescendanceLe programme Q1/descendance.c prend en argument un entier qui est stocké dans la variable nbGenerations. Modifiez
ce programme pour que ce programme forke un enfant qui, lui-même
forke un enfant qui, lui-même, forke un enfant... et ce
nbGenerations fois. Voici un exemple de sortie que doit faire votre
programme :
$ ./descendance 3 Generation 1 : enfant de pid 5562 ayant pour parent le processus de pid 5561 Generation 2 : enfant de pid 5563 ayant pour parent le processus de pid 5562 Generation 3 : enfant de pid 5564 ayant pour parent le processus de pid 5563
Question 2 : Un tramway (nommé désir ?), le retour en conditionnel
On imagine que le futur tramway qui reliera Évry à Corbeil aura une
section de voie
unique (nommée SVU dans la suite) sur 2 kilomètres au niveau de TELECOM & Management SudParis.
De ce fait, une société est en charge d'écrire un simulateur de
circulation sur les différentes voies. Elle fait appel à vos services
pour la conception de la fonction circulationECSurSVU (respectivement
circulationCESurSVU) qui gère l'accès à la SVU pour les tramway venant
d'Évry (respectivement Corbeil), l'utilisation de cette voie et la
sortie de la SVU.
Pour les questions suivantes (qui sont autant d'hypothèses
d'utilisation de la SVU), vous devrez donc écrire les algorithmes (pas
de code !) des fonctions circulationECSurSVU et
circulationCESurSVU en utilisant les
opérations pthread_mutex_lock
et pthread_mutex_unlock d'objets mutex thread.
Question 2.1 : Un seul train sur la SVU
Dans cette question, on souhaite qu'à tout instant, il ne puisse y
avoir au maximum qu'un tramway sur la SVU.
Écrire les algorithmes (et éventuelles initialisations).
Question 2.2 : Plusieurs trains dans le sens EC sur la SVU
Dans cette question, on souhaite que plusieurs tramways EC puisse
circuler simultanément sur la SVU. En revanche, à tout instant, au plus
un tramway CE peut
circuler sur la SVU. De plus, on ne peut jamais avoir un tramway EC
et un tramway CE simultanément sur la SVU.
NB : On veillera à ce qu'il n'y ait jamais de tramway qui attende
indéfiniment parce qu'il y a des tramways qui s'engagent constamment
sur la SVU, mais dans l'autre sens.
Écrire les algorithmes (et éventuelles initialisations).
|