Artigos recentes

Navigation

Exemplo de processo e seus estados

Esboço sobre processos e seus estados, organizado como orientação a uma atividade do curso de informática.
Este texto é um auxílio à atividade que foi realizada por alunos de uma turma de Licenciatura em Informática. Tratamos de relacionar o conteúdo disponibilizado aos alunos com um exemplo de produção de queijo, separando suas etapas e relacionando com processos e estados.

Exemplo de Processo e Seus Estados

Processo e Seus Estados


O conceito de processo é originário do campo de sistemas operacionais. Os primeiros sistemas computadorizados permitiam que apenas um programa fosse executado de cada vez. Esse programa tinha controle total do sistema e acesso a todos os seus recursos. Atualmente, os sistemas computadorizados permitem que vários programas sejam carregados na memória e executados concorrentemente. Essa evolução exigiu um maior controle sobre os diversos programas em execução. A esse programa em execução dá se o nome de processo.

Exemplo de Processo e Seus Estados


Os processos desempenham um papel fundamental em sistemas distribuídos porque formam uma base para a comunicação entre máquinas diferentes. Enquanto um processo é executado, ele muda de estado. O estado de um processo é definido por sua atividade atual, que pode ser um dos seguintes:

Novo (new) - O processo está em fase de criação. 
Executando (running) - As instruções estão em execução. 
Esperando (waiting) – O processo está esperando algum evento, como término de E/S (entrada/saída) ou recebimento de um sinal. 
Pronto (ready) - O processo está esperando para ser atribuído a um processador. 
Terminado (terminated) - Término do processo que estava em execução.

O fluxograma abaixo foi retirado do artigo "Aplicativos compostos: o novo paradigma".

Exemplo de Processo e Seus Estados


Novo – momento em que a RPF é recebida cria-se um processo. 1

Executando – Nos momentos criar oportunidade e criar cotação o processo está executando. Isso aparece novamente em negociar termos, e em criar ordem, novamente estará executando. 2

Esperando – No momento de qualificar RPF, está esperando se será ou não qualificada. Ocorre novamente em proposta selecionada?, observe que há a espera de uma resposta (sim ou não), para saber como proceder para frente. É o momento de parada no meio do processo, para seguir para algum outro estado. 3

Pronto – O momento antes de enviar proposta é anterior ao processador, ou seja, a proposta está pronta, aguardando seguir (não há nada para decidir, diferente do estado anterior que precisa decidir algo.) 4

Terminado – Após a ordem criada, não há mais nada a se fazer naquele processo, o pacote foi fechado, não há retorno, é quando a ordem é criada.

Processo: Produção, distribuição e consumo do queijo BOM


Exemplo de Processo e Seus Estados

Seguindo as definições e conceitos de sistemas distribuídos procurou-se um exemplo fora da área de computação (paródia) para facilitar a compreensão da relação entre processo e um sistema distribuído.

Acesso a recursos – o principal objetivo de um sistema distribuído é facilitar aos usuários, e às aplicações, o acesso a recursos remotos e seu compartilhamento de maneira controlada e eficiente.
No processo em exemplo seria: todos os ingredientes para produzir queijo estão disponíveis aos funcionários.

Transparência – É a capacidade de se apresentar a usuários e aplicações como se fosse um único sistema de computador é o que denominamos de transparência.
No processo em exemplo seria: todos os ingredientes e utensílios estão num mesmo local, para o funcionário não importa de onde vieram. Este único local dá a ideia de um único sistema, mas o leite, o coalho, o cálcio, o sal, as formas, etc. vieram de outros sistemas.

Abertura – Um sistema distribuído é aberto se oferece serviços de acordo com regras padronizadas que descrevem a sintaxe e a semântica desses serviços.
No processo em exemplo seria: cada funcionário é responsável por um serviço e cada serviço tem sua descrição específica de como ser realizado, ou seja, há quem prepara o leite até o ponto de massa (um serviço: unir os ingredientes, misturar, esperar coalhar e escorrer o soro), há quem trabalha a massa (outro serviço: temperar, agregar na forma, prensar, retirar excessos – ‘barrela’), há quem distribui os queijos (outro serviço: separar por tipo, empacotamento, entrega), etc.

Escalabilidade – Está diretamente ligada ao crescimento do sistema quanto ao seu tamanho. Seja este crescimento por adição ao número de usuários e/ou de recursos ao sistema, pela abrangência geográfica, onde os usuários e recursos podem estar longe uns dos outros, e quanto à administração do sistema, o que significa que ele pode ser fácil de gerenciar, mesmo que abranja muitas organizações administrativas diferentes.

No processo em exemplo seria: a produção, a distribuição e o consumo do queijo BOM, estão relacionados entre si, na possibilidade de crescimento ou decrescimento dos setores de serviços que a eles estão relacionados, ou seja, se há maior demanda, será necessário mais recursos, mais funcionários, maior produção, etc.

No processo em exemplo seria: 1) ocultar latências de comunicação – está esperando que uma entrega do queijo BOM seja feita para realizar a próxima, mas enquanto isso nada impede de executar outra atividade como seleção e empacotamento. 2) distribuição – (seria um serviço ser desmembrado para outros e haver um superior encarregado) – o serviço de preparo do leite até o ponto de massa, ser distribuído em várias pequenas tarefas para vários funcionários e um fica responsável por estas partes (pela execução das tarefas). 3) replicação – É ter o mesmo em vários pontos diferentes. Seria, temos a receita com todos os ingredientes a serem utilizados para o tempero, não é preciso ter uma receita única, ela pode ser replicada (copiada – cópia dos dados) e estar disponível para vários funcionários.

Charles Bastos

Comente este artigo:

0 comentários:

Os comentários neste blog são moderados pelo autor. Leia sobre a política de comentários.