SóProvas


ID
3305311
Banca
AOCP
Órgão
SUSIPE-PA
Ano
2018
Provas
Disciplina
Sistemas Operacionais
Assuntos

Um sistema operacional deve garantir a exclusividade no acesso a determinadas regiões compartilhadas da memória, possibilitando somente um processo por vez acessando a região. Com relação às técnicas utilizadas pelos sistemas operacionais para obtenção de exclusão mútua, assinale a alternativa correta.

Alternativas
Comentários
  • d-

    In computer science, the test-and-set instruction is an instruction used to write (set) 1 to a memory location and return its old value as a single atomic (i.e., non-interruptible) operation. The caller can then "test" the result to see if the state was changed by the call. If multiple processes may access the same memory location, and if a process is currently performing a test-and-set, no other process may begin another test-and-set until the first process's test-and-set is finished. A CPU may use a test-and-set instruction offered by another electronic component, such as dual-port RAM; a CPU itself may also offer a test-and-set instruction.

    https://en.wikipedia.org/wiki/Test-and-set

  • 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