O matemático holandês E. W. Dijkstra criou em 1965 um mecani...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: D - Semáforo.
Para compreender a alternativa correta, é imprescindível ter um entendimento sólido sobre os mecanismos de sincronização em sistemas operacionais. No contexto dos sistemas operacionais, a sincronização refere-se à coordenação de processos para que acessem recursos compartilhados de maneira ordenada, evitando conflitos e garantindo a consistência dos dados.
O semáforo, como mencionado na questão, foi desenvolvido por E. W. Dijkstra e é uma estrutura de dados que consiste em um valor inteiro utilizado para controlar o acesso a recursos compartilhados. Quando um processo deseja entrar em uma seção crítica — uma parte do código onde o recurso é acessado — ele deve realizar uma operação down (também conhecida como wait ou P) no semáforo. Se o valor do semáforo é positivo, ele é decrementado e o processo pode entrar na seção crítica. Se o valor é zero ou negativo, o processo é colocado em uma fila de espera até que o semáforo seja liberado por outro processo através de uma operação up (também conhecida como signal ou V).
Essa abordagem permite o controle efetivo sobre como os processos interagem com os recursos, assegurando que apenas um número limitado de processos (ou mesmo um único processo) possa acessar o recurso em um dado momento.
As outras alternativas são conceitos relacionados a sistemas operacionais e computação, mas não correspondem ao mecanismo descrito na questão:
- Paralelismo Intrínseco refere-se à capacidade de um sistema de processar várias instruções simultaneamente, aproveitando múltiplos núcleos ou processadores.
- Thread paralelo indica a execução de múltiplas threads de um processo de forma concorrente.
- Acesso preemptivo diz respeito à capacidade do sistema operacional de interromper um processo para dar tempo de CPU a outro, o que é um mecanismo de escalonamento de processos.
- Spin-lock é outro tipo de mecanismo de sincronização que envolve espera ativa (polling) em vez de adormecer o processo caso o recurso não esteja disponível.
Com base nesses conceitos, é possível compreender por que a alternativa D - Semáforo é a correta, pois ela descreve adequadamente o mecanismo criado por Dijkstra que utiliza um valor inteiro e uma fila para gerenciar o acesso dos processos a recursos compartilhados.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
D
O matemático holandês E. W. Dijkstra criou o semáforo em 1965 como um mecanismo de sincronização para processos concorrentes. Um semáforo é um tipo abstrato de dado composto por um valor inteiro e uma fila de processos. O valor inteiro representa o número de unidades de recurso disponíveis, e a fila de processos representa os processos que estão esperando por uma unidade de recurso.
Os semáforos são usados para controlar o acesso a recursos compartilhados por processos concorrentes. Eles permitem que um processo acesse um recurso apenas se houver uma unidade de recurso disponível. Se não houver uma unidade de recurso disponível, o processo é adicionado à fila de espera.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo