logo

Gráfico de alocação de recursos

O gráfico de alocação de recursos é a representação pictórica do estado de um sistema. Como o próprio nome sugere, o gráfico de alocação de recursos é a informação completa sobre todos os processos que estão retendo alguns recursos ou aguardando por alguns recursos.

Ele também contém informações sobre todas as instâncias de todos os recursos, estejam eles disponíveis ou em uso pelos processos.

No gráfico de alocação de recursos, o processo é representado por um círculo enquanto o recurso é representado por um retângulo. Vamos ver os tipos de vértices e arestas em detalhes.


Gráfico de alocação de recursos do sistema operacional

Os vértices são principalmente de dois tipos: recurso e processo. Cada um deles será representado por uma forma diferente. O círculo representa o processo, enquanto o retângulo representa o recurso.

Um recurso pode ter mais de uma instância. Cada instância será representada por um ponto dentro do retângulo.


Gráfico 1 de alocação de recursos do sistema operacional

As arestas no RAG também são de dois tipos, uma representa a atribuição e a outra representa a espera de um processo por um recurso. A imagem acima mostra cada um deles.

Um recurso é mostrado como atribuído a um processo se a ponta da seta estiver anexada a uma instância do recurso e a cabeça estiver anexada a um processo.

Um processo é mostrado como aguardando um recurso se a ponta de uma seta estiver anexada ao processo enquanto a cabeça estiver apontando para o recurso.


Gráfico 2 de alocação de recursos do sistema operacional Gráfico 3 de alocação de recursos do sistema operacional

Exemplo

Vamos considerar 3 processos P1, P2 e P3, e dois tipos de recursos R1 e R2. Os recursos estão tendo 1 instância cada.

De acordo com o gráfico, R1 está sendo usado por P1, P2 está segurando R2 e esperando por R1, P3 está esperando por R1 e também por R2.

O gráfico está livre de deadlocks, pois nenhum ciclo está sendo formado no gráfico.


Gráfico 4 de alocação de recursos do sistema operacional