Sistemas Operacionais Abraham Silberschatz Exercicios Respondidos
Por: SonSolimar • 7/6/2018 • 3.073 Palavras (13 Páginas) • 681 Visualizações
...
precisa apenas especificar o dispositivo e a operação a ser executada sobre ele, enquanto o sistema converte a solicitação em comandos específicos do dispositivo ou do controlador. Programas de nível de usuário não podem ser encarregados de acessar somente os dispositivos aos quais eles precisam ter acesso e acessá-los somente quando eles não estiverem sendo usados.
c. Manipulação do sistema de arquivos. Existem muitos detalhes na criação, remoção, alocação e nomeação de arquivos que os usuários não devem executar. Blocos de espaço em disco são utilizados por arquivos e devem receber trilhas. A exclusão de um arquivo requer a remoção das informações do arquivo de nomes e a liberação dos blocos alocados. As proteções também precisam ser verificadas para garantir o acesso apropriado ao arquivo. Programas de usuário podem não garantir a adesão aos métodos de proteção e não são confiáveis para alocar apenas blocos livres e desalocar blocos na exclusão do arquivo.
d. Comunicações. A passagem de mensagens entre sistemas requer que as mensagens sejam enfeixadas em pacotes de informação, enviadas ao controlador da rede, transmitidas através de um meio de comunicação e remontadas pelo sistema de destino. A ordenação dos pacotes e a correção
dos dados precisam ter lugar. Mais uma vez, programas de usuário não podem coordenar o acesso ao dispositivo de rede nem receber pacotes destinados a outros processos.
e. Detecção de erros. A detecção de erros acontece em nível tanto de hardware quanto de software. No nível de hardware, todas as transferências de dados devem ser inspecionadas para garantir que os dados não foram cor- rompidos em trânsito. Todos os dados em mídia devem ser verificados para ter certeza de que eles não mudaram desde que foram gravados na mídia. No nível de software, as mídias devem ser verificadas quanto à consistência dos dados; por exemplo, se o número de blocos de armazenamento alocados e não alocados coincide com o número total do dispositivo. Aqui, os erros são, com frequência, independentes de processo (por exemplo, a corrupção de dados em um disco), de modo que deve existir um programa global (o sistema operacional) que manipule todos os tipos de erro. Além disso, tendo os erros processados pelo sistema operacional, os processos não precisam conter código para capturar e corrigir todos os erros possíveis em um sistema.
10) Por que alguns sistemas armazenam o sistema operacional em firmware, enquanto outros o armazenam em disco? Resposta: Para certos dispositivos, tais como PDAs móveis e telefones celulares, um disco com um sistema de arquivos pode não estar disponível para o dispositivo. Nessa situação, o sistema operacional deve estar armazenado em firmware.
11) Como seria o projeto de um sistema que permitisse a escolha de sistemas operacionais a partir dos quais se desse a inicialização? O que o programa bootstrap teria que fazer?
Resposta: Considere um sistema que quisesse operar tanto o Windows XP como três diferentes distribuições do Linux (isto e, RedHat, Debian e Mandrake). Cada sistema operacional será armazenado em disco. Durante a inicialização do sistema, um programa especial (que chamaremos de gerenciador de inicialização) determinará qual sistema operacional deverá ser inicializado. Isso significa que, em vez de inicializar a princípio um sistema operacional, o gerenciador de inicialização executará primeiro durante o início do sistema. É o gerenciador de inicialização que é o responsável por determinar qual sistema deve
ser inicializado. Normalmente, os gerenciadores de inicialização devem ser armazenados em determinadas localizações do disco rígido para serem reconhecidos durante o início do sistema. Gerenciadores de inicialização colocam, com frequência, à disposição do usuário, uma seleção de sistemas para serem inicializados; eles também são normalmente projetados para inicializar um sistema operacional default se nenhuma escolha for feita pelo usuário.
12) Os serviços e funções fornecidos por um sistema operacional podem ser divididos em duas categorias principais. Descreva resumidamente as duas categorias e discuta em que elas diferem.
Resposta: Uma classe de serviços oferecidos por um sistema operacional é a imposição de proteção entre processos diferentes sendo executados concorrentemente no sistema. Os processos são autorizados a acessar somente aquelas localizações de memória que estão associadas aos seus espaços de endereçamento. Além disso, os processos não estão autorizados a corromper arquivos associados a outros usuários. Um processo também não é autorizado a acessar dispositivos diretamente sem a intervenção do sistema operacional. A segunda classe de serviços oferecida por um sistema operacional é o fornecimento de uma nova funcionalidade que não é suportada diretamente pelo hardware subjacente. A memória virtual e o sistema de arquivos são dois desses exemplos de novos serviços fornecidos por um sistema operacional.
13) Descreva três métodos gerais de passagem de parâmetros para o sistema operacional.
Resposta: a. Passagem de parâmetros em registradores.
b. Passagem em registradores de endereços de início de blocos de parâmetros.
c. Parâmetros podem ser colocados, ou empurrados, na pilha pelo programa e expulsos da pilha pelo sistema operacional.
14) Descreva como você poderia obter um perfil estatístico do período de tempo gasto por um programa executando diferentes seções de seu código. Discuta a importância da obtenção desse perfil estatístico.
Resposta: Poderiam ser emitidas interrupções periódicas de timer e se poderia monitorar que instruções ou seções de código estão em execução corrente quando as interrupções são liberadas. Um perfil estatístico das partes do código que estão ativas deve ser consistente com o tempo gasto pelo programa em diferentes seções do seu código. Uma vez que tal perfil estatístico tenha sido obtido, o programador pode otimizar aquelas seções de código que estão consumindo mais recursos da CPU.
15) Quais são as cinco atividades principais de um sistema operacional relacionadas ao gerenciamento de arquivos? Resposta:
a. A criação e remoção de arquivos.
b. A criação e remoção de diretórios.
...