Вы находитесь на странице: 1из 2
Prof. Michael A. Pontes michaelpontes@unip.br Lista de Exercícios – Sistemas Operacionais Parte 2 – Estruturas

Prof. Michael A. Pontes michaelpontes@unip.br

Lista de Exercícios Sistemas Operacionais

Parte 2 Estruturas do sistema operacional

1. Os serviços e funções fornecidas por um sistema operacional podem ser divididos em duas categorias principais. Descreva rapidamente as duas categorias e discuta como elas diferem.

2. Relacione cinco serviços fornecidos por um sistema operacional que foram projetados para ser mais convenientes para os usuários do sistema computadorizado. Em que casos seria impossível que os programas no nível do usuário provessem esses serviços? Explique.

3. Descreva três métodos gerais para passar parâmetros para o sistema operacional.

4. Descreva como você poderia obter um perfil estatístico da quantidade de tempo que um programa gasta executando diferentes seções do seu código. Discuta a importância desse perfil estatístico.

5. Quais são as cinco principais atividades de um sistema operacional em relação à gerência de processos?

6. Quais são as vantagens e desvantagens de usar a mesma interface de chamada de sistema para manipular arquivos e dispositivos?

7. Qual é a finalidade do interpretador de comandos? Por que ele normalmente é separado do kernel? Seria possível para o usuário desenvolver um novo interpretador de comandos usando a interface de chamada de sistema fornecida pelo sistema operacional?

8. Quais são os dois modelos de comunicação entre processos? Quais são os pontos fortes e fracos das duas técnicas?

9. Por que a separação do mecanismo e da política é desejável?

10. Por que a linguagem Java provê a capacidade de chamar, de um programa Java, métodos nativos escritos, digamos, em C ou C++? Dê um exemplo de uma situação na qual um método nativo é útil.

11. Às vezes, é difícil conseguir uma técnica em camadas se dois componentes do sistema operacional forem dependentes um do outro. Identifique um cenário em que não é claro como colocar dois componentes do sistema em camadas que exigem o acoplamento de suas funcionalidades.

[1]

Prof. Michael A. Pontes michaelpontes@unip.br 12. Qual é a principal vantagem da técnica de microkernel

Prof. Michael A. Pontes michaelpontes@unip.br

12. Qual é a principal vantagem da técnica de microkernel para o projeto de sistema? Como os programas do usuário e os serviços do sistema interagem em uma arquitetura de microkernel? Quais são as desvantagens de usar a técnica de microkernel?

13. De que maneiras uma técnica de kernel modular é semelhante à técnica em camadas? De que maneiras ela difere da técnica em camadas?

14. Qual é a principal vantagem para um projetista de sistema operacional usar uma arquitetura de máquina virtual? Qual é a principal vantagem para um usuário?

15. Por que um compilador just-in-time é útil para a execução de programas Java?

16. Qual é o relacionamento entre um sistema operacional guest e um sistema operacional hospedeiro em um sistema como VMware? Que fatores precisam ser considerados na escolha do sistema operacional hospedeiro?

17. O sistema operacional experimental Synthesis possui um montador (assembler) incorporado dentro do kernel. Para otimizar o desempenho da chamada de sistema, o kernel monta rotinas dentro do seu espaço para diminuir o caminho que a chamada de sistema precisa percorrer no kernel. Essa técnica é a antítese da técnica em camadas, na qual o caminho pelo kernel é estendido para facilitar a montagem do sistema operacional. Discuta os prós e os contras da técnica do Synthesis para o projeto do kernel e a otimização do desempenho do sistema.

[2]