Um problema comum em programação paralela causado pela impos...

Próximas questões
Com base no mesmo assunto
Q788629 Sistemas Operacionais
Um problema comum em programação paralela causado pela impossibilidade de garantir a ordem de execução de diferentes linhas de execução é o conflito no acesso concorrente a um recurso compartilhado. Para evitar esse problema, uma estratégia comum é o uso d e semáforos, que consiste em
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa Correta: C

Vamos entender o porquê da alternativa C estar correta e explorar um pouco mais sobre o tema abordado pela questão.

Em sistemas operacionais, um dos problemas comuns na programação paralela é o conflito no acesso concorrente a um recurso compartilhado. Esse conflito ocorre quando diversas linhas de execução (ou threads) tentam acessar e modificar o mesmo recurso ao mesmo tempo, o que pode levar a resultados inesperados ou incorretos.

Para evitar esses problemas, uma estratégia comum é o uso de semáforos. Semáforos são variáveis ou estruturas de dados utilizadas para controlar o acesso a recursos compartilhados por múltiplas linhas de execução de forma a evitar condições de corrida. A implementação de semáforos permite que apenas uma linha de execução acesse o recurso compartilhado por vez, garantindo a integridade dos dados e a correta sincronização entre os processos.

A alternativa C descreve corretamente o uso de semáforos: "limitar o acesso ao recurso compartilhado à linha de execução que solicitar o seu trancamento primeiro, cabendo às próprias linhas de execução liberarem o acesso após o uso."

Vamos justificar porque a alternativa C está correta:

Justificativa: Os semáforos funcionam basicamente como trincos: uma linha de execução deve "trancar" o semáforo antes de acessar o recurso compartilhado e "destrancar" depois de terminar, permitindo assim que outras linhas de execução possam acessar o recurso posteriormente. Isso garante que apenas uma linha de execução pode acessar o recurso em um dado momento, evitando conflitos e condições de corrida.

As outras alternativas não descrevem corretamente o uso de semáforos:

A - "Duplicar os recursos em diferentes ramos e, posteriormente, realizar a mescla em um espaço de memória de consolidação." Essa alternativa descreve um método de manipulação de dados, não a sincronização de acesso a um recurso compartilhado.

B - "Estabelecer um sistema de trocas de mensagens que sincronizam os processos com o uso de um relógio comum." Embora a troca de mensagens seja uma técnica válida de sincronização, ela não é o mesmo que o uso de semáforos.

D - "Implementar um escalonador de processos impedindo que diferentes linhas de execução ocorram simultaneamente." Essa estratégia é mais relacionada ao gerenciamento de processos pelo sistema operacional e não diretamente ao problema de acesso concorrente a recursos compartilhados.

Espero que essa explicação tenha ajudado a entender melhor o uso de semáforos na programação paralela e como eles são fundamentais para garantir a integridade dos dados em sistemas operacionais.

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

Gab C.

com semáforos, defini-se regiões críticas que só pode acessar 1 por vez

GABARITO LETRA C)

Assim como ocorre escalonamento do processador, ocorre também o "escalonamento de recursos", em outras palavras, o sistema operacional entendi que para cada recurso disponível no processador, apenas um processo pode acessá-ló por vez. Dessa forma, o processo que solicitar o recurso primeiro, fica com ele até terminar de usá-ló(liberar).

limitar o acesso--> semáforos

Para evitar conflito (deve)-->limitar o acesso

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo