Atividade S.O
Esse tipo de aplicação tem como base a execução cooperativa de múltiplos processos ou threads, que trabalham em uma mesma tarefa na busca de um resultado comum. Um exemplo da utilização de aplicações concorrentes são os sistemas multiprogramáveis.
2) O que é Exclusão Mútua e como é implementada?
É uma técnica utilizada para evitar que dois processos ou threads tenham acesso simultaneamente a um recurso compartilhado, acesso esse denominado por seção crítica.
Toda vez que um processo deseja executar ou sair de instruções de sua região crítica, antes deve ser executado obrigatoriamente um protocolo de entrada/saida nessa região, garantindo assim a exclusão mútua da região crítica de um programa.
3) Explique o que é sincronização condicional e dê um exemplo de sua utilização.
É uma situação onde o acesso ao recurso compartilhado exige a sincronização de processos vinculada a uma condição de acesso.
Um exemplo é a comunicação entre dois processos através de operações de gravação e leitura em um buffer.
4) Diferencie Semáforos e Monitores.
Semáforos: é um mecanismo de sincronização que permite implementar, de forma simples, a exclusão mútua e sincronização condicional entre processos. Um semáforo é uma variável inteira, não-negativa, que só pode ser manipulada por duas instruções: DOWN e UP
Monitores: são mecanismos de sincronização de alto nível que tornam mais simples o desenvolvimento de aplicações concorrentes.
5) Quais são os tipos possíveis de Semáforos?
Semáforos binários: só podem assumir valores 0 e 1.
Semáforos contadores: podem assumir qualquer valor inteiro positivo, além do 0.
6) O que é Deadlock, qual a condição para obtê-lo e quais as soluções possíveis?
Deadlock é a situação em que um processo aguarda por um recurso que nunca estará disponível ou um evento que nunca ocorrerá. Pode-se obtê-lo pela ocorrência simultânea de