1º Cite uma situação que proporcione um problema de starvation, dando um possível solução
2º Quais as condições para se obter um deadlock? Quais as possíveis soluções?
Soluções para a tarefa
Respondido por
4
1º
Imagine que o sistema de gerenciamento da CPU dê sempre prioridade para os processos de menor duração.
Você tem um processo que dura 10 segundos, mas sempre chegam processos com tempo entre 1 e 9 segundos. Desta forma há um problema crítico pois os processos de menor tempo receberão prioridade e o de 10 segundos pode nunca ser colocado em execução.
Uma forma de resolver isto é mudar o tipo de regra do escalonador. Uma das opções é usar o método de de Loteria, que sorteia fichas pros processos e os sorteia ou mesmo um sistema mais simples como o FIFO. Desta forma tem-se garantia de que o processo de 10 segundos, que antes não era executado, fará uso da CPU.
2º
Um DeadLock é quando o sistema atinge um estado em que ele não é capaz de sair dali. Não há um "caminho" para que ele volte a atingir outros estados. Ele fica preso num único estado.
Uma possível solução é fazer a modelagem desse sistema, seja por Redes de Petri, Autômatos, Arvore de Alcançabilidade ou algum outro modelo para detectar esse estado que gera o deadlock e quais são os estados que fazem com que o sistema caminhe para este local. Para então implementar proteções/condições que façam com que aquele estado que gera o problema não seja atingido ou garantir uma forma de sair dele, caso o atinja.
Imagine que o sistema de gerenciamento da CPU dê sempre prioridade para os processos de menor duração.
Você tem um processo que dura 10 segundos, mas sempre chegam processos com tempo entre 1 e 9 segundos. Desta forma há um problema crítico pois os processos de menor tempo receberão prioridade e o de 10 segundos pode nunca ser colocado em execução.
Uma forma de resolver isto é mudar o tipo de regra do escalonador. Uma das opções é usar o método de de Loteria, que sorteia fichas pros processos e os sorteia ou mesmo um sistema mais simples como o FIFO. Desta forma tem-se garantia de que o processo de 10 segundos, que antes não era executado, fará uso da CPU.
2º
Um DeadLock é quando o sistema atinge um estado em que ele não é capaz de sair dali. Não há um "caminho" para que ele volte a atingir outros estados. Ele fica preso num único estado.
Uma possível solução é fazer a modelagem desse sistema, seja por Redes de Petri, Autômatos, Arvore de Alcançabilidade ou algum outro modelo para detectar esse estado que gera o deadlock e quais são os estados que fazem com que o sistema caminhe para este local. Para então implementar proteções/condições que façam com que aquele estado que gera o problema não seja atingido ou garantir uma forma de sair dele, caso o atinja.
lindainessousa:
Obrigada!!!
Perguntas interessantes
História,
9 meses atrás
Matemática,
9 meses atrás
História,
9 meses atrás
Matemática,
1 ano atrás
Geografia,
1 ano atrás
Administração,
1 ano atrás