Aula 5 Escalonamento usando prioridades fixas



Documentos relacionados
Sistemas de Tempo-Real

Sistemas de Tempo-Real

Aula 2 Modelos computacionais

Sistemas de Tempo-Real

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

Escalonamento (Tarefas Esporádicas)

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

Sistemas de Tempo-Real

Sistemas de Tempo-Real

Integrating Multimedia Applications in Hard Real-Time Systems. Introdução - CM são sensíveis a delay e variação no delay (Jitter)

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

Sistemas de Tempo Real: Conceitos Básicos

Gerência do Processador

Servidores de Aperiódicas

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

Gestor de Processos. Gestor de Processos

Multiprocessamento. Sérgio Campos

Escalonamento no Linux e no Windows NT/2000/XP

Gestor de Processos Núcleo do Sistema Operativo. Sistemas Operativos 2011 / Gestor de Processos

4. GERÊNCIA DE PROCESSADOR (Escalonamento de processos)

Arquitetura e Organização de Computadores

Arquiteturas de Software

Entrada e Saída. Interface entre periféricos, processador e memória. Fonte: Minho - Portugal 1

Prof. Antonio Fundamentos de Sistemas Operacionais UNIP/2015

Sistemas de Tempo Real

Gestor de Processos Núcleo do Sistema Operativo. Sistemas Operativos 2012 / Gestor de Processos

Sistemas de Tempo-Real

Processos e Threads (partes I e II)

Algoritmos de Escalonamento II

Sistemas Operacionais

Luís Filipe Terra Ferreira, Tiago Costa Gonçalves,

Conceitos básicos de Tempo Real

Gerência de processos Estudos de caso - BSD Unix

Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Gerência do Processador

Timer e serviços do Timer

Sistemas de Telecomunicações I

Máquina de estados UNIX O

Máquina de estados UNIX O. Sistemas Operacionais 2008/1Profa. Patricia S.O. computação: recursos D. S.O S.O. controla eventos no sistema de

Gerência do Processador

Programação de Sistemas para Tempo Real Capítulo 1. Luiz Affonso Guedes DCA-CT-UFRN

Sistemas Operativos I

Sistemas Operacionais

Sistemas Operacionais

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

Sistemas de Tempo-Real. Acesso exclusivo a recursos partilhados

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

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

Computação Paralela. Desenvolvimento de Aplicações Paralelas João Luís Ferreira Sobral Departamento do Informática Universidade do Minho.

Gestor de Processos Núcleo do Sistema Operativo

LABORATÓRIO DE SISTEMAS OPERACIONAIS. PROFª. M.Sc. JULIANA HOFFMANN QUINONEZ BENACCHIO

Diagrama de Precedências

Sistema Operacional. Prof. Leonardo Barreto Campos 1

Carlos Eduardo Batista Centro de Informática - UFPB bidu@ci.ufpb.br

RCO2. Introdução à camada física

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

Capítulo 2 Processos e Threads Prof. Fernando Freitas

Diagrama de transição de Estados (DTE)

SISTEMAS OPERACIONAIS

Gerência de Processador

Sistemas de Tempo-Real. Acesso exclusivo a recursos partilhados

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

Prof.: Roberto Franciscatto. Capítulo 1.2 Aspectos Gerais

Gerência de processos Requisitos fundamentais

Programação e Scheduling

Processos. Estados principais de um Processo: Contexto de um Processo. Nível de um Processo.

Estruturas do Sistema de Computação

Sistemas Operacionais

Balanceamento de linhas de produção

Sistemas Operacionais. Escalonamento de Processo. Prof. Dr. Márcio Andrey Teixeira

GERENCIAMENTO DO PROCESSADOR. Prof. Maicon A. Sartin

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

ANÁLISE ESSENCIAL CESAR BEZERRA TEIXEIRA

Interrupções. As interrupções são casos especiais de chamadas de procedimentos.

Aula 9 Outros aspetos do escalonamento de tempo-real

Universidade Federal de Alfenas

Breve introdução ao Real Time Application Interface (RTAI)

Organização de Computadores 1

Introdução aos Sistemas Operativos

SISTEMAS OPERACIONAIS

Disciplina: Sistemas Operacionais - CAFW-UFSM Professor: Roberto Franciscatto

Licenciatura em Engenharia Informática Sistemas Distribuídos I 2ª chamada, 6 de Julho de º Semestre, 2004/2005

Abordagens de Escalonamento na Perspectiva da Engenharia

COS767 - Modelagem e Análise Aula 2 - Simulação. Algoritmo para simular uma fila Medidas de interesse

Organização e Arquitetura de Computadores

Sistemas Operacionais Processos e Threads

Capítulo 2. Processos e Threads. Processos e threads

Memória Virtual. Prof. Dr. José Luís Zem Prof. Dr. Renato Kraide Soffner Prof. Ms. Rossano Pablo Pinto

Sistemas Operativos: Deadlocks

Revisão Ultima aula [1/2]

Até o final de década de 70, os sistemas operacionais suportavam apenas processos com um único thread;

Grupo I Perguntas de resposta rápida (1 valor cada)

Modelos, em escala reduzida, de pontes e barragens. Simuladores de voo (ou de condução), com os quais se treinam pilotos (ou condutores).

Sistemas Operacionais

PPD: Balanceamento de Carga e Scheduling 2

Transcrição:

Sistemas de Tempo-Real Aula 5 Escalonamento usando prioridades fixas Escalonamento on-line com prioridades fixas O critério Rate-Monotonic limite de utilização de CPU Os critérios Deadline-Monotonic e prioridades fixas arbitrárias análise do tempo de resposta de pior caso Adaptado dos slides desenvolvidos pelo Prof. Doutor Luís Almeida para a disciplina Sistemas de Tempo-Real Revisto em Out/2009 por Paulo Pedreiras DETI * STR 2009/2010 1

Aula anterior (4) Introdução ao escalonamento de tarefas O conceito de complexidade temporal Definição de escalonamento e de algoritmo de escalonamento Algumas técnicas preliminares de escalonamento (EDD, EDF, BB) Escalonamento estático cíclico DETI * STR 2009/2010 2

Escalonamento on-line com prioridades fixas O escalonamento é construído com o sistema em funcionamento (on-line) e baseia-se num parâmetro estático (prioridade). A fila de tarefa prontas a executar é ordenada por prioridades decrescentes. Executa primeiro a que tem maior prioridade. (com preempção) Sempre que no topo da fila de tarefas prontas está uma tarefa com maior prioridade do que a que está a executar, esta última é suspensa (regressa à fila) e a nova tarefa é executada. Complexidade O(n) Fila de tarefas prontas... J 3 i J 2 k J 1 n Topo da fila Escalonador Fila ordenada por prioridades fixas DETI * STR 2009/2010 3

Escalonamento on-line com prioridades fixas A favor Facilmente escalável (alterações nas tarefas podem ser imediatamente tidas em conta pelo scheduler) Acomoda facilmente tarefas esporádicas Comportamento determinístico em sobrecargas (apenas as tarefas menos prioritárias são afectadas) Contra Implementação mais complexa (requer um kernel de prioridades fixas) Overhead de execução mais elevado (scheduler + dispatcher) Sobrecargas (e.g. devido a erros de projecto ou programação) ao nível de prioridades elevadas podem bloquear o sistema DETI * STR 2009/2010 4

Escalonamento on-line com prioridades fixas Atribuição de prioridades Inversamente proporcional ao período (RM Rate Monotonic) (óptimo em relação aos critérios de prioridades fixas) Inversamente proporcional à deadline (DM Deadline Monotonic) (óptimo quando D<=T) Proporcional à importância da tarefa (pode causar uma perda de eficiência não óptimo) DETI * STR 2009/2010 5

Escalonamento on-line com prioridades fixas Verificação de escalonabilidade Como o escalonamento só é construído on-line pode ser importante saber a priori se um dado conjunto de tarefas cumpre ou não os seus requisitos temporais. Existem dois tipos principais de testes de escalonabilidade: Baseados na taxa de utilização do CPU Baseados no tempo de resposta DETI * STR 2009/2010 6

Escalonamento RM Testes para RM baseados na taxa de utilização (com preempção, n tarefas independentes e D=T) Menor majorante de Liu&Layland (1973) U(n) = Σ n i=1 (C i /T i ) n(21/n -1) => Uma activação por período garantida Majorante hiperbólico de Bini&Buttazzo&Buttazzo (2001) Π n (C /T i=1 i i +1) 2 => Uma activação por período garantida DETI * STR 2009/2010 7

Escalonamento RM Significado do teste de utilização de Liu&Layland U(n) > 1 conjunto não escalonável (overload) condição necessária U(n) Majorante conjunto escalonável condição suficiente 1 U(n) Majorante situação indeterminada Liu&Layland U(1) 1 U(2) 0.83 U(3) 0.78... U( ) ln(2) ~=0.69 U 1 0.69 Conjuntos com muitas tarefas (N>10) DETI * STR 2009/2010 8

Escalonamento RM exemplo 1 Tabela de propriedades das tarefas τ i T i C i 1 2 0.5 2 3 0.5 3 6 2 Activação síncrona τ 3 τ 2 t=6 U = 0.5/2 + 0.5/3 + 2/6 U = 0.75 < 0.78 1 activação por período garantida DETI * STR 2009/2010 9

Escalonamento RM exemplo 2 Tabela de propriedades das tarefas τ i T i C i 1 2 0.5 2 3 0.5 3 6 3 Activação síncrona τ 3 τ 2 t=6 U = 0.5/2 + 1/3 + 2/6 = 0.92 > 0.78 1 activação por período NÃO garantida mas praticável DETI * STR 2009/2010 10

Escalonamento RM exemplo 3 Tabela de propriedades das tarefas τ i T i C i 1 3 1 2 4 1 3 6 2.1 Activação síncrona τ 3 τ 2 Perda de deadline t=6 U = 1/3 + 1/4 + 2.1/6 = 0.93 > 0.78 => 1 activação por período NÃO garantida, com perda de deadline em τ 3 DETI * STR 2009/2010 11

Escalonamento RM casos particulares τ 2 U = 1/2 + 2/4 = 1 t=4 τ 2 U = 1/2 + 2/5 = 0.9 t=5 DETI * STR 2009/2010 12

Escalonamento DM Testes de escalonabilidade para DM Quando uma tarefa tem um período de activação relativamente lento mas necessita de ser atendida dentro de um prazo mais curto pode definir-se uma deadline menor que o período e escalonar as tarefas pela deadline. Neste caso também se podem usar os testes baseados em utilização mas considerando a deadline em vez do período, i.e. U (n)=σ n i=1 (C i /D i ) n(21/n -1) Contudo, este teste fica muito pessimista! (C 1 =1,T 1 =6,D 1 =2) t=6 DETI * STR 2009/2010 13

Análise do tempo de resposta Para prioridades fixas arbitrárias, incluindo RM, DM e outras, a análise do tempo de resposta permite realizar um teste de escalonabilidade que nas condições consideradas (preempção e activação síncrona mais independência) é necessário e suficiente (i.e. exacto!). Tempo de resposta de pior caso = máximo intervalo de tempo desde a activação até à terminação. Rwc i = max k (f i,k a i,k ) Teste de escalonabilidade com tempo de resposta Calcular Rwc i i i, Rwc i D i conjunto escalonável DETI * STR 2009/2010 14

Análise do tempo de resposta O tempo de resposta de pior caso ocorre quando uma tarefa é activada em simultâneo com todas as tarefas de maior prioridade (instante crítico) Rwc 2,1 Rwc 2,2 τ 2 Calculo de Rwc i i, Rwc i = I i + C i t=5 I i = Σ k hp(i) Rwc i /T k * C k nº de vezes que a tarefa k de maior prioridade é activada no intervalo Rwc i I i interferência causada pela execução de tarefas de maior prioridade DETI * STR 2009/2010 15

Análise do tempo de resposta A resolução da equação do tempo de resposta faz-se usando um processo iterativo que ou diverge (Rwc i >D i ) ou converge num número finito de passos ( Rwc i (m+1)=rwc i (m)=rwc i ) Rwc i (0) = Σ k hp(i) C k + C i Rwc i (m+1) = Σ k hp(i) Rwc i (m)/t k * C k + C i DETI * STR 2009/2010 16

Análise do tempo de resposta Tabela de propriedades das tarefas τ i T i C i 1 2 0.5 2 3 0.5 3 6 3 Instante crítico τ 3 τ 2 Rwc 1 :? Rwc 2 :? t=6 DETI * STR 2009/2010 17

Análise do tempo de resposta Tabela de propriedades das tarefas τ i T i C i 1 2 0.5 2 3 0.5 3 6 3 Instante crítico τ 3 τ 2 t=6 Rwc 1 : Rwc 1 (0) = C 1 = 0.5 Rwc 2 : Rwc 2 (0) = C 1 + C 2 = 1 Rwc 2 (1) = Rwc 2 (0)/T 1 *C 1 + C 2 = 1 Rwc 2 = 1 DETI * STR 2009/2010 18

Análise do tempo de resposta Tabela de propriedades das tarefas τ i T i C i 1 2 0.5 2 3 0.5 3 6 3 Instante crítico τ 3 τ 2 Rwc 3 :? t=6 DETI * STR 2009/2010 19

Análise do tempo de resposta Tabela de propriedades das tarefas Instante crítico τ i T i C i 1 2 0.5 2 3 0.5 3 6 3 τ 3 τ 2 t=6 Rwc 3 : Rwc 3 (0) = C 1 +C 2 +C 3 = 4 Rwc 3 (1) = Rwc 3 (0)/T 1 *C 1 + Rwc 3 (0)/T 2 *C 2 + C 3 = 5.5 Rwc 3 (2) = Rwc 3 (1)/T 1 *C 1 + Rwc 3 (1)/T 2 *C 2 + C 3 = 5.5 Rwc 3 = 5.5 DETI * STR 2009/2010 20

Restrições às análises apresentadas Os resultados anteriores têm de ser modificados no caso de: Não-preempção Não independência: Recursos partilhados Precedências E é necessário ter em conta o overhead do SO ou do Executivo (e.g., nas mudanças de contexto, no atendimento da interrupção de contagem do tempo) Bem como o tempo gasto no atendimento de interrupções assíncronas DETI * STR 2009/2010 21

Impacto da não-preempção Tabela de propriedades das tarefas τ i T i C i 1 2 0.5 2 3 0.5 Executa sem preempção τ 3 τ 2 3 6 3 t=6 Bloqueio e perda de deadline DETI * STR 2009/2010 22

Resumo da Aula 5 Escalonamento on-line usando prioridades fixas O critério de escalonamento Rate Monotonic análise de escalonabilidade baseada na utilização O critério Deadline Monotonic e de prioridade fixa arbitrária Análise usando tempo de resposta de pior caso. DETI * STR 2009/2010 23