A maior rede de estudos do Brasil

Grátis
3 pág.
Sistemas Operacionais_S4

Pré-visualização | Página 1 de 1

Arnaldo José de Lima – 1400309 
 
Sistemas Operacionais – S4 
 
EXERCÍCIO 1 (3 pontos) 
Leia o texto a seguir que trata da definição do problema: O Jantar dos Filósofos, criado no ano 
de 1965 por Dijkstra, que é descrito e ilustrado abaixo: 
Cinco filósofos estão sentados em uma mesa circular (veja a Figura 1). Cada filósofo tem um 
prato de espaguete. O espaguete está tão escorregadio que um filósofo precisa de dois garfos 
para comê-lo. Entre cada par de pratos está um garfo. Os filósofos alternam-se entre comer e 
pensar. 
 
Explique em que situação poderia ocorrer inanição no problema do Jantar dos Filósofos? 
Ocorrera inanição quando todos os filósofos pegarem um garfo ao mesmo 
tempo. Nesta situação nenhum filósofo poderá comer. 
Starvation – os filósofos ficam indefinidamente pegando garfos 
simultaneamente. 
 
EXERCÍCIO 2 (2 pontos) 
Dê um exemplo de um impasse no trânsito e cite uma solução para prevenir-se deste impasse. 
 
 
Quando dois ou mais veículos querem passar ao mesmo tempo em um 
cruzamento. 
Os veículos que chegaram primeiro ao cruzamento estão travando uns aos 
outros, desta maneira todos estão travados, temos um impasse (Deadlock). 
Um semáforo previne que este impasse aconteça. 
 
EXERCÍCIO 3 (2 pontos) 
Um sistema tem dois processos e três recursos idênticos. Cada processo precisa de no máximo 
dois recursos. É possível ocorrer deadlocks (sim / não)? Justifique a sua resposta. 
 
Não é possível a ocorrência de deadlocks. 
O sistema está sem bloqueio. Suponha que cada processo aloque um recurso, 
fica um recurso sobrando. Qualquer processo pode requisitar e obter este 
recurso. 
Os processos também podem terminar e disponibilizar ambos os recursos. 
Consequentemente, o impasse é impossível. 
 
EXERCÍCIO 4 (2 pontos) 
Um sistema tem quatro processos e cinco recursos alocáveis. A alocação atual e as necessidades 
máximas são as seguintes: 
 
Qual é o menor valor de x para que esse estado seja seguro? Justifique o valor apontado. O 
menor valor de x é [ ]? 
 
Para X = 0, já temos um impasse. 
Processo Alocado Máximo Disponível Necessário 
A 1 0 2 1 1 1 1 2 1 3 0 0 0 1 1 0 1 0 0 2 
B 2 0 1 1 0 2 2 2 1 0 0 2 1 0 0 
C 1 1 0 1 0 2 1 3 1 0 1 0 3 0 0 
D 1 1 1 1 0 1 1 2 2 1 0 0 1 1 1 
 
Para x = 1, o processo D pode ser executado para ser concluído. Quando 
terminar, o vetor disponível é 1 1 2 2 1, Infelizmente, estamos agora em um 
impasse. 
 
Processo Alocado Máximo Disponível Necessário 
A 1 0 2 1 1 1 1 2 1 3 1 1 2 2 1 0 1 0 0 2 
B 2 0 1 1 0 2 2 2 1 0 0 2 1 0 0 
C 1 1 0 1 0 2 1 3 1 0 1 0 3 0 0 
 
Se x = 2, depois de D correr, o vetor disponível é 1 1 3 2 1 e C pode ser 
executado. Depois de terminar e disponibilizar seus recursos, o vetor disponível 
é 2 2 3 3 1, o que permitirá que B seja executado e concluído, e depois A será 
executado eterminado. 
 
Processo Alocado Máximo Disponível Necessário 
A 1 0 2 1 1 1 1 2 1 3 0 0 2 1 1 0 1 0 0 2 
B 2 0 1 1 0 2 2 2 1 0 0 2 1 0 0 
C 1 1 0 1 0 2 1 3 1 0 1 0 3 0 0 
D 1 1 1 1 0 1 1 2 2 1 0 0 1 1 1 
 
Processo Alocado Máximo Disponível Necessário 
A 1 0 2 1 1 1 1 2 1 3 1 1 3 2 1 0 1 0 0 2 
B 2 0 1 1 0 2 2 2 1 0 0 2 1 0 0 
C 1 1 0 1 0 2 1 3 1 0 1 0 3 0 0 
 
Processo Alocado Máximo Disponível Necessário 
A 1 0 2 1 1 1 1 2 1 3 2 2 3 3 1 0 1 0 0 2 
B 2 0 1 1 0 2 2 2 1 0 0 2 1 0 0 
 
Processo Alocado Máximo Disponível Necessário 
A 1 0 2 1 1 1 1 2 1 3 4 2 4 4 1 0 1 0 0 2 
 
Portanto, o menor valor de x que evita um impasse é 2.