Professional Documents
Culture Documents
Adaptado do livro: Arquitetura de Sistemas Operacionais (Francis Berenger Machado e Luiz Paulo
Maia)
Gerência de Processos
Gerência de Processos
1
Sumário
Introdução
Estrutura do processo
Estados do processo
Mudanças de estado do processo
Criação e eliminação de processos
Processos independentes, subprocessos e threads
Processos foreground e background
Processos do sistema operacional
Processos CPU-bound e I/O-bound
Sinais
Gerência de Processos
2
Estrutura do Processo
Estrutura do processo
Contexto de Contexto de
Software Hardware
Programa
Espaço de
Endereçamento
Gerência de Processos
3
Contexto de Hardware
Mudança de
Sistema Operacional
executando
Salva registradores do
Processo A
Carrega registradores do
Processo B
executando
Salva registradores do
Processo B
Carrega registradores do
Processo A
executando
Gerência de Processos
4
Contexto de Software
Identificação
Quotas
Privilégios
Gerência de Processos
5
Espaço de Enderaçamento
Estrutura de um processo
nome
PID registradores
gerais
owner (UID)
prioridade de
registrador PC
execução
data/hora
de criação Contexto de Contexto de
Software Hardware
tempo de registrador SP
processador
quotas
Programa registrador
privilégios de status
Espaço de
Endereçamento
endereços de memória
principal alocados
Gerência de Processos
6
Bloco de Controle do Processo
PCB
ponteiros
Estado do processo
Nome do processo
Prioridade do processo
Registradores
Limites de memória
Lista de arquivos abertos
..
..
..
..
Gerência de Processos
7
Estados do Processo
Execução (running)
Pronto (ready)
Espera (wait)
Gerência de Processos
8
Estados do Processo
Lista de PCBs
Lista de
processos
em estado
de pronto
.. ..
.. ..
.. ..
. .
. .
PCB#5 PCB#1
Lista de
processos
em estado
de espera
.. .. ..
. . .
.. .. ..
.. .. ..
. . .
Gerência de Processos
9
Mudanças de Estado
Mudanças de estado do processo
Estado de Execução
b d
Estado de Espera
Gerência de Processos Estado de Pronto
10
Mudanças de Estado
Mudanças de estado do processo (2)
Estado de Execução
11
Criação e Eliminação
Mudanças de estado do processo (3)
Gerência de Processos
12
Processos Independentes,
Subprocessos e Threads
Estrutura de processos e subprocessos
Processo A
Processo B Processo C
Processo E
Processo D
Gerência de Processos
13
Processos Independentes
È a maneira mais simples de implementar a concorrência em
sistemas multiprogramáveis.
Obs 1- Neste caso não existe vínculo de dependência do
processo criado com o seu criador.
Obs 2 – A criação de um processo independente exige o
mesmo ritual de criação de processo normal e alocação de
um PCB próprio.
Gerência de Processos
14
Subprocessos
È a maneira em que os processos são criados dentro de uma
estrutura hierárquica.
Obs 1- O processo criador é denominado de PROCESSO-
PAI, enquanto o novo processo é chamado de subprocesso ou
processo-filho. Um subprocesso, por sua vez, pode criar
outras estruturas de subprocessos.
Obs 2 – Uma característica desta implementação é a
dependência existente entre o processo criador e o
subprocesso.
Gerência de Processos
15
Threads
Foi a maneira de reduzir o tempo gasto entre a criação e a
eliminação, além da troca de contexto de processos nas
aplicações concorrentes, bem como economizar recursos do
sistemas como um todo.
Obs 1- Desta forma foram criadas as multithread, um único
processo pode suportar múltiplos threads, cada qual associado
a uma parte do código da aplicação.
Obs 2 – Neste caso não é necessário haver diversos processos
para a implementação da concorrência.
Obs 3 – As threads compartilham o processador da mesma
maneira que um processo, ou seja, enquanto uma thread espera
por uma operação de E/S, outra thread pode ser executada.
Gerência de Processos
16
Processos Independentes,
Subprocessos e Threads
Processo multithread
Espaço de
endereçamento
Gerência de Processos
17
Processos Foreground e Background
Processos foreground e background
(a) Processo Foreground
entrada saída
terminal terminal
entrada saída
arquivo arquivo
de entrada de saída
Gerência de Processos
18
Processos Foreground e Background
Processos foreground – É aquele que permite a comunicação
direta do usuário com o processo durante o seu
processamento. Neste caso, tanto o canal de entrada quanto o
de saída estão associados a um terminal com teclado, mouse e
monitor, permitindo assim, a interação com o usuário.
19
Processo Foreground e Background
Pipe
saída do
Processo A
entrada do saída do
Processo A Processo B
entrada do
Processo B
Processo A Processo B
Gerência de Processos
20
Processos do Sistema Operacional
O conceito de processo, além de estar associado a aplicações
de usuários, pode também ser implementado na própria
arquitetura do sistema operacional.
Quando processos são utilizados para a implementação de
serviços do sistema, estamos retirando código do seu núcleo,
tornando-o menor e mais estável. No caso de um ou mais
serviços não serem desejados, basta não ativar os processos
responsáveis, o que permitirá liberar memória para os
processos de usuários.
Gerência de Processos
21
Serviços que o SO pode
implementar através de processos
Auditoria e segurança
Serviços de rede
Contabilização do uso de recursos
Contabilização de erros
Gerência de impressão
Gerência de jobs batch
Temporização
Comunicação de eventos
Interface de comandos (shell)
Gerência de Processos
22
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
Gerência de Processos
23
Sinais
Uso de sinais
interrupção sinal
Sistema Operacional
[ctrl-C]
Processo
Gerência de Processos
24
Sinais
Sinais, interrupções e exceções
Processo Processo
Sinais
Sistema Operacional
Interrupções
Exceções
Hardware
Gerência de Processos
25