TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Sistemas Operacionais Abraham Silberschatz Exercicios Respondidos

Por:   •  16/3/2017  •  Trabalho acadêmico  •  3.072 Palavras (13 Páginas)  •  4.912 Visualizações

Página 1 de 13

1) Qual é a finalidade das chamadas de sistema?

Resposta: As chamadas de sistema permitem que processos de nível de usuário solicitem serviços do sistema operacional.

2) Quais são as cinco principais atividades de um sistema operacional relacionadas ao gerenciamento de processos?

Resposta: As cinco atividades principais são:

a. A criação e destruição tanto de processos de usuário quanto de sistema.

b. A suspensão e retomada de processos.

c. O fornecimento de mecanismos para a sincronização de processos.

d. O fornecimento de mecanismos para a comunicação entre processos.

e. O fornecimento de mecanismos para manipulação de deadlocks.

3) Quais são as três principais atividades de um sistema operacional relacionadas ao gerenciamento de memória?

Resposta: As três atividades principais são:

a. Controlar as partes da memória que estão sendo correntemente utilizadas e quem as está utilizando.

b. Decidir que processos devem ser carregados na memória

quando o espaço em memória se torna disponível.

c. Alocar e desalocar espaço da memória quando necessário.

4) Quais são as três principais atividades de um sistema operacional relacionadas ao gerenciamento de memória secundária?

Resposta: As três atividades principais são:

a. Gerenciamento do espaço livre.

b. Alocação de espaço de armazenamento.

c. Scheduling de disco.

5) Qual é a finalidade do interpretador de comandos? Por que, geralmente, ele é separado do kernel?

Resposta: Ele lê comandos do usuário ou de um arquivo de comandos e os executa, colocando-os, usualmente, em uma ou mais chamadas de sistema. Não é, em geral, parte do kernel, já que o interpretador de comandos é sujeito a modificações.

6) Que chamadas de sistema têm de ser executadas por um interpretador de comandos ou shell para iniciar um novo processo?

Resposta: Em sistemas UNIX, uma chamada de sistema fork, seguida por uma chamada de sistema exec, precisa ser executada para iniciar um novo processo. A chamada fork clona o processo em execução corrente, enquanto a chamada exec substitui o processo que fez a chamada por um novo processo, com um executável diferente.

7) Qual é a finalidade dos programas de sistema?

Resposta: Os programas de sistema podem ser imaginados como feixes de chamadas de sistema úteis. Eles fornecem funcionalidade básica para usuários de modo que os usuários não precisem escrever seus próprios programas para resolver problemas comuns.

8) Qual é a principal vantagem da abordagem em camadas para o projeto de sistemas? Quais as desvantagens do uso dessa abordagem?

Resposta: Como em todos os casos de projeto modular, o projeto de um sistema operacional de forma modular tem diversas

vantagens. O sistema é mais fácil de depurar e modificar porque as mudanças afetam apenas seções limitadas do sistema em vez de mexer com todas as seções do sistema operacional. As informações são mantidas apenas onde são necessárias e são acessíveis somente dentro de uma área definida e restrita, de modo que quaisquer bugs que afetem os dados devem ficar limitados a um módulo específico ou camada.

9) Liste cinco serviços fornecidos por um sistema operacional e explique por que cada um deles é conveniente para os usuários. Em que casos seria impossível que programas de nível de usuário forneçam esses serviços? Explique sua resposta.

Resposta: Os cinco serviços são:

a. Execução de programas. O sistema operacional carrega o conteúdo (ou seções) de um arquivo em memória e inicia sua execução. Um programa de nível de usuário poderia não ser confiável para alocar tempo de CPU apropriadamente.

b. Operações de I/O. Discos, fitas, linhas seriais e outros dispositivos têm que se comunicar em um nível muito baixo. O usuário 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,

...

Baixar como (para membros premium)  txt (19.5 Kb)   pdf (64.8 Kb)   docx (19 Kb)  
Continuar por mais 12 páginas »
Disponível apenas no TrabalhosGratuitos.com