Questão de Sistemas Operacionais — Processos — FGV 2024
Sistemas Operacionais›Processos
Código
fg077399
Banca
FGV
Órgão
CVM
Ano
2024
Nível
Superior
Cargo
Analista - Perfil 8 - TI / Sistemas e Desenvolvimento - Tarde
Em um projeto de desenvolvimento de um sistema operacional voltado para aplicações críticas de tempo real, o analista Jony está avaliando diferentes métodos de Comunicação entre Processos (IPC) para garantir a máxima eficiência, confiabilidade e atendimento aos requisitos de tempo real.Considerando os desafios associados a esses sistemas, o método de IPC para sistemas de tempo real escolhido por Jony é:
Apipes anônimos;
Bsemáforos;
Cfilas de mensagens prioritárias;
Dmemória compartilhada;
Esockets de rede.
Revelar gabarito e comentário▾
GabaritoC — filas de mensagens prioritárias;
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”.
Comunicação entre Processos em Sistemas de Tempo Real
Gabarito: letra C. Em sistemas operacionais de tempo real, especialmente críticos, a previsibilidade e o cumprimento de prazos são exigências fundamentais. Dentre os mecanismos de IPC, as filas de mensagens prioritárias permitem que a comunicação respeite a urgência dos processos, garantindo que mensagens de maior prioridade sejam entregues antes. Esse comportamento é essencial para evitar a perda de deadlines. As demais alternativas apresentam limitações que as tornam menos adequadas para esse cenário.
A banca testa o conhecimento sobre as características de cada método de IPC em contexto de tempo real. A chave é identificar qual mecanismo oferece suporte nativo a prioridades sem introduzir bloqueios imprevisíveis.
Método de IPC
Suporte a Prioridades
Previsibilidade (Tempo Real)
Bloqueio Indefinido
Adequação para Tempo Real Crítico
Pipes anônimos
Não
Baixa
Sim
Não
Semáforos
Não (pode causar inversão)
Média (com risco)
Sim (potencial)
Não
Filas de mensagens prioritárias
Sim
Alta
Não
Sim
Memória compartilhada
Não (requer sincronização externa)
Média (com risco)
Sim (potencial)
Não
Sockets de rede
Não (padrão)
Baixa
Sim
Não
IPC em tempo real: Pipes anônimos (Sem prioridades, Bloqueio imprevisível); Semáforos (Sincronização, não dados, Inversão de prioridade); Filas de mensagens prioritárias (Comunicação assíncrona, Determinística); Memória compartilhada (Rápida, mas exige sincronização, Reintroduz indeterminismo); Sockets de rede (Overhead elevado, Não projetado para tempo real)
Alternativa A — ❌ Incorreta
Pipes anônimos são unidirecionais e não oferecem suporte a prioridades. Além disso, são limitados a processos com ancestralidade comum e podem causar bloqueio indefinido se o leitor/escritor não estiver pronto, o que é indesejável em tempo real.
Alternativa B — ❌ Incorreta
Semáforos são usados para sincronização, mas não para troca de dados estruturados. Em sistemas de tempo real, o uso inadequado de semáforos pode levar à inversão de prioridade (quando um processo de baixa prioridade bloqueia um de alta), comprometendo a previsibilidade.
Alternativa C — ✅ Correta ⟵ GABARITO
Filas de mensagens prioritárias permitem que mensagens sejam enviadas e recebidas com base em prioridades, garantindo que processos mais críticos possam trocar informações sem atrasos imprevisíveis. Esse mecanismo é amplamente adotado em sistemas de tempo real (ex.: RTOS como FreeRTOS, VxWorks) por oferecer comunicação assíncrona e determinística.
Alternativa D — ❌ Incorreta
Memória compartilhada é o método mais rápido de IPC, pois evita cópias de dados, mas exige mecanismos adicionais de sincronização (como semáforos) para evitar condições de corrida. Essa combinação reintroduz os problemas de inversão de prioridade e indeterminismo. Além disso, o acesso concorrente pode causar inconsistências se não for cuidadosamente gerenciado.
Alternativa E — ❌ Incorreta
Sockets de rede são projetados para comunicação entre máquinas distintas (rede), possuem overhead maior e dependem de protocolos como TCP/IP, que introduzem latência variável e não são determinísticos. São inadequados para comunicação intra-sistema em tempo real crítico.
NÃO CAIA NESSA!
A banca sabe que semáforos e memória compartilhada são muito usados em sistemas operacionais gerais, mas em tempo real eles exigem cuidados extras (como herança de prioridade) que não são triviais. Já as filas de mensagens prioritárias já embutem o conceito de prioridade na própria comunicação, sendo a escolha mais direta e confiável.
Gabarito: letra C — filas de mensagens prioritárias.