processo - blogdoprofpc.files.wordpress.com · 05/05/14 © p c f de oliveira 2014 12 capítulo 05...

43
1 Processo Prof. Paulo Cesar F. de Oliveira, BSc, PhD

Upload: others

Post on 03-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Processo - blogdoprofpc.files.wordpress.com · 05/05/14 © P C F de Oliveira 2014 12 Capítulo 05 Processo Identificação! Recebe uma identificação única (PID – process identification)

1

Processo

Prof. Paulo Cesar F. de Oliveira, BSc, PhD

Page 2: Processo - blogdoprofpc.files.wordpress.com · 05/05/14 © P C F de Oliveira 2014 12 Capítulo 05 Processo Identificação! Recebe uma identificação única (PID – process identification)

2

Capítulo 05 Processo

05/05/14 © P C F de Oliveira 2014

Seção 1.1 Introdução

Page 3: Processo - blogdoprofpc.files.wordpress.com · 05/05/14 © P C F de Oliveira 2014 12 Capítulo 05 Processo Identificação! Recebe uma identificação única (PID – process identification)

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

Page 4: Processo - blogdoprofpc.files.wordpress.com · 05/05/14 © P C F de Oliveira 2014 12 Capítulo 05 Processo Identificação! Recebe uma identificação única (PID – process identification)

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)

Page 5: Processo - blogdoprofpc.files.wordpress.com · 05/05/14 © P C F de Oliveira 2014 12 Capítulo 05 Processo Identificação! Recebe uma identificação única (PID – process identification)

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

Page 6: Processo - blogdoprofpc.files.wordpress.com · 05/05/14 © P C F de Oliveira 2014 12 Capítulo 05 Processo Identificação! Recebe uma identificação única (PID – process identification)

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

Page 7: Processo - blogdoprofpc.files.wordpress.com · 05/05/14 © P C F de Oliveira 2014 12 Capítulo 05 Processo Identificação! Recebe uma identificação única (PID – process identification)

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

Page 8: Processo - blogdoprofpc.files.wordpress.com · 05/05/14 © P C F de Oliveira 2014 12 Capítulo 05 Processo Identificação! Recebe uma identificação única (PID – process identification)

8

Capítulo 05 Processo

05/05/14 © P C F de Oliveira 2014

Seção 1.2 Estrutura do Processo

Page 9: Processo - blogdoprofpc.files.wordpress.com · 05/05/14 © P C F de Oliveira 2014 12 Capítulo 05 Processo Identificação! Recebe uma identificação única (PID – process identification)

9 05/05/14 © P C F de Oliveira 2014

Capítulo 05 Processo

Troca de um processo por outro: mudança de contexto

Page 10: Processo - blogdoprofpc.files.wordpress.com · 05/05/14 © P C F de Oliveira 2014 12 Capítulo 05 Processo Identificação! Recebe uma identificação única (PID – process identification)

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

Page 11: Processo - blogdoprofpc.files.wordpress.com · 05/05/14 © P C F de Oliveira 2014 12 Capítulo 05 Processo Identificação! Recebe uma identificação única (PID – process identification)

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

Page 12: Processo - blogdoprofpc.files.wordpress.com · 05/05/14 © P C F de Oliveira 2014 12 Capítulo 05 Processo Identificação! Recebe uma identificação única (PID – process identification)

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

Page 13: Processo - blogdoprofpc.files.wordpress.com · 05/05/14 © P C F de Oliveira 2014 12 Capítulo 05 Processo Identificação! Recebe uma identificação única (PID – process identification)

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

Page 14: Processo - blogdoprofpc.files.wordpress.com · 05/05/14 © P C F de Oliveira 2014 12 Capítulo 05 Processo Identificação! Recebe uma identificação única (PID – process identification)

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

Page 15: Processo - blogdoprofpc.files.wordpress.com · 05/05/14 © P C F de Oliveira 2014 12 Capítulo 05 Processo Identificação! Recebe uma identificação única (PID – process identification)

15 05/05/14 © P C F de Oliveira 2014

Capítulo 05 Processo

Page 16: Processo - blogdoprofpc.files.wordpress.com · 05/05/14 © P C F de Oliveira 2014 12 Capítulo 05 Processo Identificação! Recebe uma identificação única (PID – process identification)

16 05/05/14 © P C F de Oliveira 2014

Capítulo 05 Processo

Page 17: Processo - blogdoprofpc.files.wordpress.com · 05/05/14 © P C F de Oliveira 2014 12 Capítulo 05 Processo Identificação! Recebe uma identificação única (PID – process identification)

17 05/05/14 © P C F de Oliveira 2014

Capítulo 05 Processo

Page 18: Processo - blogdoprofpc.files.wordpress.com · 05/05/14 © P C F de Oliveira 2014 12 Capítulo 05 Processo Identificação! Recebe uma identificação única (PID – process identification)

18

Capítulo 05 Processo

05/05/14 © P C F de Oliveira 2014

Seção 1.3 Estados do Processo

Page 19: Processo - blogdoprofpc.files.wordpress.com · 05/05/14 © P C F de Oliveira 2014 12 Capítulo 05 Processo Identificação! Recebe uma identificação única (PID – process identification)

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)

Page 20: Processo - blogdoprofpc.files.wordpress.com · 05/05/14 © P C F de Oliveira 2014 12 Capítulo 05 Processo Identificação! Recebe uma identificação única (PID – process identification)

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

Page 21: Processo - blogdoprofpc.files.wordpress.com · 05/05/14 © P C F de Oliveira 2014 12 Capítulo 05 Processo Identificação! Recebe uma identificação única (PID – process identification)

21

Capítulo 05 Processo

05/05/14 © P C F de Oliveira 2014

Seção 1.4 Mudanças de Estado do Processo

Page 22: Processo - blogdoprofpc.files.wordpress.com · 05/05/14 © P C F de Oliveira 2014 12 Capítulo 05 Processo Identificação! Recebe uma identificação única (PID – process identification)

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

Page 23: Processo - blogdoprofpc.files.wordpress.com · 05/05/14 © P C F de Oliveira 2014 12 Capítulo 05 Processo Identificação! Recebe uma identificação única (PID – process identification)

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

Page 24: Processo - blogdoprofpc.files.wordpress.com · 05/05/14 © P C F de Oliveira 2014 12 Capítulo 05 Processo Identificação! Recebe uma identificação única (PID – process identification)

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

Page 25: Processo - blogdoprofpc.files.wordpress.com · 05/05/14 © P C F de Oliveira 2014 12 Capítulo 05 Processo Identificação! Recebe uma identificação única (PID – process identification)

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

Page 26: Processo - blogdoprofpc.files.wordpress.com · 05/05/14 © P C F de Oliveira 2014 12 Capítulo 05 Processo Identificação! Recebe uma identificação única (PID – process identification)

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

Page 27: Processo - blogdoprofpc.files.wordpress.com · 05/05/14 © P C F de Oliveira 2014 12 Capítulo 05 Processo Identificação! Recebe uma identificação única (PID – process identification)

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

Page 28: Processo - blogdoprofpc.files.wordpress.com · 05/05/14 © P C F de Oliveira 2014 12 Capítulo 05 Processo Identificação! Recebe uma identificação única (PID – process identification)

28

Capítulo 05 Processo

05/05/14 © P C F de Oliveira 2014

Seção 1.7 Processos Foreground e Background

Page 29: Processo - blogdoprofpc.files.wordpress.com · 05/05/14 © P C F de Oliveira 2014 12 Capítulo 05 Processo Identificação! Recebe uma identificação única (PID – process identification)

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

Page 30: Processo - blogdoprofpc.files.wordpress.com · 05/05/14 © P C F de Oliveira 2014 12 Capítulo 05 Processo Identificação! Recebe uma identificação única (PID – process identification)

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

Page 31: Processo - blogdoprofpc.files.wordpress.com · 05/05/14 © P C F de Oliveira 2014 12 Capítulo 05 Processo Identificação! Recebe uma identificação única (PID – process identification)

31

Capítulo 05 Processo

05/05/14 © P C F de Oliveira 2014

Seção 1.8 Formas de Criação de Processos

Page 32: Processo - blogdoprofpc.files.wordpress.com · 05/05/14 © P C F de Oliveira 2014 12 Capítulo 05 Processo Identificação! Recebe uma identificação única (PID – process identification)

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)

Page 33: Processo - blogdoprofpc.files.wordpress.com · 05/05/14 © P C F de Oliveira 2014 12 Capítulo 05 Processo Identificação! Recebe uma identificação única (PID – process identification)

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

Page 34: Processo - blogdoprofpc.files.wordpress.com · 05/05/14 © P C F de Oliveira 2014 12 Capítulo 05 Processo Identificação! Recebe uma identificação única (PID – process identification)

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(); !" } !

} !} !

Page 35: Processo - blogdoprofpc.files.wordpress.com · 05/05/14 © P C F de Oliveira 2014 12 Capítulo 05 Processo Identificação! Recebe uma identificação única (PID – process identification)

35

Capítulo 05 Processo

05/05/14 © P C F de Oliveira 2014

Seção 1.9 Processos Independentes, Subprocessos e Threads

Page 36: Processo - blogdoprofpc.files.wordpress.com · 05/05/14 © P C F de Oliveira 2014 12 Capítulo 05 Processo Identificação! Recebe uma identificação única (PID – process identification)

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

Page 37: Processo - blogdoprofpc.files.wordpress.com · 05/05/14 © P C F de Oliveira 2014 12 Capítulo 05 Processo Identificação! Recebe uma identificação única (PID – process identification)

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

Page 38: Processo - blogdoprofpc.files.wordpress.com · 05/05/14 © P C F de Oliveira 2014 12 Capítulo 05 Processo Identificação! Recebe uma identificação única (PID – process identification)

38

Capítulo 05 Processo

05/05/14 © P C F de Oliveira 2014

Seção 1.10 Processos do SO

Page 39: Processo - blogdoprofpc.files.wordpress.com · 05/05/14 © P C F de Oliveira 2014 12 Capítulo 05 Processo Identificação! Recebe uma identificação única (PID – process identification)

39 05/05/14 © P C F de Oliveira 2014

Capítulo 05 Processo § Serviços do SO

implementados através de processos

Page 40: Processo - blogdoprofpc.files.wordpress.com · 05/05/14 © P C F de Oliveira 2014 12 Capítulo 05 Processo Identificação! Recebe uma identificação única (PID – process identification)

40

Capítulo 05 Processo

05/05/14 © P C F de Oliveira 2014

Seção 1.11 Sinais

Page 41: Processo - blogdoprofpc.files.wordpress.com · 05/05/14 © P C F de Oliveira 2014 12 Capítulo 05 Processo Identificação! Recebe uma identificação única (PID – process identification)

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

Page 42: Processo - blogdoprofpc.files.wordpress.com · 05/05/14 © P C F de Oliveira 2014 12 Capítulo 05 Processo Identificação! Recebe uma identificação única (PID – process identification)

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

Page 43: Processo - blogdoprofpc.files.wordpress.com · 05/05/14 © P C F de Oliveira 2014 12 Capítulo 05 Processo Identificação! Recebe uma identificação única (PID – process identification)

Texto – Fonte Arial Normal – Máx.14pt / Mín.12pt – Preto – Centralizado

43