nabilwael
Messages postés62Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention11 mars 2010
-
21 déc. 2007 à 15:22
cs_darunia
Messages postés354Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention24 mars 2011
-
24 déc. 2007 à 13:05
Bonjour,
Je veux bien avoir quelqu'un qui peut m'aider à propos d'un sujet de Moniteur de Hoare.
Mon problème est le suivant:
1/voici l'interface:
Ressources:Moniteur
var max_ressources :entier;
....
proc Allouer (N:entier,...);
proc Libérer (N:entier,...);
Fin ressources
2/Sujet:
lorsq'un processus désire obtenir l'accès a plusieurs ressources critiques d'une même classe, il est souhaitable qu'il puisse acquérir ces ressources sous forme d'une seule requete.il en est de même pour la libération de l'accès à ses ressources.
Les solutions de l'allocateur multiple comportent les points suivants:
i-lors de l'appel d'une requête de N ressources, le nombre de ressources disponibles peut être suffisant et conduire donc, à satisfaire immédiatement cette requête alors qu'il existe ,d'autres requêtes plus élevés en attente.Une telle approche comporte un risque de "famine" pour les processus demandant beaucoup de ressources.
ii-lors d'une restitution de M ressources, le nombre de ressources disponibles peut permettre de satisfaire éventuellement plusieurs requête en attentes.il n'y a alors plus en relation entre processus libérant des ressources et un seul processus demandeur.En effet, une libération peut conduire à satisfaire plusieurs demandeurs.
3/Ce que je demande:
L'écriture de des procédures (Allouer et Libérer) pour résoudre ce problème avec deux stratégie:
i-FIFO:
Cette stratégie consiste à servir les requête dans leur ordre d'arrivé.Lors de l'appel d'une requête de N ressources, il ne peut pas satisfaire une nouvelle requête s'il existe déjà au moins une requête en attente.
ii-Ascenceur:
cette stratégie à pour but d'éviter la famine en assurant une répartition équitable des requêtes servis.Pour cela, on assure une satisfaction des requêtes selon un ordre croissant lorsqu'il y a des requêtes en attente, une requête peut être servie si le nombre de ressources est suffisant.
Il est nécessaire dans cette stratégie d'associer une condition à chaque niveau de requête de 1 à MAX_RESSOURCES.
De cette façon, il est possible de réveiller à coup sur un processus ayant demandé un nombre fixé de ressources.
Par ailleurs, il faut gérer le seuil de la dernière requête servie de façon à connaitre, lors d'une restitution de ressources, à partir de quel seuil des requêtes peuvent être servies.
bizibiz17
Messages postés142Date d'inscriptionmardi 17 janvier 2006StatutMembreDernière intervention29 août 20091 21 déc. 2007 à 18:31
Resalut,
Voici
un pseudo-algo mais bon en fait l'algo du banquier permet d'éviter un
deadlock en connaissant le nombre de ressources allouées au départ pour
chaque processus donc je sais pas si ça correspond à ce que tu veux
mais tu peux essayer de l'adapter.
Voici une partie d'un cours :
L'algorithme du banquier permet de prévenir un deadlock sous réserve que le système connaisse le nombre maximum de ressources (de chaque type) nécessaire à chaque processus.
Exemple : Considérons 5 processus concurrents et 3 types de ressources . Supposons que
<!--[if !supportLists]-->- La ressource A existe en 12 exemplaires,<!--[endif]-->
<!--[if !supportLists]-->- B existe en 8 exemplaires,<!--[endif]-->
<!--[if !supportLists]-->- C existe en 10 exemplaires.<!--[endif]-->
nabilwael
Messages postés62Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention11 mars 2010 22 déc. 2007 à 12:22
salut,
soit le problème suivant:
on considère 5 processus doivent se partager 4 ressources.
comment je peus inmplémenter l'algorithme de banquier à l'aides de moniteur de HOARE.
procédure allouer()
procédure libérer()
merci
nabilwael
Messages postés62Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention11 mars 2010 22 déc. 2007 à 14:31
salut,
je suis vraiment deçu,il n'ya aucune solution ni une personne qui peut m'aider.
Alors ça sert à quoi d'entrer en forum?
merci en tous cas, prière aidez moi.
cs_darunia
Messages postés354Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention24 mars 20112 24 déc. 2007 à 13:05
"mais tous ce que je veux c'est une implémentation avec les moniteurs de HOARE,
"
Et moi je veux 1 million d'euros ...
Je crois que plusieurs membres ont fait des efforts considerables et ont dépenser leur temps précieux pour t'aider ... Merci donc de respecter cela.
Car non, le forum CS n'est pas un "faiseur de boulot automatique". Dis toi bien que si tu n'arrive pas a implementer les moniteurs de Hoare, c'est tout simplement que tu as des lacunes ... C'est à toi seul de les combler, pas aux autres.