Um sistema operacional (SO) multiprogramável mantém múltiplos processos simultaneamente na memória compartilhando o uso da CPU. Nesse contexto, assinale a alternativa que indica o que deve ocorrer para que o SO seja capaz de controlar a execução de programas e o uso concorrente do processador.
Questão
Um sistema operacional (SO) multiprogramável mantém múltiplos processos simultaneamente na memória compartilhando o uso da CPU. Nesse contexto, assinale a alternativa que indica o que deve ocorrer para que o SO seja capaz de controlar a execução de programas e o uso concorrente do processador.
Alternativas
a) Um programa, ao ser executado, deve estar sempre associado a uma tarefa, pois o conceito de programa é a base para a implementação de um sistema multiprogramável.
b) Um programa, ao ser executado, deve estar sempre associado a um registrador, pois o uso dos registradores é a base para a implementação de um sistema multiprogramável.
c) Um programa, ao ser executado, deve estar sempre associado a um processo, pois o conceito de processo é a base para a implementação de um sistema multiprogramável.
d) Um processo, ao ser executado, deve estar sempre associado a uma tarefa, pois o conceito de programa é a base para a implementação de um sistema multiprogramável.
e) Um processo, ao ser executado, deve estar sempre associado à memória, pois o conceito de acesso a programas é a base para a implementação de um sistema multiprogramável.
Explicação
Em um SO multiprogramável, o programa é apenas um conjunto passivo de instruções (código). Para o sistema operacional controlar a execução (escalonar, interromper, retomar) e gerenciar o uso concorrente da CPU, ele precisa de uma entidade que represente o programa em execução, incluindo:
- Contexto de execução (contador de programa, registradores, pilha etc.);
- Recursos associados (memória, arquivos abertos, permissões);
- Estado (pronto, executando, bloqueado);
- Informações para escalonamento (prioridade, tempo de CPU, etc.).
Essa entidade é o processo. É justamente por meio do conceito de processo (e do seu contexto) que o SO consegue alternar a CPU entre várias execuções, realizando a multiprogramação (troca de contexto, escalonamento e controle de concorrência).
- (a) e (d): “tarefa” não é o conceito fundamental clássico para a implementação da multiprogramação; o controle é feito sobre processos.
- (b): registradores fazem parte do contexto, mas não são a “associação obrigatória” conceitual; são apenas um componente técnico do processo.
- (e): processo realmente usa memória, mas o ponto central para controlar concorrência de CPU é o processo como unidade de execução, não a mera associação à memória.
Alternativa correta: (c).