A sincronização entre processos concorrentes é fundamental p...
O semáforo mutex é usado para exclusão mútua. Ele é projetado para garantir que apenas um processo de cada vez esteja lendo ou escrevendo no buffer e em variáveis associadas. Essa exclusão mútua é necessária para evitar o caos.
E.
Tanenbaum.
GABARITO E
Mutex: É uma variável compartilhada que pode estar em um de dois estados: destravado ou travado. Um bit para representá-lo:
- 0: destravado;
- Demais inteiros: travado;
Versão simplificada do semáforo utilizada quando a capacidade de contagem dele não é necessária.
ATENÇÃO!! Mutexes são bons somente para gerenciar a exclusão mútua de algum recurso ou trecho de código compartilhado.
FONTE: Tanenbaum
Um deadlock acontece quando duas ou mais tarefas bloqueiam permanentemente uma à outra; uma tarefa está bloqueando um recurso que a outra tarefa está tentando bloquear. Por exemplo:
A transação A adquire um bloqueio compartilhado na linha 1.
A transação B adquire um bloqueio compartilhado na linha 2.
A transação A agora solicita um bloqueio exclusivo na linha 2 e é bloqueada até que a transação B termine e libere o bloqueio compartilhado existente na linha 2.
A transação B agora solicita um bloqueio exclusivo na linha 1 e é bloqueada até que a transação A termine e libere o bloqueio compartilhado existente na linha 1.
A transação A não pode terminar até que a transação B termine, mas a transação B está bloqueada pela transação A. Essa condição é também chamada de dependência cíclica: a transação A tem uma dependência da transação B, e a transação B fecha o círculo tendo uma dependência da transação A.
Ambas as transações em um deadlock esperarão indefinidamente, a menos que o deadlock seja quebrado por um processo externo.
estudar teoria
Deadlock: Refere-se a uma situação em que dois ou mais processos ficam bloqueados indefinidamente, aguardando recursos que nunca serão liberados. Isso geralmente ocorre quando dois ou mais processos competem por recursos (como memória, arquivos ou dispositivos de E/S) e cada processo está esperando que o outro libere um recurso que ele precisa, resultando em um impasse.
Mutual Lock: Esse termo pode se referir a uma situação em que dois ou mais processos tentam adquirir o mesmo recurso exclusivo, o que pode levar a um deadlock. Ou pode referir-se a uma abordagem onde dois ou mais processos estão protegendo mutuamente sua execução, garantindo que apenas um deles execute uma seção crítica de código de cada vez.
Escalonamento binário: Esse termo não é comumente usado na área de sistemas operacionais ou computação concorrente. Pode se referir a um tipo específico de algoritmo de escalonamento ou a um método de escalonamento que considera apenas dois estados possíveis para os processos, como "pronto" e "bloqueado".
Buffer contador: Isso geralmente se refere a uma estrutura de dados utilizada para implementar buffers em sistemas concorrentes. Um buffer contador é uma variação de um buffer comum que inclui uma contagem do número de itens no buffer. Ele é frequentemente utilizado para comunicação entre threads ou processos concorrentes.
Semáforo mutex: Um semáforo mutex (abreviação de "mutual exclusion") é uma primitiva de sincronização utilizada para proteger o acesso a recursos compartilhados em ambientes de programação concorrente. Ele garante que apenas um processo ou thread possa acessar o recurso protegido por vez, evitando condições de corrida e garantindo consistência nos dados.
A
deadlock DEU RUIM EM TUDO....
B
mutual lock É A EXCLUSÃO DOS PROCESSOS
C
escalonamento binário NAO TEM HAVER COM GERENCIAMENTO DE PROCESSOS.
D
buffer contador BUFFER É ONDE GUARDA OS DADOS RAPIDAMENTE ENQUANTO ELES ESTÃO SENDO MOVIDOS DE UM LUGAR PARA O OUTRO.
E
semáforo mutex É IMPLEMENTADO NA MUTUAL LOCK PARA EXCLUIR OS PROCESSOS.
A QUESTÃO PEDE O MECANISMO E NÃO O QUE É OU COMO SE CHAMA A EXCLUSÃO SE FOSSE ASSIM A RESPOSTA SERIA MUTUAL LOCK