Cursos / Eletrônica / Sistemas Operacionais / Aula 09

arrow_back Aula 09 - Gerenciamento de Processos

Pseudoparelelismo: Mais de um Processo Compartilhando um Processador

Como você já percebeu, um computador pode executar diversas atividades ao mesmo tempo. Você pode digitar um texto enquanto escuta sua música preferida e gravar na nuvem as fotos de suas últimas férias. Imagino que você deve estar se perguntando: Como isso é possível, se muitos computadores possuem apenas um processador? Além disso, tem outra coisa: mesmo os computadores que possuem dois ou mais núcleos de processamento podem executar para nós uma quantidade de programas bem superior à quantidade de processadores. Tudo isso pode parecer estranho, mas vamos procurar entender como isso é possível no decorrer desta aula.

Hoje em dia, são comuns os computadores com mais de um processador; você pode, por exemplo, identificá-los através de termos técnicos que indicam a quantidade de núcleos de processamento. Verifique nos anúncios e propagandas de computadores termos como Dual Core, Quad Core, os quais indicam respectivamente dois e quatro núcleos de processamento.

Digamos que temos um simples computador com apenas um processador. Como o sistema operacional faz com que possamos, por exemplo, escutar música e navegar na internet ao mesmo tempo? Vale a pena lembrar que o próprio sistema operacional é também um programa e, portanto, ele também precisa do processador para executar. A solução encontrada para essa questão é: compartilhar! Os processos precisam compartilhar o processador.

Você já pode ter vivido o seguinte cenário: existe apenas um único jogo eletrônico e você e todos seus amigos querem jogar. Para resolver o impasse, você faz o seguinte: “Cada um usa o game por 30 minutos e depois passa para o próximo da fila de interessados em jogar!”. Pois bem, podemos ver os processos como um conjunto de amigos que querem usar um recurso que é limitado (o processador); assim, o que o sistema operacional precisa fazer, na condição de gerente, é disponibilizar o processador para cada processo por um determinado período de tempo.

Dessa forma, temos a impressão de que os programas estão sendo executados ao mesmo tempo (em paralelo). Mas o que acontece na verdade é que os processos formam uma fila e cada um usa o processador por um período de tempo pequeno (na ordem de milésimos de segundo) e passa para o processo seguinte na fila. E assim continua até que todos os processos usem o processador.

Dando continuidade, a CPU é passada novamente para o processo no início da fila e tudo se repete. Assim, teremos a impressão de que estamos com diversos aplicativos em aberto sendo executados simultaneamente. Essa impressão é conhecida como pseudoparalelismo, pois apesar dos programas não estarem realmente sendo executados ao mesmo tempo (em paralelo), eles ficam se alternando numa frequência que aparenta uma operação simultânea de diversos aplicativos.

Você já deve ter visto um show de malabarismo com pratos que giram em cima de bastões. Como cada prato precisa por um momento do malabarista para dar novo impulso no bastão e continuar girando, o malabarista procura distribuir o seu tempo entre os pratos para que todos continuem girando durante toda a apresentação. Então, considerando os pratos como se fossem processos e o malabarista com o processador, podemos entender melhor o pseudoparalelismo existente

Fica então sob a responsabilidade do sistema operacional gerenciar os processos, determinando a ordem de uso do processador, de forma a garantir que cada um tenha acesso e tempo suficiente para executar normalmente.

Versão 5.3 - Todos os Direitos reservados