processo - blogdoprofpc.files.wordpress.com · 05/05/14 © p c f de oliveira 2014 12 capítulo 05...
TRANSCRIPT
1
Processo
Prof. Paulo Cesar F. de Oliveira, BSc, PhD
2
Capítulo 05 Processo
05/05/14 © P C F de Oliveira 2014
Seção 1.1 Introdução
3 05/05/14 © P C F de Oliveira 2014
Capítulo 05 Processo
Ingredientes: dados de entrada
§ Receita do Bolo Programa (Algoritmo)
Quem prepara (confeiteiro): CPU
Processo – atividade de: § Ler a receita § Buscar ingredientes § Assar o bolo
4 05/05/14 © P C F de Oliveira 2014
Capítulo 05 Processo
² O que é?
² Instância de um programa em execução (Silberschatz, 2005)
² Unidade de trabalho em um sistema de tempo compartilhado
(Silberschatz, 2005)
² Abstração de um programa em execução (Tanenbaum, 2010)
5 05/05/14 © P C F de Oliveira 2014
Capítulo 05 Processo
Processo e Humanos § São criados (gerados) § Tem vida § Opcionalmente geram um ou mais processos filhos § Eventualmente morrem
6 05/05/14 © P C F de Oliveira 2014
Capítulo 05 Processo
Programa
§ Entidade passiva
§ Armazenada em disco (executável)
Processo
§ Entidade ativa
§ Programa torna-se processo quando executável é carregado na memória
7 05/05/14 © P C F de Oliveira 2014
Capítulo 05 Processo Processo na Memória
Stack (Pilha)
Heap (alocada dinamicamente) Dados 2 Globais não inicializados Dados 1 Globais
inicializados Código do
Programa (texto)
§ Stack: Contém endereço de retorno das chamadas de função, argumentos para funções e variáveis locais
§ Heap: Contém dados dinâmicos e não inicializados
§ Dados 2: Contém variáveis globais não inicializadas
§ Dados 1: Contém variáveis globais inicializadas § Inicializadas na carga do código
§ Código do programa: Contém as instruções (comandos) § Somente pra leitura
§ Usado para variáveis e constantes globais
0
max
8
Capítulo 05 Processo
05/05/14 © P C F de Oliveira 2014
Seção 1.2 Estrutura do Processo
9 05/05/14 © P C F de Oliveira 2014
Capítulo 05 Processo
Troca de um processo por outro: mudança de contexto
10 05/05/14 © P C F de Oliveira 2014
Capítulo 05 Processo
C a rre g a reg is tra do res doProcesso B
C a rre g a reg is tra do res doProcesso A
S istem a O pera cion a l
S a lva reg istra dores d oProcesso A
execu ta ndo
execu ta ndo
execu ta ndo
S a lva reg istra dores d oProcesso B
Processo A Processo B
Mudança de Contexto
11 05/05/14 © P C F de Oliveira 2014
Capítulo 05 Processo
Prog ram a
C on texto d eS oftw a re
C on texto d eH a rdw a re
Esp a ço deEndereça men to
§ Armazena conteúdo dos registradores gerais da CPU e uso específico (e.g. PC, SP e PSW
§ No. máximo arquivos abertos simultaneamente
§ Prioridade de execução § Tamanho do buffer E/S
§ Área da memória onde instruções e dados do programa são armazenados para execução
Partes
12 05/05/14 © P C F de Oliveira 2014
Capítulo 05 Processo
Identificação
§ Recebe uma identificação única (PID – process identification)
§ Recebe uma identificação do usuário que criou (UID – user identification)
Quotas
§ Limite dos recursos que um processo pode alocar
§ No. máx. Arquivos abertos ao mesmo tempo
§ Tamanho máx. De memória a alocar
§ No. máx. Operações E/S pendentes
§ Tamanho máx. Buffer E/S
§ No. máx. Processos que podem ser criados
Privilégios
§ Ações que um processo pode fazer (ele mesmo, demais processos e SO)
Contexto de Software
13 05/05/14 © P C F de Oliveira 2014
Capítulo 05 Processo
Prog ram a
C on texto d eS oftw a re
p r io r id a d e d ee xe cu çã o re g is tr a d o r P C
d a ta /h o rad e cr ia çã o
tem po d ep ro ce ssa d o r
r e g is tr a d o r S P
q uo ta s
p r iv i lé g io s
en d e re ço s d e m em ór iap r in c ip a l a lo ca d o s
r e g is tr a d o rd e s ta tu s
own e r (U ID )P ID
n om ere g is tr a d o re s
g e r a is
C on texto d eH a rdw a re
Esp a ço d eEndereça men to
Estrutura de um Processo
14 05/05/14 © P C F de Oliveira 2014
Capítulo 05 Processo
........
p onte iros
Esta do do processo
Reg istra d ore s
N ome do proces so
Pr ior id a d e d o p rocesso
Lim ites de m emória
Lista d e a rqu ivos a bertos
Bloco de Controle do Processo (PCB)
§ Mantém informações sobre contexto de hardware, software e espaço de endereçamento
15 05/05/14 © P C F de Oliveira 2014
Capítulo 05 Processo
16 05/05/14 © P C F de Oliveira 2014
Capítulo 05 Processo
17 05/05/14 © P C F de Oliveira 2014
Capítulo 05 Processo
18
Capítulo 05 Processo
05/05/14 © P C F de Oliveira 2014
Seção 1.3 Estados do Processo
19 05/05/14 © P C F de Oliveira 2014
Capítulo 05 Processo Estados do Processo
Execução (running)
Pronto (ready)
Espera (wait)
§ Está sendo processado pela CPU
§ Aguarda para ser executado
§ Aguarda por um evento externo ou recurso para prosseguir processamento
§ Alguns SO chamado de bloqueado (blocked)
20 05/05/14 © P C F de Oliveira 2014
Capítulo 05 Processo
........
........
........
........
........
L ista deprocessosem esta dode p ronto
PCB# 5
PCB# 9
PCB# 1
PCB# 2 PCB# 4
Lista deprocessosem esta dode espera
Lista de PCBs nos Estados de Pronto e Espera
21
Capítulo 05 Processo
05/05/14 © P C F de Oliveira 2014
Seção 1.4 Mudanças de Estado do Processo
22 05/05/14 © P C F de Oliveira 2014
Capítulo 05 Processo
Esta d o d e Exe cu çã o
Esta d o d e E spe ra Esta d o d e Pron to
a
c
db
§ Mudança ocorre durante seu processamento em função de eventos originados: § Por ele mesmo § Pelo SO
d) Execução è Pronto § Quando SO gera eventos § Término da fatia de tempo
que processo possui para execução
a) Pronto è Execução § Aguarda para ser
executado
b) Execução è Espera § Eventos gerados por
ele mesmo § Operação E/S § Evento externo: § SO suspende a
execução de um processo por um período de tempo c) Espera è Pronto
§ Operação é atendida e recurso concedido
23
Capítulo 05 Processo
05/05/14 © P C F de Oliveira 2014
Seção 1.5 Criação e Eliminação de Processos
24 05/05/14 © P C F de Oliveira 2014
Capítulo 05 Processo
re s id en te
n ã o res iden te
Esta d o d e Exe cu çã o
Esta d o d e E spe ra
Esta d o d e E spe ra
Esta d o d e Pron to
Esta d o d e Pron to
25 05/05/14 © P C F de Oliveira 2014
Capítulo 05 Processo
Esta d o d e Exe cu çã o Esta d o d e Térm ino
Esta d o d e E spe ra Esta d o d e Pron to Esta d o d e C r ia çã o
§ SO já criou um novo PCB mas não colocou na lista de processos de estado pronto
§ Não poderá mais ser executado
§ Pode ocorrer § Término normal § Eliminação por
outro processo § Eliminação
forçada por ausência de recursos
26
Capítulo 05 Processo
05/05/14 © P C F de Oliveira 2014
Seção 1.6 Processos CPU-bound e I/O-bound
27 05/05/14 © P C F de Oliveira 2014
Capítulo 05 Processo
(a ) C PU -‐boundtem po tem po
E/S E/S
U C P U C P
(b ) I /O -‐b ound
§ Ligado à CPU § Passa maior parte do
tempo no estado de execução utilizando processador
§ Ligado à E/S § Passa maior parte do
tempo no estado de espera realizando grande número de operações de E/S
28
Capítulo 05 Processo
05/05/14 © P C F de Oliveira 2014
Seção 1.7 Processos Foreground e Background
29 05/05/14 © P C F de Oliveira 2014
Capítulo 05 Processo
(a ) Proce sso Fo reg round
(b ) Processo Ba ck g round
sa ída
sa ída
a rqu ivode sa íd a
term ina lterm ina l
en tra d a
en tra d a
a rqu ivode en tra da
§ Permite a comunicação direta do usuário com o processo
§ Não existe a comunicação do usuário com processo
30 05/05/14 © P C F de Oliveira 2014
Capítulo 05 Processo
Pipe
en tra d a doProce sso A
sa ída doProce sso B
sa ída doProce sso A
en tra d a doProce sso B
Processo A Processo B
31
Capítulo 05 Processo
05/05/14 © P C F de Oliveira 2014
Seção 1.8 Formas de Criação de Processos
32 05/05/14 © P C F de Oliveira 2014
Capítulo 05 Processo Logon (login) Interativo
§ Ao fornecer usuário e senha um processo em foreground é criado
§ Usuário interage com o SO usando linguagem de comandos
§ Processo é eliminado quando o usuário encerra a sessão (logout ou logoff)
33 05/05/14 © P C F de Oliveira 2014
Capítulo 05 Processo Via Linguagem de Comandos
§ Usuário pode, a partir do seu processo criar novos processos
34 05/05/14 © P C F de Oliveira 2014
Capítulo 05 Processo Via Rotina do SO
§ Processo pode ser criado a partir de qualquer programa executável com rotinas do SO
import java.io.IOException; !public class CriaProcesso { ! public static void main (String[] args { !
" try { ! " " Process processo = Runtime.getRuntime().exec(“notepad.exe”); !
" } !" catch (IOException e) { !" " e.printStackTrace(); !" } !
} !} !
35
Capítulo 05 Processo
05/05/14 © P C F de Oliveira 2014
Seção 1.9 Processos Independentes, Subprocessos e Threads
36 05/05/14 © P C F de Oliveira 2014
Capítulo 05 Processo
Proce sso A
Proce sso CProce sso B
Proce sso EProce sso D
§ Processo independente: não existe vínculo entre processo criado e seu criador
§ Subprocessos: processos criados dentro de uma estrutura hierárquica
processo-pai
processo-filho
37 05/05/14 © P C F de Oliveira 2014
Capítulo 05 Processo
C on textod e h a rdwa re
C on textod e h a rdwa re
C on textod e h a rdwa re
Esp a ço d eendereça men to
Con
texto de
softwar
e
Th rea d 3Th rea d 2Th rea d 1
§ Thread: processo dentro de um processo
§ miniprocesso
§ Multithread: Único processo pode suportar múltiplos threads
38
Capítulo 05 Processo
05/05/14 © P C F de Oliveira 2014
Seção 1.10 Processos do SO
39 05/05/14 © P C F de Oliveira 2014
Capítulo 05 Processo § Serviços do SO
implementados através de processos
40
Capítulo 05 Processo
05/05/14 © P C F de Oliveira 2014
Seção 1.11 Sinais
41 05/05/14 © P C F de Oliveira 2014
Capítulo 05 Processo
[ctrl-‐ C ]
Proce sso
in terru pçã o s in a lS istem a O pera cion a l
Uso de Sinais
§ Sinal: permite notificar processos sobre eventos gerados pelo SO ou outros processos
§ Possibilita a comunicação e sincronização entre processos
42 05/05/14 © P C F de Oliveira 2014
Capítulo 05 Processo
Sinais, Interrupções e exceções
H a rdw a re
S istem a O pera cion a l
In terrup çõ esExceções
S in a is
Processo Processo
Texto – Fonte Arial Normal – Máx.14pt / Mín.12pt – Preto – Centralizado
43