Escolar Documentos
Profissional Documentos
Cultura Documentos
• Escalonamento
– “Procedimento de ordenar a execução de tarefas na fila
de prontos”
– Aspecto importante em sistemas com restrições
temporais
– Detalhes de implementação tratados na fase de projeto
Introdução
• Problema NP-Completo
• Características
– Preemptivo/Não-Preemptivo
• Se tarefa rodando perde ou não o processador para uma tarefa com
maior prioridade
– Estático
• A prioridade é atribuída às tarefas pelo algoritmo em tempo de projeto
e não sofre alteração
– Dinâmico
• A prioridade atribuída pelo algoritmo às tarefas variam de acordo com
a evolução do sistema
– Offline
• As prioridades são atribuídas às tarefas em tempo de projeto
– Online
• As prioridades são atribuídas às tarefas em tempo de execução
Escalonamento
Utilização de uma tarefa (ocupação do
processador)
Onde:
• Ci é o tempo de execução da ith tarefa
• Pi é o período da ith tarefa
• Min i é o período mínimo de ativação da ith tarefa
Roteiro
• Algoritmos de escalonamento
– Rate Monotonic
– Earliest Deadline First
– Deadline Monotonic
Rate Monotonic Scheduling (RMS)
• Premissas
– As tarefas são periódicas e independentes
– O “deadline” de cada tarefa coincide com o seu
período e são conhecidos e estáticos
– O tempo de computação (C) de cada tarefa é
conhecido e constante
– A prioridade das tarefas é estática
– O tempo de chaveamento entre tarefas não causa
impacto no modelo
Rate Monotonic Scheduling (RMS)
• Onde:
– Ci é o custo de execução da ith tarefa
– Pi é o período da ith tarefa
Rate Monotonic Scheduling (RMS)
Tempos de execução/Período:
A: 20/100
B: 40/150
C: 100/350
Rate Monotonic Scheduling (RMS)
A,B A A B
…
0 10 20 30 40 50
Aplicando a fórmula:
1 ≤ 2( 2 − 1)
2
1 ≤ 2(1.414 − 1)
1 ≤ 0.828
Rate Monotonic Scheduling (RMS)
• Vantagens
– Simplicidade
– RMS é ótimo para a classe de problemas na qual ele se
encontra inserido (tarefas periódicas e independentes)
Rate Monotonic Scheduling (RMS)
• Desvantagens
– Na prática, a maioria dos problemas não possuem suas tarefas
totalmente independentes
– O RMS original pode causar problemas de inversão de
prioridades e deadlock
• Que pode ser resolvido com herança de prioridades
• Ou métodos alternativos, como o uso de algoritmos não-
bloqueáveis, ou evitar o compartilhamento de semáforo
entre threads com prioridades diferentes
EDF (Earliest Deadline First)
Tarefas Periódicas Ci Pi Di
Tarefa A 10 20 20
Tarefa B 25 50 50
n
Ci
U =∑ ≤1 10/20 + 25/50 = 1
i =1
Pi
EDF (Earliest Deadline First)
B perde o Deadline
A,B A A B
…
0 10 20 30 40 50
EDF (Earliest Deadline First)
A,B A A B
…
0 10 20 30 40 50
Deadline Monotonic
• Características:
• Atribuição estática de prioridades baseada nos deadlines
relativos das tarefas (Di).
– Prioridades Estaticas
– Preemptivo
– Todos os processos são periodicos
– Deadline <= Periodo
– Prioridade é inversamente proporcional ao Deadline
– Algoritmo ótimo
Escalonamento Deadline Monotônico
Tarefa B 2 10 8 2
Tarefa C 8 20 16 3
Exemplo