Sistemas de Computação 1 - Prova 1
PUC-Rio - 11/05/95
ATENÇÃO: Responda as questões abaixo com o cuidado de se
expressar corretamente.
Lembrem-se que será levado em consideração na
correção o que estiver escrito e não
o que se quis dizer!
- Responda os ítens abaixo, utilizando um máximo de
5 linhas por resposta.
- [1.5] Qual a diferença entre um processo bloqueado e
um processo em busy wait?
- [1.5] O que é um escalonador preemptivo?
Qual a importância deste conceito, por exemplo, para
sistemas com suporte para apresentações multimídia?
- [2.0] Descreva as vantagens e desvantagens da escolha de
um tamanho de página (moldura) pequeno no projeto de um
sistema com memória virtual paginada.
- [1.5] Qual a diferença de objetivos dos mecanismos
de swapping e memória virtual? (max. 4 linhas)
- Considere o código abaixo para o problema de leitores
e escritores.
Suponha que todos os semáforos são inicializados com valor 1.
leitor: escritor:
... ...
1 while(1) { 1 while(1) {
2 P(R); 2 ...produz
3 P(M); 3 P(R);
4 rc++; 4 P(W);
5 if (rc==1) P(W); 5 ESCREVE;
6 V(M); 6 V(W);
7 V(R); 7 V(R);
8 LE; 8 }
9 P(M);
10 rc--;
11 if (rc==0) V(W);
12 V(M);
13 ... consome
- [2.0] Suponha que há um processo P
escrevendo, ie, executando a linha
5 do código do escritor, e nenhum processo esperando.
Suponha ainda que, neste momento, aparecem, nesta
ordem, 2 leitores (executando a linha 2 do código leitor), 1 escritor
(executando a linha 3 do código escritor), e mais 2 leitores.
O que acontece com estes processos quando o processo P termina
de escrever, e executa as linhas 6 e 7?
- [1.5] Explique qual o papel do
semáforo R no código acima,
descrevendo qual seria o problema do
programa se todas as operações sobre ele fossem retiradas.
Noemi Rodriguez
Wed Jun 23 11:00:15 EST 1999