Вы находитесь на странице: 1из 40

Arquitetura de Sistemas Operacionais

Processos
Sumrio
Introduo
Estrutura do processo
Estados do processo
Mudanas de estado do processo
Criao e eliminao de processos
Processos independentes, subprocessos e threads
Processos foreground e background
Processos do sistema operacional
Processos CPU-bound e I/O-bound
Sinais
Introduo

Um programa ao ser executado deve estar sempre


associado a um processo
Processos a base para a implementao de um
sistema multiprogramvel
Gerencia de processos possibilita aos programas
alocar recursos, compartilhar dados, trocar
informaes e sincronizar suas execues
O conceito de processo : um programa em
execuo, includo os valores correntes de todos os
registradores do hardware e das variveis
manipuladas por ele durante sua execuo
Introduo

Diferena entre um processo e um programa


sutil, porm crucial. O processo constitui-se de
certo tipo de atividade. Ele possui um programa,
uma entrada, uma sada e um estado. J o
programa o cdigo. O processo tambm pode
ser visto com um programa em execuo e sua
dinmica. importante ressaltar que:
O mesmo programa sendo rodado por dois
usurios gera dois processos;
Um programa pode gerar vrios processos.
Estrutura do Processo
Estrutura do processo
Ciclo de Busca de processos
Processador 1 busca instruo na memria

2o Registradro de Instrues

3o Decodificar bites Execuo

4o Registradro PC armazena o endereo da prxima


instruo
Estrutura do Processo
Estrutura do processo

Exemplo de concorrncia entre 3 programas

No quadro

Mudana de contexto (Gerencia de um ambiente


multiprogamvel)
Estrutura do Processo
Estrutura do processo
Partes de um processo

Contexto de Contexto de
Software Hardware

Programa

Espao de
Endereamento
Estrutura do Processo
Estrutura do processo

Contexto de Hardware

Registradores gerais da UCP


Registradores especficos
Program Counter (PC)
Stack Pointer (SP)
Registrador de Status
Contexto de Hardware
Mudana de
contexto Sistem a O p er acion al

Pr ocesso A Pr ocesso B

execu tan do

Salva r eg istrad or es d o
Pr ocesso A

Car rega reg istr ado res do


Pr ocesso B

execu tan do

Salva r eg istrad or es d o
Pr ocesso B

Car rega reg istr ado res do


Pr ocesso A

execu tan do
Contexto de Software

No contexto software so especificados


limites e caractersticas dos recursos que
podem ser alocados pelo processo

Informaes do contexto de software


provm de arquivo/s do SO
Contexto de Software

Grupo de informaes sobre o processo


Identificao
Quotas
Privilgios
Contexto de Software

Identificao
PID (Process Identification)
PPID
UID (Owner)
GID
Contexto de Software

Quotas
Mximo de arquivos abertos
Mximo de memria principal e secundria
Mximo de operaes de E/S
Mximo de buffer
Mximo de processos, subprocessos
Contexto de Software

Privilgios
Prioridades na execuo
Alterar outros processos
Alterar o ambiente
Regra de segurana
Modificar parmetros de configurao

Conta Administrador (administrator,root,


system)
Espao de Endereamento

rea de memria pertencente ao


processo onde instrues e dados do
programa so armazenados para a
execuo.

Cada processo possui seu prprio espao


de endereamento, que deve ser
devidamente protegido do acesso dos
demais processos.
Estrutura do Processo
Viso Macro da Estrutura de um processo
nome
PID registradores
gerais
owner (UID)

prioridade de
execuo registrador PC

data/hora
de criao Contexto de Contexto de
Software Hardware

tempo de registrador SP
processador

quotas
Programa registrador
privilgios de status
Espao de
Endereamento

endereos de memria
principal alocados
Bloco de Controle do
Processo
Os PCB`s (Process Control Block) blocos
de controle de processos, so uma
estrutura de dados mantida pelo SO que
guarda todas as informaes sobre o
contexto de hardware, contexto de
software e espao de endereamento de
cada processo
Bloco de Controle do
Processo
Os PCB`s de todos os processos ativos
residem na memria principal em uma
rea exclusiva do SO. O tamanho dessa
rea. Geralmente limitado por um
parmetro do SO que permite especificar
o nmero mximo de processos em
execuo
Bloco de Controle do
Processo
PCB
ponteiros

Estado do processo

Nome do processo
Prioridade do processo

Registradores

Limites de memria
Lista de arquivos abertos
..
..
..
..
Estados do Processo

Um processo ativo pode encontrar-se em


trs diferentes estados ao longo do seu
processamento :

Execuo (running)
Pronto (ready)
Espera (wait)
Estados do Processo
Execuo (running)
Um processo dito no estado de execuo
quando est sendo processado pela UCP
Pronto (ready)
quando o processo apenas aguarda para ser
executado. Organizados em Listas encadeadas
Espera (wait)
quando o processo que esta aguardando por
algum evento externo ou por algum recurso
para prosseguir seu processamento.
Organizados em Listas encadeadas.
Estados do Processo
Lista encadeadas de PCBs
Lista de
processos
em estado
de pronto
.. ..
. .
.. ..
.. ..
. .

PCB# 5 PCB# 1

Lista de
processos
em estado
de espera
. . .
.. .. ..
.. .. ..
.. .. ..
. . .

PCB# 9 PCB# 2 PCB# 4


Mudanas de Estado
Mudanas de estado do processo:
Um processo muda de estado durante seu
processamento em funo de eventos
originados por ele prprios (eventos
voluntrios) ou pelo sistema operacional
(ventos involuntrios)

Pronto -> Execuo


Execuo -> Espera
Espera -> Pronto
Execuo -> Pronto
Mudanas de Estado

Pronto -> Execuo


Aps a criao de Estado de Execuo

um processo, o
sistema o coloca em
uma lista de
processos no estado b d
de pronto, onde
a
aguarda por uma
oportunidade para
ser executado c

a
Estado de Espera Estado de Pronto
Mudanas de Estado

Execuo -> Espera


Um processo em Estado de Execuo
execuo para o
estado de espera por
eventos gerados pelo
prprio processo,
como uma operao b d
de E/S, ou por
eventos externos a

b c

Estado de Espera Estado de Pronto


Mudanas de Estado

Espera -> Pronto


Um processo no Estado de Execuo
estado de espera
passa para o estado
de pronto quando a
operao solicitada
atendida ou o recurso b d
esperado
concedido a
c
c

Estado de Espera Estado de Pronto


Mudanas de Estado

Execuo -> Pronto


Um processo em Estado de Execuo
execuo passa para
o estado de pronto
por eventos gerados
pelo sistema, como o
trmino da fatia de b d
tempo que o
processo possui para a
sua execuo
d c

Estado de Espera Estado de Pronto


Mudanas de Estado
Mudanas de estado do processo
Estado de Execuo

Estado de Espera Estado de Pronto


residente
no residente

Estado de Espera Estado de Pronto


Criao e Eliminao
Mudanas de estado do processo
Alm dos trs estados apresentados
anteriormente para o processo, a
maioria dos sistemas operacionais
estabelece dois estados adicionais para
os momentos de criao e eliminao
de um processo.
Criao (new)

Terminado (exit)
Criao e Eliminao
Mudanas de estado do processo
Criao (new)

logon interativo
Linguagem de Comandos
Criao por um outro processo
Rotimas do Sistema Operacional
Criao e Eliminao
Mudanas de estado do processo
Terminado (exit)

trmino normal de execuo


eliminao por um outro processo;
eliminao forada por ausncia de recursos
disponveis no sistema.
Criao e Eliminao
E
stadodeE
xecuo E
stadodeTrmino

E
stadodeE
spera E
stadodeP
ronto E
stadodeCriao
Processos Independentes,
Subprocessos e Threads
Estrutura de processos e subprocessos
Processo A

Processo B Processo C

Processo E
Processo D
Processos Independentes,
Subprocessos e Threads
Processo multithread

Contexto Contexto Contexto


de hardware de hardware de hardware
Contexto de
software

Thread 1 Thread 2 Thread 3

Espao de
endereamento
Processos Foreground e
Background
Processos foreground e background
(a) P
rocessoForeground

entrada sada

terminal terminal

(b) P
rocessoBackground

entrada sada

arquivo arquivo
deentrada desada
Processo Foreground e
Background
Pipe

sadado
P
rocessoA
entradado sadado
ProcessoA P
rocessoB
entradado
ProcessoB
ProcessoA ProcessoB
Processos do Sistema
Auditoria e segurana
Servios de rede
Contabilizao do uso de recursos
Contabilizao de erros
Gerncia de impresso
Gerncia de jobs batch
Temporizao
Comunicao de eventos
Interface de comandos (shell)
Processos CPU e IO Bound
Processos CPU x IO Bound

E/S E/S

UCP UCP

tempo tempo
(a) CPU-bound (b) I/O-bound
Sinais
Uso de sinais

interrupo sinal
Sistema Operacional

[ctrl-C]

Processo
Sinais
Sinais, interrupes e excees
Processo Processo

Sinais

Sistema Operacional

Interrupes
Excees

Hardware

Вам также может понравиться