Resolução de Problemas - Sistemas Operacionais

1.136 visualizações

Publicada em

Resolução de Problemas - Sistemas Operacionais (Tanenbaum)

Publicada em: Educação
0 comentários
2 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
1.136
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
57
Comentários
0
Gostaram
2
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Resolução de Problemas - Sistemas Operacionais

  1. 1. UNIVERSIDADE FEDERAL DO CEARÁ BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO RONILDO OLIVEIRA DA SILVA SISTEMAS OPERACIONAIS: RESOLUÇÃO DE PROBLEMAS QUIXADÁ 2014
  2. 2. 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. 3. 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. 4. 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. 5. 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. 6. 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. 7. 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. 8. 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. 9. 9 REFERÊNCIAS BIBLIOGRÁFICAS TANENBAUM, Andrew S. Sistemas Operacionais Modernos. 2. Ed. Prentice Hall (Pearson), 2003.

×