A) TSL(test and Set Lock): Usa uma variável de trava compartilhada(LOCK), para coordenar o acesso à memória compartilhada. Lock= 0(Livre), Lock=1(Impede acesso à memória compartilhada). Quando o processo termina, ele coloca a variável LOCK=0.
Para impedir o acesso à memória, ele desabilita interrupções no processador. Porém desabilitar interrupções no processador 1 não evita interrupções no processador 2, no caso de um sistema multiprocessador. O modo de evitar esse problema é impedir o barramento, o que requer uso hardware especial.
@papirobizurado
Instrução TSL (Test and Set Lock): é uma solução de exclusão mútua com espera ociosa para evitar condições de disputa.
Locks mutex
- São considerados ferramentas de sincronização.
- É usado para proteger regiões críticas e, assim, evitar condições de corrida.
- Libera o lock quando sai da seção crítica.
- É uma solução de Exclusão Mútua com Bloqueio
Monitor: é uma coleção de rotinas, de variáveis e de estruturas de dados, agrupados em um tipo especial de módulo ou pacote que permite que, em um dado momento, somente um processo ativo execute um de seus procedimentos, implementando a exclusão mútua.
Semáforos:
- Forneçam um mecanismo eficaz para a sincronização de processos;
- Usá-los incorretamente pode resultar em erros de timing difíceis de detectar.
- Pode se comportar de modo semelhante a um lock mutex,
- Um semáforo é uma variável inteira que, exceto na inicialização, é acessada apenas por meio de duas operações atômicas padrão: wait e signal
- É uma solução de Exclusão Mútua com Bloqueio
Alternativa: A