Upload
internet
View
133
Download
0
Embed Size (px)
Citation preview
Introdução aos Introdução aos Sistemas de Tempo RealSistemas de Tempo Real
Sergio CavalcanteCentro de Informática – UFPE
[email protected] [email protected]
Assunto: [str]
88350950 34254714
Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 2
SE::P & A::SoftwareSE::P & A::Software
Sistemas de Tempo RealSistemas de Tempo Real
• Sistemas computacionais de tempo real:– Tem aspectos temporais em sua especificação
– Submetidos a requisitos de natureza temporal
– Resultados devem estar corretos lógica e temporalmente “Fazer o trabalho usando o tempo disponível”
– Requisitos definidos pelo ambiente físico
• Aspectos temporais– Não estão limitados a uma questão de desempenho
– Estão diretamente associados com a funcionalidade
Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 3
Sistema de Tempo RealSistema de Tempo Real
• Sistema no qual o comportamento está sujeito a restrições temporais
Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 4
Tipos de usoTipos de uso
• Controle– Baixo processamento
– Requer pouca memória
– Altamente reativo (muito interativo)
• Processamentos de dados– Processamento digital de sinais
– Alto processamento
– Pouco interativo
Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 5
Sistema de Controle de Tempo Sistema de Controle de Tempo RealReal• Monitoram e modificam seu ambiente
• Estão associados a dispositivos de hardware
– Sensores: coletam dados do ambiente
– Atuadores: Mudam o ambiente do sistema
• Tempo é crítico
Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 6
SE::P & A::Sw::Sistemas de Tempo RealSE::P & A::Sw::Sistemas de Tempo Real
Áreas de PesquisaÁreas de Pesquisa
• Escalonamento (mais estudado)
• Modelos e linguagens de programação
• Protocolos de comunicação
• Arquitetura de computadores
• Metodologias de desenvolvimento
• ...
Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 7
SE::Visão Geral::Arquitetura de SoftwareSE::Visão Geral::Arquitetura de Software
Exemplo: Tempo de BootExemplo: Tempo de Boot
Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 8
SE::Visão Geral::Arquitetura de SoftwareSE::Visão Geral::Arquitetura de Software
Exemplo: Mudança de Exemplo: Mudança de ContextoContexto• MontaVista Linux Kernel 2.4.17
• Pior caso 436us (vs. 1743us)
• 99.9% < 195us (vs. 1420us)
Fonte: Bill Weinberg, “Linux and XScale for Wireless Consumer Electronics Devices”, IDF’Fall03
Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 9
SE::P & A::Sw::Sistemas de Tempo RealSE::P & A::Sw::Sistemas de Tempo Real
STR e o AmbienteSTR e o Ambiente
STR
Ambiente
EstímulosSensores
RespostasAtuadores
Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 10
Modelo de sistema de tempo Modelo de sistema de tempo realreal
•Sistema de con-trole de tempo real
•Atuador
•Atuador
•Atuador
•Atuador
•S•e•n•s•o•r•S•e•n•s•o•r•S•e•n•s•o•r •S•e•n•s•o•r•S•e•n•s•o•r•S•e•n•s•o•r
Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 11
SE::P & A::Sw::Sistemas de Tempo RealSE::P & A::Sw::Sistemas de Tempo Real
STR e o AmbienteSTR e o Ambiente
• Fluxo de controle definido pelo ambiente– Tarefas ativadas por estímulos do ambiente– STR geralmente não tem como limitar estes
estímulos
• Tempos de resposta ao ambiente definem deadlines
• Dados com prazos de validade– Dados desatualizados podem conduzir a
respostas incorretas
Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 12
SE::P & A::Sw::Sistemas de Tempo RealSE::P & A::Sw::Sistemas de Tempo Real
Conceitos BásicosConceitos Básicos
Tarefa ( task )• Segmento de código cuja execução possui atributo temporal próprio• Exemplo: método em OO, subrotina, trecho de um programa
Deadline• Instante máximo desejado para a conclusão de uma tarefa
Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 13
CriticidadeCriticidade
• Soft real-time system: sua operação é degradada se as restrições de tempo não são obedecidas
• Hard real-time system: sua operação é incorreta se as restrições de tempo não são obedecidas
Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 14
SE::P & A::Sw::STR:: Conceitos BásicosSE::P & A::Sw::STR:: Conceitos Básicos
CriticidadeCriticidadeSistema de tempo real crítico (Hard real-time system)
• Todas as tarefas têm Hard Deadline
– Perda do deadline pode ter conseqüências catastróficas
• É necessário garantir requisitos temporais ainda durante o projeto
• Exemplo: usina nuclear, industria petroquímica, mísseis
Sistema de tempo real não crítico (Soft real-time system)
• O requisito temporal descreve apenas o comportamento desejado
• Perda do deadline não tem conseqüências catastróficas
• Existe interesse em terminar a tarefa mesmo com atraso
• Exemplo: início de gravação de vídeo-cassete
Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 15
SE::P & A::Sw::STR:: Conceitos BásicosSE::P & A::Sw::STR:: Conceitos Básicos
CriticidadeCriticidade
Deadline Firm
• Perda do deadline não tem conseqüências catastróficas
• Não existe valor em terminar a tarefa após o deadline
• Exemplo: ler o valor da temperatura
Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 16
Sistemas reativosSistemas reativos
• Dado um estímulo o sistema deve produzir uma resposta dentro do tempo estipulado.
• Estímulo periódico: ocorre em intervalos de tempo previsíveis
• Estímulo aperiódico: ocorre em intervalos imprevisíveis
• Estímulo esporádico: não é periódico mas sabemos o intervalo mínimo entre ocorrências
Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 17
Interpretações do TempoInterpretações do Tempo
• Tempo Físico Vs. Tempo Lógico – Tempo Físico é quantificável, métrico e permite estabelecer ordens totais
de eventos
– Tempo Lógico é definido por relações de precedência, como antes de, depois de ou em paralelo.
• Tempo Denso Vs. Tempo Discreto– Tempo denso é o tempo físico, “analógico”
– Tempo Discreto, é a representação do tempo físico de forma discreta, com números naturais (inteiros positivos).
• Tempo Global Vs. Tempo Local– Global: Tempo único compartilhado entre todos os componentes
– Local: Cada componente tem o seu tempo distinto
• Tempo Absoluto Vs. Tempo Relativo– Tempo Absoluto é referente a um evento global
– Tempo Relativo é referente a um evento local
Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 18
Hipótese de CargaHipótese de Carga
• Corresponde à carga máxima de eventos em um determinado tempo que o sistema deve responder, obedecendo às restrições temporais.
Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 19
Hipótese de FalhasHipótese de Falhas
• Descreve os tipos e frequencias de falhas com as quais o sistema deve conviver em tempo de execução, continuando a atender os requisitos funcionais e temporais.
Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 20
Mecanismos que interferem na Mecanismos que interferem na previsibilidadeprevisibilidade• Hierarquia de memória
• Escolhas não determinísticas
• Loops e recursão ilimitados
• Alocação dinâmica de memória
• Criação dinâmica de objetos
• Garbage collection
Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 21
Escalonamento de ProcessosEscalonamento de Processos AbstraçãoAbstração
• Uma máquina para cada processo
• Paralelismo real
T11
T12
T0
P1
P2
P3
T22P3
Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 22
Escalonamento de ProcessosEscalonamento de Processos
RealidadeRealidade
• Compartilhamento do tempo
• Pseudoparalelismo
T11T12
T0 T22T0
1 121905141 t70
P1
Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 23
Tipos de EscalonamentoTipos de Escalonamento
PreemptivoPreemptivo• Permite a suspensão temporária de processos
• Quantum ou time-slice: período de tempo durante o qual um processo usa o processador a cada vez
T11T12
T0 T22T0
1 121905141 t70
P1
Preempção
Quantum grande: Diminui núm. de mudanças de contexto e overhead do S.O. Ruim para processos interativos
Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 24
Escalonamento de ProcessosEscalonamento de Processos
ProcessoProcesso• Estados de um processo
Pronto Rodando
Bloqueado
Criação TérminoID do Processo
Estado
Program Counter
Ponteiros da MemóriaContexto (regs.)
I/O Status
Prioridade
Informações gerais• tempo de CPU• limites, usuário, etc.
Process Control Block - PCB
Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 25
Filas de Filas de EscalonamentoEscalonamento
Long-term
queue
Short-term
queueCPU
I/Oqueue
I/Oqueue
I/Oqueue
I/O
I/O
I/O
Processrequest FIM
High-levelscheduling
Short-termscheduling
I/O scheduling
InterruptHandler
Interruptof process
Interrupt from I/O
Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 26
Tipos de EscalonamentoTipos de Escalonamento
Round-RobinRound-Robin• Uso de uma lista de processos sem
prioridade• Escalonamento preemptivo• Simples e justo• Bom para sistemas interativos
Tar. BContextoTar. BContexto
Tar. CContextoTar. CContexto
CPU:RunningCPU:Running
Tar. AContextoTar. AContexto
Tar. AContextoTar. AContexto
Tar. AContexto
Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 27
Tipos de EscalonamentoTipos de Escalonamento
First-In First-Out (FIFO)First-In First-Out (FIFO)
• Uso de uma lista de processos sem prioridade
• Escalonamento não-preemptivo
• Simples e justo
• Bom para sistemas em batch B C D E F … N B C D E F … NCPUCPU
A
FIM
Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 28
Tipos de EscalonamentoTipos de Escalonamento
ExemploExemplo
• Três processos
• Cada um consome 1 hora de CPU
• Calcule o tempo de resposta considerando
a) Round-robin (time-slice = 10ms)
b) FIFO
Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 29
Abordagens deMelhor Esforço
Abordagens com Garantiaem Tempo de Projeto
ExecutivoCíclico
Dirigido aPrioridades
TécnicasAdaptativas
Abordagens comGarantia Dinâmica
SE::P & A::Sw::STR SE::P & A::Sw::STR
EscalonamentoEscalonamento
Métodos de Escalonamento
Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 30
Características de Características de EscalonamentoEscalonamento• Justiça (fairness)
– Todos os processos têm chances iguais de uso dos processador
• Eficiência– O objetivo é manter o processador 100% ocupado
• Tempo de Resposta– Tempo entre a requisição da ação e a obtenção do resultado
• Throughput– Número de tarefas por unidade de tempo
Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 31
ReferênciasReferências
• Livro de Sistemas de Tempo RealJean- Marie Farines, Joni da Silva Fraga, Rômulo Silva de Oliveira. Escola de Computação’2000 - IME- USPhttp:// www. lcmi. ufsc. br/ gtr/ livro/ principal. Htm
• IEEE Computer Society, Technical Committee on Real- Time Systems (IEEE- CS TC- RTS)http:// www. cs. bu. edu/ pub/ ieee- rts
• The Concise Handbook Of Real-Time Systems.TimeSys Corporation, Versão 1.1, 2000.http://www.timesys.com