Você está na página 1de 3

Processo, no contexto da informtica, um programa de computador em execuo.

. Em sistemas operacionais, processo um mdulo executvel nico, que corre concorrentemente com outros mdulos executveis. Por exemplo, em um ambiente multitarefa (como o Unix) que suporta processos, um processador de texto, um navegador e umsistema de banco de dados so processos separados que podem rodar concomitantemente. Processos so mdulos separados e carregveis, ao contrrio de threads, que no podem ser carregadas. Mltiplas threads de execuo podem ocorrer dentro de um mesmo processo. Alm das threads, o processo tambm inclui certos recursos, como arquivos e alocaes dinmicas de memria eespaos de endereamento. A comunicao entre processos o grupo de mecanismos que permite aos processos transferirem informao entre si. A capacidade de um sistema operacional executar simultaneamente dois ou mais processos chamada multiprocessamento. Se existirem dois ou mais processos executados em simultneo e disputam o acesso a recursos partilhados, problemas da concorrncia podem ocorrer. Estes problemas podem ser resolvidos pelo gerenciamento adequado de mltiplas linhas de execuo ou processos atravs dasincronizao (multitarefa) ou por outros recursos (como a troca de contexto).

Representao[editar]
Em geral, processos de sistemas computacionais so formados pelos seguintes recursos: Um imagem do cdigo de mquina executvel associado com um programa. Memria, que inclui o cdigo executvel, dados especficos do processo (dados da entra e sada), uma chamada de pilha (para manter a pilha de subrotinas ativas e/ou outros eventos, e um heap (alocao dinmica de memria) para manter a computao intermediria gerada durante o tempo de execuo. Descritores de sistema operacional que so alocados aos processo, como os descritores de arquivo do (segundo a terminologia UNIX) ou handles (usado no Windows) e os cdigos e sinks. Atributos de segurana, tais como conjunto de permisses para o usurio que criou o processo, so as operaes permitidas. Contexto de estado do processador, tal como o contedo dos registradores, memria fsica de endereamento. O estado normalmente guardado nos registradores quando o processo est em execuo, e na memria principal caso contrrio.

O sistema operacional mantm a maior parte da informao sobre processos dentro de estruturas de dados chamadas Bloco de controle de processos Qualquer subconjunto de recursos, mas normalmente ao menos o estado do processador, pode ser associado com cada um dos processos threads no sistema operacional, que suporte threads ou processos 'filha'. O sistema operacional mantm esses processos separados e aloca recursos necessrios para cada um deles, diminuindo as chances de um processo atrapalhar o outro (e.g., deadlock). O sistema operacional pode alm disso prover mecanismos para comunicao entre processos, permitindo assim interao e comportamento mais seguro entre os processos.

Estados de processos[editar]

Estados possveis para um processo, e seus relacionamentos entre si.

No-Submetido[editar]
o processo que ainda no est submetido a CPU, est nas mos do usurio." At onde interessa ao sistemas ele no existe, porque o usurio ainda no o submeteu. Ele simplesmente apresentado como sendo o primeiro passo na vida de um processo. O Sistema 1 Operacional, naturalmente, no reconhece esse estado. ". Pode por exemplo, ser um arquivo executvel que est armazenado no HD.

Suspenso[editar]
o processo que j foi submetido, porm permanece suspenso at que o horrio ou evento programado ao usurio venha acontecer. Processo suspenso aquele que esta no aguarde de uma entrada de dados.

Pronto[editar]
O processo j foi submetido e est pronto para receber a CPU, porm ainda aguarda o escalonador de processos para ter controle da CPU. Processos que esto esperando E/S no se aplicam a esse estado.

Executando[editar]
A execuo propriamente dita. O cdigo est sendo processado. Se ocorrer durante a execuo uma requisio de E/S o processo colocado no estado de espera e outro processo da fila de prontos poder ento concorrer a CPU.

Espera[editar]
o processo que foi colocado na fila de espera de E/S devido ao processador de E/S ser mais lento que a CPU principal. O processo tornaria a CPU mais escrava dele se no houvesse esse estado, pois como ele no est concorrendo CPU ao executar um E/S, pode-se ento coloclo no estado de espera para que os demais processos do estado pronto possam concorrer a CPU. Ex: parte de um cdigo em C scanf(%d, &VALOR); SOMA=VALOR+JUROS;

Como podemos notar, a instruo scanf (uma requisio de entrada e sada) gerada se no fosse possvel colocar o processo em estado de espera; caso o usurio no entrasse com nenhum valor, o programa ficaria suspenso e no liberaria a CPU para outros processos.