Академический Документы
Профессиональный Документы
Культура Документы
Estratégias de Escalonamento de
O que é um sistema multiprogramável?
Processos compartilha a CPU entre diversos processos
é desejável que os processos obtenham tempos
justos de processamento
Rossano Pablo Pinto, MSc.
é desejável que os processos obtenham serviço
FATEC - Americana
similar ao de sistemas mono-programáveis
15/02/2008
Prof. Ms. Rossano Pablo Pinto - FATEC Americana 1 Prof. Ms. Rossano Pablo Pinto - FATEC Americana 2
Prof. Ms. Rossano Pablo Pinto - FATEC Americana 3 Prof. Ms. Rossano Pablo Pinto - FATEC Americana 4
Escalonamento de Processos Escalonamento de Processos
Objetivos do ESCALONADOR
Execução
(Processador) manter CPU perto de 100% de uso
balanceamento da CPU p/ vários processos
Processo
Escalonador maximizar vazão (throughput)
Processo resposta rápida a usuários interativos
Espera Pronto
evitar “starvation”
Processo
Processo
Processo Processo
Prof. Ms. Rossano Pablo Pinto - FATEC Americana 5 Prof. Ms. Rossano Pablo Pinto - FATEC Americana 6
Prof. Ms. Rossano Pablo Pinto - FATEC Americana 7 Prof. Ms. Rossano Pablo Pinto - FATEC Americana 8
Escalonamento de Processos Escalonamento de Processos
Fairness
Vazão
Todos os processos devem ter o mesmo tipo de Representa número de processos finalizados em um
tratamento determinado intervalo
UCPU 50 processos por hora é melhor do que 40
manter CPU perto de 100% Tempo de turnaround
Ex.: 30% indica sistema com carga proc. baixa tempo da admissão ao término de um processo
Ex.: 90% carga processamento alta contabiliza todos os tempos administrativos
(alocação de memória, espera em filas, E/S, etc..)
Prof. Ms. Rossano Pablo Pinto - FATEC Americana 9 Prof. Ms. Rossano Pablo Pinto - FATEC Americana 10
Prof. Ms. Rossano Pablo Pinto - FATEC Americana 11 Prof. Ms. Rossano Pablo Pinto - FATEC Americana 12
Escalonamento de Processos Escalonamento de Processos
FIFO - Não-Preemptivo Shortest Job First - Não-Preemptivo
Processo A
7 8 6
Associa processo ao tempo de execução
Processo B
4 2
Escolhe os de tempo menor primeiro
0 7 11 19 21 27 Tempo
Prioriza vazão e turnaround, e reduz tempo
Solicitação de E/S por A
Prof. Ms. Rossano Pablo Pinto - FATEC Americana 13 Prof. Ms. Rossano Pablo Pinto - FATEC Americana 14
Prof. Ms. Rossano Pablo Pinto - FATEC Americana 15 Prof. Ms. Rossano Pablo Pinto - FATEC Americana 16
Escalonamento de Processos Escalonamento de Processos
CIRCULAR (Round Robin) CIRCULAR (Exemplo)
Processo A
5 2 5 3
CPU Livre
CPU Livre
Processo B
4 2 2
Lista dos processos no
Lista dos processos no estado “Pronto” estado “Espera” 0 5 9 11 13 16 21 23 26 27
Tempo
CPU
Fim timeslide de A
Fim timeslide de A
Escalonamento de Processos
PRIORIDADES Escalonamento de Processos
Processo A
4 3 5 1
Prioridade
CPU Livre
Processo B
4 2 2 3
Estática
0 4 8 10 13 16 18 23 26 27
Tempo Dinâmica
Solicitação de E/S por B
Preempção por B
Preempção por B
Menor prioridade
Fila n (escalonamento CIRCULAR)
Ex.: 3 filas (níveis) com prioridades diferentes
Cada file adota uma política de escalonamento diferente.
Menor prioridade quantum >
Necessidade de pré-classificação dos processos
Não prevê mudança de comportamento ao longo da execução Detecção de mudança de comportamento em tempo de execução
Prof. Ms. Rossano Pablo Pinto - FATEC Americana 21 Prof. Ms. Rossano Pablo Pinto - FATEC Americana 22
Prof. Ms. Rossano Pablo Pinto - FATEC Americana 23 Prof. Ms. Rossano Pablo Pinto - FATEC Americana 24
Escalonamento de Processos Escalonamento de Processos
Estratégias adotados no Linux
Estratégias adotados no Linux (man
O(1) scheduler (big o scheduler) sched_setscheduler)
O tempo de escolha do próximo processo independe do #include <sched.h>
número de processos existentes no sistema int sched_setscheduler(pid_t pid, int policy,
implementa 2 faixas separadas de prioridade const struct sched_param *param);
valores NICE (-20 0 +19): maior núm, menor prioridade int sched_getscheduler(pid_t pid);
determina o tempo do timeslice (-19 recebe o valor máximo de struct sched_param {
timeslice) ...
prioridades de tempo-real (0 à 99)
int sched_priority;
...
Prof. Ms. Rossano Pablo Pinto - FATEC Americana 25 }; Prof. Ms. Rossano Pablo Pinto - FATEC Americana 26