You are on page 1of 6

Processo (informtica) Wikipdia, a enciclopdia livre https://pt.wikipedia.

org/wiki/Processo_(informtica)

Processo (informtica)
Origem: Wikipdia, a enciclopdia livre.

Agora, chegou o momento de pedir.

Caros leitores do Brasil, gostaramos de pedir que voc ajude, hoje, a Wikipdia. Para
preservar nossa independncia, nunca exibiremos anncios. A Wikipdia mantida por doaes
de, em mdia, R$25. Apenas uma pequena parcela dos nossos leitores faz doaes. Se todos que
esto lendo esta mensagem agora doassem R$10, poderamos manter a Wikipdia em constante
crescimento por muitos anos. Isso mesmo, s precisamos do valor de um lanche. Se a Wikipdia
til para voc, pedimos que voc reserve um minuto para ajud-la a continuar on-line e crescer
cada vez mais. Obrigado.

Carto de crdito Transferncia bancria

Dinheiro

TALVEZ MAIS TARDE FECHAR


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 um sistema 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 e
espaos 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 da
sincronizao (multitarefa) ou por outros recursos (como a troca de contexto).

A execuo de um processo ocorre de maneira sequencial, ou seja, uma instruo aps a outra. A qualquer
instante, apenas uma instruo de um determinado processo executada. Os processos tambm exercem a
atividade de executar operaes concorrentes mesmo que possua apenas uma Unidade Central de
Processamento disponvel.

Embora dois processos possam estar associados a um mesmo programa, so considerados duas sequncias de
execuo distintas. Por exemplo, cpias de um programa de correio eletrnico podem estar sendo executadas
por vrios usurios ou o mesmo usurio pode estar usando diversas cpias de um processador de texto. Cada
um desses programas em execuo constitui um processo distinto e, por mais que o texto de alguns
programas possa ser o mesmo, o estado de cada um ser diferente. comum ter um processo que crie muitos
processos durante sua execuo, criando uma hierarquia entre processos pais e filhos.

ndice

1 de 6 25/08/2017 18:40
Processo (informtica) Wikipdia, a enciclopdia livre https://pt.wikipedia.org/wiki/Processo_(informtica)

1 Tipos de Processo
2 Representao
3 Memria compartilhada
3.1 Vantagens
3.2 Interface padronizada
4 Hierarquia de processos
5 Estados de processos
5.1 No Submetido
5.2 Suspenso
5.3 Pronto
5.4 Executando
5.5 Espera
5.6 Completo
6 Criao de Processos
7 Trmino de Processos
8 Bloco de Controle de Processo (BCP)
9 Localizao dos processos
10 Estados do processo em Linux
10.1 Alguns comandos que podem ser utilizados
11 Fork no Unix
12 Referncias
13 Ver tambm

Tipos de Processo
Dentre os processos, podemos destacar dois principais tipos que esto relacionados a seu local de execuo,
no caso CPU e Entrada e Sada de dados.

Processos CPU bound (orientados CPU): so processos que utilizam muito o processador, em que o
tempo de execuo definido pelos ciclos de processador.
Processos I/O bound (orientados E/S): so processos que realizam muitas operaes de entrada e
sada de dados, em que o tempo de execuo definido pela durao destas.
IDEAL: existir um balanceamento entre processos CPU-bound e I/O-bound;

Representao
Em geral, processos de sistemas computacionais so formados pelos seguintes recursos:

Uma 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.

2 de 6 25/08/2017 18:40
Processo (informtica) Wikipdia, a enciclopdia livre https://pt.wikipedia.org/wiki/Processo_(informtica)

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 'filho'.

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.

Memria compartilhada
Vantagens

Melhora o desempenho de processos que acessam frequentemente dados compartilhados.


Os processos podem compartilhar a mesma quantidade de dados que podem enderear.

Interface padronizada

Memria compartilhada System V


Memria compartilhada POSIX
No permite que os processos mudem privilgios de um segmento de memria compartilhada.

Hierarquia de processos
Em alguns sistemas, quando um processo cria outro, o processo pai e o processo filho continuam, de certa
forma, associados. Os processo filhos pode criar mais processos, formando assim uma hierarquia de
processos, porm nela apenas existir um processo pai e ter ou no um ou mais processos filhos.

Este tipo de organizao dificulta a propagao de vrus em nossos sistemas operacionais, pois quando um
processo pai morto seja pelo sistema ou pelo prprio usurio, todos que estiverem abaixo dele na
hierarquia sero mortos tambm.

No UNIX, um processo, todos os seus filhos e descendentes formam um grupo de processos. Exemplos da
atuao de hierarquia ocorre quando h envio de sinal do teclado, onde o sinal entregue a todos os processos
associados ao teclado. Individualmente, cada processo pode capturar o sinal, ignor-lo ou tomar a ao
predefinida, isto , ser finalizado pelo sinal. Alm disso, os processos filhos no podem ser deserdados do
processo pai.

Por outro lado, o Windows no apresenta esse conceito de hierarquia, nele todos os processos so iguais.
Algo parecido com uma hierarquia ocorre somente quando um processo criado. Ao pai dado um
identificador especial, que ele pode usar para controlar o filho. Contudo, ele livre para passar o identificador
para alguns outros processos, invalidando, assim, a hierarquia.

Estados de processos
No Submetido

o processo que ainda no est submetido CPU, est nas mos do usurio. "At onde interessa aos
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 Operacional, naturalmente, no reconhece esse

3 de 6 25/08/2017 18:40
Processo (informtica) Wikipdia, a enciclopdia livre https://pt.wikipedia.org/wiki/Processo_(informtica)

estado.[1]". Pode por exemplo, ser um arquivo executvel que est


armazenado no HD.

Suspenso

o processo que j foi submetido, porm permanece suspenso at que Estados possveis para um processo, e
o horrio ou evento programado ao usurio venha acontecer. Processo seus relacionamentos entre si.
suspenso aquele que esta no aguarde de uma entrada de dados.

Pronto

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

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

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 coloc-lo 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.

Completo

Neste estado temos a finalizao do processo.

Criao de Processos
H vrias razes para o incio de um processo, os principais so:

Inicio do sistema;

Solicitao de chamada de execuo ao sistema de criao de processo;

Solicitao do usurio;

Incio de um job em lote.


Quando se cria um processo, o sistema operacional realiza os seguintes passos:

4 de 6 25/08/2017 18:40
Processo (informtica) Wikipdia, a enciclopdia livre https://pt.wikipedia.org/wiki/Processo_(informtica)

Atribui um identificador nico ao processo. Cria-se o BCP, mas s se preenche o campo do


identificador.
Atribui memria ao processo.
Inicializa o BCP.
Inserir o processo na lista de processos que corresponda. Por exemplo na lista de processos prontos.
Outras operaes, como atualizar todas as estruturas de controle que mantenha o sistema operacional.

Trmino de Processos
Os processos podem terminar de forma voluntria e involuntria. Aqui esto alguns exemplos de motivos
para os processos cessarem sua execuo e sua forma:

Sada normal: A tarefa anteriormente solicitada j terminou sua execuo (sada voluntria);

Sada por erro: O arquivo no encontrado (sada voluntria);

Erro fatal: efeituado uma diviso por 0 (sada involuntria);

Cancelamento por um outro processo: kill, TerminateProcess (sada involuntria).

Bloco de Controle de Processo (BCP)


BCP a estrutura de dados que contm a informao a cerca de um processo se denomina bloco de controle
de processos (BCP)

A manifestao de um processo em um sistema operacional um BCP. Um BCP a representao de um


processo durante sua execuo. Um BCP criado quando se cria seu processo associado. O conjunto de BCPs
representa o estado do sistema. So acedidos e mantidos por rotinas do sistema operacional.

Elementos do BCP

Informaes importantes para o controle


identificao do processo, estado em que ele se encontra, prioridade.
registradores,r status
ponteiros: pilha, cdigo e dados
tempos: incio, de CPU, alarmes, dos filhos
diretrios: raiz, trabalho
descritores de arquivos

O BCP permite ao sistema operacional localizar toda a informao dos processos. O conjunto de BCP forma
as tabelas de processos. O vo do processo usa-se como ndice nas tabelas dos processos.

Localizao dos processos


Processos ficam em estruturas que os classificam conforme seu estado. Processos Prontos serem
escalonados para a execuo ficam na lista/fila de prontos.

Estados do processo em Linux


O linux trabalha com 4 estados de processo.

Executvel: O processo pode ser executado imediatamente.

5 de 6 25/08/2017 18:40
Processo (informtica) Wikipdia, a enciclopdia livre https://pt.wikipedia.org/wiki/Processo_(informtica)

Dormente: Precisa aguardar algo para ser executado.


Parado: No pode ser executado.
Zumbi: O processo considerado "morto", mas ainda existe.

Alguns comandos que podem ser utilizados

Ps - Pelo comando ps possvel saber quais os processos em execuo atualmente, quais os PIDs
correspondentes e outros.
Kill - O comando Kill tem a funo de "matar" um processo, e usado em momentos crticos.
Jobs - Este comando visualiza os processos que esto parados ou executando em segundo plano.
Bg - Coloca a ltima tarefa que estiver em segundo plano em execuo.

Fork no Unix
O fork no Unix cria um processo filho, que diferencia-se a partir do processo pai somente em suas PID e
PPID. O fork consome tempo e memria requerida para duplicar as tabelas do processo pai. Se funcionar, a
PID do processo filho devolvido para o pai e retorna-se um 0 para o filho. Caso contrrio, um -1 retornado
no contexto pai, e no se cria o processo filho.

Referncias
1. William Shay , "Sistemas Operacionais"(1996), So Paulo:Makron Books

Sistemas Operacionais Modernos, ISBN 0-13-031358-0

Ver tambm
Processo zombie
Sistema operacional

Obtida de "https://pt.wikipedia.org/w/index.php?title=Processo_(informtica)&oldid=49577472"

Esta pgina foi editada pela ltima vez (s) 00h32min de 14 de agosto de 2017.
Este texto disponibilizado nos termos da licena Creative Commons - Atribuio - Compartilha Igual
3.0 No Adaptada (CC BY-SA 3.0); pode estar sujeito a condies adicionais. Para mais detalhes,
consulte as condies de uso.

6 de 6 25/08/2017 18:40

You might also like