Exercícios SO - Parte 2

2
Prof. Michael A. Pontes [email protected] [1] 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.

Transcript of Exercícios SO - Parte 2

Page 1: Exercícios SO - Parte 2

Prof. Michael A. Pontes [email protected]

[1]

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.

Page 2: Exercícios SO - Parte 2

Prof. Michael A. Pontes [email protected]

[2]

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.