Questão de Sistemas Operacionais — Conceitos, Funções e Tipos de Sistemas Operacionais — FGV 2024
Sistemas Operacionais›Conceitos, Funções e Tipos de Sistemas Operacionais
Código
fg165640
Banca
FGV
Órgão
ALETO
Ano
2024
Cargo
Ana Leg ( )
O mecanismo usado pelos sistemas operacionais para implementar a multiprogramação é denominado
Afragmentação de memória.
Bescalonamento de processos.
Csistemas de arquivos.
Dinterrupções de hardware.
Echamadas de sistema.
Revelar gabarito e comentário▾
GabaritoB — escalonamento de processos.
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”.
Multiprogramação e o papel do escalonador
Gabarito: letra B. A multiprogramação — técnica de manter vários programas simultaneamente na memória, alternando o uso da CPU — é implementada pelo escalonamento de processos, que decide qual processo pronto recebe o processador e por quanto tempo. As demais alternativas são mecanismos de suporte (memória, arquivos, interrupções, chamadas de sistema), mas não são o mecanismo que viabiliza a multiprogramação em si.
A multiprogramação é um dos conceitos mais fundamentais dos sistemas operacionais modernos. Ela surgiu para resolver um problema prático: nos primeiros sistemas, a CPU ficava ociosa enquanto um programa aguardava operações de entrada/saída (E/S), que são extremamente lentas se comparadas à velocidade do processador. A solução foi manter vários programas carregados na memória ao mesmo tempo e, quando um deles precisasse esperar por uma operação de E/S, o sistema operacional troca a execução para outro programa, mantendo a CPU ocupada. Essa alternância é o coração da multiprogramação.
O mecanismo que torna essa alternância possível é o escalonador de processos (scheduler). Ele é o componente do sistema operacional responsável por:
Selecionar qual processo, dentre os que estão no estado "pronto" (ready), será o próximo a utilizar a CPU;
Decidir por quanto tempo esse processo poderá executar (o chamado time slice ou fatia de tempo);
Alternar a execução entre os processos de forma eficiente, garantindo que todos avancem e que a CPU não fique ociosa.
Sem o escalonamento, a multiprogramação seria inviável: não haveria como decidir qual programa executar, nem quando trocar de programa. O escalonador é, portanto, o mecanismo central que implementa a multiprogramação.
Para entender a distinção, é útil comparar os conceitos envolvidos:
Conceito
Função
Relação com a multiprogramação
Escalonamento de processos
Decide qual processo usa a CPU e por quanto tempo
É o mecanismo que a implementa
Fragmentação de memória
Desperdício de espaço na memória devido à alocação
Consequência/desafio, não mecanismo
Sistemas de arquivos
Gerencia o armazenamento persistente de dados
Recurso gerenciado, não mecanismo
Interrupções de hardware
Sinalizam eventos assíncronos ao processador
Mecanismo de apoio, não o principal
Chamadas de sistema
Interface entre programas e o núcleo
Mecanismo de acesso a serviços, não o principal
A pegadinha desta questão está em confundir mecanismo de suporte com mecanismo implementador. As interrupções de hardware, por exemplo, são essenciais para que o escalonador perceba que um processo terminou sua E/S, mas elas não são o mecanismo que decide a troca de processos. Da mesma forma, as chamadas de sistema são a porta de entrada para os serviços do SO, mas não são elas que implementam a multiprogramação.
Guarde esta distinção: multiprogramação = escalonamento de processos. É o escalonador que, ao alternar a CPU entre os processos prontos, permite que vários programas avancem simultaneamente, maximizando o uso do processador. É exatamente esse critério que separa a alternativa correta das demais.
Alternativa A — ❌ Incorreta
A fragmentação de memória é um problema que ocorre na alocação de memória para os processos, podendo ser interna (espaço desperdiçado dentro de um bloco alocado) ou externa (espaços livres não contíguos que não podem ser utilizados). Ela é uma consequência da alocação de memória em sistemas multiprogramados, não o mecanismo que implementa a multiprogramação. A banca a coloca aqui para confundir o candidato que associa a multiprogramação à necessidade de gerenciar a memória.
Alternativa B — ✅ Correta ⟵ GABARITO
O escalonamento de processos é o mecanismo que implementa a multiprogramação. Ele é o componente do sistema operacional que decide qual processo pronto receberá a CPU e por quanto tempo, alternando a execução entre os processos para manter o processador ocupado. Sem o escalonador, não haveria como gerenciar a alternância entre os programas, e a multiprogramação seria impossível.
Alternativa C — ❌ Incorreta
O sistema de arquivos é o mecanismo responsável por gerenciar o armazenamento persistente de dados em dispositivos como discos, organizando-os em arquivos e diretórios. Ele é um recurso gerenciado pelo sistema operacional, mas não tem relação direta com a implementação da multiprogramação. A banca o inclui como distrator para testar se o candidato sabe diferenciar os subsistemas do SO.
Alternativa D — ❌ Incorreta
As interrupções de hardware são sinais enviados por dispositivos ao processador para indicar eventos assíncronos, como a conclusão de uma operação de E/S. Elas são um mecanismo de apoio fundamental para o funcionamento do sistema, pois permitem que o escalonador seja notificado quando um processo pode voltar a executar. No entanto, elas não são o mecanismo que implementa a multiprogramação — são um dos gatilhos que o escalonador utiliza.
Alternativa E — ❌ Incorreta
As chamadas de sistema (system calls) são a interface entre os programas de usuário e o núcleo do sistema operacional, permitindo que as aplicações solicitem serviços como criação de processos, leitura de arquivos e alocação de memória. Elas são o mecanismo pelo qual os programas acessam os serviços do SO, mas não são o mecanismo que implementa a multiprogramação. A banca a coloca aqui para confundir o candidato que pensa nas chamadas de sistema como o "motor" do SO.
NÃO CAIA NESSA!
A banca explora a confusão entre mecanismo implementador e mecanismo de suporte. O candidato que sabe que a multiprogramação envolve memória e interrupções pode ser tentado a marcar as alternativas A ou D. Mas o que implementa a multiprogramação é o escalonamento de processos — é ele que decide a alternância da CPU. As interrupções apenas sinalizam eventos; as chamadas de sistema apenas fornecem serviços; a fragmentação é apenas um problema a ser gerenciado. Fique atento: a banca adora trocar o mecanismo central por um mecanismo periférico. 💪