next up previous
Next: Gerência de Processos Up: Sistemas Operacionais Previous: Sistemas Operacionais

Introdução

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

2.
O que você entende por multiprogramação? Apresente razões que a justifique.

3.
Nos primeiros computadores não havia a técnica de acesso direto à memória (DMA). Por isso, cada byte lido da ou escrito na memória tinha que ser diretamente manipulado pela CPU. Descreva as implicações que este tipo de organização tem na multiprogramação.

4.
Por que o conceito de tempo compartilhado (timesharing) não foi empregado nos sistemas de segunda geração?

5.
Descreva as diferenças básicas entre SO's para computadores pessoais e para mainframes.

6.
Como é que o SO sabe se o caminho (path) para um arquivo é absoluto ou relativo ao diretório corrente?

7.
Por que o interpretador de comandos (shell) é geralmente implementado separadamente do SO?

8.
Por que a tabela de processos é necessária em um sistema de tempo compartilhado? Ela também é necessária em um computador no qual somente um processo (que usa toda a máquina até que termine) existe a cada instante?

9.
Descreva com detalhes o que vem a ser "pipe"?

10.
O que são e para que servem as chamadas de sistema (system calls)?

11.
Em sistemas operacionais multiprogramados há vários subsistemas encarregados de gerenciar os recursos do sistema computacional. Quais são estes subsistemas e qual é a finalidade de cada um deles?

12.
Apresente argumentos a favor de monoprogramação e a favor de multiprogramação.

13.
Justifique porque as seguintes operações devem ser executadas em modo núcleo ou em modo usuário (defina qual é o mais apropriado):

(i) desabilitar as interrupções;

(ii) ler a hora local do circuito de relógio do computador;

(iii) ajustar a hora no relógio do computador;

(iv) enviar dados pela porta serial;

(v) ler dados do teclado;

(vi) somar valores de uma região de memória;

(vii) copiar dados de uma região de memória para outra, dentro do espaço de endereçamento destinado ao processo;

(viii) definir uma área de memória como sendo compartilhada entre dois ou mais processos;

(ix) iniciar um processo-filho;

(x) enviar um caracter para o display.

14.
Explique a diferença entre trap e interrupção.

15.
É comum encontrarmos uma chamada de sistema e uma rotina em biblioteca tendo um mesmo nome (read, por exemplo). Esta coincidência de nomes é necessária? Caso afirmativo, explique por que. Caso negativo, explique em qual das duas o nome é mais importante.

16.
Forneça pelo menos uma razão para cada uma das seguintes chamadas de sistema falhar quando executadas: fork, exec, unlink, read. Procure dar razões diferentes para cada chamada e explique suas escolhas.


next up previous
Next: Gerência de Processos Up: Sistemas Operacionais Previous: Sistemas Operacionais
Marco A. Amaral Henriques
2007-02-14