Gerência de processos Estudos de caso - BSD Unix
Escalonamento preemptivo com prioridades
dinâmicas
–Prioridades entre 0 e 127
0 a 49
Processos executando em modo kernel
50 a 127
Processos executando em modo usuário
– 32 filas de pronto
Gerncia de processos Estudos de caso - BSD Unix Escalonamento - - PowerPoint PPT Presentation
Gerncia de processos Estudos de caso - BSD Unix Escalonamento preemptivo com prioridades dinmicas Prioridades entre 0 e 127 0 a 49 Processos executando em modo kernel 50 a 127 Processos executando em modo usurio 32
–Prioridades entre 0 e 127
0 a 49
50 a 127
– 32 filas de pronto
– Prioridade recalculada a cada 4 ticks (~ 40 ms)
– p_estcpu incrementado a cada tick, se o processo
Aprox. 90% do uso da CPU acumulado em 1 s é
– Para processos bloqueados por mais de 1 s,
– Unidade de escalonamento: thread – Threads possuem prioridade base e prioridade
– Prioridades entre 0 e 31 (31 = maior prioridade)
0
1 a 15
16 a 31
– Elevação da prioridade de threads ao sair de estado
Prioridade decrementa em uma unidade a cada ciclo, até
– Elevação da prioridade de threads que vão entrar
Prioridade de threads interativas incrementa de 8 para 14 Quantum dobra thread fica pronta Prioridade volta ao normal quando termina o quantum
– Incremento do quantum de threads do processo
Pode manter o valor, duplicar ou triplicar
– Elevação da prioridade de threads que estão sendo
Threads prontas a mais de 300 ticks (~ 4 s) ganham
Prioridade volta ao normal assim que o quantum duplicado
– Processos possuem um ID único (PID) – Possuem um usuário dono (UID) e um usuário
– Prioridade base (nice) pode ser alterada – Toda a memória e objetos de sua posse estão
– Custo computacional independente do número de
– Usa prioridades: processos são organizados em
– Fila 1 tem prioridade mais alta – Dois conjuntos de filas:
Filas ativas: processos sendo escalonados Filas expiradas: processos que consumiram todo o
– Processo movida da fila ativa para expirada quando
– Seu novo crédito de CPU (e prioridade) é
– Quando fila ativa de uma determinada prioridade
– Processo em execução (estado rondando)
– Processo preemptado volta para sua fila de
– Prioridades são recalculadas para se adaptarem ao
– Processos CPU-bound são penalizados, e IO bound
CPU bound: prioridades acrescidas de até 5 unidades IO bound: prioridades reduzidas em até 5 unidades
– Interatividade calculada com base em quanto tempo
– O crédito de uso de CPU (chamado timeslice) é
– Prioridades maiores → timeslices também maiores – Timeslice tem valores entre:
5 ms: menor valor possível 100 ms: valor típico 800 ms: valor máximo
Todos os dados
Recurso escasso
– Alocação
Controle de que partes da memória estão alocadas a que
– Proteção
Um processo não pode alterar ou ler a memória de outro
– Eficiência no uso
Aproveitamento da memória disponível
– Espaço de endereçamento dividido em partições de
– São alocadas aos processos suas necessidades
– Ambas abordagens apresentam sérios problemas:
Fragmentação interna (partições fixas) Fragmentação externa (partições variáveis)
– Atualmente usa-se endereçamento virtual
Cada processo vê a memória como se fosse só sua Um processo não vê os demais processos
– Dividem-se os espaços de endereçamento real e
Os blocos virtuais são chamados de páginas. Os blocos reais são chamados de page frames.
– Mapeiam-se páginas para page frames. – O mapeamento não precisa obedecer a nenhuma
– O mapeamento é feito através de
– Estas são indexadas pelo
– Cada entrada da tabela (PTE)
– Cada processo possui sua tabela
Memória virtual: memória secundária usada como
– Parece haver mais memória principal instalada. – Parte de um processo poder estar em memória principal,
– Ao se necessitar de parte de um processo que está na
Swap com
Situação em que parte das
Referência Exceção (falta de página) Página está no swap Carrega-se a página faltosa Atualiza-se tabela de páginas Reinicia-se a instrução Além disto, caso não haja
espaço na memória principal para receber a nova página, uma outra página deve ser escolhida para ser retirada de memória.
O tempo de acesso da memória secundária é muito maior que o
Isto envolve evitar retirar da memória principal páginas que serão
Baseado no Princípio da Localidade, páginas em muito uso têm
A situação de degradação em que se gasta mais tempo
No gráfico da utilização