Exercícios SO - Parte 2
-
Upload
joao-henrique-b -
Category
Documents
-
view
114 -
download
1
Transcript of 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.
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.