Introdução aos Sistemas de Tempo Real Sergio Cavalcante Centro de Informática – UFPE...

33
Introdução aos Introdução aos Sistemas de Tempo Sistemas de Tempo Real Real Sergio Cavalcante Centro de Informática – UFPE [email protected] [email protected] Assunto: [str] 88350950 34254714

Transcript of Introdução aos Sistemas de Tempo Real Sergio Cavalcante Centro de Informática – UFPE...

Page 1: Introdução aos Sistemas de Tempo Real Sergio Cavalcante Centro de Informática – UFPE str-l@cin.ufpebrsvc@cin.ufpe.br Assunto: [str] 8835095034254714.

Introdução aos Introdução aos Sistemas de Tempo RealSistemas de Tempo RealSergio CavalcanteCentro de Informática – UFPE

[email protected] [email protected]

Assunto: [str]

88350950 34254714

Page 2: Introdução aos Sistemas de Tempo Real Sergio Cavalcante Centro de Informática – UFPE str-l@cin.ufpebrsvc@cin.ufpe.br Assunto: [str] 8835095034254714.

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 2

SE::P & A::SoftwareSE::P & A::SoftwareSistemas 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

Page 3: Introdução aos Sistemas de Tempo Real Sergio Cavalcante Centro de Informática – UFPE str-l@cin.ufpebrsvc@cin.ufpe.br Assunto: [str] 8835095034254714.

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

Page 4: Introdução aos Sistemas de Tempo Real Sergio Cavalcante Centro de Informática – UFPE str-l@cin.ufpebrsvc@cin.ufpe.br Assunto: [str] 8835095034254714.

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

Page 5: Introdução aos Sistemas de Tempo Real Sergio Cavalcante Centro de Informática – UFPE str-l@cin.ufpebrsvc@cin.ufpe.br Assunto: [str] 8835095034254714.

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

Page 6: Introdução aos Sistemas de Tempo Real Sergio Cavalcante Centro de Informática – UFPE str-l@cin.ufpebrsvc@cin.ufpe.br Assunto: [str] 8835095034254714.

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

• ...

Page 7: Introdução aos Sistemas de Tempo Real Sergio Cavalcante Centro de Informática – UFPE str-l@cin.ufpebrsvc@cin.ufpe.br Assunto: [str] 8835095034254714.

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 7

SE::Visão Geral::Arquitetura de SoftwareSE::Visão Geral::Arquitetura de SoftwareExemplo: Tempo de BootExemplo: Tempo de Boot

Page 8: Introdução aos Sistemas de Tempo Real Sergio Cavalcante Centro de Informática – UFPE str-l@cin.ufpebrsvc@cin.ufpe.br Assunto: [str] 8835095034254714.

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 8

SE::Visão Geral::Arquitetura de SoftwareSE::Visão Geral::Arquitetura de SoftwareExemplo: 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

Page 9: Introdução aos Sistemas de Tempo Real Sergio Cavalcante Centro de Informática – UFPE str-l@cin.ufpebrsvc@cin.ufpe.br Assunto: [str] 8835095034254714.

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 RealSTR e o AmbienteSTR e o Ambiente

STR

Ambiente

EstímulosSensores

RespostasAtuadores

Page 10: Introdução aos Sistemas de Tempo Real Sergio Cavalcante Centro de Informática – UFPE str-l@cin.ufpebrsvc@cin.ufpe.br Assunto: [str] 8835095034254714.

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

Page 11: Introdução aos Sistemas de Tempo Real Sergio Cavalcante Centro de Informática – UFPE str-l@cin.ufpebrsvc@cin.ufpe.br Assunto: [str] 8835095034254714.

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 RealSTR 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

Page 12: Introdução aos Sistemas de Tempo Real Sergio Cavalcante Centro de Informática – UFPE str-l@cin.ufpebrsvc@cin.ufpe.br Assunto: [str] 8835095034254714.

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 RealConceitos BásicosConceitos BásicosTarefa ( 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

Page 13: Introdução aos Sistemas de Tempo Real Sergio Cavalcante Centro de Informática – UFPE str-l@cin.ufpebrsvc@cin.ufpe.br Assunto: [str] 8835095034254714.

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

Page 14: Introdução aos Sistemas de Tempo Real Sergio Cavalcante Centro de Informática – UFPE str-l@cin.ufpebrsvc@cin.ufpe.br Assunto: [str] 8835095034254714.

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ásicosCriticidadeCriticidadeSistema 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

Page 15: Introdução aos Sistemas de Tempo Real Sergio Cavalcante Centro de Informática – UFPE str-l@cin.ufpebrsvc@cin.ufpe.br Assunto: [str] 8835095034254714.

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ásicosCriticidadeCriticidadeDeadline 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

Page 16: Introdução aos Sistemas de Tempo Real Sergio Cavalcante Centro de Informática – UFPE str-l@cin.ufpebrsvc@cin.ufpe.br Assunto: [str] 8835095034254714.

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 16

SE::P & A::Sw::STR:: Conceitos BásicosSE::P & A::Sw::STR:: Conceitos BásicosModelagem das TarefasModelagem das Tarefas

• Deadline – Tempo máximo para término de uma tarefa

• Release-time – Tempo mínimo para início de uma tarefa

• Tempo de execução: considera o pior caso– WCET – Worst-Case Execution Time

Page 17: Introdução aos Sistemas de Tempo Real Sergio Cavalcante Centro de Informática – UFPE str-l@cin.ufpebrsvc@cin.ufpe.br Assunto: [str] 8835095034254714.

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 17

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

Page 18: Introdução aos Sistemas de Tempo Real Sergio Cavalcante Centro de Informática – UFPE str-l@cin.ufpebrsvc@cin.ufpe.br Assunto: [str] 8835095034254714.

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 18

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

Page 19: Introdução aos Sistemas de Tempo Real Sergio Cavalcante Centro de Informática – UFPE str-l@cin.ufpebrsvc@cin.ufpe.br Assunto: [str] 8835095034254714.

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 19

Escalonamento de ProcessosEscalonamento de Processos AbstraçãoAbstração• Uma máquina para cada processo• Paralelismo real

T11

T12

T0

P1

P2

P3

T22P3

Page 20: Introdução aos Sistemas de Tempo Real Sergio Cavalcante Centro de Informática – UFPE str-l@cin.ufpebrsvc@cin.ufpe.br Assunto: [str] 8835095034254714.

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 20

Escalonamento de ProcessosEscalonamento de ProcessosRealidadeRealidade• Compartilhamento do tempo• Pseudoparalelismo

T11T12

T0 T22 T0

1 121905141 t70P1

Page 21: Introdução aos Sistemas de Tempo Real Sergio Cavalcante Centro de Informática – UFPE str-l@cin.ufpebrsvc@cin.ufpe.br Assunto: [str] 8835095034254714.

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 21

Tipos de EscalonamentoTipos de EscalonamentoPreemptivoPreemptivo• 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 T22 T0

1 121905141 t70P1

Preempção

Quantum grande: Diminui núm. de mudanças de contexto e overhead do S.O. Ruim para processos interativos

Page 22: Introdução aos Sistemas de Tempo Real Sergio Cavalcante Centro de Informática – UFPE str-l@cin.ufpebrsvc@cin.ufpe.br Assunto: [str] 8835095034254714.

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 22

Escalonamento de ProcessosEscalonamento de Processos

ProcessoProcesso• Estados de um processo

Pronto Rodando

Bloqueado

Criação TérminoID do Processo

Estado

Program CounterPonteiros da Memória

Contexto (regs.)I/O Status

Prioridade

Informações gerais• tempo de CPU• limites, usuário, etc.

Process Control Block - PCB

Page 23: Introdução aos Sistemas de Tempo Real Sergio Cavalcante Centro de Informática – UFPE str-l@cin.ufpebrsvc@cin.ufpe.br Assunto: [str] 8835095034254714.

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 23

Filas de Filas de EscalonamentoEscalonamento

Long-term

queue

Short-term

queue CPU

I/Oqueue

I/Oqueue

I/OqueueI/O

I/O

I/O

Processrequest FIM

High-levelscheduling

Short-termscheduling

I/O scheduling

InterruptHandler

Interruptof process

Interrupt from I/O

Page 24: Introdução aos Sistemas de Tempo Real Sergio Cavalcante Centro de Informática – UFPE str-l@cin.ufpebrsvc@cin.ufpe.br Assunto: [str] 8835095034254714.

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 24

Tipos de EscalonamentoTipos de EscalonamentoRound-RobinRound-Robin

• Uso de uma lista de processos sem prioridade• Escalonamento preemptivo• Simples e justo• Bom para sistemas interativos

Tar. BContexto

Tar. CContexto

CPU:Running

Tar. AContexto

Tar. AContexto

Tar. AContexto

Page 25: Introdução aos Sistemas de Tempo Real Sergio Cavalcante Centro de Informática – UFPE str-l@cin.ufpebrsvc@cin.ufpe.br Assunto: [str] 8835095034254714.

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 25

Tipos de EscalonamentoTipos de EscalonamentoFirst-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 … NCPUA

FIM

Page 26: Introdução aos Sistemas de Tempo Real Sergio Cavalcante Centro de Informática – UFPE str-l@cin.ufpebrsvc@cin.ufpe.br Assunto: [str] 8835095034254714.

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 26

Tipos de EscalonamentoTipos de EscalonamentoExemploExemplo• Três processos• Cada um consome 1 hora de CPU• Calcule o tempo de resposta considerando

a) Round-robin (time-slice = 10ms)b) FIFO

Page 27: Introdução aos Sistemas de Tempo Real Sergio Cavalcante Centro de Informática – UFPE str-l@cin.ufpebrsvc@cin.ufpe.br Assunto: [str] 8835095034254714.

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 27

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

Page 28: Introdução aos Sistemas de Tempo Real Sergio Cavalcante Centro de Informática – UFPE str-l@cin.ufpebrsvc@cin.ufpe.br Assunto: [str] 8835095034254714.

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 28

SE::P & A::Sw::STR::EscalonamentoSE::P & A::Sw::STR::EscalonamentoGarantia Dinâmica e de Melhor EsforçoGarantia Dinâmica e de Melhor Esforço• Não existe garantia que os deadlines serão cumpridos

• Sempre que uma tarefa é ativada ocorre uma análise da sua escalonabilidade

• Passível de sofrer sobrecarga

• Capaz de fornecer análise probabilística– Simulação, teoria das filas de tempo real, etc

• Algumas abordagens oferecem Garantia Dinâmica– Garante o deadline (ou não) no início da ativação

Page 29: Introdução aos Sistemas de Tempo Real Sergio Cavalcante Centro de Informática – UFPE str-l@cin.ufpebrsvc@cin.ufpe.br Assunto: [str] 8835095034254714.

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 29

SE::P & A::Sw::STR::EscalonamentoSE::P & A::Sw::STR::EscalonamentoGarantia Dinâmica e de Melhor EsforçoGarantia Dinâmica e de Melhor EsforçoDescarte de Tarefas na Sobrecarga • As tarefas executadas cumprem o deadline

• Mais apropriado para tarefas com deadline firm

• Pode cancelar ativações individuais ou tarefas completas

• Objetivo é maximizar o número de tarefas executadas

• Tarefas podem ter importância (peso) diferentes– Maximiza o somatório dos pesos das tarefas executadas

• Abordagem semelhante: aumenta o período das tarefas

Page 30: Introdução aos Sistemas de Tempo Real Sergio Cavalcante Centro de Informática – UFPE str-l@cin.ufpebrsvc@cin.ufpe.br Assunto: [str] 8835095034254714.

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 30

SE::P & A::Sw::STR::EscalonamentoSE::P & A::Sw::STR::EscalonamentoGarantia Dinâmica e de Melhor EsforçoGarantia Dinâmica e de Melhor EsforçoPerda de deadlines na sobrecarga• Em sobrecarga ATRASA algumas tarefas

• Possui uma função que indica o valor de cada tarefa em função do seu instante de conclusão (time-value function)

• Objetivo é maximizar o valor total do sistema (somatório de todas as tarefas)

d0

valor

Tempo de Resposta

Page 31: Introdução aos Sistemas de Tempo Real Sergio Cavalcante Centro de Informática – UFPE str-l@cin.ufpebrsvc@cin.ufpe.br Assunto: [str] 8835095034254714.

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 31

SE::P & A::Sw::STR::EscalonamentoSE::P & A::Sw::STR::EscalonamentoGarantia Dinâmica e de Melhor EsforçoGarantia Dinâmica e de Melhor EsforçoRedução da Precisão na Sobrecarga• Em sobrecarga diminui a precisão de algumas tarefas

• Objetivo é fazer o possível dentro do tempo disponível

• Exemplos:– Ignorar bits menos significativos de cada pixel– Trabalhar com amostras de áudio menos precisas– Alterar resolução e tamanho de imagem na tela– Simplificar animações– Usar algoritmos de controle mais simples– Interromper pesquisa em algoritmos de inteligência artificial

Page 32: Introdução aos Sistemas de Tempo Real Sergio Cavalcante Centro de Informática – UFPE str-l@cin.ufpebrsvc@cin.ufpe.br Assunto: [str] 8835095034254714.

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 32

Sistemas de Prioridade Dinâmica• Earliest-Deadline-First (EDF)

– Escalonamento preemptivo de prioridade dinâmica– O deadline é calculado quando a tarefa é disparada.– O escalonador põe para executar a tarefa com menor

deadline

• Least Slack Scheduling– Escalonamento não-preemptivo de prioridade dinâmica– A tarefa com menor sobra (slack) tem maior prioridade

SE::P & A::Sw::STR::EscalonamentoSE::P & A::Sw::STR::EscalonamentoGarantia Dinâmica e de Melhor EsforçoGarantia Dinâmica e de Melhor Esforço

Page 33: Introdução aos Sistemas de Tempo Real Sergio Cavalcante Centro de Informática – UFPE str-l@cin.ufpebrsvc@cin.ufpe.br Assunto: [str] 8835095034254714.

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 33

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