Você está na página 1de 21

Sistemas Operacionais

Noes de processos
Prof. Alberlan Lopes

S.O. Noes de processos.


O conceito de processo
Um programa :

Uma sequncia finita de instrues;


Uma entidade passiva (que no se altera com o
passar do tempo).
Armazenado em disco.

S.O. Noes de processos.


Um processo :

Uma abstrao que representa um programa em


execuo;
Uma entidade dinmica: seu estado se altera conforme
for executando.
Armazenado na memria.
Pode-se encontrar mais de um processo instanciando
um programa nico

S.O. Noes de processos.


O processo do ponto de vista do S.O.
Imagem de um programa

Segmento de cdigo
Conjunto de recursos de HW alocados pelo Sis. Operacional.
Registradores (PC, Stack Pointer);
Espao de endereamento (memria);
Espao no disco (arquivos de E/S).
Unidade de escalonamento
Estado;

S.O. Noes de processos.


O processo do ponto de vista do S.O.

Processo (ativo)

X Programa(passivo)

Vrios processos podem estar associados a um nico


programa.

S.O. Noes de processos.


Bloco de controle de processo:
Representa o processo no sistema operacional, mantendo a
informao associada com cada um.
Constitui-se de uma rea de memria reservada ao processo e que
mantm suas informaes, tais como:

PID (nmero identificador do processo)


Estado do processo (rodando, bloqueado, etc...)
PC (endereo da prxima instruo)
Registradores da CPU
Informaes de gerenciamento de memria (limite, utilizado, etc...)
Etc...

S.O. Noes de processos.


Bloco de controle de processo:

S.O. Noes de processos.


Representao da imagem do processo
O processo representado por uma imagem:

Seu segmento de cdigo (o que ele vai fazer)


Seu espao de endereamento (onde, na memria, ele vai fazer
alguma coisa)
Seu contexto (o que ele precisa para fazer alguma coisa)
Parte da imagem est sob a responsabilidade do usurio; parte
dele s gerenciada em modo protegido (pelo Sis. Operacional)

S.O. Noes de processos.


Comunicao entre processos (IPC)

A comunicao entre processos, em ingls Inter-Process


Communication (IPC), o grupo de mecanismos que permite aos
processos transferirem informao entre si.
A execuo de um processo pressupe por parte do sistema
operacional, entre outras coisas, a criao de um contexto de
execuo prprio que, de certa forma, abstrai o processo dos
componentes reais do sistema.
Devido a esta virtualizao dos recursos, o processo no tem
conhecimento acerca dos outros processos e, como tal, no
consegue trocar informao.
O sistema operacional prov recursos para a troca de informaes.

S.O. Noes de processos.


Comunicao entre processos (IPC)
Classificao:
Mecanismos locais
Pipes nomeados (FIFO)
Pipes unidireccionais
Filas de mensagens
Memria Compartilhada
Mecanismos cliente/servidor
Sockets
Remote Procedure Calls

S.O. Noes de processos.


Relacionamento entre processos
Sem relacionamento (Caso mais simples): os processos so
independentes.
Grupo de processos
Compartilhamento de recursos
Baseados em hierarquia de processos:

Um processo pai cria processos filhos;

Os filhos podem executar o mesmo cdigo, ou troc-lo;


Obtem-se uma rvore de processos.
Implica na definio da semntica de termino de um processo:
S o processo morre;
Toda sua descendncia morre.

S.O. Noes de processos.


Na vida, os processos se separam em duas categorias:
Enquanto executam, os processos
comportamento:

apresentam dois tipos de

Ou usam a CPU - Clculo, operaes sobre a memria e/ou


registradores
Ou fazem Entrada/sada (liberam a CPU) Escrita na tela, entrada
teclado, som, vdeo, rede, disco

Fala-se de processos CPU-bound e processos I/O- bound


Na vida real: difcil definir qual processo CPU/IO bound!

S.O. Noes de processos.


Ciclo de vida troca de estado
Os processos evoluem: Criado -> em vida -> morto
Durante a vida, passam de uso de CPU e a uso de E/S (e
reciprocamente), via chamada de sistema, interrupo, ou por
causa de um evento.
Ao ser criado, um processo estar pronto para usar a CPU.

O que acontece se a CPU no est disponvel?


O que acontece se processos esto sendo
simultaneamente ?
Precisa-se manter uma lista de processos prontos!

criados

S.O. Noes de processos.


Ao executar, o processo pode querer fazer E/S:
O que acontece se o recurso de E/S est sendo ocupado?
preciso de uma fila de processos bloqueados
Aps ter executado, o processo passa a ser encerrado.
Em resumo:
Cinco estados (criado, pronto, executando, bloqueado, encerrado)

S.O. Noes de processos.


Estados de processo

Criado: processo novo, sem utilizar a cpu ainda.


Pronto: Contexto carregado e esperando o uso de cpu
Executando: Instruo em uso da cpu pertence ao
processo em execuo.s
Bloqueado: aguardando evento (E/S, sinal, etc...)
Encerrado: processo terminado.

S.O. Noes de processos.

S.O. Noes de processos.


O que causa uma transio?
Pronto -> executando - Algoritmo de escalonamento
Executando -> pronto
Interrupo de tempo
Interrupo devida ao escalonador
Deciso espontnea (yield)
Executando -> bloqueado
E/S sincronizao

S.O. Noes de processos.


O que causa uma transio?
Bloqueado -> pronto
Interrupo
Executando -> encerrado
Interrupo (CTRL-C)
Trmino normal
Bloqueado, pronto -> encerrado
interrupo

S.O. Noes de processos.


Mais um estado : Suspenso
Dois problemas principais para gerar os recursos:

A CPU muito mais rpida do que a memria;


A memria de tamanho finito.

Precisa-se, ento, poupar a memria.

Processos bloqueados que esto na memria podem ser


transferidos para o disco (swap) at sua E/S ser acabada.
Processos prontos podem tambm ser descarregados para o
disco.

S.O. Noes de processos.


Mais um estado : Suspenso
Chega-se a mais dois estados:

Bloqueado > suspenso.

Pronto > suspenso.

S.O. Noes de processos.


Exerccio diagrama de estados

Desenhar o novo diagrama de estados incluindo os estados pronto,


suspenso e bloqueado, suspenso.

Você também pode gostar