Para que vários processos executem em um computador equipad...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A alternativa correta é a Alternativa B - multiprogramação.
Multiprogramação é o conceito onde um sistema operacional mantém vários processos na memória ao mesmo tempo, e a CPU alterna entre esses processos para garantir que todos tenham uma chance de executar. Isso é particularmente importante em sistemas com uma única CPU, onde o objetivo é maximizar a eficiência da CPU e minimizar o tempo ocioso.
Vamos entender melhor como isso funciona:
Em um sistema de multiprogramação, o sistema operacional gerencia a alternância entre os processos em execução. Isso é feito através de uma técnica chamada de troca de contexto. Quando a CPU precisa parar de executar um processo e começar a executar outro, ela salva o estado do processo atual (seus registradores, contadores, etc.) e carrega o estado do próximo processo a ser executado. Essa troca é rápida e permite que vários processos aparentem estar sendo executados simultaneamente.
Esse conceito é diferente de:
- Multithreading (Alternativa A): refere-se à capacidade de um único processo criar várias threads de execução que podem ser executadas simultaneamente.
- Multiprocessamento (Alternativa C): envolve a utilização de múltiplas CPUs (ou núcleos) para executar diferentes processos ao mesmo tempo. Isso é diferente da multiprogramação, onde há apenas uma CPU.
- Multicast (Alternativa D): é um termo relacionado à rede, que se refere ao envio de uma mensagem para múltiplos destinatários simultaneamente.
Portanto, a Alternativa B está correta porque descreve o conceito de multiprogramação, onde a CPU alterna entre diferentes processos para maximizar a eficiência da utilização do processador, mesmo em sistemas com uma única CPU.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Multithread - sistemas que suportam múltiplas linhas de execução. Um único processo pode estar associado a vários fluxos de execução (threads). Todas compartilham o mesmo espaço de endereçamento (código e dados).
Multiprogramação (multitarefa) - sistemas mais complexos e eficientes, vários usuários, preocupação em gerenciar acesso concorrente. Vantagem: Redução de custos.
- Sistemas batch (lote) - Programas sequenciais (armazenados em disco ou fita). Pouca interação com o usuário. Programas chamados JOBS. Mais eficiente em processamento. Tempo de resposta longo.
- Sistemas de tempo compartilhado (time sharing / on-line) - sistemas online. Reserva uma fatia de tempo do processador para cada usuário (time-slice). Permitem interação dos usuários com o sistema.
- Sistemas de tempo real - tempo de resposta é exigido (muito rápido). Não existe a ideia de fatia de tempo. Segurança é fundamental! (Tráfego aéreo, usinas nucleares)
Multiprocessamento (2 ou mais CPUs envolvidas.) – É a capacidade de um SO executar dois ou mais processos. SIMULA A SIMULTANEIDADE, diferente da multitarefa. Problemas de concorrência (processadores podem estar acessando a mesma área de memória)
Resposta "B"
Multiprogramação ou multitarefa - simula processar várias tarefas ao mesmo tempo.. gerencia acesso concorrente. Redução de custos.
multiprogramação (rodar vários programas em fatias de tempo).
multithreading. - thread é a subdivisao do processo. multithreading é executar varias threads concorrentemente, conseguindo assim paralelismo.
multiprogramação.- vários processos executam em um computador equipado com uma única CPU, o gerenciador de processos faz com que a CPU execute parte de um processo e em seguida troque este processo por outro, realizando a alternância entre os processos.
multiprocessamento.- executar multiplos processos simultaneamente.como o pc do problema é CPU única, isso nao é possivel. em multicore computing, sim.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo