Questão de Sistemas Operacionais — Conceitos de Gerência de Processos (SO) — CESPE / CEBRASPE 2025
Sistemas Operacionais›Conceitos de Gerência de Processos (SO)
Código
ce418260
Banca
CESPE / CEBRASPE
Órgão
TRF 6
Ano
2025
Cargo
TJ TRF6
A respeito de sistemas operacionais, julgue o item a seguir.
Os mecanismos de sincronização do Windows, como semáforos e eventos, funcionam nos níveis de threads e de processos.
CCerto
EErrado
Revelar gabarito e comentário▾
GabaritoE — Errado
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Sincronização no Windows: semáforos e eventos
Gabarito: ERRADO. Os mecanismos de sincronização do Windows, como semáforos e eventos, funcionam apenas no nível de threads, e não de processos. A afirmação está incorreta ao estender o funcionamento desses mecanismos ao nível de processos, pois eles são projetados para coordenar a execução de threads dentro de um mesmo processo.
A sincronização é um conceito fundamental em sistemas operacionais, essencial para garantir a correta execução de programas concorrentes. Quando múltiplas threads ou processos acessam recursos compartilhados, como variáveis, arquivos ou dispositivos, é necessário coordenar o acesso para evitar condições de corrida, onde o resultado final depende da ordem de execução das operações. Os mecanismos de sincronização, como semáforos, mutexes, eventos e monitores, fornecem as primitivas necessárias para implementar essa coordenação.
No Windows, a API de sincronização oferece diversos objetos, como CreateSemaphore, CreateEvent, CreateMutex e CreateCriticalSection. A distinção crucial é que semáforos, eventos e mutexes são objetos do kernel que podem ser usados para sincronizar threads, mas a sincronização entre processos requer mecanismos específicos, como named pipes, mailslots, shared memory ou memory-mapped files. A afirmação da questão generaliza incorretamente, atribuindo aos semáforos e eventos a capacidade de sincronizar processos, o que não é sua função primária.
Para entender a diferença, é importante distinguir os níveis de concorrência. Threads são unidades de execução dentro de um mesmo processo, compartilhando o mesmo espaço de endereçamento. Processos são unidades independentes, com espaços de endereçamento separados. A sincronização entre threads é mais simples, pois elas podem acessar diretamente as mesmas variáveis. A sincronização entre processos é mais complexa, exigindo mecanismos de comunicação entre processos (IPC) que permitam a troca de dados e a coordenação entre espaços de memória distintos.
A pegadinha da questão está em generalizar o funcionamento dos mecanismos de sincronização do Windows. O candidato pode ser levado a acreditar que, como o Windows é um sistema operacional robusto, seus mecanismos de sincronização funcionam em todos os níveis. No entanto, a realidade é que semáforos e eventos são projetados para sincronizar threads, e a sincronização entre processos é tratada por outros mecanismos.
NÃO CAIA NESSA!
A banca tenta fazer o candidato acreditar que os mecanismos de sincronização do Windows funcionam tanto para threads quanto para processos. A confusão surge porque, em alguns contextos, objetos como semáforos podem ser usados para sincronizar processos, mas essa não é a função primária e a afirmação generaliza incorretamente. Lembre-se: semáforos e eventos são para threads; a sincronização entre processos usa outros mecanismos, como named pipes e shared memory.
Sincronização no Windows
1Nível de threads
Semáforos
Eventos
Mutexes
Critical Sections
2Nível de processos
Named pipes
Mailslots
Shared memory
Memory-mapped files
LEVEL · soulevel.com.br
Item — ❌ ERRADO
A afirmação está incorreta porque os mecanismos de sincronização do Windows, como semáforos e eventos, funcionam apenas no nível de threads. Eles são projetados para coordenar a execução de threads dentro de um mesmo processo, garantindo exclusão mútua e sincronização de acesso a recursos compartilhados. A sincronização entre processos é realizada por outros mecanismos, como named pipes, mailslots, shared memory ou memory-mapped files, que permitem a comunicação e coordenação entre espaços de endereçamento distintos.