Sistemas Operacionais - DeadLock e Sincronização de Processos
532 palavras
3 páginas
1 Defina o que é uma aplicação concorrente e dê um exemplo de sua utilização.Aplicação concorrente é a execução simultânea de várias tarefas interativas. Essa aplicação pode ser um conjunto de threads criadas por um programa.
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?
Pode ocorrer uma inconsistencia nas informações armazenadas naquela posição da matriz.
3 – O que é exclusão mútua e como ela é implementada?
Evita que dois processos ou threads utilizem simultaneamente um mesmo recurso. Uma precisa esperar a outra terminar de usar o recurso para poder utilizálo. Um efeito colateral dessa técnica é o deadlock.
4 – Como seria possível resolver os problemas decorrentes do compartilhamento da matriz, apresentado anteriormente, utilizando o conceito da exclusão mútua? Bloqueando um processo quando ele está tentar utilizar a matriz se esta já está requisitada por outro processo.
5 – O que é starvation e como podemos solucionar este problema?
É a situação em que um processo fica em um bloqueio indefinido pela falta dos recursos necessários para executálo. As soluções dependem dos mecanismos que serão implementados pelo sistema operacional, como um algoritmo de agendamento com uma fila de prioridade, que aumenta a prioridade do processo de acordo com o tempo que ele está esperando para ser executado.
6 – Explique o que são semáforos e dê dois exemplos de sua utilização.
Semáforo é uma variável que tem como função o controle de acesso a recursos compartilhados num ambiente multitarefa.O valor de um semáforo indica quantos processos podem ter acesso a um recurso compartilhado.
Exemplos de utilização: Semáforo é utilizado para garantir sincronização entre threads e em situações na qual necessitase que haja