Devoir maison - ASR 2 Correction Anne Benoit 19 mars 2014 1. On considère le système suivant, avec 5 processus et 3 ressources, avec plusieurs instances de chaque ressource (10 5 7) : Allocation M ax P0 0 1 0 753 P1 2 0 0 322 P2 3 0 2 902 P3 2 1 1 222 P4 0 0 2 433 Initialement, Available = (3 3 2) (a) Donner la matrice N eed. N eed P0 7 4 3 P1 1 2 2 P2 6 0 0 P3 0 1 1 P4 4 3 1 (b) L’état est-il sûr ? Oui, on peut terminer immédiatement P1 et P3 , ce qui donne Available = (7 4 3), puis tous les autres processus. Par la suite, si une requête peut être satisfaite, on considèrera qu’elle l’a été dans les questions qui suivent, sinon la requête est suspendue. (c) P1 effectue la requête (1 0 2). Peut-elle être satisfaite immédiatement ? Déjà, on a bien (1 0 2) ≤ Available = (3 3 2). Si on satisfait la requête, Available = (2 3 0) et le besoin de P1 devient (0 2 0). On peut alors terminer P1 et on obtient Available = (5 3 2), puis P3 et on obtient Available = (7 4 3). On est alors dans le même état que dans la question précédente, on peut terminer tous les autres processus. L’état étant sûr, on peut satisfaire la requête. (d) P4 effectue la requête (3 3 0). Peut-elle être satisfaite immédiatement ? Non, car on n’a plus assez de ressources disponibles (Available = (2 3 0) étant donné qu’on a satisfait la requête précédente). (e) P0 effectue la requête (0 2 0). Peut-elle être satisfaite immédiatement ? Non, car on se trouve alors dans un état non sûr : si on satisfait la requête, Available = (2 1 0) et le besoin de P0 devient (7 3 3). On ne peut alors terminer aucun processus car N eedi ≤ Available pour 0 ≤ i ≤ 4. 1 2. On considère le système suivant, avec 5 processus et 4 ressources, avec plusieurs instances de chaque ressource. Allocation M ax P0 0 0 1 2 0012 P1 1 0 0 0 1750 P2 1 3 5 4 2356 P3 0 6 3 2 0652 P4 0 0 1 4 0656 Initialement, Available = (1 5 2 0) (a) Donner la matrice N eed. N eed P0 0 0 0 0 P1 0 7 5 0 P2 1 0 0 2 P3 0 0 2 0 P4 0 6 4 2 (b) L’état est-il sûr ? Oui, on peut terminer immédiatement P0 et P3 , ce qui donne Available = (1 11 6 4), puis tous les autres processus. (c) P1 effectue la requête (0 4 2 0). Peut-elle être satisfaite immédiatement ? Si on satisfait la requête, Available = (1 1 0 0) et le besoin de P1 devient (0 3 3 0). On peut alors faire P0 et on obtient Available = (1 1 1 2), puis P2 et on obtient Available = (2 4 6 6), puis P1 et P3 , et enfin P4 . L’état reste sûr, on peut donc satisfaire la requête. 2
© Copyright 2024 ExpyDoc