Pular para o conteúdo principal

Questão de Sistemas Operacionais — Conceitos, Funções e Tipos de Sistemas Operacionais — FGV 2024

Sistemas OperacionaisConceitos, 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
  1. Afragmentação de memória.
  2. Bescalonamento de processos.
  3. Csistemas de arquivos.
  4. Dinterrupções de hardware.
  5. 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. 💪

Gabarito: letra B

Link permanente: /questoes/fg165640