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

Tipos de Servidores