Sistemas de Computação 1 - Prova Final
PUC-Rio - 9/07/98
- (1,5)
O que é um escalonador não preemptivo?
Por que esse tipo de escalonador cria dificuldades
para aplicações de tempo real (por exemplo,
aplicações multimídia)?
- (gerência de memória)
- (2,0)
Explique o que é o fenômeno de thrashing em um sistema
de memória virtual.
- (1,0)
O que é fragmentação interna e o que é fragmentação externa
em um sistema de alocação de memória principal a processos?
- (sistemas de arquivos)
- (1,5)
Explique o procedimento de verificação de consistência da informação
de blocos ocupados ou livres realizado pelo Unix na inicialização do sistema.
- (1,5)
Qual o objetivo da montagem de sistemas de arquivos?
Como é armazenada no Minix, em tempo de execução,
a informação de que determinado
sistema está montado em determinado diretório?
- (2,5)
Suponha que diversos processos usuários compartilham um buffer de impressão,
e que a impressão propriamente dita é feita por um único processo, o processo impressor.
O impressor só imprime o conteúdo do buffer quando este está completo.
A cada acesso ao buffer, um processo usuário coloca um único caractere no buffer.
Quando um usuário deseja colocar o caractere no buffer e o buffer está cheio,
o usuário acorda o impressor para que ele faça a impressão do conteúdo
do buffer, e aguarda essa impressão para poder colocar seu caractere no buffer
(o impressor ``esvazia'' o buffer depois de imprimir).
Modele o comportamento dos processos usuários e impressor com semáforos,
escrevendo código simplificado para os dois tipos de processos.
A solução deve evitar deadlock, espera ocupada e starvation
(e deve modelar o comportamento descrito fielmente...).
Noemi Rodriguez
Wed Jun 23 11:32:09 EST 1999