Algorithme du banquier
Résolu/Fermé
CH4BRN
Messages postés
49
Date d'inscription
lundi 19 février 2018
Statut
Membre
Dernière intervention
6 février 2021
-
31 juil. 2019 à 13:34
CH4BRN Messages postés 49 Date d'inscription lundi 19 février 2018 Statut Membre Dernière intervention 6 février 2021 - 2 août 2019 à 16:31
CH4BRN Messages postés 49 Date d'inscription lundi 19 février 2018 Statut Membre Dernière intervention 6 février 2021 - 2 août 2019 à 16:31
A voir également:
- Algorithme du banquier exercice corrigé
- Logiciel algorithme gratuit - Télécharger - Édition & Programmation
- Logiciel algorithme euromillion - Télécharger - Loisirs créatifs
- Code ascii algorithme - Guide
- Algorithme euromillion excel gratuit - Forum Algorithmes / Méthodes
- Tri d'une matrice algorithme - Forum C
3 réponses
yg_be
Messages postés
23405
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 décembre 2024
Ambassadeur
1 557
1 août 2019 à 08:43
1 août 2019 à 08:43
CH4BRN
Messages postés
49
Date d'inscription
lundi 19 février 2018
Statut
Membre
Dernière intervention
6 février 2021
1
Modifié le 1 août 2019 à 13:05
Modifié le 1 août 2019 à 13:05
Je vais essayer de vous exposer mes reflexions, du coup.
Il faut trouver p1. Dans le résultats que j'ai, il y a trois lignes dans p1 :
p : 1 2 1 0
e : 6 3 4 2
r : 5 1 3 2
E ne change jamais, c'est donc la valeur qu'on donne dans l'énoncé. 6 3 4 2, c'est le nombre de ressources existantes dans le systeme.
Mais comment trouver la ligne P ?
J'ai demandé de l'aide à mon prof, et il m'a dit :
E c est le total des ressources du système
R c'est les ressources restantes a allouer
Pour E ça confirme ce que je pensais. Mais pour P ?
Je rame complétement..
Je me dis que A, c'est peut-être P0, avant P1, P2, etc
Et dans tous les exemples que je trouve sur internet, il y a une colonne ou une matrice "maximum"
C'est juste que mon prof l'a pas appelé comme ça là et que j'arrive pas à l'identifier. Ou alors elle n'est pas là..
Il faut trouver p1. Dans le résultats que j'ai, il y a trois lignes dans p1 :
p : 1 2 1 0
e : 6 3 4 2
r : 5 1 3 2
E ne change jamais, c'est donc la valeur qu'on donne dans l'énoncé. 6 3 4 2, c'est le nombre de ressources existantes dans le systeme.
Mais comment trouver la ligne P ?
J'ai demandé de l'aide à mon prof, et il m'a dit :
E c est le total des ressources du système
R c'est les ressources restantes a allouer
Pour E ça confirme ce que je pensais. Mais pour P ?
Je rame complétement..
Je me dis que A, c'est peut-être P0, avant P1, P2, etc
Et dans tous les exemples que je trouve sur internet, il y a une colonne ou une matrice "maximum"
C'est juste que mon prof l'a pas appelé comme ça là et que j'arrive pas à l'identifier. Ou alors elle n'est pas là..
yg_be
Messages postés
23405
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 décembre 2024
1 557
Modifié le 1 août 2019 à 16:56
Modifié le 1 août 2019 à 16:56
je pense que c'est une mauvaise idée d'utiliser les réponses de quelqu'un d'autre, cela va t’empêcher de comprendre. mieux vaut trouver les tiennes.
qu'as-tu compris de l'algorithme? à quoi sert-il? n'hésite pas à faire référence aux sites que tu as analysés sur internet.
qu'as-tu compris de l'algorithme? à quoi sert-il? n'hésite pas à faire référence aux sites que tu as analysés sur internet.
CH4BRN
Messages postés
49
Date d'inscription
lundi 19 février 2018
Statut
Membre
Dernière intervention
6 février 2021
1
2 août 2019 à 10:34
2 août 2019 à 10:34
C'est que les examens approchent, et faute de mieux, j'ai utilisé ce que j'avais. :)
C'est un algorithme qui sert a affecter des ressources à des processus et tester si cette affectation permet de rester ou non dans un état sûr (la possibilité qu'il entre en interblocage ou non).
Mais c'est super abstrait ça, ça ne m'aide pas du tout.
En colonne, ce sont les ressources, la mémoire ;
En ligne ce sont les processus.
pN sont différentes affectations de ressources qui permettent de rester en état sûr ?
J'ai regardé la page wiki :
https://fr.wikipedia.org/wiki/Algorithme_du_banquier
Et ça confirmerait bien ce que je pensais sur pN, que c'est un instantané de l'affectation.
État à l'instant t d'un ordinateur : ressources actuellement attribuées et ressources demandées, pour cinq processus (P1 à P5) et quatre ressources (A à D)
Et j'ai regardé ces deux vidéo, qui ont toutes deux des colonnes "maximum" :
https://www.youtube.com/watch?v=-VoZvNvYt-A
https://www.youtube.com/watch?v=2V2FfP_olaA
Je me dis que "Need" doit correspondre a ma matrice S
"Allocation" corresponde à une ligne de P
"Available" c'est R ?
et... maximum serait "E" ?
C'est un algorithme qui sert a affecter des ressources à des processus et tester si cette affectation permet de rester ou non dans un état sûr (la possibilité qu'il entre en interblocage ou non).
Mais c'est super abstrait ça, ça ne m'aide pas du tout.
En colonne, ce sont les ressources, la mémoire ;
En ligne ce sont les processus.
pN sont différentes affectations de ressources qui permettent de rester en état sûr ?
J'ai regardé la page wiki :
https://fr.wikipedia.org/wiki/Algorithme_du_banquier
Et ça confirmerait bien ce que je pensais sur pN, que c'est un instantané de l'affectation.
État à l'instant t d'un ordinateur : ressources actuellement attribuées et ressources demandées, pour cinq processus (P1 à P5) et quatre ressources (A à D)
Et j'ai regardé ces deux vidéo, qui ont toutes deux des colonnes "maximum" :
https://www.youtube.com/watch?v=-VoZvNvYt-A
https://www.youtube.com/watch?v=2V2FfP_olaA
Je me dis que "Need" doit correspondre a ma matrice S
"Allocation" corresponde à une ligne de P
"Available" c'est R ?
et... maximum serait "E" ?
yg_be
Messages postés
23405
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 décembre 2024
1 557
>
CH4BRN
Messages postés
49
Date d'inscription
lundi 19 février 2018
Statut
Membre
Dernière intervention
6 février 2021
Modifié le 2 août 2019 à 10:57
Modifié le 2 août 2019 à 10:57
Tu écris "Mais c'est super abstrait ça, ça ne m'aide pas du tout." Ce qui confirme que tu dois mieux comprendre. Regarde bien ton énoncé. Que signifie, concrètement, "affecter une ressource à un processus"?
As-tu compris l'article de wikipedia? Quand tu écris "ça confirmerait bien ce que je pensais sur pN", de quel pN s'agit-il précisément?
As-tu compris l'article de wikipedia? Quand tu écris "ça confirmerait bien ce que je pensais sur pN", de quel pN s'agit-il précisément?
CH4BRN
Messages postés
49
Date d'inscription
lundi 19 février 2018
Statut
Membre
Dernière intervention
6 février 2021
1
Modifié le 2 août 2019 à 12:49
Modifié le 2 août 2019 à 12:49
Déjà, merci d'avoir adopté cette démarche avec moi. Exactement ce dont j'avais besoin, au vu du contexte.
Dans ma compréhension de la chose :
Un processus à besoin d'une ressource pour s’exécuter puis se terminer. Allouer (meilleur terme je pense) une ressource à un processus, c'est la lui rendre disponible, et donc lui réserver (ou la "consommer"?).
Là, en relisant wikipedia, je me dis :
Aurais-je depuis le début voulu donner un deuxième sens a pN alors qu'il ne signifie qu'une chose : "processus-N" ?
Et que du coup, une ligne P, celle de P1 par exemple, correspondrait à une ligne de "ressources attribuées" de l'exemple de wikipedia ?
Mais ce qui me met dans la panade c'est qu'à aucun endroit on me dit "il y a n instances de la ressource x".
MAIS, ne serait-ce pas, justement, la ligne "E" ?
Il faudrait donc l'allocation des ressources pour chaque processus (P1, P2, etc.) en tenant compte de E, (qu'on décrémenterait au fur et à mesure) ?
Mais du coup à quoi sert A ? C'est pour l'ensemble ?
Dans ma compréhension de la chose :
Un processus à besoin d'une ressource pour s’exécuter puis se terminer. Allouer (meilleur terme je pense) une ressource à un processus, c'est la lui rendre disponible, et donc lui réserver (ou la "consommer"?).
Là, en relisant wikipedia, je me dis :
Aurais-je depuis le début voulu donner un deuxième sens a pN alors qu'il ne signifie qu'une chose : "processus-N" ?
Et que du coup, une ligne P, celle de P1 par exemple, correspondrait à une ligne de "ressources attribuées" de l'exemple de wikipedia ?
Mais ce qui me met dans la panade c'est qu'à aucun endroit on me dit "il y a n instances de la ressource x".
MAIS, ne serait-ce pas, justement, la ligne "E" ?
Il faudrait donc l'allocation des ressources pour chaque processus (P1, P2, etc.) en tenant compte de E, (qu'on décrémenterait au fur et à mesure) ?
Mais du coup à quoi sert A ? C'est pour l'ensemble ?
CH4BRN
Messages postés
49
Date d'inscription
lundi 19 février 2018
Statut
Membre
Dernière intervention
6 février 2021
1
2 août 2019 à 13:00
2 août 2019 à 13:00
Les "ressources restantes à allouer" c'est en fait les "ressources demandées", je pense.
Mais c'est là que je ne comprend pas, pourquoi le total des colonnes de S ne fait pas "6 3 4 2".
Ca n'a juste rien à voir en fait ?
Mais c'est là que je ne comprend pas, pourquoi le total des colonnes de S ne fait pas "6 3 4 2".
Ca n'a juste rien à voir en fait ?
CH4BRN
Messages postés
49
Date d'inscription
lundi 19 février 2018
Statut
Membre
Dernière intervention
6 février 2021
1
2 août 2019 à 14:52
2 août 2019 à 14:52
Du coup, ma résolution :
j'ai fais P4, mon neo_dispo est (2 1 2 1)
P1 possède des valeurs inférieures ou égales :
Alloc de P1 (3 0 1 1)
Need de P1 (1 1 0 0)
neo_alloc. de P1 --> (4 1 1 1)
neo_dispo. -> (2 1 2 1) - (1 1 0 0) = (1 0 2 1)
P1 se termine :
P1 libère (4 1 1 1)
dispo. -> (1 0 2 1) + (4 1 1 1) = (5 1 3 2)
P2 possède des valeurs inférieures ou égales :
Alloc de P2 (0 1 0 0)
Need de P2 (0 1 1 2)
neo_alloc. de P2 --> (0 2 1 2)
neo_dispo. -> (5 1 3 2) - (0 1 1 2) = (5 0 2 0)
P2 se termine :
P2 libère (0 2 1 2)
dispo. -> (5 0 2 0) + (0 2 1 2) = (5 2 3 2)
P3 possède des valeurs inférieures ou égales :
Alloc de P3 (1 1 1 0)
Need de P3 (3 1 1 0)
neo_alloc. de P3 --> (4 2 2 0)
neo_dispo. -> (5 2 3 2) - (3 1 1 0) = (2 1 2 2)
P3 se termine :
P3 libère (4 2 2 0)
dispo. -> (2 1 2 2) + ( 4 2 2 0) = (6 3 4 2)
P5 possède des valeurs inférieures ou égales :
Alloc de P5 (0 0 0 0)
Need de P5 (2 2 2 0)
neo_alloc. de P5 --> (2 2 2 0)
neo_dispo. -> (6 3 4 2) - (2 2 2 0) = (4 1 2 2)
P5 se termine :
P5 libère (2 2 2 0)
dispo. -> (4 1 2 2) + (2 2 2 0) = (6 3 4 2)
Tous les processus peuvent s'achever sans interblocage, l’état est sûr ?
j'ai fais P4, mon neo_dispo est (2 1 2 1)
P1 possède des valeurs inférieures ou égales :
Alloc de P1 (3 0 1 1)
Need de P1 (1 1 0 0)
neo_alloc. de P1 --> (4 1 1 1)
neo_dispo. -> (2 1 2 1) - (1 1 0 0) = (1 0 2 1)
P1 se termine :
P1 libère (4 1 1 1)
dispo. -> (1 0 2 1) + (4 1 1 1) = (5 1 3 2)
P2 possède des valeurs inférieures ou égales :
Alloc de P2 (0 1 0 0)
Need de P2 (0 1 1 2)
neo_alloc. de P2 --> (0 2 1 2)
neo_dispo. -> (5 1 3 2) - (0 1 1 2) = (5 0 2 0)
P2 se termine :
P2 libère (0 2 1 2)
dispo. -> (5 0 2 0) + (0 2 1 2) = (5 2 3 2)
P3 possède des valeurs inférieures ou égales :
Alloc de P3 (1 1 1 0)
Need de P3 (3 1 1 0)
neo_alloc. de P3 --> (4 2 2 0)
neo_dispo. -> (5 2 3 2) - (3 1 1 0) = (2 1 2 2)
P3 se termine :
P3 libère (4 2 2 0)
dispo. -> (2 1 2 2) + ( 4 2 2 0) = (6 3 4 2)
P5 possède des valeurs inférieures ou égales :
Alloc de P5 (0 0 0 0)
Need de P5 (2 2 2 0)
neo_alloc. de P5 --> (2 2 2 0)
neo_dispo. -> (6 3 4 2) - (2 2 2 0) = (4 1 2 2)
P5 se termine :
P5 libère (2 2 2 0)
dispo. -> (4 1 2 2) + (2 2 2 0) = (6 3 4 2)
Tous les processus peuvent s'achever sans interblocage, l’état est sûr ?
yg_be
Messages postés
23405
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 décembre 2024
1 557
2 août 2019 à 15:02
2 août 2019 à 15:02
le #16 me semble juste.
CH4BRN
Messages postés
49
Date d'inscription
lundi 19 février 2018
Statut
Membre
Dernière intervention
6 février 2021
1
2 août 2019 à 16:31
2 août 2019 à 16:31
Parfait, merci beaucoup, autant pour les conseils que les encouragements !
Modifié le 1 août 2019 à 12:56
je ne vous demande pas de faire le travail à ma place, je voudrais qu'on m'aide à avancer, qu'on m'explique.
Je n'arrive vraiment pas à avancer...
Et cet énoncé, c'est mon cours ! Je n'ai pas plus de cours que ça pour comprendre ...