Académique Documents
Professionnel Documents
Culture Documents
Em sistemas operacionais, processo um mdulo executvel nico, que corre concorrentemente com outros
mdulos executveis. Por exemplo, em um ambiente multi-tarefa (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 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:
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
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
Suspenso
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
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.
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
Criao de Processos
H vrias razes para o incio de um processo, os principais so:
Inicio do sistema;
Solicitao do usurio;
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);
Elementos do BCP
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.
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=48184362"
Esta pgina foi modificada pela ltima vez (s) 20h45min de 5 de maro 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.