Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Conceitos Bsicos Critrios de Escalonamento Algoritmos de Escalonamento Escalonamento Multiprocessador Escalonamento Tempo-Real Avaliao de Algoritmos
25/4/2007
6.1
Conceitos Bsicos
Execuo de processo consiste de um ciclo de UCP e espera de E/S
25/4/2007
6.2
Conceitos Bsicos
25/4/2007
6.3
Tipo de Escalonamento
Long-term determina que programas so admitidos para execuo; controla o grau de multiprogramao; mais processos .. Medium-term determina processos que so trazidos de/para memria; Short-term determina que processo recebe UCP; executa mais frequente; invocado quando eventos ocorrem (int., chamadas de sistema,sinais)
25/4/2007
6.4
Tipo de Escalonamento
25/4/2007
6.5
Tipo de Escalonamento
No preemptivo
Estando um processo no estado running, ele continuar at terminar ou bloquear devido a E/S
Preemptivo
Processo running pode ser interrompido e levado para o estado Ready pelo SO Permite melhor servio, nenhum processo pode monopolizar o processador por muito tempo
25/4/2007
6.8
Escalonador da UCP
Seleciona entre os processos na memria que esto prontos para executar e aloca a UCP para um deles. As decises de escalonamento da UCP podem acontecer quando um processo:
1. 2. 3. 4. Muda do estado running para o estado waiting. Muda do estado running para o estado ready. Muda do estado waiting para o estado ready. Termina.
25/4/2007
6.9
Despachador
O mdulo Despachador passa o controle da UCP para o processo selecionado pelo escalonador (short-term); isto envolve:
Troca de contexto Mudana para modo usurio Salto para a posio apropriada no programa do usurio para reiniciar o programa
Latencia de Despacho tempo gasto pelo despachador para parar um processo e iniciar outro.
25/4/2007
6.10
Critrios de Escalonamento
Utilizao da UCP manter a UCP ocupada Desempenho # de processos que completam sua execuo por unidade de tempo Tempo de turnaround quantidade de tempo para executar um processo particular Tempo de espera quantidade de tempo que um processo espera na fila de prontos Tempo de resposta quantidade de tempo gasto desde a submisso da requisio at produzir a primeira resposta
25/4/2007
6.11
Critrios de Otimizao
Max utilizao da UCP Max desempenho Min turnaround Min tempo de espera Min tempo de resposta
25/4/2007
6.12
Justia dar a cada processo parcela da UCP Aplicao de poltica assegurar que poltica adotada Balanceamento manter todas as partes do sistema ocupadas Max desempenho Min. Turnaround Max utilizao da UCP Min tempo de resposta Proporcionalidade atender expectativas dos usurios Atender prazos (deadlines) evitar perda de dados Previsibilidade evitar degradao da qualidade em sistemas multimdia
Sistemas Batch
Sistemas Interativos
Sistemas de Tempo-Real
25/4/2007
6.13
P1 0 24
P2 27
P3 30
25/4/2007
6.14
FCFS (Cont.)
Supor que os processos chegam na ordem P2 , P3 , P1 . Diagrama de Gantt :
P2 0 3 P3 6 P1 30
Tempo de espera P1 = 6; P2 = 0; P3 = 3 Tempo de espera mdio: (6 + 0 + 3)/3 = 3 Bem melhor que o caso anterior. Efeito comboio processos pequenos seguem processos longos
25/4/2007
6.15
Shortest-Job-First (SJR)
Associar com cada processo o tamanho de seu prximo ciclo de UCP. Usar estes valores para escalonar o processo com o menor tempo. Dois esquemas:
no preemptivo preemptivo se um novo processo chegar com ciclo de UCP menor que o tempo remanescente do processo em execuo, preempta. Este esquema conhecido como Shortest-Remaining-Time-First (SRTF).
SJF timo resulta minimo tempo mdio de espera para um dado conjunto de processos.
25/4/2007
6.16
Ciclo de UCP 7 4 1 4
P4 16
25/4/2007
6.17
Burst Time 7 4 1 4
P2 7
P4 11
P1 16
25/4/2007
6.18
25/4/2007
6.19
Exemplo de estimativa
25/4/2007
6.20
10
Estimativa
Atravs da escolha de a, podemos fazer com que o processo cujo tempo estamos estimando esquea rapidamente as ltimas rodadas ou lembre-se delas por um tempo mais longo. a =0
a =1
Observe que aps 3 novas rodadas o peso de T0 no tempo estimado caiu para 1/8. A tcnica da estimativa do prximo valor atravs de uma srie ponderada chamada de aging, sendo aplicvel nas situaes em que a previso deve ser baseada em valores anteriores.
25/4/2007
6.21
Prioridade
Uma prioridade (numero inteiro) associado a cada processo A UCP alocada para o processo com a prioridade mais alta (menor inteiro maior prioridade).
Preemptivo No preemptivo
SJF um escalonamento com prioridade onde ... Problema postergao . Soluo ????
25/4/2007
6.22
11
Prioridade
25/4/2007
6.23
Prioridade
25/4/2007
6.24
12
25/4/2007
6.25
Round-robin scheduling
25/4/2007
6.26
13
25/4/2007
6.27
P1 0 20
P2 37
P3 57
P4 77
P1
P3
P4
P1
P3
P3
25/4/2007
6.28
14
25/4/2007
6.29
25/4/2007
6.30
15
Filas Multinvel
Fila de prontos particionada em filas separadas: foreground (interativa) background (batch) Cada fila tem seu prprio algoritmo, foreground RR background FCFS Escalonamento deve ser feito entre as filas.
Prioridade fixa; (i.e., serve todos da foreground depois da background). Possibilidade de . Fatia de tempo cada fila recebe uma quantidade do tempo de UCP o qual escalona entre seus processos; i.e., 80% para foreground com RR, 20% para background com FCFS
25/4/2007
6.31
Filas Multinvel
25/4/2007
6.32
16
25/4/2007
6.34
17
25/4/2007
6.35
Two-queue scheduling
25/4/2007
6.36
18
Escalonamento
Um novo job entra na fila Q0 servida por FCFS. Quando ganha UCP, o job recebe 8 millisegs. Se ele no termina em 8 millisegs, o job movido para fila Q1. Em Q1 o job servido por FCFS e recebe 16 millisegs. Se ainda no completa, ele preemptado e movido para fila Q2.
25/4/2007
6.37
25/4/2007
6.38
19
Prioridade Base divide todos processos em faixas Fator de ajuste ( CPU, nice) usado para manter o processo na sua faixa ( Base)
25/4/2007
6.39
Faixas
Ordem de prioridade decrescente
Swapper Controle de Dispositivos de E/S orientados a Bloco Manipulao de Arquivos Controle de Dispositivos de E/S orientados a caracter Processos de usurio
25/4/2007
6.40
20
UNIX Scheduler
25/4/2007
6.41
21
Monitorar uso
Mais para aqueles que usam menos do que o fair share Menos para aqueles que usam mais do que o fair share
25/4/2007
6.43
25/4/2007
6.44
22
25/4/2007
6.45
23
Escalonamento de Threads
25/4/2007
6.47
Escalonamento de Threads
25/4/2007
6.48
24
MultiProcessador
Quando se tem mltiplas UCPs o problema de escalonamento torna-se mais complexo. Processadores de um multiprocessador so idnticos (homogneo)
qualquer processador que esteja disponvel, pode ser usado para executar qualquer processo da fila. A questo que se deve resolver se a atribuio deve ser esttica ou dinmica Cada processador auto escalonado, ou seja, cada processador examina a fila de prontos comum e seleciona um processo para executar, sendo que desta forma devemos assegurar que dois processadores no iro escolher o mesmo processo. Apontar um processador como escalonador dos outros criando uma estrutura mestre - escravo. Somente um processador acessa as estruturas de dados do sistema, sem necessidade de compartilhar dados. Algoritmo de escalonamento para multiprocessadores onde so escalonados threads/processos relacionados para executar em diferentes processadores
Load sharing
Multiprocessamento assimtrico
Gang Scheduling
25/4/2007
6.49
Tempo-Real
Hard real-time task tarefa crtica que deve ser completada dentro de um tempo determinado e isto tem que ser garantido. Soft real-time tasks so menos restritivos, requerem que os processos crticos recebam as prioridades maiores. O importante que todas as tarefas hard sejam completadas em seus deadlines e que tanto quanto possvel as tarefas soft tambm sejam completadas.
Abordagens estticas dirigidas por tabelas Abordagens estticas com preempo dirigidas por prioridade Abordagens dinmicas baseadas em planejamento Abordagens dinmicas baseadas no melhor esforo
25/4/2007
6.50
25
Avaliao de algoritmos
Como selecionar um algoritmo de escalonamento da UCP para um sistema particular? Modelagem determinista verifica para uma carga particular o desempenho de cada algoritmo. Modelos de filas Simulao Implementao
25/4/2007
6.51
Simulao
25/4/2007
6.52
26
A scheduling example
Job 1, 10 seconds, priority 3 Job 2, 2 seconds, priority 2 Job 3, 5 seconds, priority 1 Job 4, 3 seconds, priority 4
25/4/2007
6.53
27