Você está na página 1de 4

UFSJ Sistemas Operacionais

Lista para substitutiva


Ciência da Computação 1o Semestre de 2019

1a Questão (2 pontos)

Se o algoritmo de substituição FIFO é usado com quatro molduras de página e oito páginas virtuais, quantas
faltas de página ocorrerão com a cadeia de referências 0172327103 se os quatro quadros estão inicialmente vazios?
Agora repita esse problema para LRU.

2a Questão
Um computador tem 4 molduras de página. O tempo de carregamento da página na memória, o instante do
último acesso e os bits R e M para cada página são mostrados a seguir (os tempos estão em tiques de relógio):

Página Carregado Última ref. R M


0 126 280 1 0
1 230 265 0 1
2 140 270 0 0
3 110 285 1 1

(a) Qual página será trocada pelo NRU?


(b) Qual página será trocada pelo FIFO?
(c) Qual página será trocada pelo LRU?

(d) Qual página será trocada pelo segunda chance?

3a Questão
Tem-se observado que o número de instruções executadas entre faltas de página é diretamente proporcional ao
número de molduras de página alocadas para um programa. Se a memória disponı́vel for duplicada, o intervalo
médio entre as faltas de página será duplicado. Suponha que uma instrução normal leve um microssegundo, mas,
se uma falta de página ocorrer, ela levará 2001 microsegundos (isto é, 2 ms para tratar a falta de página). Se um
programa leva 60s para executar – um perı́odo em que ele terá 15 mil faltas de página –, quanto tempo ele levaria
para executar se existissem duas vezes mais memória disponı́vel?

4a Questão
Um grupo de projetistas de sistemas operacionais está tentando encontrar meios de reduzir a quantidade de área
de troca necessária em seus sistemas operacionais. O lı́der do grupo sugeriu não perder tempo, de modo algum,
com o salvamento do texto do programa na área de troca, mas, simplesmente, paginá-la diretamente do arquivo
binário quando necessário. Se é que isso é possı́vel, sob quais condições essa ideia funciona para o código do
programa? E sob quais condições ela funciona para os dados?

5a Questão
Sistemas que dão suporte a arquivos sequenciais sempre têm a operação para rebobinar os arquivos. Os arquivos
que suportam acesso aleatório precisam disso também?

1
6a Questão
Alguns sistemas operacionais fornecem uma chamada de sistema rename para atribuir um novo nome a um
arquivo. Há alguma diferença entre usar essa chamada para dar um novo nome a um arquivo e apenas copiá-lo
para um novo arquivo com o novo nome e depois remover o arquivo?

7a Questão
Um modo de usar alocação contı́gua de disco e não sofrer com as lacunas é compactar o disco toda vez que um
arquivo for removido. Como todos os arquivos são contı́guos, copiar um arquivo requer um posicionamento e um
atraso rotacional seguido pela transferência a toda velocidade. Escrever o arquivo de volta para o disco requer
o mesmo trabalho. Presumindo-se um tempo de posicionamento de 5 ms, um atraso rotacional de 4 ms, uma
taxa de transferência de 8 MB/s e um tamanho médio de arquivo de 8 KB, quanto tempo seria gasto para ler um
arquivo para a memória e, então, escrevê-lo de volta no disco em um novo local? Usando esses números, quanto
tempo tomaria compactar metade de um disco de 16 GB?

8a Questão
Cite uma vantagem das ligações estritas (hard links) sobre as ligações simbólicas e uma vantagem das ligações
simbólicas sobre as estritas.

9a Questão
O espaço livre do disco pode ser monitorado usando-se uma lista de livres ou um mapa de bits. Os endereços de
disco requerem D bits. Para um disco com B blocos, F dos quais livres, estabeleça a condição a qual a lista de
livres use menos espaço que o mapa de bits. Para D assumindo um valor de 16 bits, expresse sua resposta como
a porcentagem do espaço em disco que deve estar livre.

10a Questão
Qual a técnica mais como utilizada para melhor o desempenho de um sistema de arquivos em relação a leitura e
escrita de blocos? Explique.

11a Questão
Um disco CDROM contém um sistema de arquivos no qual todos os arquivos são imutáveis. Qual método de
alocação, entre alocação contı́gua, encadeada e indexada, é o mais apropriado? Justifique sua resposta.

12a Questão
Como arquivos podem ser logicamente organizados?

13a Questão
Nos sistemas de arquivos que utilizam i-nodes, onde estão armazenados os atributos de cada arquivo? E nos
sistemas FAT?.

14a Questão
Como o MS-DOS implementa o acesso aleatório aos arquivos?

2
15a Questão
O que aconteceria se o mapa de bits ou a lista de blocos livres contendo a informação sobre blocos de disco livres
tivessem sido completamente perdidos em decorrência de um desastre? Há algum modo de recuperar o disco
desse desastre ou adeus, disco? Discuta sua resposta, separadamente, para os sistemas de arquivos UNIX e para
o FAT-16.

16a Questão
Imagine que um sistema usa um controlador DMA para transferência de dados do controlador de disco para a
memória principal. Considere também que ele leva t1 ns em média para obter o barramento e t2 ns para transferir
uma palavra pelo barramento. Depois que a CPU programa o controlador de DMA, quanto tempo será necessário
para que sejam transferidas 1000 palavras do controlador de disco para a memória principal se for utilizado (a) o
modo de uma palavra por vez (cada palavra exige uma palavra de confirmação da transferência), (b) o modo surto
(assim que o controlador adquire o barramento todas as palavras são transferidas e só existe uma confirmação).
Considere que tanto o comando do controlador de disco quanto a confirmação de uma transferência requerem a
obtenção do barramento e o envio de uma palavra.

17a Questão
Compare os nı́veis do RAID (0 a 5) com relação ao desempenho na leitura e na escrita, ao desperdı́cio de espaço
e à confiabilidade.

18a Questão
Um thread pode sofrer preempção por uma interrupção de relógio? Em caso afirmativo, sob quais circunstâncias?
Do contrário, por que não?

19a Questão
Cinco tarefas em lote, A a E, chegam a um centro de computação quase ao mesmo tempo. Elas têm tempos
de execução estimados em 11, 5, 3, 4 e 8. Suas prioridades (externamente determinadas) são 3, 5, 2, 1 e 4,
respectivamente, sendo 5 a prioridade mais alta. Para cada um dos algoritmos abaixo determine o tempo médio
de ida e volta. Ignore a sobrecarga de chaveamento de processos.
(a) Circular.

(b) Escalonamento por prioridades.


(c) Primeiro a chegar primeiro a ser servido (ordem de chegada: 11, 5, 3, 4 e 8)
(d) Tarefa mais curta primeiro
para (b) e (d) considere que o algoritmo não usa preempção. Todas as tarefas são limitadas por CPU. OBS:
escreva todas as considerações relevantes para a execução dos algoritmos.

20a Questão
Se você estiver implementando um servidor da Web multithread e o único modo de ler a partir de um arquivo for
o bloqueio normal da chamada de sistema read, você usaria threads de usuário ou de núcleo? Por quê?

21a Questão
Em um sistema com threads, quando são utilizados threads de usuário, há uma pilha por thread ou uma pilha
por processo? E quando se usam threads de núcleo? Explique.

3
22a Questão
A habilidade de um processo gerar novos processos é uma caracterı́stica importante, mas não totalmente isenta de
perigos. Considera as consequências de permitir que um usuário execute o processo do código abaixo. Suponha
que fork() seja uma chamada de sistema que gera um processo filho.

int main() {
while(1) {
fork();
}
}

(a) Supondo que um sistema permitisse que tal processo executasse, quais seriam as consequências?
(b) Quais salvaguardas poderiam ser implementadas em um sistema operacional para impedir os problemas que
você citou acima?

(c) Como as salvaguardas que você citou afetaria outros processos?

23a Questão
A maioria dos escalonadores Round Robin usa um quantum de tamanho fixo. Dê um argumento em favor de um
quantum pequeno. Agora pense em um argumento que justifique um quantum grande.

24a Questão
Dois objetivos comuns das polı́ticas de escalonamento são minimizar tempos de resposta e maximizar utilização
de recursos. Indique como esses objetivos se contrapõem um ao outro.

25a Questão
A afirmativa a seguir é verdadeira ou falsa? Quando diversos threads acessam informações compartilhadas na
memória principal, a exclusão mútua deve ser imposta para evitar a produção de resultados indeterminados.
Justifique.

26a Questão
Sugeriu-se que a primeira parte de cada arquivo UNIX seja mantida no mesmo bloco de disco de seu i-node. O
que há de bom nisso?

27a Questão
O desempenho de um sistema de arquivos depende da taxa de acertos da cache (fração de blocos encontrados na
cache). Se ele leva 1ms para satisfazer uma requisição da cache, mas leva 40ms para satisfazer uma requisição se
for necessária uma leitura de disco, dê uma fórmula para o tempo médio requerido por uma requisição se a taxa
de acertos for h.

28a Questão
Quantas operações em disco são necessárias para buscar o i-node do arquivo /usr/ast/cursos/os/handout.t? Su-
ponha que o i-node para o diretório-raiz esteja na memória, mas nenhum outro componente ao longo do caminho
se encontre na memória. Suponha também que todos os diretórios caibam em um único bloco de disco.