TERCEIRA LISTA DE EXERCÍCIOS DE SISTEMAS OPERACIONAIS

Propaganda
TERCEIRA LISTA DE EXERCÍCIOS DE SISTEMAS OPERACIONAIS
1.
Sobre algoritmos de escalonamento de disco:
a. Se os fatores envolvidos no acesso a dados em um disco (tempo de busca, latência e
transferência) estão diretamente relacionados às características físicas do dispositivo, como a
utilização de um algoritmo de escalonamento pode ajudar no desempenho d e acesso às
informações?
b. Desenhe o gráfico de acesso às trilhas de um disco para os algoritmos de escalonamento FirstCome-First-Served, Shortest-Seek-Time-First e Scan (Elevator) para a seguinte fila de pedidos:
68, 14, 6, 28, 130, 94, 6, 42. O cabeçote de leitura encontra-se inicialmente na posição da
trilha 20.
2.
Qual a função básica de um driver de dispositivo? Exemplifique sua interação com os outros
elementos de um sistema computacional.
3.
Explique o que são e a serventia de interrupções de entrada e saída. Dê um exemplo de como
interrupções ocorrem durante a execução de um programa na UCP.
4.
O controle de acesso a dispositivos de entrada e saída realizado pelo sistema operacional pode ser
implementado através das técnicas de entrada e saída programada, entrada e saída orientada a
interrupção e entrada e saída com acesso direto à memória. Caracterize o funcionamento de cada
um destes métodos e explique sua influência no desempenho do sistema computacional.
5.
Descreva o que representam as seguintes situações em um sistema computacional e diga qu al a
relação delas com a ocorrência de uma situação de deadlock.
a. Exclusão mútua;
b. Posse e espera;
c. Sem preempção;
d. Espera circular;
6.
O enunciado a seguir apresenta o problema de sincronização de processos conhecido como o
problema do jantar dos filósofos. Após analisá-lo, responda as perguntas:
“Cinco filósofos estão sentados em uma mesa, e desejam comer espaguete; No entanto,
para poder comer, cada filósofo precisa utilizar dois garfos e não apenas um. Portanto, os filósofos
precisam compartilhar o uso do garfo de forma sincronizada. Se não estão comendo, os filósofos
estão pensando”
a.
Os filósofos estão sujeitos aos problemas de deadlock e inanição (starvation)? Justifique suas
respostas.
b. A seguir é apresentada uma solução simples, porém imperfeita, para o problema do jantar dos
filósofos. Sugira alguma mudança no código para que ela se torne menos sujeita a falhas.
7.
Os códigos a seguir representam uma potencial solução para o problema do produtor/consumidor
com buffer limitado. Analise o código apresentado e reposta as questões a seguir:
a. A solução apresentada utiliza as funções sleep() e wakeup(processo). Explique qual o propósito
destas funções e como elas funcionam no código apresentado.
b. A utilização das primitivas sleep e wakeup elimina a possibilidade de deadlock? Caso positivo,
justifique; caso negativo, mostre como tal problema poderia ser contornado.
Download