Um problema comum em programação paralela causado pela impos...
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