Wykres alokacji zasobów jest obrazową reprezentacją stanu systemu. Jak sama nazwa wskazuje, wykres alokacji zasobów to pełna informacja o wszystkich procesach, które wstrzymują pewne zasoby lub czekają na jakieś zasoby.
Zawiera także informacje o wszystkich instancjach wszystkich zasobów, niezależnie od tego, czy są one dostępne, czy też są wykorzystywane przez procesy.
Na wykresie alokacji zasobów proces jest reprezentowany przez okrąg, a zasób jest reprezentowany przez prostokąt. Przyjrzyjmy się szczegółowo rodzajom wierzchołków i krawędzi.
Wierzchołki są głównie dwojakiego rodzaju: zasoby i procesy. Każdy z nich będzie reprezentowany przez inny kształt. Okrąg reprezentuje proces, prostokąt reprezentuje zasób.
Zasób może mieć więcej niż jedną instancję. Każde wystąpienie będzie reprezentowane przez kropkę wewnątrz prostokąta.
Krawędzie w RAG są również dwojakiego rodzaju, jeden reprezentuje przypisanie, a drugi reprezentuje oczekiwanie procesu na zasób. Powyższy obrazek przedstawia każdy z nich.
Zasób jest pokazany jako przypisany do procesu, jeśli koniec strzałki jest dołączony do instancji zasobu, a głowa jest dołączona do procesu.
Proces jest wyświetlany jako oczekujący na zasób, jeśli koniec strzałki jest dołączony do procesu, a głowa skierowana jest w stronę zasobu.
przekonwertuj ciąg na bieżąco
Przykład
Rozważmy 3 procesy P1, P2 i P3 oraz dwa rodzaje zasobów R1 i R2. Zasoby mają po 1 instancji każdy.
Według wykresu R1 jest używany przez P1, P2 trzyma R2 i czeka na R1, P3 czeka na R1 i R2.
Wykres jest wolny od zakleszczeń, ponieważ nie tworzy się na nim żaden cykl.