Arquitetura de Sistemas
Operacionais
Francis Berenger Machado
Luiz Paulo Maia
Capítulo 5
Processo
Cap. 5 – Processo
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
Cap. 5 – Processo
2
Estrutura do Processo
• Estrutura do processo
Contexto de
Software
Contexto de
Hardware
Programa
Espaço de
Endereçamento
Cap. 5 – Processo
3
Contexto de Hardware
• Mudança 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
Cap. 5 – Processo
4
Contexto de Software
• Identificação
• Quotas
• Privilégios
Cap. 5 – Processo
5
Espaço de Enderaçamento
• Estrutura de um processo
nome
PID
owner (UID)
registradores
gerais
prioridade de
execução
data/ hora
de criação
registrador PC
Contexto de
Hardware
Contexto de
Software
registrador SP
tempo de
processador
quotas
Programa
privilégios
registrador
de status
Espaço de
Endereçamento
endereços de memória
principal alocados
Cap. 5 – Processo
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
..
..
..
..
Cap. 5 – Processo
7
Estados do Processo
• Execução (running)
• Pronto (ready)
• Espera (wait)
Cap. 5 – Processo
8
Estados do Processo
• Lista de PCBs
Lista de
processos
em estado
de pronto
.
..
..
..
.
.
..
..
..
.
PCB# 5
PCB# 1
..
..
..
..
..
..
..
..
..
..
..
..
PCB# 9
PCB# 2
PCB# 4
Lista de
processos
em estado
de espera
Cap. 5 – Processo
9
Mudanças de Estado
• Mudanças de estado do processo
Estado de Execução
d
b
a
c
Estado de Espera
Cap. 5 – Processo
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
Estado de Espera
Estado de Pronto
residente
não residente
Cap. 5 – Processo
11
Criação e Eliminação
• Mudanças de estado do processo (3)
Estado de Execução
Estado de Espera
Cap. 5 – Processo
Estado de Término
Estado de Pronto
Estado de Criação
12
Processos Independentes,
Subprocessos e Threads
• Estrutura de processos e subprocessos
Processo A
Processo C
Processo B
Processo D
Cap. 5 – Processo
Processo E
13
Processos Independentes,
Subprocessos e Threads
• Processo multithread
Contexto
de hardware
Contexto
de hardware
Thread 1
Thread 2
Thread 3
Contexto de
software
Contexto
de hardware
Espaço de
endereçamento
Cap. 5 – Processo
14
Processos Foreground e
Background
• Processos foreground e background
(a) Processo Foreground
entrada
saída
terminal
terminal
(b) Processo Background
entrada
arquivo
de entrada
Cap. 5 – Processo
saída
arquivo
de saída
15
Processo Foreground e
Background
• Pipe
saída do
Processo A
entrada do
Processo A
saída do
Processo B
entrada do
Processo B
Processo A
Cap. 5 – Processo
Processo B
16
Processos do Sistema
•
•
•
•
•
•
•
•
•
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)
Cap. 5 – Processo
17
Processos CPU e IO Bound
• Processos CPU x IO Bound
E/ S
E/ S
UCP
UCP
tempo
(a) CPU-bound
Cap. 5 – Processo
tempo
(b) I/ O-bound
18
Sinais
• Uso de sinais
interrupção
sinal
Sistema Operacional
[ctrl-C]
Processo
Cap. 5 – Processo
19
Sinais
• Sinais, interrupções e exceções
Processo
Processo
Sinais
Sistema Operacional
Interrupções
Exceções
Hardware
Cap. 5 – Processo
20
Download

Slides_Capítulo_5_-Processos