BCC:MAC0422

De BCC Wiki

Sistemas Operacionais

Questões de Estudo para a P1 - Tanenbaum

Capítulo 1 - Introdução

Capítulo 2 - Processos

Capítulo 3 - Entrada e Saída

Primeira Prova


Correção da P2

Prova 2


Outras Fontes de Estudo

Questões do PACA

Matéria da PF


Tanenbaum (Segunda Edição)

Questões - Capítulo 1 - Introdução

1. Quais são as duas principais funções de um sistema operacional?

2. O que é multiprogramação?

3. O que é spooling? Você acredita que os computadores pessoais avançados terão spooling como um recurso padrão no futuro?

4. Nos primeiros computadores, cada byte de dados lido ou escrito era diretamente tratado pela CPU (ou seja, nao havia DMA - acesso direto à memória). Que implicações esse arranjo tem para a multiprogramação?

5. Por que o tempo compartilhado não é comum em computadores de segunda geração?

6. Quais das seguintes instruções devem ser permitidas apenas no modo de kernel?

 (a) Desativar todas as interrupções
 (b) Ler o relógio de hora do dia
 (c) Configurar o relógio de hora do dia
 (d) Mudar o mapeamento da memória

7. Relacione algumas diferenças entre sistemas operacionais de computadores pessoais e sistemas operacionais de mainframe.

8. Um arquivo de MINIX cujo proprietário tem uid = 12 e gid = 1 tem modo rwxr-x---. Outro usuário com uid = 6, gid = 1 tenta executar o arquivo. O que acontecerá?

9. Em vista do fato de que a mera existência de um superusuário pode levar a todo tipo de problemas de segurança, por que tal conceito existe?

10. O modelo cliente-servidor é popular em sistemas distribuídos. Ele também pode ser utilizado em um sistema de um único computador?

11. Por que a tabela de processos é necessária em um sistema de tempo compartilhado? Ela também é necessária em sistemas de computadores pessoais em que só um processo existe e toma conta da máquina inteira até que se encerre?

12. Qual é a diferença essencial entre um arquivo especial de bloco e um arquivo especial de caractere?

13. No MINIX, se o usuário 2 cria um vínculo para um arquivo possuído pelo usuário 1, e, então, o usuário 1 remove esse arquivo, o que acontece quando o usuário 2 tentar ler o arquivo?

14. Por que a chamada de sistema de CHROOT é limitada ao superusuário? (Sugestão: pense nos problemas de proteção.)

15. Por que o MINIX tem o programa update executando em segundo plano o tempo todo?

16. Faz qualquer sentido ignorar o sinal SIGALRM?

17. Escreva um programa (...)

18. Escreva um shell (...)


Questões - Capítulo 2 - Processos

1. Suponha que você vá projetar uma arquitetura avançada de computador que faz a comutação de processos em hardware, em vez de ter interrupções. Que informações a CPU precisaria? Descreva como a comutação de processos por hardware pode funcionar.

2. Em todos os computadores atuais, pelo menos parte dos manipuladores de interrupções são escritos em linguagem assembly. Por quê?

3. No texto, afirmou-se que o modelo da Figura 2-6(a) não se ajustava a um servidor de arquivos utilizando um cache em memória. Por que não? Cada processo poderia ter seu próprio cache?

4. Em um sistema com threads, há uma pilha por thread ou uma pilha por processo? Explique.

5. O que é uma condição de corrida?

Ferramentas pessoais