Sistemas de Tempo Real: Conceitos Básicos



Documentos relacionados
Sistemas de Tempo Real: O Tempo Real. Rômulo Silva de Oliveira Departamento de Automação e Sistemas DAS UFSC

Conceitos Básicos dos Sistemas de Tempo Real

Tempo Real 7/4/2010. Aula 10. Engenharia de Sistemas Embarcados

FTL066 Programação em Tempo Real Segunda Lista de Exercícios

Introdução sobre o Tempo Real

Servidores de Aperiódicas

SISTEMAS OPERACIONAIS

Abordagens de Escalonamento na Perspectiva da Engenharia

Especificação Operacional.

Escalonamento (Tarefas Esporádicas)

Sistemas Operacionais

Capítulo 4 Gerência do Processador. O que sabemos é uma gota, o que ignoramos é um oceano. Isaac Newton

Gerenciamento de memória

Avaliação de Desempenho de Sistemas

Aula 5 Escalonamento usando prioridades fixas

MODELAGEM E SIMULAÇÃO

Introdução. Uso do disco Vantagens Desvantagens Baixo custo, facilidade de manutenção do software e do hardware, simetria e flexibilidade

Sistemas Operacionais. Prof. André Y. Kusumoto

Sistemas Operacionais

Engenharia de Software II

Escalonamento de CPU 2 Quadrimestre

SISTEMAS OPERACIONAIS SISTEMAS OPERACIONAIS. 2º TRIMESTRE Patrícia Lucas

8 Threads. 8.1 Introdução

natureza do projeto e da aplicação métodos e ferramentas a serem usados controles e produtos que precisam ser entregues

Capítulo 4 Gerenciamento de Memória

Engenharia de Software II

Sumário. Deadlock. Definição. Recursos. M. Sc. Luiz Alberto

Memória cache. Prof. Francisco Adelton

Algoritmos e Estruturas de Dados I 01/2013. Estruturas Condicionais e de Repetição (parte 2) Pedro O.S. Vaz de Melo

UNIVERSIDADE FEDERAL DE SANTA MARIA COLÉGIO TÉCNICO INDUSTRIAL DE SANTA MARIA Curso de Eletrotécnica

Exercícios Diagrama de Casos de Uso. Disciplina: Engenharia de Requisitos

3) Considerando a tabela abaixo, usando a política de atribuição de prioridades Deadline Monotonic:

O mecanismo de alocação da CPU para execução de processos constitui a base dos sistemas operacionais multiprogramados.

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

Gerência do Processador

Arquitetura e Organização de Computadores

1. REGISTRO DE PROJETOS

4) Abaixo está representado o nó_i do arquivo SO.txt em um sistema UNIX.

ILP - Introdução à Linguagem de Programação. Plano de estudo: - Constantes e variáveis. - Atribuindo valores às variáveis.

Arquitetura dos Sistemas Operacionais

Trabalho Computacional

Algoritmo MiniMax. Minimax

Simulado Banco de Dados I Bimestre 1 Capítulo 1 Projeto Lógico de Banco de Dados

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

Processos. Paulo Sérgio Almeida 2005/2006. Grupo de Sistemas Distribuídos Departamento de Informática Universidade do Minho

Sistemas Operacionais

Módulo 12 Gerenciamento Financeiro para Serviços de TI

Objetivos. Teoria de Filas. Teoria de Filas

Algoritmos e Programação Parte Teórica

GERENCIAMENTO DO PROCESSADOR. Prof. Maicon A. Sartin

Guia de utilização da notação BPMN

TUTORIAL DO ASSISTENTE VIRTUAL (QUICK START)

Usando o Conference Manager do Microsoft Outlook

O processador é um dos elementos componentes do computador moderno, sendo responsável pelo gerenciamento de todo o computador.

Departamento de Informática. Análise de Decisão. Métodos Quantitativos LEI 2006/2007. Susana Nascimento

CAPÍTULO 3. Sistemas com Vários Componentes (Multicomponentes) em Modelos Markovianos de Decisão

Figura 5.1.Modelo não linear de um neurônio j da camada k+1. Fonte: HAYKIN, 2001

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT

Escalonamento de processos

Parte V Linguagem de Programação

Arquiteturas de Software

Sistemas de Telecomunicações I

ESTEREOSCOPIA INTRODUÇÃO. Conversão de um par de imagens (a)-(b) em um mapa de profundidade (c)

REPRESENTAÇÃO DE DADOS EM SISTEMAS DE COMPUTAÇÃO AULA 03 Arquitetura de Computadores Gil Eduardo de Andrade

REGISTRO DE PROJETOS

TÉCNICAS DE PROGRAMAÇÃO

- Aulas 57, 58, 59 e 60 - Técnicas de programação. Funções

Metodologia para seleção de amostras de contratos de obras públicas (jurisdicionados) utilizando a programação linear aplicativo Solver

Metodologia de Desenvolvimento de Software. Prof. M.Sc. Sílvio Bacalá Jr

Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior

Capítulo 4 Gerência de Processador

Arquitetura e Organização de Computadores

Avaliação de Desempenho

Arquitetura de processadores: RISC e CISC

MODELIX SYSTEM SOFTWARE DE PROGRAMAÇÃO DE ROBÔS

1 CIRCUITOS COMBINACIONAIS

Sistemas de Tempo-Real

Introdução à Engenharia de Computação

AVALIAÇÃO DE DESEMPENHO

Processo de chegada: o Chegadas em grupo ocorrem segundo um processo Poisson com taxa. O tamanho do grupo é uma variável aleatória discreta

INSTALANDO UM SERVIDOR WINDOWS SERVER 2012 R2 SERVER CORE

28/9/2010. Paralelismo no nível de instruções Processadores superescalares

Introdução à Ciência da Computação

PRIORIDADES EM SERVIÇOS E ORGANIZAÇÃO DO TRABALHO. Professora Andréia Ribas rp_andreiaribas@hotmail.com

Sistemas de Tempo Real

Técnicas de Computação Paralela Capítulo III Design de Algoritmos Paralelos

Sistemas Operativos. Sumário. Escalonador da CPU. ! Filas Multinível. ! Filas Multinível com Feedback. ! Escalonamento em multiprocessadores

Projeto de inovação do processo de monitoramento de safra da Conab

Solução de problemas por meio de busca (com Python) Luis Martí DEE/PUC-Rio

Introdução à Engenharia de Computação

Redes de computadores. Redes para Internet

Fundamentos de Teste de Software

Transcrição:

Escola de Computação 2000 - IME-USP Sistemas de Tempo Real: Conceitos Básicos Jean-Marie Farines Joni da Silva Fraga Rômulo Silva de Oliveira LCMI - Laboratório de Controle e Microinformática DAS - Departamento de Automação e Sistemas UFSC - Universidade Federal de Santa Catarina 1! Sistemas de Tempo Real respostas devem ser válidas ( correctness ) e dentro de prazos ( Timeliness ) impostos pelo ambiente. Caracterização! Sistemas Não de Tempo Real respostas válidas em prazos aceitáveis, não especificados.! Uma Definição [Audsley90]: Um Sistema de Tempo Real é um sistema que produz reações a estímulos oriundos do ambiente dentro de intervalos de tempos impostos pelo ambiente (é incluindo entre estes estímulos o passar do tempo físico). 2

Caracterização! Forte acoplamento de um STR com o seu Ambiente: Processamento ativado por estímulos do Ambiente Tempos de Resposta delimitam Estímulos/Respostas - Processamentos devem terminar dentro de prazos (deadlines) - Se terminar fora de prazo sistema falha (falha temporal)! Dados com prazos de validade: Dados desatualizados ou não válidos ( outdated data ) podem conduzir a resultados ou respostas incorretas! Fluxos de controle na execução dos processamentos é definida pelo ambiente: Impossibilidade em muitas aplicações do STR exercer um controle ou limitação nos estímulos provenientes do Ambiente. 3 Conceitos 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! Tempo real crítico ( hard real-time ) Falha temporal pode resultar em consequências catastróficas Necessário garantir requisitos temporais em projeto Exemplo: usina nuclear, industria petroquímica, mísseis! Tempo real não crítico ( soft real-time ) Requisito temporal descreve apenas comportamento desejado Exemplo: multimídia 4

Conceitos Básicos! Modelo de Tarefas (task system) Descrição das propriedades temporais das tarefas no sistema Exemplo: periódicas ou não, com duração conhecida ou não, etc! Carga de Tarefas ( task load ) Descrição de quais tarefas deverão ser executadas Estática: Limitada e conhecida em projeto Dinâmica: Conhecida somente ao longo da execução! Previsibilidade ( predictability ) Capacidade de afirmar algo sobre o comportamento futuro do sistema Determinista: Garante que todos os requisitos temporais serão cumpridos Probabilista: Fornece uma probabilidade para o seu cumprimento 5 Previsibilidade! Previsibilidade ( predictability ) Está associada a capacidade de poder antecipar, em tempo de projeto, se os processamentos em um STR serão executados dentro de seus prazos especificados! Associada a uma previsão determinista todos os deadlines serão respeitados! ou a uma antecipação probabilista baseadas em estimativas, probabilidades são associadas a deadlines definindo as possibilidades dos mesmos serem respeitados! A previsibilidade em STRs determina implicações em todos os níveis: linguagens sistemas operacionais comunicação arquitetura do computador etc 6

Conceitos Básicos! Escalonamento ( scheduling ) Identifica a forma como recursos são alocados às tarefas! Escalonador ( scheduler ) Componente do sistema responsável pela gerência dos recursos! Escala de Execução ( schedule ) Descreve quando cada tarefa ocupa cada recurso! Escalonamento Estático ( static scheduling ) Capaz de oferecer previsibilidade determinista! Escalonamento Dinâmico ( dynamic scheduling ) Capaz de oferecer apenas previsibilidade probabilista 7 Conceitos Básicos! Event-Triggered evento evento! Time-Triggered evento evento 8

Event-Triggered x Time-Triggered! Event-Triggered Evento externo gera interrupção e dispara tarefa Funciona bem com carga pequena Pode falhar no caso de carga pesada Ex: Cano estourado gera chuva de eventos! Time-Triggered Interrupção de relógio a cada T milisegundos (tick) A cada tick alguns sensores e atuadores são acessados Não existem interrupções além das do relógio Problema é selecionar T (carga x atraso) Ex: Relação causa-efeito em trem e cancela 9 Modelos de Tarefas! Descrevem como são as tarefas do sistema Quais as suas propriedades temporais! Ponto de partida para: Análise de escalonabilidade Escolha do suporte Linguagem de programação Sistema operacional Arquitetura do computador! Varia muito de sistema para sistema 10

Propriedades Temporais das Tarefas chegada (arrival) liberação (release) tempo de execução (execution time) deadline atraso na liberação (release jitter) início (start time) conclusão (finishing time) tempo (time) Folga = Deadline - Liberação - Tempo de execução Atraso = MAX( 0, Conclusão - Deadline ) Tempo de resposta = Conclusão - Chegada 11 Tarefas Periódicas ativação 1 ativação 2 ativação 3 P i P i P i D i D i D i J i C i C i C i a 1 r 1 st 1 ct 1 d 1 a 2 =r 2 st 2 ct 2 d 2 a 3 st 3 ct 3 d 3 t r 3 Figura 2.1: Ativações de uma tarefa periódica 12

Tarefas Esporádicas requisição 1 requisição 2 min i min i D i D i C i C i 0 a 1 st 1 ct 1 d 1 st 2 = a 2 ct 2 Figura 2.2: Ativações de uma tarefa esporádica d 2 t 13 Propriedades Temporais das Tarefas! Deadline Hard Perda do deadline pode ter consequências catastróficas Exemplo: abrir válvula em duto de alta pressão! Deadline Firm Perda do deadline NÃO tem consequências catastróficas Não existe valor em terminar a tarefa após o deadline Exemplo: amostrar periodicamente valor físico! Deadline Soft Perda do deadline NÃO tem consequências catastróficas Existe valor em terminar a tarefa com atraso Exemplo: movimento de objeto em vídeo game 14

Propriedades Temporais das Tarefas! Tarefa Periódica Tarefa é ativada a cada P unidades de tempo Instantes de chegada podem ser calculados a partir do inicial Exemplo: controle de processo via laço de realimentação! Tarefas Esporádica Instantes de chegada não são conhecidos Existe um intervalo mínimo de tempo entre chegadas Exemplo: atendimento a botão de alarme! Tarefa Aperiódica Nada é sabido quanto as ativações da tarefa Exemplo: aparecimento de objeto em tela de radar 15 Complexidade da Aplicação STR Estímulo tarefa Ambiente Resposta Sistema Simples: Tarefa Única Responde ao Ambiente STR Máquina 2 Máquina 1 tarefa Estím ulo tarefa tarefa Ambiente Resposta tarefa tarefa Sistema Complexo: Grafo de Tarefas Responde ao Ambiente 16

Propriedades Temporais das Tarefas! Relações de precedência entre tarefas Tarefa A é predecessora da tarefa B quando B somente pode iniciar depois que A estiver concluída Neste caso, tarefa B é sucessora da tarefa A Representado por A > B Exemplo: envio de mensagem de A para B! Atividade Conjunto de tarefas interligadas por relações de precedência Representada por um grafo onde - Nodos são as tarefas - Flexas são as relações de precedência 17 Propriedades Temporais das Tarefas Atividade com Relações de Precedência LINEARES T1 Atividade com Relações de Precedência ARBITRÁRIAS T1 T2 T2 T3 T3 T4 T5 18

Propriedades Temporais das Tarefas! Relações de exclusão mútua entre tarefas Tarefas A e B apresentam exclusão mútua quando NÃO podem executar simultaneamente! Exemplos: Estrutura de dados compartilhada Arquivo Controlador de periférico 19 Diferentes Abordagens Escalonamento de Tempo Real Abordagens com Garantia em Tempo de Projeto Abordagens com Garantia Dinâmica Abordagens de Melhor Esforço Executivo Cíclico Dirigido a Prioridades Técnicas Adaptativas Figura 2.3: Abordagens de Escalonamento de Tempo Real 20

Abordagens com Garantia em Projeto! Oferece previsibilidade determinista, com análise feita em projeto Carga limitada e conhecida em projeto ( Hipótese de Carga ) Suposto um limite para faltas ( Hipótese de Faltas )! Dividida em duas partes: Análise da escalonabilidade Construção da escala de execução! Vantagens Determina em projeto que todos os deadlines serão cumpridos Necessário para aplicações críticas Teoria serve de base para abordagens sem garantia! Desvantagens Necessário conhecer exatamente a carga Necessário reservar recursos para o pior caso Difícil determinar o pior caso em soluções off-the-shelf Gera enorme subutilização de recursos 21! Todo o trabalho de escalonamento é feito em projeto! Resultado é uma grade de execução ( time grid )! Grade determina qual tarefa executa quando Executivo Cíclico! Garantia obtida através de uma simples inspeção da escala! Durante a execução: Pequeno programa lê a grade e dispara a tarefa aproprida Quando a grade termina ela é novamente repetida! Vantagem: Comportamento completamente conhecido! Desvantagem: Escalonamento muito rígido, tamanho da grade! Muito usado em aplicações embutidas ( Embedded Systems ) 22

! Restrições devem ser observadas na construção da grade Período, tempo máximo de computação Precedências, exclusões, etc! Escalonamento pode ser: Preemptivo - Tarefa pode ser suspensa e depois retomada Não Preemptivo - Depois que inicia tarefa vai até o fim! Exemplo: T1: P1=5 C1=2 D1=4 T2: P2=2 C2=1 D2=1 Executivo Cíclico 2 1 2 1 2 1 2 1 2 23! Cada tarefa recebe uma prioridade! Prioridades podem ser fixas ou variáveis! Escalonamento em geral é preemptivo Prioridades + Teste de Escalonabilidade! Teste executado em projeto determina escalonabilidade Teste considera forma como prioridades são atribuidas Complexidade depende do modelo de tarefas! Na execução: Escalonador dispara as tarefas conforme as prioridades! Vantagem: Suporta tarefas esporádicas, não tem grade! Desvantagem: Testes limitados a alguns modelos de tarefas! Usado em aplicações que exigem garantia mas são muito complexas para construir uma grade 24

Prioridades + Teste de Escalonabilidade! Políticas mais utilizadas: Earliest Deadline First - EDF Rate Monotonic - RM Deadline Monotonic - DM! Exemplo usando RM: T1: P1=5 C1=2 D1=4 Prioridade menor T2: P2=2 C2=1 D2=1 Prioridade maior 2 2 2 2 2 1 1 1 1 25 Abordagens com Melhor Esforço ou Garantia Dinâmica! Não existe garantia que os deadlines serão cumpridos! O Melhor Esforço será feito neste sentido! Capaz de fornecer análise probabilista 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! Existe a possibilidade de Sobrecarga ( overload ) Não é possível cumprir todos os deadlines Situação natural uma vez que não existe garantia off-line! Vantagens Não é necessário conhecer o pior caso Sistemas mais baratos, projetados para o caso médio Não é necessário conhecer a carga exatamente! Desvantagens A princípio qualquer deadline poderá ser perdido 26

Descarte de Tarefas na Sobrecarga! Em sobrecarga NÃO EXECUTA algumas tarefas! As tarefas executadas cumprem o deadline Mais apropriado para tarefas com deadline firm! Pode cancelar: Ativações individuais 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! Algumas soluções utilizam um parâmetro de descarte s Distância temporal entre ativações descartadas deve ser s! Abordagem semelhante: aumenta o período das tarefas 27! Em sobrecarga ATRASA algumas tarefas Perda de Deadlines na Sobrecarga! Baseado em função tempo-valor ( time-value function )! Cada tarefa possui uma função que Indica o valor da tarefa para o sistema em função do seu instante de conclusão! Objetivo é maximizar o valor total do sistema Valor do sistema é o somatório do valor das tarefas executadas Tarefas podem possuir importância (peso) diferentes Valor Tempo de Resposta 28

Redução da Precisão na Sobrecarga! Em sobrecarga DIMINUI a precisão de algumas tarefas! Objetivo é fazer o trabalho 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! Aparece associada com a técnica de Computação Imprecisa ( Imprecise Computation ) 29