Você está na página 1de 36

Santarm - Par

UNIVERSIDADE FEDERAL DO OESTE DO PAR UFOPA


INSTITUTO DE ENGENHARIA E GEOCINCIAS IEG
PROGRAMA DE COMPUTAO
Sistemas Operacionais
Processos
Prof. Clayton Santos
Sistemas Operacionais
Clayton A. M. Santos
Sumrio
Conceito de Processos
Introduo
Estados de Processo
Gerenciamento de processo
Interrupes
Comunicao interprocessos
2
Sistemas Operacionais
Clayton A. M. Santos
Objetivos
Nesse captulo voc ver:
O conceito de um processo
O ciclo de vida de um processo
Estados de um processo e transies de estado
Blocos de controle de processos (PCBs)/descritores de
processos
Como os processadores transitam entre processos via
chaveamento de contexto
Como interrupes habilitam o hardware a se comunicar
com o software
Como os processos conversam uns com os outros via
comunicao interprocessos (IPC)
3
Sistemas Operacionais
Clayton A. M. Santos
Introduo
Os computadores executam vrias operaes ao
mesmo tempo
Por exemplo, compilar um programa, enviar um arquivo
para impressora, exibir uma pgina Web, reproduzir
msicas e receber mensagens de correio eletrnico.
Os processos permitem que os sistemas executem e
monitorem atividades simultneas.
Os processos transitam entre estados de processo.
Os sistemas operacionais executam operaes por
meio de processos, como criar, destruir, suspender,
retornar e acordar.
4
Sistemas Operacionais
Clayton A. M. Santos
Definio de Processo
Um programa em Execuo
Um processo tem seu prprio espao de endereo, que
consiste em:
Regio de texto
Armazena o cdigo que o processador executa
Regio de dados
Armazena variveis e memria alocada dinamicamente
Regio de pilha
Armazena instrues e variveis locais chamadas ativas ao
procedimento
5
Sistemas Operacionais
Clayton A. M. Santos
Estrutura do Processo
6
Instr. 1.1
Instr. 1.2
Instr. 1.3
Instr. 1.4
Instr. 1.5
.
.
.
PROG_1
Informaes
de
Registradores
Instr. 2.1
Instr. 2.2
Instr. 2.3
Instr. 2.4
Instr. 2.5
.
.
.
PROG_2
Informaes
de
Registradores
Instr. 3.1
Instr. 3.2
Instr. 3.3
Instr. 3.4
Instr. 3.5
.
.
.
PROG_3
Informaes
de
Registradores
Processo X
Processo Y Processo Z
I
n
s
t
r
.

1
.
1
I
n
s
t
r
.

1
.
2
I
n
s
t
r
.

1
.
3
I
n
s
t
r
.

1
.
4
I
n
s
t
r
.
S
O
I
n
s
t
r
.

2
.
1
I
n
s
t
r
.

2
.
2
I
n
s
t
r
.

S
O
I
n
s
t
r
.

3
.
1
I
n
s
t
r
.
3
.
2
I
n
s
t
r
.

3
.
3
I
n
s
t
r
.

3
.
4
I
n
s
t
r
.

S
O
I
n
s
t
r
.
1
.
5
...
t
0
t
4
t
5
t
7
t
8
t
12
t
13
t
1
t
2
t
3
t
Sistemas Operacionais
Clayton A. M. Santos
Estados de processo: ciclo de vida de um
processo
Um processo passa por uma srie de estados de
processo distinto
Estado de Execuo
O processo est sendo executado em um processador
Estado de Pronto
O processo poderia ser executado em um processador se
houvesse algum disponvel.
Estado bloqueado
O processo est aguardando a ocorrncia de algum avento
para prosseguir
7
Sistemas Operacionais
Clayton A. M. Santos
Gerenciamento de processo
O sistema operacional mantm uma lista de prontos e
uma lista de bloqueados para armazenar referncias a
processos que no esto sendo executados.
Os sistemas operacionais prestam certos servios
fundamentais aos processos. Por exemplo:
Criam processos;
Destroem processos;
Suspendem processos;
Retomam processos;
Mudam a prioridade de um processo.
Bloqueiam processos
Acordam (ativam) processos
Despacham processos,
8
Sistemas Operacionais
Clayton A. M. Santos
Estados de Processo
O ato de designar um processador ao primeiro
processo da lista de prontos denominado de
despacho;
O sistema operacional usa o temporizador de intervalo
para permitir que um processo seja executado
durante um intervalo de tempo especfico;
A multitarefa cooperativa permite que todo processo
seja executado at o fim.
9
Sistemas Operacionais
Clayton A. M. Santos
Estados de Transio
At agora existem quatro estados de transio
possveis
Quando um processo despachado, ele transita de
pronto para em execuo;
Quando o quantum de um processo expira, ele transita
de em execuo para pronto;
Quando um processo bloqueado, ele transita de em
execuo para bloqueado;
Quando um evento ocorre, ele transita de bloqueado
para pronto.
10
Sistemas Operacionais
Clayton A. M. Santos
Estados de Transio
Transies de estado de processo
11
Sistemas Operacionais
Clayton A. M. Santos
Processos - Criao
12
A criao de um processo ocorre a partir do momento
em que o sistema operacional adiciona um novo PCB
sua estrutura e aloca um espao de endereamento
na memria para uso.
Os processos podem ser criados a partir:
Logon Interativo
Ao fornecer username e senha
Via Linguagem de Comandos
Prompt de comando
Via Rotina do Sistema Operacional
A partir de qualquer programa executvel
Ao executar um programa, outros processos podero ser
habilitados e executados.
Sistemas Operacionais
Clayton A. M. Santos
Processos - Eliminao
13
Um processo no estado de terminado no poder ter
mais nenhum programa executado no seu contexto,
porm o sistema operacional ainda mantm suas
informaes de controle presentes na memria.
Os processos podem ser eliminados a partir:
Logout ou logoff
Trmino Normal de Execuo
Eliminao por um outro processo;
Eliminao forada por ausncia de recursos disponveis no
sistema.
Sistemas Operacionais
Clayton A. M. Santos
Blocos de Controle de Processo
(PCBs)/Descritores de Processo
Os PCBs mantm as informaes que sistema
operacional precisa para gerenciar o processo
Normalmente, eles incluem as seguintes informaes:
Nmero de identificao do processo (PID);
Estado do processo;
Contador de programa;
Prioridade de escalonamento;
Credencias;
Um ponteiro para o processo-pai
Ponteiros para os processos-filho
Ponteiros para localizar os dados e instrues do processo na
memria;
Ponteiros para recursos alocados.
14
Sistemas Operacionais
Clayton A. M. Santos
Blocos de Controle de Processo
(PCBs)/Descritores de Processo
Tabela de Processos
O sistema operacional mantm ponteiros para cada
PCB do processo em uma tabela de processos no
mbito total do sistema ou por usurio
Permite acesso rpido aos PCBs
Quando um processo encerrado, a tabela de
processos retira o processo da tabela e disponibiliza
todos os seus recursos.
15
Sistemas Operacionais
Clayton A. M. Santos
Blocos de Controle de Processo
(PCBs)/Descritores de Processo
Tabela de Processos e Blocos de Controle de Processo
16
Sistemas Operacionais
Clayton A. M. Santos
Operaes de Processo
Um processo pode gerar um novo processo
O processo de criao chamado de processo-pai;
O processo criado chamado de processo-filho;
Cada processo-filho criado por exatamente um
processo-pai;
Quando um processo-pai desfeito, os sistemas
operacionais em geral respondem de duas formas:
Destroem todos os processos-filho desse processo-pai;
Permitem que os processos-filho prossigam
independentemente dos processos-pai.
17
Sistemas Operacionais
Clayton A. M. Santos
Operaes de Processo
Hierarquia de criao de processo
18
Sistemas Operacionais
Clayton A. M. Santos
Operaes de Processo
Hierarquia de processos no Linux
19
Criado quando
o ncleo
carregado
Gerenciamento
de memria
Gerenciamento
de dispositivos
Escrita de
dados
Gerenciamento
de arquivos
Carrega
mensagens
lanadas pelo
kernel
Editor de
texto
Informaes
do usurio
Permisso
Sistemas Operacionais
Clayton A. M. Santos
Suspender e Retornar
Suspenso de um processo
O processo retirado indefinidamente da disputa por
tempo em um processador, sem ser destrudo;
til para detectar ameaas segurana e para depurao
de software;
A suspenso pode ser iniciada pelo processo que est sendo
suspenso ou por outro processo;
O processo suspenso precisa ser retomado por outro
processo:
Existem dois estados de suspenso:
Suspenso-pronto;
Suspenso bloqueado.
20
Sistemas Operacionais
Clayton A. M. Santos
Suspender e Retornar
Transies de estado de processo com suspenso e retomada
21
Sistemas Operacionais
Clayton A. M. Santos
Chaveamento de contexto
O sistema operacional realiza um chaveamento de contexto
para interromper um processo em execuo e comear a
executar um processo previamente pronto;
Salva o contexto de execuo anterior do processo em
execuo no PCP desse processo;
Carrega o contexto de execuo anterior do processo
pronto no PCP desse ltimo
Deve ser transparente aos processos
O processador no pode realizar nenhuma computao
til
O sistema operacional precisa, portanto, diminuir o tempo de
chaveamento de contexto.
executado no hardware por algumas arquiteturas.
22
Sistemas Operacionais
Clayton A. M. Santos
Chaveamento de contexto
Chaveamento de contexto
23
Sistemas Operacionais
Clayton A. M. Santos
24
Processos Foreground
Permite a comunicao direta do usurio com o
processo durante o seu processamento.
Tanto o canal de entrada, quanto o canal de sada
esto associados com teclado, monitor e mouse,
permitindo a interao com o usurio.
Entrada Sada
Terminal Terminal
Sistemas Operacionais
Clayton A. M. Santos
25
Processos Background
No existe comunicao com o usurio durante o
processamento.
Os canais de E/S no esto associados a nenhum
dispositivo de E/S, mas em geral a arquivos de E/S.
Um exemplo o processamento do tipo batch.
Entrada Sada
Arquivo de
Entrada
Arquivo de
Sada
Sistemas Operacionais
Clayton A. M. Santos
26
Processos CPU-bound
Um processo definido como CPU-bound (ligado a
UCP) quando passa a maior parte do tempo no estado
de execuo, utilizando o processador ou pronto.
Realiza pouqussimas operaes de leitura e gravao
Pode ser encontrado em aplicaes cientficas,
devido a efetuao de diversos clculos
UCP
E/S
(a) CPU-bound
Sistemas Operacionais
Clayton A. M. Santos
27
Processos IO-bound
Um processo definido como IO-bound (ligado
E/S) quando passa a maior parte do tempo no estado
de espera.
Realiza elevadas operaes de E/S.
Pode ser encontrado em aplicaes comerciais, pois
se baseiam em leitura, processamento e gravao.
UCP
E/S
(a) IO-bound
Sistemas Operacionais
Clayton A. M. Santos
28
Interrupes
As interrupes habilitam o software a responder a
sinais de hardware
Podem ser iniciadas por um processo em execuo
A interrupo denominada desvio (trap);
considerada sncrona em relao operao do processo;
Por exemplo, quando um processo tenta realizar uma ao
ilegal, como dividir por zero ou referir-se a uma memria
protegida
Podem ser iniciadas por algum evento que pode ou no
estar relacionado ao processo em execuo
Nesse caso, considerada assncrona em relao operao
do processo;
Por exemplo, quando uma tecla pressionada no teclado ou o
mouse movido
Sistemas Operacionais
Clayton A. M. Santos
29
Processamento de Interrupes
Tratamento de interrupes
Assim que recebe uma interrupo, o processador conclui
a execuo da instruo corrente e faz uma pausa no
processo corrente;
Em seguida, o processador executa uma das funes de
tratamento de interrupo do ncleo;
O tratador de interrupo determina como o sistema deve
responder;
Os tratadores de interrupo so armazenados em um
conjunto de ponteiros denominado vetor de interrupo;
Aps a concluso do tratador de interrupo, o processo
interrompido restaurado e executado ou o processo
seguinte executado.
Sistemas Operacionais
Clayton A. M. Santos
Processamento de Interrupes
Tratamento de interrupes
30
Sistemas Operacionais
Clayton A. M. Santos
31
Classes de Interrupes
As interrupes suportadas dependem da
arquitetura do sistema
A especificao IA-32 distingue os dois tipos de sinal
que um processador pode receber:
Interrupes
Notificam o processador de que ocorreu um evento ou que
o status de um dispositivo externo mudou.
So geradas por dispositivos externos a um processador.
Excees
Indicam que ocorreu um erro, seja no hardware, seja em
decorrncia de uma instruo de software.
So classificadas como falhas, desvios ou abortos.
Sistemas Operacionais
Clayton A. M. Santos
Classes de Interrupes
Tipos comuns de interrupes reconhecidos pela arquitetura Intel IA-32
32
Sistemas Operacionais
Clayton A. M. Santos
Classes de Interrupes
Classes de excees do Intel IA-32
33
Sistemas Operacionais
Clayton A. M. Santos
34
Comunicao Interprocessos
Muitos sistemas operacionais fornecem
mecanismos para comunicaes interprocessos
(IPC).
Os processos precisam se comunicar uns com os
outros em ambientes de multiprogramao ou de rede.
Por exemplo, um navegador Web pode recuperar dados de um
servidor remoto.
essencial para processos que precisam coordenar
(sincronizar) atividades para alcanar uma meta
comum.
Sistemas Operacionais
Clayton A. M. Santos
35
Sinais
So interrupes de software que notificam o
processo de que um evento ocorreu.
No permitem que os processos especifiquem dados
para trocar com outros processos.
Os processos podem capturar, ignorar ou mascarar um
sinal.
Um processo captura um sinal especificando uma rotina que o
sistema operacional chama quando libera o sinal.
Um processo ignora um sinal dependendo da ao-padro do
sistema operacional para trat-lo.
Um processo mascara um sinal instruindo o sistema
operacional a no liberar sinais desse tipo at que o processo
bloqueie a mscara do sinal.
Sistemas Operacionais
Clayton A. M. Santos
36
Prxima Aula
Threads

Você também pode gostar