Pular para o conteúdo principal

Questão de Sistemas Operacionais — Outros Assuntos de Sistemas Operacionais — VUNESP 2023

Sistemas OperacionaisOutros Assuntos de Sistemas Operacionais
Código
vu197344
Banca
VUNESP
Órgão
CM SBO
Ano
2023
Cargo
Tec ( )
Em um sistema típico de multiprogramação, tem-se que
  1. Aa sua principal vantagem é permitir que vários programadores possam elaborar os seus programas simultaneamente.
  2. Ba UCP muda de um processo para outro rapidamente, executando cada um por dezenas ou centenas de milissegundos.
  3. Chá a necessidade de que a UCP possua diversos núcleos, sendo cada um destinado à execução de um programa.
  4. Do computador possui, pelo menos, duas UCPs.
  5. Eos programas são divididos em diversas partes, e cada uma é executada por um processador diferente.
Revelar gabarito e comentário

GabaritoB — a UCP muda de um processo para outro rapidamente, executando cada um por dezenas ou centenas de milissegundos.

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 Tempo Compartilhado

Gabarito: letra B. Em um sistema típico de multiprogramação, a UCP alterna rapidamente entre os processos, executando cada um por dezenas ou centenas de milissegundos — é exatamente essa alternância que define o conceito de tempo compartilhado (time-sharing), uma extensão lógica da multiprogramação. As demais alternativas confundem multiprogramação com multiprocessamento, que exige múltiplos núcleos ou UCPs.

A multiprogramação é uma técnica de gerenciamento de processos que surgiu na terceira geração de computadores (1965-1980) para resolver um problema concreto: quando um processo realizava uma operação de entrada/saída (E/S), a UCP ficava ociosa, desperdiçando tempo de processamento. A solução foi manter vários programas na memória simultaneamente, de modo que, enquanto um processo espera por E/S, outro utiliza a UCP. Isso aumenta a utilização do processador e o throughput do sistema.

O tempo compartilhado (time-sharing) é uma evolução da multiprogramação voltada para a interação com o usuário. Em vez de apenas maximizar o uso da UCP, o sistema alterna a execução dos processos em fatias de tempo (time slices) tão curtas que o usuário tem a impressão de que seu programa é o único em execução. Essa alternância é feita pelo escalonador do sistema operacional, que decide qual processo recebe a UCP e por quanto tempo.

É fundamental distinguir multiprogramação de multiprocessamento. Na multiprogramação, há apenas uma UCP (ou um núcleo), e os processos são executados de forma intercalada — em cada instante, apenas um processo está em execução. No multiprocessamento, há duas ou mais UCPs (ou núcleos) que executam processos verdadeiramente em paralelo. A confusão entre esses dois conceitos é a principal armadilha desta questão.

A pegadinha da banca está em associar a multiprogramação à necessidade de múltiplos processadores ou núcleos. Na verdade, a multiprogramação funciona perfeitamente com uma única UCP, pois a execução é intercalada no tempo, não simultânea no espaço. O que exige múltiplos núcleos é o multiprocessamento, que permite execução paralela real.

Guarde a fronteira entre multiprogramação (uma UCP, execução intercalada) e multiprocessamento (várias UCPs, execução paralela): é exatamente nela que as alternativas se dividem.

Alternativa A — ❌ Incorreta

A principal vantagem da multiprogramação não é permitir que vários programadores elaborem seus programas simultaneamente. Isso é uma característica de sistemas multiusuário, que permitem que vários usuários acessem o sistema ao mesmo tempo. A multiprogramação visa aumentar a utilização da UCP, evitando que ela fique ociosa durante operações de E/S.

Alternativa B — ✅ Correta ⟵ GABARITO

Esta alternativa descreve com precisão o funcionamento do tempo compartilhado, que é uma extensão da multiprogramação. A UCP alterna rapidamente entre os processos, executando cada um por dezenas ou centenas de milissegundos (time slices). Essa alternância é tão rápida que o usuário não percebe que outros processos estão em execução.

Alternativa C — ❌ Incorreta

A multiprogramação não exige que a UCP possua diversos núcleos. Ela funciona com uma única UCP, pois os processos são executados de forma intercalada no tempo. A necessidade de múltiplos núcleos é característica do multiprocessamento, que permite execução paralela real.

Alternativa D — ❌ Incorreta

A multiprogramação não exige duas ou mais UCPs. Ela é uma técnica que maximiza o uso de uma única UCP, alternando a execução dos processos. O requisito de múltiplas UCPs é do multiprocessamento, não da multiprogramação.

Alternativa E — ❌ Incorreta

A divisão de programas em partes executadas por processadores diferentes é uma característica de sistemas distribuídos ou de multiprocessamento, não da multiprogramação. Na multiprogramação, os programas são executados integralmente, de forma intercalada, por uma única UCP.

Gabarito: letra B

Link permanente: /questoes/vu197344