Você está na página 1de 3

Universidade do Vale do Itajaí

Curso: Ciência da Computação


Disciplina: Sistemas Operacionais
Professor: Felipe Viel
Exercícios – Concorrência, Escalonamento e Gerenciamento de Memória

Questões

Memória Virtual
1) Em que circunstâncias ocorrem falhas de página? Descreva as ações
executadas pelo sistema operacional quando ocorre uma falha de página.
2) Uma visão simplificada dos estados do thread está apto, em execução e
bloqueado, em que um thread está pronto e aguardando para ser agendado, está
em execução no processador ou está bloqueado (por exemplo, aguardando
E/S). Supondo que um tópico esteja em execução, responda às seguintes
perguntas e explique suas respostas:
a. O thread mudará de estado se incorrer em uma falha de página? Em
caso afirmativo, para qual estado isso mudará?
b. O thread mudará de estado se gerar uma falha de TLB que é resolvida
na tabela de páginas? Em caso afirmativo, para qual estado isso mudará?
c. O thread mudará de estado se uma referência de endereço for resolvida
na tabela de página? Em caso afirmativo, para qual estado isso mudará?
3) Considere os seguintes algoritmos de substituição de página. Classifique
esses algoritmos em uma escala de cinco pontos de “ruim” a “perfeito” de acordo
com sua taxa de falha de página. Separe os algoritmos que sofrem da Anomalia
de Belady daqueles que não.
a. Substituição LRU
b. Substituição FIFO
c. Substituição ideal
d. Substituição de segunda chance
4) Discuta as funções de hardware necessárias para oferecer suporte à
paginação por demanda.
5) Discuta as situações em que o algoritmo de substituição de página usado com
mais frequência (MFU) gera menos falhas de página do que o algoritmo de
substituição de página menos usado (LRU). Discuta também em que
circunstâncias ocorre o oposto.
6) Um determinado computador fornece a seus usuários um espaço de memória
virtual de 232 bytes. O computador tem 218 bytes de memória física. A memória
virtual é implementada por paginação e o tamanho da página é de 4096 bytes.
Um processo de usuário gera o endereço virtual 11123456. Explique como o
sistema estabelece a localização física correspondente. Distinguir entre
operações de software e hardware.
7) Suponha que temos uma memória paginada por demanda. A tabela de
páginas é mantida em registradores. Leva 8 milissegundos para atender uma
falha de página se uma página vazia estiver disponível ou a página substituída
não for modificada e 20 milissegundos se a página substituída for modificada. O
tempo de acesso à memória é de 100 nanossegundos. Suponha que a página a
ser substituída seja modificada 70% das vezes. Qual é a taxa de falha de página
máxima aceitável para um tempo de acesso efetivo não superior a 200
nanossegundos?
8) Qual é a causa da thrashing? Como o sistema detecta o thrashing? Depois de
detectar o thrashing, o que o sistema pode fazer para eliminar esse problema?
Sistema de Arquivos
1) Considere um sistema de arquivos em que um arquivo pode ser excluído e
seu espaço em disco recuperado enquanto os links para esse arquivo ainda
existem. Que problemas podem ocorrer se um novo arquivo for criado na mesma
área de armazenamento ou com o mesmo nome de caminho absoluto? Como
esses problemas podem ser evitados?
2) A tabela de arquivos abertos é usada para manter informações sobre arquivos
que estão abertos no momento. O sistema operacional deve manter uma tabela
separada para cada usuário ou apenas manter uma tabela que contém
referências a arquivos que estão sendo acessados por todos os usuários no
momento atual? Se o mesmo arquivo estiver sendo acessado por dois
programas ou usuários diferentes, deve haver entradas separadas na tabela de
arquivos abertos?
3) Se o sistema operacional soubesse que um determinado aplicativo acessará
os dados do arquivo de maneira sequencial, como ele poderia explorar essas
informações para melhorar o desempenho?
4) Dê um exemplo de um aplicativo que poderia se beneficiar do suporte do
sistema operacional para acesso aleatório a arquivos indexados.
5) Alguns sistemas fornecem compartilhamento de arquivos mantendo uma
única cópia de um arquivo; outros sistemas mantêm várias cópias, uma para
cada um dos usuários que compartilham o arquivo. Discuta os méritos relativos
de cada abordagem.
6) Considere um sistema onde o espaço livre é mantido em uma lista de espaço
livre.
a. Suponha que o ponteiro para a lista de espaço livre seja perdido. O
sistema pode reconstruir a lista de espaço livre? Explique sua resposta.
b. Considere um sistema de arquivos semelhante ao usado pelo UNIX
com alocação indexada. Quantas operações de E/S de disco podem ser
necessárias para ler o conteúdo de um pequeno arquivo local em /a/b/c?
Suponha que nenhum dos blocos de disco esteja sendo armazenado em
cache.
7) Alguns sistemas de arquivos permitem que o armazenamento em disco seja
alocado em diferentes níveis de granularidade. Por exemplo, um sistema de
arquivos pode alocar 4 KB de espaço em disco como um único bloco de 4 KB ou
como oito blocos de 512 bytes. Como podemos aproveitar essa flexibilidade para
melhorar o desempenho? Que modificações teriam de ser feitas no esquema de
gerenciamento de espaço livre para oferecer suporte a esse recurso?
Sistema de E/S
1) Quando várias interrupções de diferentes dispositivos aparecem ao mesmo
tempo, um esquema de prioridade pode ser usado para determinar a ordem em
que as interrupções serão atendidas. Discuta quais questões precisam ser
consideradas na atribuição de prioridades a diferentes interrupções.
2) Quais são as vantagens e desvantagens de oferecer suporte a E/S mapeada
de memória para registradores de controle de dispositivo?
3) Considere os seguintes cenários de E/S em um PC de usuário único.
a. Um mouse usado com uma interface gráfica de usuário.
b. Uma unidade de fita em um sistema operacional multitarefa (suponha
que nenhuma pré-alocação de dispositivo esteja disponível)
c. Uma unidade de disco contendo arquivos de usuário
d. Uma placa gráfica com conexão direta de barramento, acessível
através de E/S mapeada em memória
Para cada um desses cenários de E/S, você projetaria o sistema operacional
para usar buffer, spool, cache ou uma combinação? Você usaria E/S com polling
ou E/S controlada por interrupção? Dê razões para suas escolhas.
4) Descreva três circunstâncias em que o bloqueio de E/S deve ser usado.
Descreva três circunstâncias em que a E/S sem bloqueio deve ser usada. Por
que não apenas implementar E/S sem bloqueio e fazer com que os processos
aguardem até que o dispositivo esteja pronto?

Você também pode gostar