Questão de Sistemas Operacionais — Gerência de Memória (Paginação, Virtual, etc.) — CESPE / CEBRASPE 2023
- Código
- ce398088
- Banca
- CESPE / CEBRASPE
- Órgão
- DATAPREV
- Ano
- 2023
- Cargo
- Ana TI ( )
- CCerto
- EErrado
GabaritoC — Certo
Gabarito: ✅ CERTO. A afirmativa está correta porque a memória compartilhada é, de fato, um dos métodos clássicos e amplamente utilizados para comunicação e sincronização entre processos em sistemas operacionais modernos, ao lado de outras técnicas como troca de mensagens, pipes e soquetes. A banca cobra exatamente esse conhecimento fundamental de IPC (Inter-Process Communication).
A comunicação entre processos (IPC) é um dos pilares do gerenciamento de processos em um sistema operacional. Quando vários processos precisam cooperar para executar uma tarefa, eles precisam trocar dados e se sincronizar. Existem dois modelos fundamentais para isso: o modelo baseado em memória compartilhada e o modelo baseado em troca de mensagens.
No modelo de memória compartilhada, um região de memória é estabelecida e acessada por dois ou mais processos. Cada processo pode ler e escrever nessa área comum, e a comunicação ocorre de forma direta, sem a intervenção do kernel a cada operação de troca de dados. A sincronização, nesse caso, é uma preocupação adicional: como os processos acessam a mesma área concorrentemente, é necessário usar mecanismos como semáforos ou mutexes para evitar condições de corrida e garantir a consistência dos dados.
No modelo de troca de mensagens, a comunicação é feita por meio de mensagens enviadas e recebidas, geralmente com a mediação do kernel. Exemplos incluem pipes, filas de mensagens e soquetes. Esse modelo é mais seguro, pois o kernel gerencia o acesso, mas tende a ser mais lento devido à sobrecarga de chamadas de sistema.
A memória compartilhada é especialmente eficiente quando a quantidade de dados a ser trocada é grande, pois evita a cópia repetida de informações entre o espaço do usuário e o espaço do kernel. Por outro lado, exige que os processos estejam no mesmo computador (ou em um sistema com memória fisicamente compartilhada), enquanto a troca de mensagens pode ser usada em sistemas distribuídos, onde os processos estão em máquinas diferentes.
Para provas de concurso, lembre-se da distinção fundamental: memória compartilhada = comunicação rápida, sem intervenção do kernel, mas exige sincronização explícita (semáforos, mutexes); troca de mensagens = comunicação mais lenta, com mediação do kernel, mas mais segura e adequada a sistemas distribuídos. Essa é a pegadinha clássica que a banca explora.
Critério | Memória Compartilhada | Troca de Mensagens |
|---|---|---|
Mecanismo | Região de memória acessada por múltiplos processos | Envio/recepção de mensagens via kernel |
Intervenção do kernel | Não (apenas na criação da região) | Sim (a cada operação) |
Velocidade | Rápida (sem cópia repetida) | Mais lenta (sobrecarga de chamadas de sistema) |
Sincronização | Explícita (semáforos, mutexes) | Geralmente implícita (gerenciada pelo kernel) |
Aplicação | Mesmo computador (memória fisicamente compartilhada) | Sistemas distribuídos (máquinas diferentes) |
A afirmativa está correta porque a memória compartilhada é, de fato, um dos métodos clássicos e amplamente utilizados para comunicação e sincronização entre processos em sistemas operacionais modernos, ao lado de outras técnicas como troca de mensagens, pipes e soquetes. A banca cobra exatamente esse conhecimento fundamental de IPC (Inter-Process Communication).
Gabarito: ✅ CERTO.
Link permanente: /questoes/ce398088