Lista de Sistemas Operacionais
Por: Bruna Regina Braga Xavier • 26/10/2016 • Trabalho acadêmico • 2.799 Palavras (12 Páginas) • 596 Visualizações
UNIVERSIDADE FEDERAL DE UBERLÂNDIA
FACULDADE DE GESTÃO E NEGÓCIOS
Bacharelado em Gestão da Informação
Sistemas Operacionais
Bruna Regina Braga Xavier - 11211GIN003
01. Letra E
02. No primeiro caso, pode-se tentar prevenir a ocorrência de deadlocks evitando que pelo menos uma das quatro condições necessárias para sua ocorrência aconteça. A exclusão mútua é geralmente impossível de evitar porque alguns recursos do sistema são intrinsecamente não-compatilhaveis. A condição “Segurar e esperar” pode ser resolvida garantindo-se que sempre que um processo solicitar um recurso, ele não está “segurando” nenhum outro. Os protocolos sugeridos para isso tem duas desvantagens principais: a utilização dos recursos pode ser baixa uma vez que muitos recursos podem ser alocados e ficarem inutilizados por um longo período; e a possibilidade de inanição, uma vez que um processo que necessita de vários recursos muito usados pode ter que esperar por eles indefinidamente. Pode-se ainda permitir a preempção de recursos que estão sendo usados por um processo que aguarda pela liberação de outros recursos, mas isso geralmente só pode ser aplicado a recursos que podem facilmente serem salvos e recuperados depois (como registradores da CPU e espaço de memória). Por último, pode-se evitar a espera circular simplesmente impondo uma ordenação total em todos os tipos de recursos do sistema e exigindo que todos os processos solicitem recursos em ordem crescente de ordenação.
Pode-se ainda requerer informações adicionais sobre como os recursos do sistema serão solicitados para que, com o conhecimento da sequência completa de requisições e liberações de cada processo, se possa decidir se para uma determinada requisição um processo deve ou não esperar. Os algoritmos usados nessa abordagem tem a desvantagem de imporem um overhead a mais no sistema operacional, podendo causar significante perda de eficiência.
A estratégia de permitir que os deadlocks ocorram para depois recuperar o sistema é de elevado custo devido à árdua tarefa que é detectar-se a ocorrência de um deadlock e, ainda, recuperar o sistema mantendo a consistência das informações alteradas.
Por fim, a abordagem de ignorar a ocorrência de deadlocks no sistema é uma alternativa barata, uma vez que dispensa o overhead extra dos algoritmos de detecção, prevenção e recuperação, e pode ser bem aceitável de se utilizar desde que esse tipo de problema não ocorra frequentemente no sistema.
03. Suponha que o sistema esteja em deadlock. Isso implica que cada processo está mantendo um recurso e está esperando por mais um. Como existem três processos e quatro recursos, um processo precisa ser capaz de obter dois recursos. Esse processo não exige mais recursos e, portanto, retornará seus recursos quando terminar.
04.
05. Exclusão mútua: apenas um processo por vez pode utilizar cada determinado recurso. Se outro processo tentar usar esse mesmo recurso, esse processo deve ficar esperando pela liberação do recurso.
Segurar e esperar: cada processo está utilizando um recurso e está esperando pela liberação de outro recurso adicional (que está sendo utilizado por outro processo).
Sem preempção: um recurso só pode ser liberado voluntariamente pelo processo que o está utilizando, uma vez terminada a tarefa desse processo.
Espera circular: entre os quatro processos, deve existir um P0 que aguarda pela liberação do recurso sendo usado por P1, o qual espera pelo recurso usado por P2, que depende de um recurso de P3, que precisa de outro recurso de P4, que espera por um de P0, fechando assim a cadeia de dependências.
Para tratar deadlocks existem três diferentes métodos: usar um protocolo para garantir que o sistema nunca entrará em deadlock; permitir que o sistema entre em deadlock para depois recuperá-lo; ou ignorar o problema e fingir que eles não ocorrem no sistema.
No primeiro caso, pode-se tentar prevenir a ocorrência de deadlocks evitando que pelo menos uma das quatro condições necessárias para sua ocorrência aconteça. A exclusão mútua é geralmente impossível de evitar porque alguns recursos do sistema são intrinsecamente não-compatilhaveis. A condição “Segurar e esperar” pode ser resolvida garantindo-se que sempre que um processo solicitar um recurso, ele não está “segurando” nenhum outro. Os protocolos sugeridos para isso tem duas desvantagens principais: a utilização dos recursos pode ser baixa uma vez que muitos recursos podem ser alocados e ficarem inutilizados por um longo período; e a possibilidade de inanição, uma vez que um processo que necessita de vários recursos muito usados pode ter que esperar por eles indefinidamente. Pode-se ainda permitir a preempção de recursos que estão sendo usados por um processo que aguarda pela liberação de outros recursos, mas isso geralmente só pode ser aplicado a recursos que podem facilmente serem salvos e recuperados depois (como registradores da CPU e espaço de memória). Por último, pode-se evitar a espera circular simplesmente impondo uma ordenação total em todos os tipos de recursos do sistema e exigindo que todos os processos solicitem recursos em ordem crescente de ordenação.
Pode-se ainda requerer informações adicionais sobre como os recursos do sistema serão solicitados para que, com o conhecimento da sequência completa de requisições e liberações de cada processo, se possa decidir se para uma determinada requisição um processo deve ou não esperar. Os algoritmos usados nessa abordagem tem a desvantagem de imporem um overhead a mais no sistema operacional, podendo causar significante perda de eficiência.
A estratégia de permitir que os deadlocks ocorram para depois recuperar o sistema é de elevado custo devido à árdua tarefa que é detectar-se a ocorrência de um deadlock e, ainda, recuperar o sistema mantendo a consistência das informações alteradas.
Por fim, a abordagem de ignorar a ocorrência de deadlocks no sistema é uma alternativa barata, uma vez que dispensa o overhead extra dos algoritmos de detecção, prevenção e recuperação, e pode ser bem aceitável de se utilizar desde que esse tipo de problema não ocorra frequentemente no sistema.
06. Letra B
07. Letra B
08. Letra E
09. Letra A
10. Letra D
11. Letra C
12. Long−term Scheduling: Determina os processos que serão admitidos no sistema.
Medium−term Scheduling: Determina a adição de um número de processos que estão parcialmente ou completamente na memória.
...