Escolar Documentos
Profissional Documentos
Cultura Documentos
Tempo Real
Sistemas Operativos
2023/2024
João Pereira
CLAV-256
joao.pedro.pereira@uevora.pt
Baseado nos slides do Capítulo 10 (Multiprocessor and Real-Time Scheduling) do livro Operating Systems:
Internals and Design Principles, 7th Edition, Dave Bremer, Otago Polytechnic, N.Z., 2008, Prentice Hall.
Sistemas real-time
2
Tarefas Real-Time: Hard and Soft
● tarefa que se deve respeitar a sua deadline ● Tem um deadline desejável, mas não
○ prazo de execução obrigatório
● de outra forma, vai causar problemas ou ● Ainda assim, faz sentido escalonar o
erros fatais no sistema processo e terminar a tarefa, mesmo que
tenha ultrapassado o seu deadline
3
Tarefas periódicas e não periódicas
Tarefas periódicas
○ 1x por período T
○ exatamente T unidades de intervalo
4
Características de Sistemas Real Time
● Determinismo
● Responsivness
● Controlo por parte dos utilizadores
● Fiabilidade
● Operação “fail-soft”
5
Determinismo
6
Responsiveness
7
Controlo por parte dos utilizadores
8
Fiabilidade/Reliability
● Sistemas críticos:
○ Sistemas real-time respondem a eventos em tempo real
■ perdas financeiras
■ danos de equipamento
■ perda de vidas
9
Operações Fail-Soft
10
Real-Time Scheduling
Round-robin Preemptive Scheduler
11
Real-Time Scheduling
Priority-driven nonpreemptive scheduler
12
Real-Time Scheduling
13
Real-Time Scheduling
14
Deadline Scheduling
15
Perfil de execução de duas tarefas periódicas
16
Scheduling de tarefas periódicas real-time com completion deadlines
Representação da
tabela do slide
anterior
B1 não termina
antes do deadline
Técnicas de
Scheduling A1 não termina
antes do deadline
Tanto Ax como Bx
terminam antes do
deadline
17
Perfil de execução de 5 tarefas não periódicas
18
Scheduling de tarefas real-time não periódicas com “starting deadlines”
Representação da
tabela do slide
anterior
Enquanto A
executa, B perde o
deadline
Todos os processos
satisfazem os
Técnicas de
deadlines, mas temos
Scheduling
que saber a priori que
processos vão entrar
Scheduling
uniprocessador, não é
adequado.
B e E perdem os 19
deadlines
Rate Monotonic Scheduling (RMS)
● Método promissor para resolver conflitos de escalonamento multitarefa
para tarefas periódicas
○ Tarefas: alta prioridade = período (T) mais curto = frequência (Rate) mais elevada
20
Diagrama temporal de tarefas periódicas
21
Factor de utilização de tarefas periódicas
Para garantir que todas as tarefas periódicas executam com sucesso
22
Valores do RMS Upper Bound
23
Factor de utilização de tarefas periódicas
● Hyperbolic bound
○ Menos pessimista que o Liu and Layland’s upper bound para RMS
■ ou seja, podemos aceitar mais tarefas
http://retis.sssup.it/~giorgio/paps/2003/ieeetc-hb.pdf
24
Inversão de prioridade
● Pode ocorrer num modelo de scheduling preemptivo, baseado em
prioridades
○ caso mais conhecido aconteceu na missão Mars Pathfinder:
■ https://www.rapitasystems.com/blog/what-really-happened-software-mars-pathfinder-s
pacecraft
● Ocorre em situações onde o sistema força uma tarefa de alta prioridade a
esperar por uma tarefa de baixa/média prioridade
○ Uma tarefa de baixa prioridade está a “bloquear” (usar) um recurso necessário à tarefa de
alta prioridade, bloqueando-a; enquanto uma tarefa de média prioridade utiliza o CPU
● Soluções:
○ herança de prioridades
■ A tarefa que está a bloquear o recurso herda a prioridade da tarefa que o quer utilizar
○ random boosting
■ Aleatoriamente aumenta a prioridade de tarefas a bloquear recursos
■ Usado no Windows 25
RMS - exemplo
P1 4 1
P2 6 2
P3 8 3
26
Resumo
27