Gerncia de processos Requisitos fundamentais Implementar um modelo - - PowerPoint PPT Presentation

ger ncia de processos
SMART_READER_LITE
LIVE PREVIEW

Gerncia de processos Requisitos fundamentais Implementar um modelo - - PowerPoint PPT Presentation

Gerncia de processos Requisitos fundamentais Implementar um modelo de processo. Implementar facilidades para criao e destruio de processos por usurios Alocar recursos a processos Intercalar a execuo de um nmero


slide-1
SLIDE 1

Gerência de processos

 Requisitos fundamentais

– Implementar um modelo de processo. – Implementar facilidades para criação e destruição

de processos por usuários

– Alocar recursos a processos – Intercalar a execução de um número de processos

para maximizar a utilização do processador, mantendo um tempo de resposta razoável

slide-2
SLIDE 2

Gerência de processos

 Processo:programa em execução  Formado por:

– Instruções – Recursos (ex: memória, arquivos abertos) – Informação de controle interna ao sistema

  • peracional

 O arquivo de programa contém informações

necessárias para sua execução

slide-3
SLIDE 3

Gerência de processos

 Processo não é o mesmo que programa !  Programa é como uma receita, com instruções

para se resolver um problema

 Processo é como alguém seguindo a receita  Processo precisa de recursos computacionais

para trabalhar: memória, arquivos, tempo de processador, ...

 Programa não trabalha: fica passivamente

guardado em um arquivo

slide-4
SLIDE 4

Gerência de processos

 Exemplo de

execução a partir de um arquivo de programa

slide-5
SLIDE 5

Gerência de processos

SO pode ser monoprogramado: apenas um processo executa por vez (começo ao fim):

slide-6
SLIDE 6

Gerência de processos

... ou multiprogramado (mais de um processo

pode executar ao mesmo tempo):

slide-7
SLIDE 7

Gerência de processos

Por que existe multiprogramação ?

 Processos alternam entre uso do processador

  • u espera por E/S:
slide-8
SLIDE 8

Gerência de processos

Por que existe multiprogramação ?

 Processos podem ser classificados quanto ao

uso do processador:

– Processos I/O bound

 Passam mais tempo em estado de espera que usando de

fato o processador

– Processos CPU bound

 Passam a maior parte do tempo usando de fato o

processador

slide-9
SLIDE 9

Gerência de processos

Por que existe multiprogramação ? Um histograma dos tempos de execução

slide-10
SLIDE 10

Gerência de processos

Por que existe multiprogramação ?

 Um processo típico passa mais tempo em

espera que processando

 Pode-se aproveitar os tempos de espera para

executar outros processos

 Assim se aproveita melhor o tempo de

processador disponível !

slide-11
SLIDE 11

Gerência de processos

 Multiprogramação

– Capacidade do sistema

  • peracional de manter

vários processos ativos ao mesmo tempo

– Timesharing: ilusão de

que os processos executam ao mesmo tempo

slide-12
SLIDE 12

Gerência de processos

 Multiprogramação no Linux

– Listagem dos processos que mais usam

processador

slide-13
SLIDE 13

Gerência de processos

Processos usam recursos do computador

slide-14
SLIDE 14

Gerência de processos

Como o SO controla os processos existentes ?

– SO precisa decidir que processo deve usar o

processador

– Somente processos aptos a executar podem usar o

processador

– Processo apto: que não está esperando por E/S

slide-15
SLIDE 15

Gerência de processos

Modelo de cinco estados

Novo Apto Rodando Terminado Esperando Entra Evento Ocorre Dispatch Termina Time-out Espera por evento

slide-16
SLIDE 16

Gerência de processos

Admissão Fila de aptos Despacha Tempo excedido (timeout) Espera um evento Libera Processor Fila de espera Evento

  • corre

Diagrama de fila

slide-17
SLIDE 17

Gerência de processos

Escalonamento

– Determinação da ordem em que processos alocam

  • processador

– SO usa algum critério para escolher um processo

apto para rodar

– SO pode também tirar o processador de um

processo que estiver rodando

slide-18
SLIDE 18

Gerência de processos

Escalonamento

 Escalonamento não-preemptivo

– Processo só perde o processador se terminar ou

entrar em estado de espera

 Escalonamento preemptivo

– Sistema operacional pode retomar o processador

mesmo contra a vontade do processo

slide-19
SLIDE 19

Gerência de processos

 Critérios para um bom escalonamento

– Eficiência: ocupação do processador – Justiça: todos os processos têm chance de

executar em um ciclo de escalonamento

– Tempo de resposta: tempo entre a ocorrência de

um evento e a reativação do processo que o aguarda (IMPORTANTE !)

– Throughput: número de processos concluídos por

unidade de tempo

slide-20
SLIDE 20

Gerência de processos Escalonamentos não-preemptivos

 FIFO (First In First Out) ou FCFS (First Come

First Served)

– Primeiro que entra é o primeiro que sai da fila – Ex: Processos P1, P2 e P3 têm tempo de CPU de

24, 3 e 3 unidades de tempo respectivamente, e chegam nesta ordem.

slide-21
SLIDE 21

Gerência de processos Escalonamentos não-preemptivos

 FIFO (cont.)

– Tempo de execução médio: – Minimização desse tempo: Ti < Ti+1 – FIFO é muito simples, mas não atende os requisitos

de bom escalonamento (por que ?)

T=1 N ∑

i=1 N

 N −i1⋅T i

slide-22
SLIDE 22

Gerência de processos Escalonamentos preemptivos

 RR (Round Robin)

– Cada processo usa

a CPU por até 1 quantum de tempo por ciclo

– Fila de aptos segue

FIFO

slide-23
SLIDE 23

Gerência de processos Escalonamentos preemptivos

 RR (cont.)

– quantum deve ser maior

  • u igual ao tempo de

interação médio (tempo de CPU médio)

slide-24
SLIDE 24

Gerência de processos Escalonamentos preemptivos

 RR (cont.)

– Se quantum for muito curto, aumenta-se o tempo de

execução total:

slide-25
SLIDE 25

Gerência de processos Escalonamentos preemptivos

RR (cont.)

 Casos limites:

– q -> 0 : Cada um dos N processos enxerga um

processador com 1/N de sua capacidade

 Na verdade, overhead do chaveamento de contexto

domina o processamento

– q -> oo : Escalonamento degenera para FIFO

slide-26
SLIDE 26

Gerência de processos Escalonamentos preemptivos

Com prioridades

– Cada processo possui uma prioridade (um número

inteiro)

– A fila de aptos é ordenada de acordo com as

prioridades

slide-27
SLIDE 27

Gerência de processos Escalonamentos preemptivos

 Com prioridades (cont.)

– Considerado o mais genérico – Qualquer outro algoritmo pode ser implementado

usando prioridades

 RR e FIFO : todos processos com igual prioridade

– Prioridades podemvariar com o tempo

 Podem se adaptar ao comportamento dos processos

slide-28
SLIDE 28

Gerência de processos Escalonamentos preemptivos

 Com prioridades (cont.)

– Prioridades dinâmicas: o que aconteceria se o

histórico de uso do processador fosse usado como prioridade ?

 Ex: prioridade = tempo de uso / tempo total

– Que tipo de processo seria priorizado com

prioridades assim ?

– Que critérios de bom escalonamento seriam

respeitados com isto ? E quais não seriam ?

slide-29
SLIDE 29

Gerência de processos Escalonamentos preemptivos

 Com prioridades (cont.)

– Muitos SO usam prioridades dinâmicas, dando

maior prioridade para processos I/O bound

– Ex: Linux, Windows Xp/Vista, Sun Solaris, MacOS

X, ...

– Com isto, priorizam processos interativos – Porém, o que dizer de processos que processam

streams multimedia ?

 Ex: MP3 player, Video player, ...

slide-30
SLIDE 30

Gerência de processos Operações sobre processos (Linux)

 Descrição de processos

– Processos possuem um ID único (PID) – Possuem um usuário dono (UID) e um usuário

efetivo (EUID), assim como grupo dono (GID) e grupo efetivo (EGID)

– Prioridade base (nice) pode ser alterada – Toda a memória e objetos de sua posse estão

protegidos de outros processos

slide-31
SLIDE 31

Gerência de processos Operações sobre processos (Linux)

 Proceso Linux na

memória

slide-32
SLIDE 32

Gerência de processos Operações sobre processos (Linux)

 Listagem de processos com comando ps

slide-33
SLIDE 33

Gerência de processos Operações sobre processos (Linux)

 Criação de processos:

– Um novo processo é idêntico ao processo que o criou – Processo filho compartilha código executável com o

processo pai

– Filho possui mesmos atributos que processo pai (ex:

UID, GID, prioridade,...)

– Toda a memória do pai é copiada para o filho – Processo filho começa a executar do ponto exato dentro

da chamada fork em que houve a duplicação

slide-34
SLIDE 34

Gerência de processos Operações sobre processos (Linux)

 Processos no

Linux foram uma hierarquia: