TIPOS DE PROCESSOS

Os processos podem ser classificados de acordo com a forma como utilizam o processador. Seguindo esta taxonomia, temos dois tipos principais, os processos CPU-bound e I/O-bound. Nos processos CPU-bound, a principal característica consiste em fazer poucas operações de leitura e escrita. Estes processos são comumente encontrados em aplicações científicas e estão estreitamente associados com a execução de cálculos complexos.

Saiba mais: Os processos CPU-bound têm a maior parte das instruções exigem processamento da CPU e passam a maior parte do tempo nos estados em execução ou pronto (na fila de espera para usar a CPU). 

Em contrapartida, os processos I/O-bound realizam um elevado número de operações de entrada/saída, por exemplo, lendo e escrevendo dados em discos e imprimindo resultados para os usuários. Os processos I/O-bound são normalmente encontrados em aplicações comerciais, por exemplo, os sistemas de controle de estoque ou sistemas de pagamentos.

Saiba mais: Os processos I/O-bound são aqueles que têm a maior parte das instruções que exigem operações de entrada e saída e passam a maior parte do tempo em estado de espera (bloqueados), aguardando a operação de entrada e saída ficar pronta. 

Primeiramente, reinicie o simulador. Em seguida, crie um processo do tipo CPU-Bound usando a janela gerência de processos. Clique em Criar e selecione o tipo de processo CPU-Bound. Na sequência, siga as mesmas instruções para criar outro processo, mas selecione o tipo I/O-Bound. Seguindo estes passos você terá como resultado algo semelhante ao ilustrado na figura 45.


Outra forma de classificar os processos consiste na maneira como eles são executados. Seguindo esta abordagem, podemos agrupar os processos como foreground e background. Os processos foreground permitem a comunicação direta do usuário com o processo durante seu processamento. Por exemplo, quando um usuário executa um programa diretamente por meio de um terminal, geralmente existe a possibilidade de interagir com o processo. Os processos background não possibilitam a comunicação com o usuário durante seu processamento. No decorrer desta unidade será apresentada uma atividade prática sobre estes conceitos, o que facilitará o entendimento dos mesmos.

Existem três tipos de processos: processos independentes, subprocessos e threads. Os processos independentes consistem na maneira mais simples de implementar a concorrência e cada processo possui seu próprio contexto de hardware, contexto de software e espaço de endereçamento, impactando no seu custo de implementação. Os subprocessos são criados dentro de uma estrutura hierárquica, sendo que o processo criador é denominado “processo-pai” e o subprocesso “processo-filho”. As principais características do subprocessos são: o processo-filho pode criar outros; quando o processo-pai é eliminado, os subprocessos também são; os subprocessos podem compartilhar quotas com o processo-pai. A figura 46 mostra a hierarquia de processos. Nesta ilustração podemos perceber que o processo A consiste no processo-pai de B. O processo B atua como processo-pai de C e D. O processo D consiste no processo-pai de E e F..


No entanto, tanto os processos independentes quanto os subprocessos demandam o consumo de diversos recursos do sistema, pois sempre que um processo é criado, o sistema deve alocar um contexto de hardware, um contexto de software e o espaço de endereçamento, consumindo tempo de CPU. Para contornar este desafio surgiram os threads. Por meio deste compartilhamento, o tempo gasto em criação, eliminação e troca de contexto é reduzido, gerando uma economia nos recursos do sistema como um todo. Os threads contribuem positivamente para o desempenho de um sistema distribuído.

Atenção: Cada thread possui seu próprio contexto de hardware, mas compartilha o contexto de software e espaço de endereçamento com outros threads do processo.

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 Servidores