You are on page 1of 25

Sistemas Operacionais

Prof. Márcio Favacho

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

contexto 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

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
.. .. ..
. . .
.. .. ..
.. .. ..
. . .

PCB#9 PCB#2 PCB#4

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

Estado de Espera Estado de Pronto


residente
não residente

Gerência de Processos Estado de Espera Estado de Pronto

11
Criação e Eliminação
 Mudanças de estado do processo (3)

Estado de Execução Estado de Término

Estado de Espera Estado de Pronto Estado de Criação

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

Contexto Contexto Contexto


de hardware de hardware de hardware
Contexto de
software

Thread 1 Thread 2 Thread 3

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

(b) Processo Background

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.

 Processos Background – è aquele onde não existe a


comunicação com o usuário durante o seu processamento.
Neste caso, os canais de E/S não estão associados a nenhum
dispositivos de E/S interativo, mas em geral a arquivos de
E/S.
Gerência de Processos

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

You might also like