Upload
ronildo-oliveira
View
135
Download
1
Embed Size (px)
DESCRIPTION
Resolução de Problemas - Sistemas Operacionais (Tanenbaum)
Citation preview
UNIVERSIDADE FEDERAL DO CEARÁ
BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO
RONILDO OLIVEIRA DA SILVA
SISTEMAS OPERACIONAIS:
RESOLUÇÃO DE PROBLEMAS
QUIXADÁ
2014
SUMÁRIO
CAPÍTULO 3 – GERENCIAMENTO DE MEMÓRIA ................................................................................. 3
CAPÍTULO 4 – SISTEMAS DE ARQUIVOS .............................................................................................. 4
CAPÍTULO 5 – ENTRADA/SAÍDA ............................................................................................................... 5
CAPÍTULO 6 – IMPASSES ........................................................................................................................... 6
CAPÍTULO 8 – SISTEMAS COM MULTÍPLOS PROCESSADORES .................................................... 8
REFERÊNCIAS BIBLIOGRÁFICAS ............................................................................................................ 9
3
CAPÍTULO 3 – GERENCIAMENTO DE MEMÓRIA
1. É um acidente. O registo base é 16.384 porque o programa foi carregado no endereço 16384. Poderia ter sido carregado em qualquer lugar. O limite registro é 16.384 porque o programa contém 16.384 bytes. Pode ter havido qualquer comprimento. Já o fato do endereço coincidir com o comprimento do programa é pura coincidência.
4. Primeiro fit leva de 20 KB, 10 KB, 18 KB. Melhor fit leva de 12 KB, 10 KB, e 9 KB. Pior fit leva de 20 KB, 18 KB e 15 KB. Próximo fit leva de 20 KB, 18 KB, e 9 KB.
8. O espaço de endereço virtual total para todos os processos combinados é nv, de modo que é o suficiente para o armazenamento das páginas. No entanto, uma quantidade r pode estar na RAM, assim a quantidade de armazenamento em disco necessário é apenas nv – r.
11. (a) Uma tabela de página multinível reduz o número de páginas reais da tabela que precisa estar na memória por causa de sua estrutura hierárquica. De fato, em um programa com muita instrução, precisamos apenas da tabela de nível superior da página (uma página), uma página de instruções e uma página de dados. (b) Atribuir 12 bits para cada um dos três campos página. O campo offset requer 14 bits de endereço 16 KB. Isso deixa 24 bits para os campos página. Desde cada entrada é de 4 bytes, uma página pode conter 212 entradas de tabela de página e requer 12 bits para indexar uma página. Modo, a alocação de 12 bits para cada um dos campos página irá abordar todos os 238 bytes.
16. O bit R nunca é necessário na TLB. A mera presença de uma página lá significa que a página foi referenciada; caso contrário ela não estaria lá. Assim, o bit é completamente redundante. Quando a entrada é escrita de volta à memória, o bit R na tabela de página de memória é definido.
21. (a) Todas as páginas irão falhar, a menos que o número de quadros da página seja 512, o comprimento de toda a sequência. (b) Se houver 500 quadros, mapa de páginas 0-498 para quadros fixos, varia apenas um quadro.
28. NRU remove a página 2. FIFO remove a página 3. LRU remove a página 1. Na segunda chance remove página 2.
4
33. O programa está recebendo 15.000 falhas de página, cada um dos quais usa 2 ms de tempo extras de processamento. Juntos, a sobrecarga de página é 30 seg. Isto significa que do 60s usado, metade foi gasto em despesas gerais, e metade na execução o programa. Se executar o programa com o dobro da memória, temos metade como falhas de memória, e apenas 15 segundos de sobrecarga de erro de página, de modo, o tempo total de execução será de 45 seg.
38. Apoio geral memória virtual não é necessária quando os requisitos de memória de todas as aplicações são bem conhecidos e controlados. Alguns exemplos são especiais de uso do processador (por exemplo, processadores de rede), processadores incorporados e supercomputadores (por exemplo, projeto da asa do avião). Nestas situações, devemos sempre considerar a possibilidade de usar mais memória real. Se a operação sistema não tem que suportar a memória virtual, o código seria muito menor. Por outro lado, algumas ideias de memória virtual podem ainda ser exploradas, embora com diferentes requisitos de projeto.
CAPÍTULO 4 – SISTEMAS DE ARQUIVOS
2. O sistema operacional se preocupa com o comprimento de arquivos quando
eles podem ser estruturados como registros com chaves em uma posição
específica. Dentro de cada registro é possível requisitar um registro com
uma determinada chave. Nesse caso, o sistema tem de saber quão grande
os registros são para que ele possa procurar pela a chave.
5. Sim. A renomeação não altera o tempo de criação ou a hora da última
modificação, mas a criação de um novo arquivo faz com que ele obtenha o
tempo atual o de criação e a hora da última modificação. Além disso, se o
disco está cheio, a cópia pode falhar.
10. Uma vez que o armazenamento é desperdiçado entre as unidades de
alocação, e não dentro delas, esta é a fragmentação externa. É
precisamente análoga a fragmentação externa da memória principal que
ocorre com um sistema de troca ou de um sistema usando segmentação
pura.
13. A câmera digital registra um número de fotografias em sequência em um
meio não volátil de armazenamento (por exemplo, a memória flash). Quando
a câmera é reiniciada, o meio é esvaziado. Em seguida, as imagens são
gravadas uma a uma em sequência até que o meio está cheio, momento em
que eles são enviados para um disco. Para esta aplicação, um sistema de
arquivos contínuo dentro da câmera é ideal.
5
17. Ter duas cópias na tabela ao mesmo tempo é um desastre, a menos que
ambos são somente leitura. O pior caso é quando ambos estão sendo
atualizados simultaneamente. Quando eles são escritos de volta para o
disco, qualquer um irá apagar as alterações feitas pelo outro, e blocos de
disco serão perdidos.
20. O início do mapa de bits é semelhante:
(a) Depois de escrever o arquivo B: 1111 1111 1111 0000 (b) Após a exclusão do arquivo A: 1000 0001 1111 0000 (c) Depois de escrever o arquivo C: 1111 1111 1111 1100 (d) Depois de eliminar o arquivo B: 1111 1110 0000 1100
25. Muitos arquivos UNIX são curtos. Se todos os arquivos coubessem no
mesmo bloco, apenas um acesso ao disco seria necessário para ler o
arquivo, em vez de dois, como é atualmente o caso. Mesmo para mais
pastas haveria um ganho, uma vez que seriam necessários menos acessos
ao disco.
31. Ele restringe a soma de todos os tamanhos dos arquivos de ser não maior
do que o disco. Esta não é uma restrição muito grave. Se os arquivos deles
eram coletivamente maiores do que o disco, não haveria lugar para
armazenar todos eles.
CAPÍTULO 5 – ENTRADA/SAÍDA
2. Fácil. O scanner envia a 400 KB/s máximo. A rede sem fio é executado a
6,75 MB/s, então não há nenhum problema.
11. (a) driver de dispositivo.
(b) driver de dispositivo.
(c) software independente de dispositivo.
(d) software em nível de usuário.
14. RAID 2 não só pode recuperar a partir de drivers corrompidos, mas também
de erros transitórios não detectados. Se uma unidade oferece um único bit
defeituoso, o RAID 2 vai corrigir isso, mas o RAID 3 não pode.
18. A principal vantagem de discos ópticos é que eles têm densidade de
gravação muito maior do que os discos magnéticos. A principal vantagem de
discos magnéticos que é eles é uma ordem de grandeza mais rápida do que
os discos ópticos.
6
25. No pior dos casos, um pedido de leitura / gravação não é atendido por dois
discos.
26. (a) Utilizando 500 MHz, o contador pode ser decrementado a cada 2 ms.
Assim, para cada milésimo de segundo, o registro deve ser 1000000/2 =
500.000.
(b) Para obter um clock num instante a cada 100 ms, o valor de registro
deve ser 50.000.
32. Deslizar a janela requer uma cópia 59 linhas de 80 caracteres ou 4720
caracteres. Copiando um char (16 bytes) leva 800 nano segundos, por isso
toda a janela leva 3.776ms. Escrevendo 80 caracteres para a tela leva 400
nano segundos, num instante de rolagem de janela, exibe uma nova linha
em 4,176ms. Isso dá cerca de 239,5 linhas/s.
37. (a) Cada pixel tem 3 bytes em RGB, de modo que o espaço de tabela é de
16 × 24 × 3 bytes, que é 1.152 bytes.
(b) a 100ns por byte, cada char corresponde a 115,2 ms. Isto dá uma
potência taxa de cerca de 8681 caracteres / seg.
42. A largura de banda em um segmento de rede é compartilhada, então 100
usuários solicitando diferentes dados simultaneamente em uma rede de 1
Mbps vai ver cada um de 10 Kbps de velocidade efetiva. Com uma rede
compartilhada, um programa de TV pode ser multicast, de modo que os
pacotes de vídeo só são transmitidos uma vez, não importa quantos
usuários existem e ele deve funcionar bem. Com 100 usuários navegar na
Web, cada usuário terá 1/100 da largura de banda, de modo que o
desempenho pode cair muito rapidamente.
CAPÍTULO 6 – IMPASSES
2. O espaço em disco na partição é um recurso finito. Cada bloco que chega
reivindica um recurso e cada novo spool que chega requer mais recursos.
Se o espaço de buffer é, digamos 10 MB e a primeira metade dos dez são
de 2 MB, o disco vai estar cheio e não há mais blocos que possam ser
armazenados, por isso temos um impasse. O bloqueio pode ser evitado
permitindo um job iniciar a impressão antes, assim, liberada para o resto do
job. Desta forma, um job será finalizado, então o próximo pode fazer a
mesma coisa. Se o jobs não pode começar a imprimir até que estejam
totalmente num buffer, o impasse é possível.
7
6. Considere três processos, A, B e C e dois recursos de P e S. Suponha que A
está aguardando um recurso que é mantido por B, B está à espera de S ser
realizada por A, C e está esperando por R que está sendo usado por A.
Todos os três processos, A, B e C estão num impasse. No entanto, só A e B
pertencem à cadeia circular.
9. O processo está solicitando mais recursos do que o sistema tem. Não existe
maneira cabível que possa obter esses recursos, por isso nunca pode ser
concluída, mesmo que outros processos não necessitem de quaisquer
recursos.
13. Há estados que não são nem seguros nem deadlocks, mas que levam a
estados bloqueados. Como exemplo, suponha que temos quatro recursos:
fitas, plotters, scanners e CD-ROMs, como no texto, e três processos
concorrentes para eles. Poderíamos ter a seguinte situação:
Este estado não está num impasse porque muitas ações ainda podem
ocorrer, por exemplo, A ainda pode obter duas impressoras. No entanto, se
cada processo requisitar demais requisitos, teremos um impasse.
17. O sistema é livre de deadlocks. Suponha que cada processo tem um
recurso. Nesse caso, há um recurso livre. Qualquer processo pode
requisitá-lo e executá-lo, em que caso pode terminado e libere ambos os
recursos. Consequentemente, o impasse é impossível.
22. Segue a matriz:
Se x é 0, temos um impasse. Se x é 1, o processo D pode ser concluído.
Quando ele está acabado, o vetor disponível é [11221]. Infelizmente
estamos agora num impasse. Se x é 2, depois de D ser executado, o vetor
que estará disponível será [11321] e C pode ser executado. Depois que ele
terminar e retornar os seus recursos à disponibilidade do vector será
[22331], que vai permitir B executar e completar sua execução, e em
seguida, A conclui sua execução. Portanto, o menor valor de x que evita um
bloqueio é 2.
8
29. Um impasse ocorre quando um conjunto de processos é bloqueado à
espera de um evento que só algum outro processo no conjunto pode liberar.
Por outro lado, processos em um livelock não são bloqueados. Em vez
disso, eles continuam a executar a verificação. Assim, para além dos
recursos de que são titular, os processos em livelock continuar a consumir
tempo de CPU.
CAPÍTULO 8 – SISTEMAS COM MULTÍPLOS PROCESSADORES
26. As máquinas virtuais não têm nada a ver com partições de disco. O
hypervisor pode tomar uma única partição de disco e dividi-lo em
subpartições e dar a cada máquina virtual de um deles. Em princípio, pode
haver centenas delas. Ele pode estaticamente particionar o disco em n
partes ou fazer isso em demanda de acordo como os blocos são solicitados.
27. Tabelas de página só podem ser modificadas pelo sistema operacional
convidado, e não aplicações presentes nos convidado.
29. Sim. O Linux foi paravirtualizado precisamente porque o código fonte é
aberto. Windows não foi paravirtualizado porque a fonte código é fechado.
30. Não, essas diferenças pode significar que portar o hypervisor de plataforma
para plataforma requer um pouco de ajustes, mas a máquina emulada é o
mesmo em todos os casos, para que o appliance virtual deve funcionar em
todos os lugares.
32. Não só a máquina precisa de memória para o normal (guest) para o sistema
operacional e todas as suas aplicações, mas também precisa de memória
para as funções de hypervisor e estruturas de dados necessários para
executar instruções sensíveis em nome do sistema operacional convidado.
Os hypervisors tem o custo adicional da operação de acolhimento de
sistema. Além disso, cada máquina virtual terá seu próprio sistema
operacional, assim não haverá N cópias do sistema operacional
armazenados na memória. Uma maneira de reuso de memória seria
identificar o "código compartilhado" e manter apenas uma cópia deste
código na memória. Por exemplo, uma empresa de hospedagem web pode
ser executada várias máquinas virtuais, cada um executando uma versão
idêntica do Linux e uma cópia idêntica do código do servidor web Apache.
Neste caso, o segmento de código pode ser compartilhado entre VMs,
embora as regiões de dados devam ser privadas.
9
REFERÊNCIAS BIBLIOGRÁFICAS
TANENBAUM, Andrew S. Sistemas Operacionais Modernos. 2. Ed. Prentice Hall
(Pearson), 2003.