Sei sulla pagina 1di 24

Introduo a

Gerncia de Processos
Prof. Dr. Eduardo Feitosa
efeitosa@icomp.ufam.edu.br

Agenda
Conceito de processo
Estados de um processo
Implementao de processos
Contexto
Troca de Contexto
Criao de Processos
Terminao de Processos
2
Conceito de Processo
Conceito de Processo
(Aula 2) processo um programa em
execuo que demanda recursos como
tempo de CPU, espao em memria, uso
de arquivos e acesso a dispositivos de
E/S.
4
Conceito de Processo
Em sistemas batch, processos eram
chamados de jobs.
Em sistemas de tempo compartilhado
(time-sharing), processos so os
programas de usurios ou tarefas.

Processo, jobs e tarefas so
semelhantes.
5
Conceito de Processo
Na prtica, qualquer processo tem:
Contador de programa (program counter -
PC)
Ponteiro de pilha (stack pointer - SP)
Segmento (rea) de dados

Processo dinmico, possui estados
internos bem definido a cada instante e
interage com outras entidades: usurio,
perifricos e/ou outros processos.

6
Estado de um Processo
Estados de um Processo
Durante sua execuo o estado do
processo varia:
new: processo acabou de ser criado.
running: instrues esto sendo executadas
pela CPU naquele instante.
waiting: esperando por algum evento (I/O,
controle de concorrncia, etc.).
ready: pronto para ir a CPU esperando por
sua vez.
terminated: processo terminou sua execuo.
8
Estados de um Processo

9
Implementao de Processos
Contexto
O estado de um processo em um
determinado instante denominado
contexto.

Uma parte importante do contexto de um
processo diz respeito ao estado interno
do processador durante sua execuo,
como o valor do PC, SP e demais
registradores.
11
Contexto
Cada processo presente no sistema
possui um descritor associado, uma
estrutura onde so armazenadas as
informaes relativas ao contexto e
demais dados necessrios sua
gerncia.

Essa estrutura de dados chamada de
PCB (Process Control Block).
12
Contexto
PCB possui os seguintes campos:
Identificador do processo (nmero inteiro).
Estado do processo.
Informaes de contexto do processador.
Lista de reas de memria usadas pelo
processo.
Listas de arquivos abertos, conexes de rede
e outros recursos usados pelo processo.
Informaes de gerncia e contabilizao
(prioridade, usurio proprietrio, data de
incio, tempo de processamento j decorrido,
volume de dados lidos/escritos,etc.).
13
Contexto
PCB
14
Ponteiro
Registradores
Identificador do
Processo
Contador de
Programa
Listas de memria
.
.
.
Estado do
Processo
Listas de arquivos
Troca de Contexto
Quando o processador interrompe a
execuo de um processo, ele dever
retornar a ele mais tarde.

Para isso, operaes para salvar e
restaurar o contexto so necessrias.

Troca de contexto o ato de salvar o
contexto (PCB) de um processo e
restaurar outro processo (outro PCB).
15
Troca de Contexto

16
Troca de Contexto
Tempo com troca de contexto overhead
uma vez que nenhuma tarefa til
realizada enquanto ocorrer a troca de
contexto.

Tempo da troca dependente de
hardware de apoio.
17
Criao de Processos
Durante a vida do sistema, processos so
criados e destrudos.
Essas operaes so disponibilizadas s
aplicaes atravs de chamadas de
sistema
Cada sistema operacional tem suas
prprias chamadas para a criao e
remoo de processos.
Unix: fork
18
Criao de Processos

19
Criao de Processos
Processo pai cria um processo filho
Ideia de rvore de processos

Formas de Compartilhamento de
recursos
pai e filhos compartilham totalmente os
recursos.
filhos compartilham subconjunto dos recursos
do processo pai
pai e filhos no compartilham recursos

20
Criao de Processos
Execuo dos processos
pai e filhos executam concorrentemente.
pai espera trmino da execuo do filho.

Espao de endereamento
filho cpia do processo pai.
filho pode carregar cdigo de outro programa.

21
Criao de Processos
rvore de processos tpica em Sistemas Unix
22
Terminao de Processos
Processo executa ltima instruo e
solicita ao S.O. que seja terminado (exit
no Unix).
sada de dados do processo filho para o pai
(via wait).
desalocao de recursos alocados ao
processo.
23
Terminao de Processos
Processo pai pode terminar a execuo
de um processo filho (abort no Unix)
filho excedeu cota de recursos.
tarefa no mais necessria (usurio).
Processo pai terminou
S.O. no permite continuao de processos
filhos quando o pai terminado.
Terminao em cascata.
24

Potrebbero piacerti anche