Sistemas de Tempo-Real



Documentos relacionados
Aula 4. Conceitos básicos de escalonamento. Sistemas de Tempo-Real

Executivo Cíclico. Executivo Cíclico Introdução. Sistemas de Tempo Real: Executivo Cíclico Introdução. Executivo Cíclico Exemplo

Sistemas de Tempo-Real

}Escalonamento. Parte III - Sistemas Operacionais. Cap. 2 Processos. Escalonamento de Processos. Quando escalonar? Comportamento de Processos

Sistemas de Tempo-Real

Aula 01 Introdução Custo de um algoritmo, Funções de complexidad e Recursão

Teoria de Jogos. Algoritmo Minimax e Alfa-Beta AED

Tipos de problemas de programação inteira (PI) Programação Inteira. Abordagem para solução de problemas de PI. Programação inteira

Universidade dos Açores Curso de Especialização Tecnológica Gestão da Qualidade Matemática

Sistemas de Tempo-Real 2

UNIPAC Araguari FACAE - Faculdade de Ciências Administrativas e Exatas SISTEMAS DE INFORMAÇÃO

Teoria dos Grafos. Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada.

Nº horas ESTRATÉGIAS RECURSOS AVALIAÇÃO

Sistemas de Tempo Real

CAP. II RESOLUÇÃO NUMÉRICA DE EQUAÇÕES NÃO LINEARES

Ferramenta 8: Fluxograma

6 CONCEPÇÃO BÁSICA DO SISTEMA DE APOIO À DECISÃO

Agenda. O que é Testar? Por que testar? Quando testar? Processo de teste Níveis de teste Tipos de teste Classificação dos testes.

Método do Lugar das Raízes

Forma Normal de Boyce-Codd

UNIVERSIDADE DO ESTADO DE SANTA CATARINA CENTRO DE CIÊNCIAS TECNOLÓGICAS CCT DEPTO. DE ENG. DE PRODUÇÃO E SISTEMAS 1 REDES PERT-CPM

Matemática Aplicada às Ciências Sociais

Escalonamento de Processos

INSTITUTO SUPERIOR TÉCNICO Análise e Síntese de Algoritmos. RESOLUÇÃO DA RESPESCAGEM DO 2 o TESTE

Jorge Figueiredo, DSC/UFCG. Análise e Técnicas de Algoritmos Jorge Figueiredo, DSC/UFCG. Análise e Técnicas de Algoritmos 2005.

1. Noção de algoritmo

Resumo: Estudo do Comportamento das Funções. 1º - Explicitar o domínio da função estudada

Aula 5 Escalonamento usando prioridades fixas

AGRUPAMENTO DE ESCOLAS DA SÉ GUARDA. MATEMÁTICA B Curso de Artes Visuais

As sete ferramentas da qualidade (Seven Tools)

FOLHA 5. Problemas de Transportes e de Afectação

Planeamento do Treino É o processo de análise, definição e sistematização das diferentes operações inerentes ao desenvolvimento e formação dos atletas

A. Equações não lineares

Informação-Prova de Equivalência à disciplina de: Aplicações Informáticas B. 1. Introdução. Ensino Secundário. Ano letivo de 2011/12

Engenharia Econômica

BIOESTATÍSTICA. Parte 1 - Estatística descritiva e análise exploratória dos dados

PROGRAMAÇÃO LINEAR. Formulação de problemas de programação linear e resolução gráfica

Método Simplex Revisado

Universidade Paulista

Vírgula flutuante Aula 6

INF 1771 Inteligência Artificial

Resolução Numérica de Equações Parte I

Modelos de Ciclo de Vida de Software

Técnicas estatísticas para análise de dados e de resultados de modelos de simulação

Teoria Básica e o Método Simplex. Prof. Ricardo Santos

GESTÃO DA MANUTENÇÃO

13/09/2011. Atividades. Aula 5: REDE PERT/CPM PRINCÍPIOS DO PERT-CPM

Avaliação e Desempenho Aula 1 - Simulação

Algoritmos e Estruturas de Dados I. Recursividade. Pedro O.S. Vaz de Melo

Sumários de REDES de COMUNICAÇÃO

Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Capítulo 6 - Threads

Unidade 10 Análise combinatória. Introdução Princípio Fundamental da contagem Fatorial

IMPLANTAÇÃO DO PLANO DE CARGOS E SALÁRIOS PELA METODOLOGIA DE PONTOS

FUNÇÕES. É uma seqüência de dois elementos em uma dada ordem. 1.1 Igualdade. Exemplos: 2 e b = 3, logo. em. Represente a relação.

Escola Secundária c/3º CEB José Macedo Fragateiro. Curso Profissional de Nível Secundário. Componente Técnica. Disciplina de

IND 1115 Inferência Estatística Aula 8

Aula 8. Escalonamento de tarefas aperiódicas. Sistemas de Tempo-Real

Programação Linear. Problema de produção. Transparências de apoio à disciplina de Métodos de Apoio à Decisão. Matéria prima disponível diariamente

UNIVERSIDADE FEDERAL DA PARAÍBA DEPARTAMENTO DE MATEMÁTICA PROJETO PIBID FUNÇÃO AFIM ROTEIRO DE AULA

Escalonamento de Tarefas

Metodologias de Programação

cuja distribuição é t de Student com n 1 graus de liberdade.

Análise de algoritmos. Parte II

Departamento de Engenharia Informática Licenciatura em Engenharia Informática Computadores e Sistemas Sistemas de Tempo Real

Metodologias de alinhamento PETI. Prof. Marlon Marcon

Planilha Eletrônica - Microsoft Excel -

PLANO DE ENSINO DE MATEMÁTICA 1ª SÉRIE DO ENSINO MÉDIO 1º BIMESTRE DIRETORIA DE ENSINO REGIÃO CAIEIRAS

Programação. Folha Prática 4. Lab. 4. Departamento de Informática Universidade da Beira Interior Portugal Copyright 2010 All rights reserved.

A recuperação foi planejada com o objetivo de lhe oportunizar mais um momento de aprendizagem.

Exercícios de Método Simplex Enunciados

ESTRUTURAS DE BETÃO I

Sistemas de Tempo-Real. Acesso exclusivo a recursos partilhados

Teste de Funções por Cobertura do Grafo de Fluxo de Controle

Processo de Desenvolvimento de Software

Proporcionar a modelagem de sistemas utilizando todos os conceitos da orientação a objeto;

Contabilometria. Análise Discriminante

PLANEJAMENTO UTILIZANDO GANTTPROJECT

Jogos Bayesianos Estratégias e Equilíbrio Aplicações. Jogos Bayesianos. Prof. Leandro Chaves Rêgo

SISTEMAS EMBARCADOS. Escalonamento e Tempo Real. Prof. André Schneider de Oliveira

OBSERVAÇÕES: EXERCÍCIOS

Gerenciamento de TEMPO

Grupo de Classes de Ideais em Reticulados Quadráticos

Sistemas de Controle I

Circuito integrado Temporizador 555. Circuito Integrado Temporizador (Timer) 555

Transcrição:

Aula Conceitos básicos de escalonamento Escalonamento de tarefas, taxonomia básica Técnicas de escalonamento preliminares Escalonamento estático cíclico Aula anterior () Executivos de tempo real Os estados de execução de uma tarefa (diagrama de transição de estados) A arquitectura genérica de um kernel de tempo-real Os componentes básicos de um kernel de tempo-real, estruturas de dados e funções Exemplos: ReTMiK, OReK, SHaRK e RTAI

Complexidade temporal Medida do crescimento do tempo de execução de um algorítmo quando aumenta a dimensão do problema (i.e. dos dados de entrada) Costuma expressar-se com o operador O( ) Aritmética do operador O( ), n=dimensão do problema, k=cons. O(k) = O() O(kn) = O(n) O(k n m +k n m- +...+k m+ ) = O(n m ) for (k=0;k<n;k++) a[k]=0; Compl. = O(N) for (k=0;k<n-;k++) for (m=k;m<n;m++) if a[k]<a[m] swap(a[k],a[m]); Compl. = O(N ) Cálculo das permutações de um dado conjunto A={a i, i=..n} Compl. = O(N N ) Complexidade temporal Classes P e NP em problemas de decisão P problema que se resolve em tempo polinomial, O(p(N)) NP problema que não se resolve em tempo polinomial mas em que cada solução se pode verificar em tempo polinomial Noção de NP-complete e NP-hard A complexidade temporal é uma importante medida de desempenho de um algorítmo (e.g. de escalonamento)

Definição de escalonamento Escalonamento de tarefas Sequência de execução de tarefas num ou mais processadores Aplicação de R + (tempo) em N 0 + (conjunto de tarefas), fazendo corresponder a cada instante de tempo t uma tarefa i que está executando nesse instante. σ: R + N 0 + i= σ(t), t R + (i=0 => processador livre) σ(t) é uma função degrau cujo traçado é um gráfico de Gantt J J J J={J, J, J } (conjunto de tarefas) 5 σ(t) t t Definição de escalonamento Um escalonamento diz-se praticável (feasible schedule) se cumpre as restrições associadas ao conjunto de tarefas (temporais, não preempção, recursos partilhados, precedências) Um conjunto de tarefas diz-se escalonável (schedulable task set) se existe pelo menos um escalonamento praticável para esse conjunto. 6

Problema de escalonamento Dados: um conjunto de tarefas restrições que lhe estão associadas (ou função de custo) Encontrar uma atribuição de tempo de processador às tarefas que lhes permita : executar as tarefas completamente cumprir as suas restrições (ou minimizar a função de custo) e.g. J = {J i (C i =, a i =, D i =5, i=..5)} 7 σ(t) 5 t Algorítmos de escalonamento Um algorítmo de escalonamento é um método de resolução de um problema de escalonamento. Nota: não confundir algorítmo de escalonamento com escalonamento Cassificação de algorítmos de escalonamento: Preemptivo versus não-preemptivo Estático versus dinâmico Off-line versus on-line Óptimo versus sub-óptimo (heurístico) Com garantias de pior caso versus melhor possível (best effort) 8

Algorítmos preliminares EDD - Earliest Due Date (Jackson, 955) Tarefas de única instância e disparadas sincronamente: J = { J i (C i, a i =0, D i ) i=..n} Executar as tarefas por ordem não decrescente de deadline minimiza o atraso máximo L max (J) = max i (f i - d i ) O(n.log(n)) σ EDD(t) e.g. J = {J (,5), J (,), J (,), J (,7)} L max,edd (J) = - 0 6 t 9 Algorítmos preliminares EDF - Earliest Deadline First (Liu and Layland, 97; Horn, 97) Tarefas de única instância ou periódicas, assíncronas, preemptivas: J = { J i (C i, a i, D i ) i=..n)} Executar em cada instante a tarefa com deadline mais próxima minimiza o atraso máximo L max (J) = max i (f i - d i ) O(n.log(n)), Óptimo entre todos desta classe σ EDF(t) J = {J (,0,5), J (,,5), J (,,), J (,,8)} L max,edf (J) = - 0 6 t 0 5

Algorítmos preliminares BB Branch and Bound (Bratley, 97) Tarefas de única instância ou periódicas, assíncronas, não preemptivas: J = { J i (C i, a i, D i ) i=..n} Construção do escalonamento por busca exaustiva no espaço de permutações (árvore) O(n!) t=0 J = {J (,0,5), J (,,), J (,,), J (,,7)} t= t= t= t= t=5 t=5 t= t=6 t=6 t=6 t=6 Escalonamento de tarefas periódicas Os instantes de activação são conhecidos a priori Γ = { τ i (C i, Φ i, T i, D i, i=..n)} a i,k = Φ i + (k-)t i Assim, o escalonamento pode ser construído quer Com o sistema em execução (on-line) a próxima tarefa é escolhida à medida que o sistema vai funcionando. Antes do sistema entrar em execução (off-line) a ordem de execução é determinada antes do sistema entrar em funcionamento e é guardada numa tabela que é lida em tempo de execução para iniciar as tarefas (escalonamento estático cíclico). 6

Escalonamento estático cíclico A tabela é organizada em micro-ciclos (uc) de duração fixa para que, quando varrida, se obtenha o carácter periódico das tarefas. Os micro-ciclos são disparados por um timer. O varrimento contínuo da tabela resulta num padrão cíclico global chamado macro-ciclo (MC) MC t t t t t t t t uc Γ = { τ i (C i, Φ i, T i, D i, i=..n)} uc = MDC(T i ) (GCD) MC = MMC(T i ) (LCM) Φ i =0,C i =ms, T =5ms T =0ms T =5ms t t t Escalonamento estático cíclico A favor Implementação simples (timer+tabela) Overhead de execução muito baixo (dispatcher) Permite optimização do escalonamento (e.g. controlo de jitter, relações de precedência) Contra Pouco escalável (alterações nas tarefas podem causar grandes alterações na tabela, em particular podem levar a tabelas enormes!) Pouco robusto a sobrecargas (sensível ao efeito dominó) 7

Escalonamento estático cíclico Construção da tabela Calcular o micro-ciclo uc e o macro-ciclo MC Expressar os períodos e fases iniciais em micro-ciclos Determinar os ciclos onde as tarefas são activadas Utilizando um critério de escalonamento adequado, determinar a ordem de execução das tarefas activas Verificar se todas as tarefas activas num micro-ciclo podem ser completamente executadas nele. Senão algumas terão que ficar para ciclos seguintes Poderá ser necessário partir uma tarefa em várias partes de modo a cada uma poder ser executada dentro de um micro-ciclo. 5 Resumo da Aula 5 O conceito de complexidade temporal Definição de escalonamento e de algorítmo de escalonamento Algumas técnicas preliminares de escalonamento (EDD, EDF, BB) Escalonamento estático cíclico 6 8

Aulas práticas 5- Mini-projecto! 7 Trabalho para a Aula 6 Virtudes do escalonamento estático cíclico Resumir e apresentar Xu and Parnas (000). Priority scheduling versus Pre-run-time scheduling. (Journal of) Real-Time Systems, 8:7-, 000. 8 9