33
1 Conteúdo •Processos e threads •Partes do processo •Bloco de controle do processo(PCB) •Estados do processo e mudanças de estado •Tipos de processo • CPU-bound / I/O-bound • Foreground / Background •Sinais

1 Conteúdo Processos e threads Partes do processo Bloco de controle do processo(PCB) Estados do processo e mudanças de estado Tipos de processo CPU-bound

Embed Size (px)

Citation preview

Page 1: 1 Conteúdo Processos e threads Partes do processo Bloco de controle do processo(PCB) Estados do processo e mudanças de estado Tipos de processo CPU-bound

1

Conteúdo

•Processos e threads•Partes do processo •Bloco de controle do processo(PCB)•Estados do processo e mudanças de estado•Tipos de processo

• CPU-bound / I/O-bound• Foreground / Background

•Sinais

Page 2: 1 Conteúdo Processos e threads Partes do processo Bloco de controle do processo(PCB) Estados do processo e mudanças de estado Tipos de processo CPU-bound

Processo•O conceito de processo é a base para a implementação de um sistema multiprogramável.

•O processador é projetado apenas para executar instruções, não sendo capaz de distinguir qual programa se encontra em execução.

•A gerência de um ambiente multiprogramável é função exclusiva do SO, que deve controlar a execução dos diversos programas e o uso concorrente do processador. •A gerência do processador é uma das principais funções de um SO.

• Através dos processos, um programa pode alocar recursos, compartilhar dados e trocar informações.

Page 3: 1 Conteúdo Processos e threads Partes do processo Bloco de controle do processo(PCB) Estados do processo e mudanças de estado Tipos de processo CPU-bound

Processo•Um processo pode ser entendido inicialmente como um programa em execução, que tem suas informações mantidas pelo SO. •Num sistema multiusuário, cada usuário tem a impressão de possuir o processador e todos os demais recursos reservados exclusivamente para si, mas isto não é verdade.

•Todos os recursos estão sendo compartilhados, inclusive a CPU.

•Neste caso, o processador executa o processo do usuário por um intervalo de tempo e, no instante seguinte, poderá estar processando um outro programa, do mesmo ou de outro usuário.

Page 4: 1 Conteúdo Processos e threads Partes do processo Bloco de controle do processo(PCB) Estados do processo e mudanças de estado Tipos de processo CPU-bound

Processo• Para que a troca de processos possa ser feita sem problemas, é necessário que todas as informações do programa que está sendo interrompido sejam guardadas, para que ele possa retornar à CPU exatamente do ponto em que parou, não lhe faltando nenhuma informação vital à sua continuação.

•Todas as informações necessárias à execução de um programa fazem parte do processo.

•Um processo também pode ser definido como o ambiente onde o programa é executado.

•Este ambiente, além das informações sobre a execução, possui também a quantidade de recursos do sistema que o programa pode utilizar,como espaço de endereçamento, tempo do processador e área em disco.

Page 5: 1 Conteúdo Processos e threads Partes do processo Bloco de controle do processo(PCB) Estados do processo e mudanças de estado Tipos de processo CPU-bound

Processo• Um processo é formado por três partes:

• contexto de software, • contexto de hardware e • espaço de endereçamento,

que juntas mantêm todas as informações necessárias à execução de um programa.

Page 6: 1 Conteúdo Processos e threads Partes do processo Bloco de controle do processo(PCB) Estados do processo e mudanças de estado Tipos de processo CPU-bound

Processo•Estrutura do processo:

Program a

C on texto d eSo ftw a re

C on texto d eH ardw are

Esp aço deEn dereça m en to

Page 7: 1 Conteúdo Processos e threads Partes do processo Bloco de controle do processo(PCB) Estados do processo e mudanças de estado Tipos de processo CPU-bound

Processo• Contexto de Software: neste contexto são especificadas características e limites dos recursos que podem ser alocados pelo processo, como número máximo de arquivos abertos, prioridade de execução, número máximo de linhas impressas, etc.

•Muitas destas características são criadas no momento da criação do processo, quando da sua alocação.

•O SO obtém, a partir do cadastro de usuários e do cadastro de contas no sistema, as informações e características que valerão para o processo.

•O contexto de software é composto por três grupos de informações:

Identificação: neste grupo são guardadas informações sobre o usuário que criou o processo, e, em função disso, suas áreas de atuação no sistema.

Quotas: são os limites de recursos do sistema que um processo pode alocar, como área utilizada em disco, em memória, limite de linhas impressas, número máximo de arquivos abertos, número máximo de operações de E/S pendentes, tempo limite de CPU, etc.

Privilégios: diz respeito principalmente às prioridades assumidas pelo processo durante sua execução.

Page 8: 1 Conteúdo Processos e threads Partes do processo Bloco de controle do processo(PCB) Estados do processo e mudanças de estado Tipos de processo CPU-bound

Processo•Contexto de Hardware: armazena o conteúdo dos registradores gerais da CPU, além dos registradores de uso específico.

•Quando um processo está em execução, o seu contexto de hardware está armazenado nos registradores da CPU.

•No momento em que o processo perde a utilização da CPU, o sistema salva as informações no contexto de hardware do processo.

•A troca de um processo por outro no processador, comandada pelo SO, é denominada troca/mudança de contexto, que consiste em salvar o conteúdo dos registradores do processo que está deixando a CPU e carregá-los com os valores referentes ao do novo processo que irá executar. Essa operação resume-se em substituir o contexto de hardware de um processo pelo de outro.

Page 9: 1 Conteúdo Processos e threads Partes do processo Bloco de controle do processo(PCB) Estados do processo e mudanças de estado Tipos de processo CPU-bound

Processo• Troca / Mudança de Contexto

C a rrega reg istra do res doPro cesso B

C a rrega reg istra do res doPro cesso A

Sistem a O p eracio n a l

Sa lva reg istrad o res d oPro cesso A

execu ta n do

execu ta n do

execu ta n do

Sa lva reg istrad o res d oPro cesso B

Pro cesso A Pro cesso B

Page 10: 1 Conteúdo Processos e threads Partes do processo Bloco de controle do processo(PCB) Estados do processo e mudanças de estado Tipos de processo CPU-bound

Processo•Espaço de endereçamento: é a área de memória pertencente a um processo onde as instruções e os dados do programa são armazenados para execução.

•Cada processo possui seu próprio espaço de endereçamento, que deve ser devidamente protegido do acesso dos demais processos pelo SO.

•Os contextos de software e de hardware não fazem parte do espaço de endereçamento .

Page 11: 1 Conteúdo Processos e threads Partes do processo Bloco de controle do processo(PCB) Estados do processo e mudanças de estado Tipos de processo CPU-bound

Processo

Características da Estrutura de um Processo

Progra m a

C o n texto d eSo ftw a re

p riorida de deexecuçã o reg istra dor PC

d a ta / h orad e cria çã o

tem po d ep rocessa dor

reg istra dor SP

q uota s

p rivilég ios

en dereços d e m em óriap rincipa l a loca dos

reg istra dord e sta tus

own er (U ID )PID

nom ereg istra dores

g era is

C o n texto d eH a rdw are

Esp a ço d eEn dereça m en to

Page 12: 1 Conteúdo Processos e threads Partes do processo Bloco de controle do processo(PCB) Estados do processo e mudanças de estado Tipos de processo CPU-bound

Processo• Bloco de controle do processo (BCP): é a estrutura de dados que compõe o processo, contendo os contextos de software e de hardware e o espaço de endereçamento.

• O BCP reside em memória, numa área reservada ao SO.

Page 13: 1 Conteúdo Processos e threads Partes do processo Bloco de controle do processo(PCB) Estados do processo e mudanças de estado Tipos de processo CPU-bound

Processo Bloco de Controle do Processo (PCB - BCP)

5/4

........

p onteiro s

Esta do do processo

Registrad o res

N om e do processo

Pr io r id ad e d o p rocesso

Lim ites de m em ória

Lista d e a rqu ivos a bertos

Page 14: 1 Conteúdo Processos e threads Partes do processo Bloco de controle do processo(PCB) Estados do processo e mudanças de estado Tipos de processo CPU-bound

Processo• Estados do processo •Num sistema multiprogramável, um processo não deve alocar a CPU com exclusividade, de forma que possa existir um compartilhamento no uso do processador.

•Os processos passam por diferentes estados ao longo do processamento, em função de eventos gerados pelo SO, pelo hardware, ou pelo próprio programa. São estados possíveis de um processo:

Criação:

Pronto:

Execução:

Espera:

Saída:

Page 15: 1 Conteúdo Processos e threads Partes do processo Bloco de controle do processo(PCB) Estados do processo e mudanças de estado Tipos de processo CPU-bound

Processo Mudanças de Estado do Processo

5/6

Estado de Execução

Estado de Espera Estado de Pron to

a

c

db

Page 16: 1 Conteúdo Processos e threads Partes do processo Bloco de controle do processo(PCB) Estados do processo e mudanças de estado Tipos de processo CPU-bound

ProcessoEstados possíveis de um processo:Criação: neste estado o processo está sendo alocado na memória, sendo criado no sistema. Todos os recursos necessários à execução do processo são reservados durante a passagem do processo por este estado, o que acontece uma única vez. Vários processos podem estar neste estado, ao mesmo tempo. Pronto: é o estado onde os processos, depois de criados ou quando retornam do tratamento de uma interrupção, permanecem aguardando a liberação da CPU para que possam iniciar ou continuar seu processamento. É como se fosse uma fila, gerenciada pelo SO, que se incumbe de organizar os processos de acordo com as informações contidas no contexto de software (identificação, quotas e privilégios). Vários processos podem estar neste estado, ao mesmo tempo. Execução: é onde o processo efetivamente utiliza a CPU. Ele permanece no processador até que seja interrompido ou termine sua execução. Neste estado, somente um processo pode permanecer de cada vez, já que existe apenas um processador. Espera: neste estado estão todos os processos que sofreram algum tipo de interrupção de E/S, onde permanecem até que a intervenção seja resolvida. Vários processos podem estar neste estado, ao mesmo tempo. Saída: é o estado final do processo, quando este termina seu processamento. Vários processos podem estar neste estado, ao mesmo tempo.

Page 17: 1 Conteúdo Processos e threads Partes do processo Bloco de controle do processo(PCB) Estados do processo e mudanças de estado Tipos de processo CPU-bound

Processo• Mudanças de estado do processo Um processo muda de estado diversas vezes durante sua permanência no sistema, devido aos eventos ocorridos durante sua execução.

São mudanças possíveis:

Criação Pronto: o processo foi criado, tem seus recursos alocados, e está apto a disputar o uso da CPU.

Pronto Execução: o processo é o primeiro da fila de pronto e a CPU fica disponível. Neste momento o processo passa a ocupar a CPU, permanecendo em execução até que seja interrompido ou termine sua execução.

Execução Pronto: o processo foi interrompido por fatia de tempo ou por prioridade. Ainda precisa de mais tempo na CPU para terminar sua execução, não tem nenhuma intervenção pendente, por isso volta à fila de pronto para disputar novamente o uso da CPU.

Page 18: 1 Conteúdo Processos e threads Partes do processo Bloco de controle do processo(PCB) Estados do processo e mudanças de estado Tipos de processo CPU-bound

Processo• Mudanças de estado do processo – continuação

Execução Espera: esta transição acontece quando o processo foi interrompido por E/S. Significa que deve permanecer no estado de espera até que a interrupção seja tratada pelo sistema. Neste estado o processo fica impedido de disputar o uso da CPU.

Espera Pronto: Após o término do tratamento da interrupção, o processo volta à fila de pronto para disputar novamente o uso da CPU.

Execução Saída: o processo terminou, e não mais disputará o uso da CPU.

Page 19: 1 Conteúdo Processos e threads Partes do processo Bloco de controle do processo(PCB) Estados do processo e mudanças de estado Tipos de processo CPU-bound

Processo• Mudanças possíveis de estado de um processo.

Page 20: 1 Conteúdo Processos e threads Partes do processo Bloco de controle do processo(PCB) Estados do processo e mudanças de estado Tipos de processo CPU-bound

Processo Lista de PCBs nos Estados de Pronto e Espera

5/5

........

........

........

........

........

Lista deprocessosem estadode p ronto

PCB#5

PCB#9

PCB#1

PCB#2 PCB#4

Lista deprocessosem estadode espera

Page 21: 1 Conteúdo Processos e threads Partes do processo Bloco de controle do processo(PCB) Estados do processo e mudanças de estado Tipos de processo CPU-bound

Processo Mudanças de Estado do Processo

residen te

não residente

Estado de Execução

Estado de Espera

Estado de Espera

Estado de Pron to

Estado de Pron to

Page 22: 1 Conteúdo Processos e threads Partes do processo Bloco de controle do processo(PCB) Estados do processo e mudanças de estado Tipos de processo CPU-bound

Processo Mudanças de Estado do Processo

Estado de Execução Estado de Térm ino

Estado de Espera Estado de Pron to Estado de C ria çã o

Page 23: 1 Conteúdo Processos e threads Partes do processo Bloco de controle do processo(PCB) Estados do processo e mudanças de estado Tipos de processo CPU-bound

Processo• Tipos de processos •Além dos processos do usuário, a CPU também executa processos do sistema.

•São aqueles que oferecem os serviços do SO aos usuários, como criação/eliminação de processos, tratamento de interrupção e todos aqueles correspondentes às funções do sistema já estudadas.

•Estes executam sempre, com certa prioridade, concorrendo com os processos do usuário. •Os processos em execução, do usuário, podem assumir dois tipos diferentes, de acordo com suas características de uso de CPU e periféricos:

Processo CPU-bound:

Processo I/O-bound:

Page 24: 1 Conteúdo Processos e threads Partes do processo Bloco de controle do processo(PCB) Estados do processo e mudanças de estado Tipos de processo CPU-bound

Processo• Tipos de processos •Os processos em execução do usuário:

Processo CPU-bound: é aquele processo que utiliza muito a CPU. Ele ganha uma fatia de tempo e a utiliza por inteiro, sem desperdiçar nenhum tempo. É o caso de programas científicos, de cálculo numérico, estatística, matemática, e também na área de simulação. Normalmente fazem pouca ou nenhuma entrada de dados, e muito processamento.

Processo I/O-bound: é o tipo de processo que utiliza muito mais E/S do que CPU. Aplicações em Banco de Dados, onde se faz consultas e atualizações constantes em arquivos em disco são um bom exemplo deste tipo de processo. De acordo com essas características, podemos dizer que este tipo de processo permanece mais tempo em espera (tratando interrupções) do que propriamente em execução, ocupando a CPU por períodos mínimos de tempo.

Page 25: 1 Conteúdo Processos e threads Partes do processo Bloco de controle do processo(PCB) Estados do processo e mudanças de estado Tipos de processo CPU-bound

Processo

Processos CPU-bound x I/O-bound

(a ) C PU - b ou ndtem po tem po

E/ S E/ S

U C P U C P

(b ) I / O -b o u n d

Page 26: 1 Conteúdo Processos e threads Partes do processo Bloco de controle do processo(PCB) Estados do processo e mudanças de estado Tipos de processo CPU-bound

Processo

•Existem pelo menos 2 canais de comunicação associados estrutura de um processo:

•Foreground: • permite comunicação direta com usuário;• Entrada está associada a um teminal (teclado, mouse,

monitor);• Processamento interativo;

•Background:• Não existe comunicação com o usuário

durante seu processamento;• E/S não está associada a um dispositivo

de E/S• Mas sim a um arquivo de E/S

Processos Foreground e Background

Page 27: 1 Conteúdo Processos e threads Partes do processo Bloco de controle do processo(PCB) Estados do processo e mudanças de estado Tipos de processo CPU-bound

Processo Processos Foreground e Background

5/11

(a ) Processo Fo reground

(b ) Processo Backg round

sa ída

sa ída

arqu ivode sa ída

term ina lterm ina l

en trada

en trada

arqu ivode en trada

Page 28: 1 Conteúdo Processos e threads Partes do processo Bloco de controle do processo(PCB) Estados do processo e mudanças de estado Tipos de processo CPU-bound

Processo•Formas de criar processos

• Logon Interativo• Usuário fornece USER e PASS, que são autenticados pelo

SO consultando o arquivo de usuários;• Um processo foreground é criado;• Como num prompt do DOS, onde o usuário interage via

linguagem de comando;• Apenas o ADM pode modificar e excluir arquivos do

usuário;• Logoff ou logout – elimina interativamente o processo;

• Linguagem de Comando

• Rotina do SO• Chamada de aplicações – Word, Notepad, etc

Page 29: 1 Conteúdo Processos e threads Partes do processo Bloco de controle do processo(PCB) Estados do processo e mudanças de estado Tipos de processo CPU-bound

Processo Estrutura de Processos e Subprocessos

5/9

Processo A

Processo CProcesso B

Processo EProcesso D

Page 30: 1 Conteúdo Processos e threads Partes do processo Bloco de controle do processo(PCB) Estados do processo e mudanças de estado Tipos de processo CPU-bound

Processo Processo Multithread

5/10

C on textod e h a rd w a re

C on textod e h a rd w a re

C on textod e h a rd w a re

Esp aço d een dereça m en to

Co

nte

xto

de

soft

wa

re

Th rea d 3Th rea d 2Th rea d 1

Page 31: 1 Conteúdo Processos e threads Partes do processo Bloco de controle do processo(PCB) Estados do processo e mudanças de estado Tipos de processo CPU-bound

Processo Pipe

5/12

en trada doProcesso A

sa ída doProcesso B

sa ída doProcesso A

en trada doProcesso B

Processo A Processo B

Page 32: 1 Conteúdo Processos e threads Partes do processo Bloco de controle do processo(PCB) Estados do processo e mudanças de estado Tipos de processo CPU-bound

Processo Uso de Sinais

5/14

[ctrl- C ]

Processo

interrupçã o sina lSistem a O p eracion a l

Page 33: 1 Conteúdo Processos e threads Partes do processo Bloco de controle do processo(PCB) Estados do processo e mudanças de estado Tipos de processo CPU-bound

Processo Sinais, Interrupções e Exceções

5/15

H ardw are

Sistem a O p eracion a l

In terrup çõ esExceções

Sin a is

Processo Processo