FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO
LICENCIATURA EM ENGENHARIA ELECTROTÉCNICA E DE COMPUTADORES
Sistemas Informáticos
Recurso, 25 de Julho de 1996
I Parte, Duração máxima 60 minutos, SEM consulta

1 (1.2) Que acções executa o sistema operativo numa mudança de contexto? Que eventos podem determinar uma mudança de contexto? Considere os casos dos esquemas preemptivos e não preemptivos.

2 (1.8) As operações de wait() e signal() num semáforo s podem ser definidas da seguinte forma:

wait(s): signal(s):

dec s; inc s;

if (s<0) then if (s<=0) then

processo ---> fila de espera fila de espera ---> pronto

2.1 Mostre que se não forem executadas de forma indivisível podem não garantir a exclusão mútua de secções críticas guardadas pelo semáforo s.

2.2 Como garantiria a indivisibilidade das operações anteriores através de uma instrução do processador do tipo test-and-set?

3 (2.5) Num sistema de computação com memória virtual paginada (dimensão de página é de 2048
palavras), a tabela de páginas de um processo p, num dado instante, é a seguinte:

 Número de página     Número de moldura    
        0                     6            
        1                     7            
        2                     5            
        3                     4            
        4                    --            
        5                     3            
        6                    --            
        7                     0            

3.1 Indique quais os endereços de memória principal correspondentes aos seguintes endereços virtuais: 0; 2047; 3730; 10180; 15037.

3.1 Indique quais os endereços virtuais correspondentes aos seguintes endereços reais: 0; 1035; 6143; 10240; 13100.

4 (1.5) Considere que um sistema de gestão ficheiros contém blocos de 512 bytes, que uma consulta ao directório respectivo revela que o ficheiro FILEX se inicia no bloco 252 e que o ficheiro é aberto através da chamada:

fd= OPEN(FILEX,modo)

Traduza as seguintes chamadas num programa (relativas ao ficheiro e em bytes) usadas para ler 1500 bytes de FILEX, começando no byte 2500:

seek(fd,2500)

read(fd,1500)

para as correspondentes chamadas relativas ao volume em blocos, indicando todas as contas que precisar efectuar.

5 (1.0) Explique como é que um receptor B pode autenticar uma mensagem vinda de um emissor A através do uso de chaves públicas.

6 (2.0) Um sistema distribuído pode abranger redes LAN e WAN. Compare os dois tipos de rede na perspectiva das restrições que colocam à implementação de sistemas distribuídos. Descreva a forma como o sistema AMOEBA aborda esta questão.

(Total: 10.0/20.0) RMV/APM/JCF/JCL