LRM Prof. Mantovani ← Aulas da disciplina
Semana 5 · Aula 5 de 14

Escalonamento — incluindo tempo real

Algoritmos clássicos de escalonamento (FCFS, SJF, Round-Robin, prioridades) e escalonamento de tempo real com Rate Monotonic e EDF, com simuladores.

📚 Sistemas Operacionais🧪 2 simulador(es)📝 mini-quiz ao final
Objetivos da aula

O que você vai aprender

1

Comparar FCFS, SJF, Round-Robin e prioridades.

2

Calcular métricas como tempo de espera e de retorno.

3

Aplicar Rate Monotonic e EDF a tarefas periódicas de tempo real.

4

Interpretar testes de escalonabilidade (utilização).

1 · Motivação

Quem roda agora?

Há dez processos prontos e um core livre. Qual deles recebe a CPU? Essa decisão, tomada milhares de vezes por segundo, define se o sistema parece ágil, se jobs longos terminam e se um airbag dispara a tempo.

O escalonador é o árbitro. Esta aula compara estratégias clássicas e, crucialmente para a Engenharia de Computação, as de tempo real, onde perder um prazo pode ser catastrófico.

2 · Mapa

Roteiro da aula

Clássicos
FCFS/SJF/RR
MétricasTempo real
RM/EDF
Simuladores

Veremos os algoritmos de propósito geral, como medi-los, e depois o escalonamento de tarefas periódicas com prazos rígidos.

3 · Conceito

Preemptivo vs. não preemptivo

Preemptivo. O SO pode retirar a CPU de um processo (RR, prioridades preemptivas).
Não preemptivo. O processo só larga a CPU ao terminar ou bloquear (FCFS, SJF clássico).

A preempção, viabilizada pela interrupção do timer (Aula 2), é o que permite respostas rápidas e o cumprimento de prazos — mas custa trocas de contexto (Aula 3).

4 · Explicação

Os algoritmos clássicos

AlgoritmoIdeiaCaracterística
FCFSOrdem de chegadaSimples; sofre efeito comboio
SJFMenor tarefa primeiroÓtimo para espera média; pode causar inanição
Round-RobinQuantum fixo, circularJusto para interativos
PrioridadesMaior prioridade primeiroFlexível; risco de inanição
5 · Exemplo

FCFS e o efeito comboio

// chegadas em t=0: P1(burst 24), P2(3), P3(3) FCFS (ordem P1,P2,P3): P1: 0–24 P2: 24–27 P3: 27–30 espera media = (0 + 24 + 27) / 3 = 17 SJF (ordem P2,P3,P1): P2: 0–3 P3: 3–6 P1: 6–30 espera media = (6 + 0 + 3) / 3 = 3

O processo longo P1, à frente no FCFS, "engarrafa" os curtos — o efeito comboio. O SJF, colocando os curtos primeiro, despenca a espera média de 17 para 3.

6 · Interativo

Passo a passo: Round-Robin com quantum 2

Passo 1
P1 roda 0–2 (restam 3), volta ao fim da fila.
Passo 2
P2 roda 2–4 (restam 1), volta ao fim.
Passo 3
P3 roda 4–6 (termina).
Passo 4
P1 roda 6–8 (restam 1), P2 roda 8–9 (termina).
Passo 5
P1 roda 9–10 (termina). RR distribui a CPU de forma rotativa e justa.
7 · Conceito

Métricas de escalonamento

Tempo de retorno (turnaround). Conclusão − chegada.
Tempo de espera. Tempo na fila de prontos (retorno − tempo de surto).
Vazão. Processos concluídos por unidade de tempo.
Tempo de resposta. Da chegada até começar a rodar pela primeira vez.
8 · Explicação

Não existe escalonador perfeito

Cada métrica puxa para um lado. Minimizar o tempo de espera médio favorece o SJF, mas ele pode causar inanição (um job longo nunca roda se chegam curtos sem parar). Maximizar a justiça favorece o RR, mas quantum pequeno gera muita troca de contexto.

⚠️
Melhorar a resposta dos interativos pode piorar a vazão dos jobs longos. O quantum do RR equilibra resposta × overhead de troca: nem tão pequeno (overhead), nem tão grande (vira FCFS).
9 · Analogia

O caixa do supermercado

🛒 Analogia
FCFS é a fila única por ordem de chegada — se alguém com 200 itens está na frente, todos esperam (comboio). SJF é deixar passar quem tem poucos itens (caixa rápido) — ótimo para a média, mas o do carrinho cheio pode esperar para sempre (inanição). RR é dar a cada cliente alguns itens por vez e revezar — justo, mas com idas e vindas (trocas).
10 · Comparação

Rate Monotonic vs. EDF

AspectoRate Monotonic (RM)EDF
PrioridadeEstática (por período)Dinâmica (por prazo)
RegraMenor período → maior prioridadePrazo mais próximo → executa
Limite de utilização≈ 69% (n→∞)100%
ImplementaçãoSimples, previsívelMais complexa (recalcula prazos)
Rate Monotonic (RM). Prioridade fixa: a tarefa de menor período (maior frequência) tem maior prioridade.
EDF (Earliest Deadline First). Prioridade dinâmica: executa a tarefa cujo prazo está mais próximo.
11 · Fluxo

Teste de escalonabilidade

Some U =
Σ Cᵢ/Tᵢ
RM: U ≤
n(2^(1/n)−1)?
EDF:
U ≤ 1?
Escalonável?
🔑
RM é simples e previsível, mas tem teste conservador (limite ≈ ln 2 ≈ 69% para muitas tarefas). EDF é ótimo em uniprocessador: escalona qualquer conjunto com utilização ≤ 100%.
12 · Aprofundamento

Por que RM se limita a 69%

O limite de Liu & Layland para RM é U ≤ n(2^(1/n) − 1), que decresce de 100% (1 tarefa) até ln 2 ≈ 69,3% quando n → ∞. É uma condição suficiente, não necessária: conjuntos acima de 69% podem ainda ser escalonáveis (verifica-se pela análise de tempo de resposta).

EDF, por usar prioridade dinâmica, aproveita 100% da CPU em uniprocessador. A contrapartida: sob sobrecarga (U > 1), o EDF degrada de forma imprevisível (efeito dominó de perdas de prazo), enquanto o RM perde primeiro as tarefas de menor prioridade — mais controlável.

13 · Interativo

Verifique seu entendimento

Duas tarefas periódicas: A (período 4) e B (período 6). No Rate Monotonic, quem tem maior prioridade?

No RM, menor período (maior frequência) = maior prioridade. Período 4 < 6, então A vence — independentemente da chegada.
14 · Caso prático

RTOS controlando um drone

Num drone, o laço de estabilização precisa rodar a, digamos, 500 Hz (período 2 ms), enquanto a telemetria roda a 10 Hz (100 ms). Sob Rate Monotonic, a estabilização — período menor — recebe prioridade maior automaticamente, garantindo que nunca seja preterida pela telemetria.

Antes do voo, calcula-se a utilização total. Se U exceder o limite de RM, ou se reduz a carga, ou se migra para EDF, ou se adiciona um core. Errar isso significa o drone perder o prazo de controle e cair — tempo real no sentido literal.

15 · Erros comuns

Onde os alunos erram

⚠️
Atenção:
• Inverter a regra do RM — é menor período que ganha maior prioridade, não o contrário.
• Tratar o limite de 69% do RM como "necessário" — é apenas suficiente.
• Esquecer o custo da troca de contexto ao calcular a utilização real (o C de cada tarefa deve incluí-lo).
16 · Dicas

Calculando à mão sem erro

Para Gantt à mão: desenhe a linha do tempo, marque chegadas, e a cada instante de decisão escolha conforme a regra do algoritmo. Confira somando: tempo de espera de um processo = retorno − surto. Some os esperas e divida por n para a média. Depois valide tudo no simulador.
17 · Interativo

Revele o cálculo

Tarefas (C,T): A(1,4), B(2,6). A utilização permite RM? E EDF?
U = 1/4 + 2/6 = 0,25 + 0,333 = 0,583 (≈58%). Limite RM para n=2: 2(2^(1/2)−1) ≈ 0,828 (≈83%). Como 0,583 < 0,828, o conjunto é escalonável por RM. Para EDF, basta U ≤ 1, e 0,583 < 1 — também escalonável. Ambos cumprem os prazos.
18 · Flashcards

Revisão relâmpago

Efeito comboiovirar
No FCFS, um processo longo à frente atrasa todos os curtos atrás.
Inaniçãovirar
Um processo nunca executa por sempre haver outros preferidos (SJF, prioridades).
Rate Monotonicvirar
Prioridade estática: menor período → maior prioridade. Limite ≈ 69%.
EDFvirar
Prioridade dinâmica pelo prazo mais próximo; ótimo em uniprocessador (U ≤ 100%).
19 · Conexões

Como isto se encaixa

O escalonamento conecta:

  • A preempção com o timer e as interrupções (Aula 2).
  • O custo do quantum com a troca de contexto (Aula 3).
  • O tempo real com a inversão de prioridade (Aula 6), que pode arruinar as garantias de RM/EDF.
20 · Síntese

Resumo da aula

🔑
FCFS é simples mas sofre efeito comboio; SJF minimiza a espera média ao custo de inanição; Round-Robin equilibra resposta e overhead via quantum. Em tempo real, Rate Monotonic usa prioridade estática por período (limite ≈ 69%) e EDF, dinâmica por prazo (ótimo, até 100%). O teste de utilização decide a escalonabilidade. Use os simuladores para ver tudo em ação.
Sim · 1

Simulador: escalonamento clássico

O simulador de escalonamento permite inserir processos com tempos de chegada e de surto e comparar FCFS, SJF e Round-Robin lado a lado.

💡
Experimente: monte um caso com um processo longo e vários curtos. Veja o efeito comboio no FCFS, observe o SJF reordenar para minimizar a espera média e ajuste o quantum do RR para sentir o trade-off resposta × overhead. Compare o tempo médio de espera de cada algoritmo.
Sim · 2

Simulador: tempo real (RM e EDF)

O simulador de tempo real mostra tarefas periódicas sendo escalonadas por Rate Monotonic e EDF, evidenciando se cada prazo é cumprido ou perdido.

💡
Experimente: crie um conjunto com utilização perto de 69% e veja o RM ainda cumprir prazos. Depois empurre a utilização acima do limite do RM e observe quem perde prazo primeiro — e como o EDF aguenta cargas maiores até U = 100%. Veja também o EDF degradar sob sobrecarga.
Mão na massa · colaborativo

Atividade em grupo · Torneio de escalonadores

Em grupos, escalonem o mesmo conjunto de processos por vários algoritmos e comparem.

⏱️ 30 min👥 grupos de 3–4🧩 laboratório

Roteiro

  1. Recebam 4 processos com tempos de chegada e de surto definidos.
  2. Calculem o diagrama de Gantt e o tempo médio de espera para FCFS, SJF e RR (quantum 2).
  3. Confiram os resultados no simulador de escalonamento.
  4. Para um conjunto periódico, testem RM e EDF no simulador de tempo real e vejam se há perda de prazo.
Calculista FCFS/SJFmonta os Gantt
Calculista RRaplica o quantum
Analista RTavalia RM e EDF
📤 Entrega: Tabela de tempo médio de espera por algoritmo + veredito de escalonabilidade RM/EDF.
Teste seu conhecimento

Mini-quiz · Aula 5

20 questões sobre esta aula. Escolha e veja a explicação na hora.

0/20

📌 Resumo — leve isto para a prova

  • FCFS é simples mas sofre efeito comboio; SJF minimiza a espera média.
  • Round-Robin equilibra resposta e overhead via quantum.
  • Rate Monotonic usa prioridade estática por período; EDF, dinâmica por prazo.
  • EDF é ótimo em uniprocessador (até 100%); RM é mais simples e previsível.
  • O teste de utilização decide a escalonabilidade; o limite do RM (~69%) é suficiente.