Gerência de Processos

Diversas tarefas cotidianas executadas por meio do nosso computador estão relacionadas com a gerência de processos. Todavia, talvez você nunca tenha se perguntado o real motivo da existência deste conceito. Para responder esta questão, devemos nos lembrar que os primeiros computadores projetados para operarem usando um SO eram monousuário e monotarefa. Isto quer dizer que apenas um usuário por vez poderia usar o computador e que as tarefas eram executadas uma de cada vez. Como talvez você já tenha percebido, esta abordagem gerava diversos problemas, sendo o principal deles a ociosidade da CPU. Este fato ocorria quando o programa precisava executar operações de entrada/saída, por exemplo, a leitura ou escrita de dados em disco. Esta operação não demanda a execução de operações lógicas e aritméticas desempenhadas pela CPU, ocasionando a ociosidade deste componente.

Para entendermos a gravidade deste problema, podemos fazer uma analogia com o mundo empresarial. Este tipo de ambiente envolve um grande número de funcionários, todos eles contratados para desempenhar um conjunto pré-determinado de tarefas. Vale a pena salientar que cada um destes funcionários possui um custo associado para sua manutenção, por exemplo, o seu salário e a taxa de contribuição do Instituto Nacional de Seguridade Social (INSS). Do ponto de vista do empregador, cada empregado deve passar a maior parte do seu tempo trabalhando para gerar lucro para empresa, caso contrário, a manutenção deste funcionário gerará um prejuízo para a empresa.

O mesmo acontece no mundo dos computadores. Cada componente do computador possui um custo de aquisição, sendo o processador, ou CPU, um dos componentes mais caros. Assim, da mesma forma como acontece no mundo empresarial, precisamos que os componentes do computador, em especial a CPU, passe a maior parte do tempo ocupada para obtermos a melhor relação de custo/benefício do nosso ambiente computacional. Entretanto, os primeiros SOs projetados para operarem como monotarefa e monousuário não se preocupavam com estas questões.

Para contornar estas limitações, foram projetados os SOs com suporte a multiusuários e multitarefas. Diferentemente dos seus predecessores, estes sistemas tinham como objetivo manter a CPU ocupada a maior parte do tempo, visando proporcionar um melhor desempenho para seus usuários. Todavia, surgiu um desafio a ser solucionado, como gerenciar a utilização da CPU? Pois, do ponto de vista deste componente, não existia distinção entre as tarefas que lhe eram delegadas. A solução para este questionamento, foi basicamente associar um programa com um processo. Neste momento você deve estar se perguntando: mas o que exatamente é um processo? Esta pergunta pode ser respondida por meio de uma perspectiva geral ou completa.

Por meio da perspectiva geral, podemos dizer que um processo consiste em um programa em execução. Utilizando a perspectiva completa, podemos definir o processo como o conjunto de informações necessárias para que o SO implemente a gerência da utilização do processador.

A implementação desta nova abordagem impactou na criação de um novo termo, a concorrência de processos. A concorrência de processos caracteriza a disputa entre os processos para acessar os recursos da CPU. A gerência de processos controla a concorrência dos processos e consiste em uma das principais funções do SO. Ela possibilita alocar recursos, compartilhar dados, trocar informações e sincronizar suas execuções. O SO implementa a concorrência entre processos, controlando como a CPU é acessada. Assim, o conceito de processo é essencial para implementar o conceito de concorrência de processos. 

Quando estamos utilizando um computador com um ou mais programas ao mesmo tempo, muitas vezes, o mesmo não apresenta o desempenho que desejamos. Neste contexto, nas próximas aulas serão apresentados os conceitos para poder monitorar os recursos que cada programa utiliza e verificar se a lentidão é decorrente do uso excessivo de CPU por parte de um programa, ou se é por uso excessivo de memória. Se for devido a uma dessas razões, deve-se pensar em trocar o processador ou adicionar mais memória no computador.

Sempre é bom lembrar que, quando usamos um computador e, se tudo estiver funcionando como queremos, nem precisamos nos lembrar que existe um SO por baixo proporcionando tudo isso. Entretanto, se o computador estiver apresentando lentidão e travamentos, precisamos conhecer os detalhes para saber qual parte está sobrecarregada.

Fonte: Sistemas Operacionais 
Autores: Guilherme Bernardino da Cunha / Evandro Preuss / Ricardo Tombesi Macedo


ATIVIDADE DE FIXAÇÃO (TURMA 01)

ATIVIDADE DE FIXAÇÃO (TURMA 02)

Comentários

Postagens mais visitadas deste blog

Transferência de arquivo por FTP

TIPOS DE PROCESSOS

Comandos para Visualização de Processos