1245454545

394 palavras 2 páginas
Exercícios - Sincronização de Processos
1 - Defina o que é uma aplicação concorrente e dê um exemplo de sua utilização.
2 – Considere uma aplicação que utilize uma matriz na memória principal para a comunicação entre vários processos concorrentes. Que tipo de problema pode ocorrer quando dois ou mais processos acessam uma mesma posição da matriz?
3 – O que é exclusão mútua e como ela é implementada?
4 – Como seria possível resolver os problemas decorrentes do compartilhamento da matriz, apresentado anteriormente, utilizando o conceito da exclusão mútua?
5 – O que é starvation e como podemos solucionar este problema?
6 – Explique o que são semáforos e dê dois exemplos de sua utilização.
7 – Apresente uma solução para o problema dos Filósofos, sendo a solução deve evitar starvation e deadlock
8 – O que é deadlock, quais as condições para obtê-lo e quais as soluções possíveis?
9 – Em uma aplicação concorrente que controla saldo bancário em contas-correntes, dois processos compartilham uma região de memória onde estão armazenados os saldos dos clientes A e B. Os processos executam concorrentemente os seguintes passos:
Processo 1 (Cliente A)

Processo 2 (Cliente B)

/* saque em A */

/*saque em A */

1a. x := saldo_do_cliente_A;
1b. x := x - 200;
1c. saldo_do_cliente_A := x;

2a. y := saldo_do_cliente_A;
2b. y := y - 100;
2c. saldo_do_cliente_A := y;

/* deposito em B */

/* deposito em B */

1d. x := saldo_do_cliente_B;
1e. x := x + 100;
1f. saldo_do_cliente_B := x;

2d. y := saldo_do_cliente_B;
2e. y := y + 200;
2f. saldo_do_cliente_B := y;

Supondo que os valores dos saldos de A e B sejam, respectivamente, 500 e 900, antes de os processos executarem, pede-se:
a) Quais os valores corretos esperados para os saldos dos clientes A e B após o término da execução dos processos?
b) Quais os valores finais dos saldos dos clientes se a sequência temporal de execução das operações for: 1a, 2a, 1b, 2b, 1c, 2c, 1d, 2d, 1e, 2e, 1f,

Relacionados