Sistemas Operacionais
Aula 23: Sistemas de Tempo Real
Referências:
Sistemas de Tempo Real
Computadores são muito eficientes em tarefas repetitivas e que exigem precisão.
Controladores de máquinas:
Conseguem ser muito mais precisos e eficientes do que pessoas fazendo as mesmas tarefas.
Problema: frequentemente fazem tudo errado pois o projetista do sistema não pensou em todas as situações:
Sistemas de Tempo Real
O tempo causa problemas sutis e importantes:
Problemas temporais são difíceis de identificar e corrigir. Contudo eles afetam drasticamente muitas aplicações computacionais.
Sistemas de Tempo Real
São sistemas aonde o tempo de resposta é parte integral da especificação.
Exemplos:
Problemas
Como ter certeza que o sistema vai responder em tempo ?
Os três métodos de análise mais comuns falham:
Métodos Analíticos
Pode-se especificar o sistema de modo que ele sempre satisfaça suas restrições temporais:
Cyclic Executive
Uma maneira extremamente simples de se projetar um sistema de tempo real correto:
Simples, mas muito restritivo. Não permite novos processos; sincronização; é ineficiente (se um processo for muito rápido).
Rate Monotonic Theory
Um exemplo de técnica fácil de usar é RMS:
Rate Monotonic Theory
Exemplo (Pi = (T, C)):
A utilização de cada processo é:
U = 15 + 20 + 13 = 48% < 69%
Ou seja, todos os processos vão terminar de executar dentro do prazo.
Problemas com RMS
Vantagens:
Desvantagens:
- Impõe muitas restrições ao sistema sendo analisado:
Extensões de RMS
Diversas extensões foram propostas que aumentam a eficiência do método de forma significativa:
Sincronização de Tempo Real
Sincronização é um problema porque pode causar inversão de prioridades:
Herança de Prioridades
Uma maneira de se evitar a inversão de prioridades sem limites é usar o protocolo abaixo:
rt_lock(m, p) {
if (m->locked &&
(m->owner)-> pri < p->pri)
(m->owner)->pri = p->pri;
lock(m, p);
};
rt_unlock(m, p); {
p->pri = p->original_pri;
unlock(m, p);
};
Rate Monotonic Theory
Sistemas de Tempo Real
Extremamente importantes!
Pesquisa de SOs de tempo real é muito ativa e interessante.