TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Sincronização E Processos

Trabalho Universitário: Sincronização E Processos. Pesquise 860.000+ trabalhos acadêmicos

Por:   •  8/11/2013  •  483 Palavras (2 Páginas)  •  7.317 Visualizações

Página 1 de 2

1º Defina o que é uma aplicação concorrente e dê um exemplo de sua utilização.

R: É a sincronização e comunicação entre os processos. Muitas vezes os processos concorrentes devem comunicar entre si. Está comunicação pode ser implementada através de memória compartilhada e a troca de mensagens.

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?

R: Analisando os exemplos conclui-se que em qualquer situação, onde dois ou mais processos compartilham um mesmo recurso, devem existir mecanismos de controle para evitar estes tipos de problemas, conhecidos como race conditions (condições de corrida).

3º Como seria possível resolver os problemas decorrentes do compartilhamento da matriz, apresentado anteriormente, utilizando o conceito de exclusão mútua?

R: Solução é impedir que dois ou mais processos acessem o mesmo recurso simultaneamente; Portanto, quando um processo estiver acessando um recurso, os demais processos que queiram acessar este recurso deverão esperar pelo término da utilização deste recurso; Esta ideia é chama de exclusão mútua (mutual exclusion).

4º O que é starvation e como podemos solucionar esse problema?

R: Starvation é uma espera indefinida. Um processo fora da sua região crítica impede que outros processos utilizem o recurso compartilhado. Soluções de hardware: Desabilitação de interrupções; Soluções de software: Algoritmo de

Dekker; Algoritmo de Peterson; Algoritmo para exclusão mútua entre N processos.

5º Qual o problema com a solução que desabilita as interrupções para implementar a exclusão mútua?

R: A multiprogramação pode ficar seriamente comprometida, já a concorrência tem como base o uso de interrupções; Se o processo “esquecer” de habilitar as interrupções, o sistema ficaria seriamente comprometido; Em sistemas multiprocessados esta solução torna-se ineficiente devido ao tempo de propagação de um processador para os outros da desabilitação/habilitação das interrupções.

6º Explique o que é sincronização condicional e dê um exemplo de sua utilização.

R: Sincronização condicional é quando o acesso a um recurso compartilhado exige uma sincronização entre os processos; Exemplo clássico é a comunicação entre dois processos através de operações de gravação e leitura em um buffers.

7º O que é deadlock, quais as condições para obtê-lo e quais as soluções possíveis?

R: Deadlock é a situação em que um processo aguarda por um recurso que nunca estará disponível; Normalmente, consequência de compartilhamento de recursos em processos concorrentes onde a exclusão mútua é exigida.

8º Leia o texto Jantar dos Filósofos e responda: quais os recursos vistos em aula foram usados para resolver os problemas dos Filósofos e do Barbeiro?

R: É preciso evitar o deadlock e o starvation. Conta os clientes a espera de atendimento. Um cliente que entra na barbearia deve contar o número de clientes a espera de atendimento. Se este for menor que

...

Baixar como (para membros premium)  txt (3.3 Kb)  
Continuar por mais 1 página »
Disponível apenas no TrabalhosGratuitos.com