Você está na página 1de 21

PROCESSOS

Profa. Priscila Facciolli


Sistemas Operacionais

Sumrio
O que processo? Elementos bsicos de um processo;
Contexto de Hardware; Contexto de Software; Espao de endereamento;

Bloco de Controle do Processo (PCB) Estados de um processo; Mudana de estado dos processos; Processos Foreground e Processos Background; Processos do SO; Processos CPU/Bound e I/O Bound; Exerccios.
Sistemas Operacionais

O que Processo?
Surgiu na dcada de 60 o conceito de SO multiprogramveis e Time Sharing, onde se atende diversas tarefas dos usurios e se mantm informaes a respeito de vrios programas que esto sendo executados concorrentemente.

Neste sistema, o processador executa a tarefa durante um Time Slice e, no instante seguinte pode processar outra tarefa.
A cada troca de tarefa necessrio salvar todas as informaes da tarefa que foi interrompida para quando ela retornar a ser executada, no lhe falte nenhuma informao para continuar seu processamento
Sistemas Operacionais

O que Processo?
Quem mantm todas essas informaes para execuo de um programa, como por exemplo, contedo de registradores e espao de memria o Processo. Tambm pode ser definido como sendo o ambiente onde se executa um programa. Nenhum programa executado diretamente na Memria Principal e sim, dentro de um processo, pois se no, o programa faria uso indiscriminado de qualquer rea da Memria Principal, efetuando operaes de E/S indevidas comprometendo a integridade e a consistncia dos dados
Sistemas Operacionais

Elementos bsicos de um Processo

Contexto de Software

Contexto de Hardware

Programa Espao de Endereamento

Sistemas Operacionais

Contexto de Hardware
o Armazena o contedo dos registradores de uso gerais e especficos da CPU
PC (program counter), SP (stack pointer) e bits de estado

o Contedo destes registradores salvo durante a troca de contexto (troca de processos) para posterior recuperao
Sistemas Operacionais

Troca de Contexto
Sistema Operacional

Processo A

Processo B

executando

Salva registradores do Processo A

Carrega registradores do Processo B

executando

Salva registradores do Processo B

Carrega registradores do Processo A

executando

Sistemas Operacionais

Contexto de Software
Especifica caractersticas e limites dos recursos alocados ao processo
Ex: No. Mximo de arquivos abertos, prioridade de execuo, tamanho de buffer de E/S, etc

Maior parte das informaes localiza-se no chamado arquivo de contas, de uso do administrador do SO
Contexto de Software composto por 3 grupos:

Identificao
Quotas Privilgio
Sistemas Operacionais

5/4

Contexto de Software
o Identificao nica para cada processo e usurio

Process Identification (PID) User Identification (UID)

o Quotas limites de cada recurso p/uso do processo


No. mx. de arquivos abertos, tamanho mx. de alocao de memria, Nmx de operaes de E/S, buffer mx p/ E/S, Nmx de subprocessos, etc o Privilgios aes permitidas ao processo Dividem-se em privilgios que afetam o prprio processo, afetam demais processos e afetam o prprio SO (conta root)
Sistemas Operacionais

Espao de Endereamento
a rea da memria do processo onde o programa ser executado.
Estrutura de um Processo Detalhada
nome PID owner (UID) prioridade de execuo data/ hora de criao tempo de processador quotas
Programa

registradores gerais

registrador PC

Contexto de Software

Contexto de Hardware

registrador SP

privilgios
Espao de Endereamento

registrador de status

endereos de memria principal alocados

Sistemas Operacionais

Bloco de Controle do Processo


(PCB)
Cada processo implementado no SO atravs do Process Control Block.

Cada PCB mantm todas as informaes de contexto do respectivo processo;

Todos os PCBs residem em rea exclusiva da Memria Principal;


Gerncia de processos realizada exclusivamente atravs de System Calls

Criao, alterao, eliminao, suspenso, sincronizao, etc


Sistemas Operacionais

Bloco de Controle do Processo


(PCB)
ponteiros Estado do processo Nome do processo Prioridade do processo Registradores

Limites de memria Lista de arquivos abertos . . . . . . . .


Sistemas Operacionais

Estados do Processo
o Estado

de execuo

Processo que est sendo executado pela CPU o Estado de pronto (ready) Processo aguardando para ser executado; Geralmente organizados em listas encadeadas; Escalonamento da fila (lista) a critrio do SO. o Estado de espera (wait ou blocked) Processo que aguarda algum evento externo ou liberao de recurso (ex: operao de E/S, relgio).
Sistemas Operacionais

Mudanas de Estado do Processo


o Processos

mudam de estado em funo de eventos gerados por ele prprio ou pelo SO. De pronto para execuo

De execuo para espera


De espera para pronto o Nunca vai direto para estado de execuo

De execuo para pronto


o Em geral, quando ocorre interrupo devido ao trmino da fatia de tempo alocado para o processo que estava sendo executado
Sistemas Operacionais

Mudanas de Estado do Processo


Estado de Execuo

b a

Estado de Espera
Sistemas Operacionais

Estado de Pronto

Mudanas de Estado do Processo


Estado de Execuo Estado de Trmino

Estado de Espera

Estado de Pronto

Estado de Criao

Sistemas Operacionais

Processos Foreground e Background


o Todo processo possui pelos menos um canal de entrada e um canal de sada a ele associado. o Canais de entrada (input) e sada (output) podem estar associados a terminais, arquivos ou mesmo a outros processos. Processo em foreground possui canal de entrada em comunicao direta com usurio.

Processos em background comunicao direta com usurio.


Sistemas Operacionais

no

possibilitam

Processos Foreground e Background


(a) Processo Foreground entrada sada

terminal

terminal

(b) Processo Background entrada sada

arquivo de entrada

arquivo de sada

Sistemas Operacionais

Processos do SO
o Arquitetura

microkernel faz uso intensivo de processos que disponibilizam servios para outros processos (aplicaes e processos do SO) o Exemplos: Auditoria e segurana; Servios de rede; Contabilizao de uso de recursos; Gerncia de impresso; Comunicao de eventos; Interface de comandos de linha (shell.)
Sistemas Operacionais

Processos CPU-bound x I/O-bound


o Processos CPU-bound ficam maior parte do tempo no estado de execuo e pronto o Processos I/O-bound ficam maior parte do tempo no estado de espera
E/ S E/ S

UCP

UCP

tempo (a) CPU-bound (b) I/ O-bound

tempo

Sistemas Operacionais

Exerccios
1- O que so processos? 2- Quais as partes que compem um processo? Definaas.

3- Quais os estados que geralmetne um processo pode assumir em um SO? Explique.


4- Diferencie processos CPU-Bound e Processos I/O Bound. 5- Diferencie processos foreground e processos background.
Sistemas Operacionais