GABARITO D
A) Quando se utiliza a técnica de desabilitar interrupção, dois processos podem compartilhar o acesso à memória compartilhada sem erros.
- ERRADO: A técnica de desabilitar interrupção objetiva atingir a exclusão mútua, a qual afirma que um único processo pode acessar a memória compartilhada (região crítica) por vez.
B) Ao utilizar a técnica de chaveamento obrigatório, nenhuma das quatro condições necessárias para evitar condições de corrida é violada.
- ERRADO: Chaveamento obrigatório não é uma boa ideia quando um dos processos é muito mais lento que o outro. Esta solução requer a entrada estritamente alternada de dois processos em suas regiões críticas. Essa técnica não é implementável na prática.
- FONTE: https://cic.unb.br/~alchieri/disciplinas/graduacao/so/ipc.pdf
C) A técnica chamada de Solução de Peterson utiliza-se de semáforos para contar o número de sinais de acordar (wakeup) e sinais de dormir (sleep).
- ERRADO: a solução de Peterson utiliza a chamada de duas funções: enter_region (entrar na região crítica) e leave_region (sair da região crítica).
D) As técnicas de TSL (Test and Set Lock) e XCHG (Exchange) são implementadas em mais baixo nível, no nível de registradores.
- CORRETO: As duas técnicas são implementadas a nível de hardware.
E) Ao utilizar a técnica de variáveis do tipo trava, com qualquer algoritmo de escalonamento dos processos, não serão apresentados problemas no acesso à memória compartilhada.
- ERRADO: "Infelizmente, essa ideia contém exatamente a mesma falha fatal que vimos no diretório de spool. Suponha que um processo lê a trava e vê que ela é 0. Antes que ele possa configurar a trava para 1, outro processo está escalonado, executa e configura a trava para 1. Quando o primeiro processo executa de novo, ele também configurará a trava para 1, e dois processos estarão nas suas regiões críticas ao mesmo tempo." - TANENBAUM