Sistemas de Computação I
Lista de Exercícios
-
Swapping e memória virtual são dois mecanismos distintos
que um sistema operacional pode utilizar
para simular uma quantidade de memória física superior à que
de fato existe na máquina.
Qual a maior vantagem da memória virtual em
relação ao swapping?
-
Normalmente a memória virtual funciona com paginação sob demanda,
onde as páginas de código, dados e pilha são trazidas para memória
na medida em que são acessadas pelo processo em execução.
Para encontrar uma página livre onde carregar uma página requisitada,
o sistema muitas vezes tem que expulsar alguma página de memória,
utilizando um algoritmo de substituição.
Para escolher a página a ser expulsa, seria desejável implementar
um algortimo LRU (least recently used), onde a página
expulsa seria aquela que está há mais tempo sem ser acessada.
-
Qual a dificuldade em implementar este algoritmo por software?
-
Explique o algoritmo NRU, que leva em conta se a página
foi referenciada e/ou modificada.
Explique a importância de analisar se a página foi
modificada ou não.
- Foram discutidas em sala quatro condições necessárias
para ocorrência de deadlock.
- Enumere as quatro condições, explicando-as.
- Em que situações cada uma dessas condições
pode ser negada? Exemplifique.
- Explique o que é uma transação atômica.
Discuta a relação entre transações atômicas e
deadlock: por que um mecanismo de transação
atômica pode tornara viável a ``quebra'' de um
deadlock sem matar um dos processos envolvidos?
-
Suponha que, em um sistema com memória virtual paginada,
o número de instruções executadas entre page faults
seja
diretamente proporcional ao número de molduras alocadas ao
programa.
Suponha que uma instrução normal demora 1 microsegundo
para ser executada, enquanto 1 instrução com page
fault demora
2000 microsegundos.
Se um programa leva 60 segundos para ser executado, e durante este
tempo ocorrem 15000 page faults, quanto tempo demoraria
sua execução se o dobro de memória estivesse
disponível?
(Suponha que uma instrução causa 1 ou 0 page faults, nunca mais.)
- O que é o fenômeno de thrashing em sistemas de
memória virtual? O que é o conjunto de trabalho de um processo
e como esse conceito pode ser usado para evitar o thrashing?
Como o sistema operacional pode determinar o conjunto
de trabalho de cada processo?
-
Explique a forma do DOS e a forma do Unix descreverem em que blocos
do disco está localizado determinado arquivo.
Discuta vantagens e desvantagens das duas formas.
-
Explique o esquema de proteção a arquivos (bits de proteção) no Unix.
Dê exemplos das limitações desse esquema.
-
Explique as verificações de consistência do sistema de arquivos
que são feitas na inicialização do Unix.
-
Quais são as dificuldades na provisão de um sistema de arquivos
onde os diretórios podem formar não apenas árvores mas
grafos acíclicos?
Explique os hard links e soft links do Unix,
discutindo as vantagens e desvantagens de cada tipo de link.
-
Explique o que são os descritores de arquivos do Unix e Minix.
Explique a estrutura de informação que permite que
processos compartilhem ou não uma mesma posição dentro
de um arquivo aberto.
Em que casos dois processos compartilham uma posição?
Em que casos as posições avançam independentemente?
Noemi Rodriguez
Mon Jun 26 16:17:42 EST 2000