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

Documentos relacionados
Sistemas de Tempo-Real

RELÓGIOS. (d) Entre 101 e 99 milisegundos. (e) Entre 102 e 98 milisegundos.

Abordagens de Escalonamento

Algoritmos de Escalonamento II

Escalonamento (Tarefas Esporádicas)

Conceitos básicos de Tempo Real

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

Escalonamento em Sistemas de Tempo Real

Conceitos Básicos dos Sistemas de Tempo Real

Sistemas de Tempo-Real

Variância dos Tempos de Resposta

Sistemas de Tempo-Real

Fundamentos de Sistemas Operacionais

Escalonamento de Tarefas

Sistemas de Tempo-Real

Escalonamento (Algoritmos Clássicos)

Sistemas de Tempo-Real

Notas da Aula 11 - Fundamentos de Sistemas Operacionais

Multiprocessamento. Escalonamento de Processos: Algoritmos. Escalonamento em POSIX. Escalonamento de Threads. Padrão de Execução dum Processo

Aula 9 Outros aspetos do escalonamento de tempo-real

Especificação, Modelação e Projecto de Sistemas Embutidos

Sistemas de Tempo Real

Sistemas Operativos: Escalonamento de Processos

Sistemas Operativos: Implementação de Processos

RTKPIC18. Breve Manual. (Real-Time Kernel PIC18FXX8) 1. Introdução. Pedro Leite nº21526 Ricardo Marau nº Janeiro 2004

1. Caracterização dos Sistemas de Tempo Real. 2. Conceitos Básicos dos Sistemas de Tempo Real. 3. Implementação de Tarefas em Sistemas Pequenos

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

Aula 10. Engenharia de Sistemas Embarcados. Prof. Abel Guilhermino Tópico: Sistemas de Tempo Real

Servidores de Aperiódicas

Sistemas de Tempo Real

Inversão de prioridades

SOP - TADS Escalonamento de Processos

Introdução aos Sistemas de Tempo Real

Aula 5 Escalonamento usando prioridades fixas

Sistemas Operativos: Implementação de Processos

Sistemas Operativos. Sumário. Escalonador da CPU. Por Prioridades Round Robin. ! Algoritmos de escalonamento

Escalonamento de Processos. Estratégia de atribuição do Processador aos Processos

Lista de Exercícios Escalonamento de CPU. 1. Considere o seguinte conjunto de processos, com o tamanho do tempo de burst de CPU dado em milissegundos:

Sistemas Operacionais. Escalonamento de processos

UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS C SISTEMAS OPERATIVOS

Simulação de Sistemas. Adaptado de material de Júlio Pereira Machado (AULA 17)

Aula 10: Escalonamento da CPU

Sistemas Operacionais de Tempo Real. Prof. Andre Luis Meneses Silva

Sistemas Operacionais

Computação Avançada PARTE I

Gestor de Processos. Gestor de Processos

Aplicações para Sistemas Embebidos 2006/2007 1º Exame, 6 de Janeiro de 2007

Estimação do Tempo de Resposta no Pior Caso

Técnicas de Planeamento e Gestão. Folha nº. 2 Planeamento e gestão de projectos 2007/08. Actividades Antecessoras Imediatas A - E -

Fundamentos de Sistemas Operacionais

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

Questões de Provas de Períodos Anteriores

UML Diagramas de Interação

LEIC/LERC 2008/09 Primeiro Teste de Sistemas Operativos

SEM 544 Desenvolvimento de Produtos Mecatrônicos

Processos. Aula Passada. Aula Passada (2) Ciclos de CPU e de I/O (1)

Toward an Architecture-Independent Analysis of Parallel Algorithms

Os Problemas de Optimização Combinatória e a Teoria da Complexidade

Computação Avançada PARTE I

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini /

(a) Maior ou igual ao WECT (b) Inferior ao WECT (c) Exatamente igual ao WECT (d) Mais seguro no entanto sem garantias

Sistemas Operacionais

Escalonamento de Processos

UNIDADE III Aula 2 Multiplexação Em Redes De Comutação Por Circuitos. Fonte: Webaula

Processos. Nuno Ferreira Neves Faculdade de Ciências de Universidade de Lisboa. Fernando Ramos, Nuno Neves, Sistemas Operativos,

Computação Avançada PARTE I

Arquitetura de Sistemas Operativos

UFCD SISTEMA OPERATIVO INSTALAÇÃO E CONFIGURAÇÃO

LEIC/LERC 2009/10 Repescagem do 1º Teste de Sistemas Operativos

DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO SISTEMAS OPERACIONAIS I SEM/12 PROVA I. Tempo de Prova: 100 minutos / Escore Máximo: 300 pontos

Davidson Rodrigo Boccardo

UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS CURSO DE ENGENHARIA ELECTROTÉCNICA

Uma Solução Mista para o Escalonamento Baseado em Prioridades de Aplicações Tempo Real Críticas

Notas da Aula 10 - Fundamentos de Sistemas Operacionais

Lógica de Programação I

ALGORITMOS E ESTRUTURAS DE DADOS 2011/2012 ANÁLISE DE ALGORITMOS. Armanda Rodrigues 3 de Outubro 2011

Lógica Computacional. Indução Matemática. Definições Indutivas. Demonstrações por Indução. Exemplos. 25 Novembro 2013 Lógica Computacional 1

Desempenho de computação paralela

Davidson Rodrigo Boccardo

Simulador de Escalonamento para Sistemas de Tempo Real

Tarefa Orientada 7 Consultas de selecção

Investigação Operacional 2º Semestre 2002/2003 Problema Resolvido

Escalonamento de Tarefas em sistemas monoprocessados

Desenho Técnico e CAD Geometria Plana Desenho Geométrico. Geometria Plana Desenho Geométrico. Geometria Plana Desenho Geométrico

Escalonamento do CPU

Tecnicas Essencias Greedy e Dynamic

Fundamentos de Sistemas Operacionais

Guia del Laboratório 2 Desenho e Implementação de algoritmos paralelos Introdução

Fundamentos de Sistemas Operacionais

Sistemas de Computação. Processos e escalonamento

I. Considere os seguintes processadores A e B, ambos com arquitectura em pipeline, conforme ilustrado

Lógica Computacional. Indução Matemática. Definições Indutivas. Demonstrações por Indução. Exemplos. 12 Dezembro 2016 Lógica Computacional 1

Sistemas Operacionais

Escalonamento (Scheduling)

7.8 DIAGRAMA DE CLASSES

Processos. Escalonamento de Processos

Diferentes Abordagens para Sistemas de Tempo Real

Modelagem Dinâmica. Toda a ação é designada em termos do fim que procura atingir. Niccolo Maquiavel. O pensamento é o ensaio da ação.

Transcrição:

1. O modelo de processos - Notação Comecemos por sumariar a notação tipicamente utilizada durante as aulas teóricas. C D T Γ 1 Γ 1,1 Γ 1,2 0 3 6 9 12 tempo Activação da tarefa Fim da execução da tarefa Prazo de execução relativo da tarefa Figura 1: Ilustração do comportamento temporal das várias instâncias de uma tarefa Podemos ilustrar o comportamento temporal de uma tarefa utilizando uma linha temporal, onde marcamos com caixas a execução de instâncias da tarefa (Γ 1,1, Γ 1,2,...) ao longo do tempo, tal como se encontra na figura 1. As tarefas são designadas pela letra Γ (tau minúsculo, do alfabeto grego). Tipicamente, um sistema terá várias tarefas a funcionar ao mesmo tempo. A cada tarefa é atribuído um número de ordem que a identifica. Assim, cada tarefa é ser designada por Γ i, onde i é o número de ordem da tarefa. Letras minúsculas do alfabeto são também utilizadas para denominar tarefas, em substituição da notação Γ i. Para caracterizar uma tarefa, podemos utilizar um túplo na forma Γ i (C i,d i,t i ), onde: C i D i T i Tempo de execução, no pior caso, da tarefa Γ i (Worst Case Execution Time - WCET). Este tempo deve ser um valor para o tempo máximo que a tarefa demora a executar. Não significa que a tarefa demora sempre este tempo em todas a suas instâncias. Prazo máximo de execução da tarefa Γ i (Deadline Relativo). Este é o tempo limite que a tarefa pode demorar para terminar a execução de uma instância sua. Este tempo é contado relativamente ao tempo de activação da instância tarefa. Período da tarefa Γ i. Ou seja, o tempo entre as chegadas das várias instâncias da tarefa. No caso das tarefas não serem estritamente periódicas, podemos tentar fazer uma aproximação a um modelo periódico utilizando um período que é um tempo mínimo entre chegadas de instâncias das tarefas. Tabela 1: Descrição da notação utilizada (1) Pág. 1/6

Como podemos ver na figura 2, é possível ilustrar o comportamento temporal das várias tarefas utilizando o mesmo tipo de figura apresentado anteriormente. Γ 1 Γ 2 Γ 3 0 5 10 15 t Figura 2: Ilustração do comportamento temporal de um conjunto de tarefas utilizando um mecanismo de escalonamento preemptivo O mecanismo de escalonamento efectua decisões baseado em atributos das tarefas (um atributo tipicamente utilizado para efectuar decisões de escalonamento é o grau de urgência atribuído à tarefa). A mudança entre a execução das tarefas pode ser preemptiva (a execução de uma tarefa pode ser interrompida para que outra seja executada) ou não preemptiva (uma tarefa, depois de iniciar a sua execução, tem de acabar). Na figura 2 podemos ver a execução de um conjunto de três tarefas (Γ 1, Γ 2, Γ 3,) utilizando um mecanismo preemptivo. As tarefas encontram-se ordenadas pelo seu grau de urgência, onde Γ 1 é a tarefa com maior prioridade e Γ 3 é a tarefa de menor prioridade. Para completar o sumário da notação utilizada até agora, podemos acrescentar: I i N ou n Interferência causada à tarefa Γ i por tarefas de prioridade igual ou superior. Número de tarefas no sistema. P i Grau de urgência ou Prioridade da tarefa Γ i. U Utilização da tarefa (igual a C/T) Tabela 2: Descrição da notação utilizada (2) Pág. 2/6

2. Executivo Cíclico Assumindo um conjunto de tarefas puramente periódicas, é possível construir um escalonamento de forma que, a repetida execução deste, fará com que as tarefas executem com a frequência desejada. Essencialmente, o executivo cíclico é uma tabela de chamadas a procedimentos, onde cada procedimento representa o código para uma tarefa (portanto, aqui, a noção de tarefa normalmente utilizada é perdida). A tabela completa é conhecida como o macrociclo de execução. Este macrociclo, encontra-se normalmente dividido em vários microciclos, cada um com uma duração fixa. Por exemplo, quatro microciclos de 10ms podem compor um macrociclo de 40ms. Durante a execução, a cada 10ms será executado sequencialmente cada um dos quatro microciclos. Depois de executados os quatro diferente microciclos (chegamos ao fim do macrocilo), é executado novamente o primeiro e seguidamente todos os outros, a cada 10 ms. Este padrão repete-se infinitamente. A prova de que um sistema que utiliza o executivo cíclico é escalonável é feita por construção. Isto é, se é possível construir um plano do executivo que acomode todas as tarefas, com a periodicidade requerida, então o sistema é escalonável utilizando um executivo cíclico. 2.1 Na tabela seguinte, apresenta-se as características de cinco tarefas Γ 1, Γ 2, Γ 3, Γ 4, Γ 5 : Tarefa C (ms) T (ms) Γ 1 4 10 Γ 2 3 10 Γ 3 2 20 Γ 4 2 20 Γ 5 1 30 Tabela 3: Conjunto de tarefas (1) Construa o plano do executivo para o conjunto de tarefas apresentado. 2.2 Uma abordagem do tipo do executivo cíclico apresenta alguns obstáculos. Apresente brevemente os que lhe parecem mais óbvios. Pág. 3/6

3. Prioridades fixas Uma forma de ultrapassar alguns dos obstáculos do executivo cíclico é utilizar a noção de tarefas existente na maioria dos sistemas operativos, e baseia-se as decisões de escalonamento em um ou mais atributos das tarefas. Um destes atributos poderá ser uma medida do grau de urgência da tarefa a sua prioridade. Assim, podemos basear as nossas decisões de escalonamento na prioridade atribuída a cada tarefa. A prioridade de uma tarefa pode ser fixa a prioridade da tarefa é atribuída na altura da planificação do sistema e mantêm-se sempre igual ao longo do tempo de vida do sistema. Ou pode ser dinâmica, alterando-se ao longo do tempo de vida do sistema conforme outros atributos das tarefas. Durante a execução, o processador é sempre atribuído à tarefa de mais alta prioridade. Por agora, vamo-nos debruçar sobre os mecanismos baseados em prioridades fixas. Utilizando um mecanismo de prioridades fixas, coloca-se a questão de como atribuir prioridades às diversas tarefas. Qual é a atribuição de prioridades que permite uma optimização do escalonamento e consequentemente, uma melhor utilização do sistema? Existem dois métodos de atribuição de prioridades que, pelas suas características, devem ser considerados. Para casos onde o período é igual ao prazo de execução (D=T), utilizamos um método designado de Rate Monotonic (RM). Com este método, as prioridades são atribuídas de acordo com o período das tarefas. A tarefa mais frequente tem a prioridade mais alta. Este método é considerado um método de atribuição de prioridades óptimo, no sentido que, se um conjunto de tarefas é escalonável com uma qualquer atribuição de prioridades fixas, então o conjunto de tarefas é também escalonável utilizando uma atribuição de prioridades segundo RM. Outro método, designa-se por Deadline Monotonic (DM). Este método caracteriza-se por atribuir prioridades mais altas às tarefas com deadline relativo de execução mais baixo. Assim, à tarefa com o menor prazo de execução, é atribuída a prioridade mais alta. Este método é especialmente apropriado quando temos tarefas com um prazo de execução menor que o seu período (D<T). Podemos então verificar que o RM não é mais do que um caso especial do DM. Existe um conjunto de ferramentas de análise analíticas, que permitem avaliar o comportamento de um determinado conjunto de tarefas. Como veremos, estas ferramentas incluem frequentemente um conjunto de restrições à modelação das tarefas. No que se segue resume-se uma desta ferramentas analíticas, baseada numa medida directa do desempenho do sistema a utilização. Pág. 4/6

Uma medida que podemos facilmente retirar de um sistema é a sua utilização. A utilização de um sistema é a fracção de tempo de execução tomada por cada uma das tarefas no sistema. Dividindo o tempo de execução de uma tarefa pelo seu período (C/T), temos a proporção do tempo total que essa tarefa toma. Assim, somando todas as proporções de todas as tarefas, chegamos à utilização do sistema: U = n i= 1 C T i i (1) Onde n é o número total de tarefas no sistema. Prova-se que para um conjunto de tarefas periódicas e independentes, escalonadas de acordo com RM, o sistema será escalonável (quando um sistema cumpre todos os prazos de execução, diz-se um sistema escalonável) se: 1/ n U n(2 1) (2) 1/ n Podemos verificar que, quando n, a expressão n (2 1) aproxima-se de ln 2 0.693. Ou seja, a máxima utilização de um sistema escalonável, utilizando RM, vai diminuindo conforme introduzimos tarefas no sistema. Cuidado, pois esta é uma condição suficiente, mas não necessária. Exercícios Dado o seguinte conjunto de tarefas: Tarefa C (ms) T (ms) D(ms) Γ 1 5 50 20 Γ 2 2 10 5 Γ 3 3 7 5 Tabela 4: Conjunto de tarefas (2) 3.1 Ordene as tarefas por prioridade, de acordo com RM e DM. 3.2 Este conjunto de tarefas é escalonável com RM (utilize a condição baseada na utilização dada anteriormente)? 3.3 Se diminuirmos o período da tarefa Γ 3 de 7 para 6, o que acontece? 3.4 E se aumentarmos o tempo de computação da tarefa Γ 1 de 5 para 7 o que acontece? Pág. 5/6

3.5 Analise de novo a figura 2. Determine os túplos Γ i (C i,d i,t i ) que definem as características das tarefas. Identifique o tipo de atribuição de prioridades ilustrado na mesma figura? 3.6 Desenhe o diagrama temporal, para o pior caso, do conjunto de tarefas apresentado na tabela 4, com a alteração sugerida na alínea 3.3. Chega a alguma conclusão contraditória? Explique. Pág. 6/6