A maior rede de estudos do Brasil

Como funcional algoritmo do banqueiro?


1 resposta(s)

User badge image

Henrique

Há mais de um mês

  while (P não vazio) {
        boolean achou = false
        for each (processo p in P) {
            Cp = atual alocação de recursos para o processo(p)
            Mp = requisito máximo de recursos para o processo(p)
            if (Mp − Cp ≤ A) {
                // p pode obter tudo de que necessita.
                // Suponha que ele faz isso, termina, e libera o que ele já tem.
                A = A + Cp
                remove_elemento_do_conjunto(p, P)
                achou = true
            }
        }
        if (not achou) {
            return INSEGURO
        }
    }
    return SEGURO
  while (P não vazio) {
        boolean achou = false
        for each (processo p in P) {
            Cp = atual alocação de recursos para o processo(p)
            Mp = requisito máximo de recursos para o processo(p)
            if (Mp − Cp ≤ A) {
                // p pode obter tudo de que necessita.
                // Suponha que ele faz isso, termina, e libera o que ele já tem.
                A = A + Cp
                remove_elemento_do_conjunto(p, P)
                achou = true
            }
        }
        if (not achou) {
            return INSEGURO
        }
    }
    return SEGURO

Essa pergunta já foi respondida por um dos nossos estudantes