Aula 2 Modelos computacionais

Documentos relacionados
Aula 5 Escalonamento usando prioridades fixas

Sistemas de Tempo-Real

Sistemas de Tempo-Real

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

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

Gestor de Processos. Gestor de Processos

SISTEMAS OPERACIONAIS. Prof. André Dutton

Sistemas de Tempo-Real

Escalonamento (Tarefas Esporádicas)

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

Escalonamento no Linux e no Windows NT/2000/XP

Sistemas Operacionais

Arquiteturas de Software

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

Sistemas de Tempo Real

Timer e serviços do Timer

Máquinas virtuais. Máquina virtual de um processo. Máquinas virtuais (3) Máquina virtual de sistema. Máquinas virtuais (1) VMware para Windows e Linux

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

Introdução aos Sistemas

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

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA

Processos e Threads (partes I e II)

Tipos de sistemas operacionais

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 04 - Concorrência. Cursos de Computação

SISTEMAS OPERACIONAIS 2007

Mecanismo de Interrupção

Sistemas Operacionais

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

Prof.: Roberto Franciscatto. Capítulo 1.1 Introdução

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron

Sistemas Operacionais. INTRODUÇÃO Prof. Rafael Alberto Vital Pinto FACSUL/CESUR

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

Arquitetura e Organização de Computadores I

Sistemas de Tempo Real: Conceitos Básicos

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

Introdução aos Sistemas Operativos

Sistemas Operacionais

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

SO - Conceitos Básicos. Introdução ao Computador 2010/01 Renan Manola

Notas da Aula 15 - Fundamentos de Sistemas Operacionais

Organização e Arquitetura de Computadores

Sistemas Operacionais

discos impressora CPU memória AULA 04 - Estruturas de Sistemas Computacionais Operação dos sistemas de computação Controlador de disco

Gerência do Processador

1º Estudo Dirigido. Capítulo 1 Introdução aos Sistemas Operacionais

Sistema Operacional Correção - Exercício de Revisão

Gerência de Processador

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

Gestor de Processos Núcleo do Sistema Operativo

Sistemas Operativos. Sumário. Estruturas de sistemas de computação. ! Operação de um sistema de computação. ! Estruturas de E/S

Capítulo 8. Software de Sistema

Prof. Antonio Fundamentos de Sistemas Operacionais UNIP/2015

Apresentação. Ementa da Disciplina. Objetivo da Disciplina. DCA-108 Sistemas Operacionais

CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA

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

Sistemas Operacionais Gerência de Dispositivos

Gerência de processos Estudos de caso - BSD Unix

Componentes básicos de um sistema computacional. Cap. 1 (Stallings)

Ciclo de Vida de um Processo

Sistemas Operacionais

Sistemas Operacionais

SISTEMAS OPERACIONAIS. Apostila 01 Assunto: Tipos de Sistemas Operacionais UNIBAN

Sistemas Operativos. Princípios de sistemas operativos. Rui Maranhão

Revisão Ultima aula [1/2]

Gerência de processos Requisitos fundamentais

Servidores de Aperiódicas

Sistemas Operacionais Processos e Threads

Introdução a Computação 07 Sistemas operacionais. Márcio Daniel Puntel marcio.puntel@ulbra.edu.br

Arquitetura de Computadores. Introdução aos Sistemas Operacionais

Sistemas Operacionais

2. Introdução aos Sistemas Operacionais

6 - Gerência de Dispositivos

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação

O que veremos nesta aula? Principais Aspectos de Sistemas Operacionais. Visão geral de um sistema computacional

Sistemas Operacionais

SISTEMAS OPERACIONAIS

O que representam? Diagrama de Estados. Como construir. Estado: Identificação dos Estados. Notação para estados

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

Visão Geral de Sistemas Operacionais

Introdução. Nível do Sistema Operacional. Introdução. Um Sistema Operacional... Introdução a Sistemas Operacionais

Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores.

Abordagens de Escalonamento na Perspectiva da Engenharia

Curso Técnico de Informática de Sistemas

03 GERÊNCIA DO PROCESSADOR

Grupo I [4v] executaprograma();

Introdução. O que vimos. Infraestrutura de Software. (cont.) História dos Sistemas Operacionais. O que vimos 12/03/2012. Primeira geração:

Componentes de um Sistema de Operação

Sistemas Operacionais

Transcrição:

Sistemas de Tempo-Real Aula 2 Modelos computacionais Modelos de tarefas com restrições temporais explícitas Controlo lógico e temporal (por eventos -ET e por tempo -TT) Adaptado dos slides desenvolvidos pelo Prof. Doutor Luís Almeida para a disciplina Sistemas de Tempo-Real DETI - STR 13/14 1

Aula anterior (1) Relembrando... Noção de tempo real e de sistema de tempo real Antagonismo tempo real vs best effort Objetivo do estudo dos STR obter garantias de comportamento temporal adequado Aspetos a considerar: tempo de execução, de resposta, e regularidade de eventos periódicos Requisitos dos STR: funcionais, temporais e de dependabilidade Noção de base de dados de tempo real Restrições soft, firm e hard, e hard real time vs soft real time Importância de ter em conta o cenário de pior caso DETI - STR 13/14 2

Modelos computacionais Modelo transformacional Segundo o qual um programa inicia e termina, transformando dados de entrada em resultados ou dados de saída. Modelo reativo dados de entrada Segundo o qual um programa pode executar indefinidamente uma sequência de interações, por exemplo operando sobre um fluxo de dados. Modelo de tempo-real Modelo reativo em que o programa tem de se manter sincronizado com o fluxo de dados, o qual impõe restrições temporais à execução do programa. programa programa fluxo de dados dados de saída DETI - STR 13/14 3

Modelo de tempo-real Definição de tarefa (processo, atividade) Sequência de ativações (instâncias ou jobs), cada uma composta por um conjunto de instruções que, na ausência de outras atividades, é executada pelo CPU sem interrupção. início código da tarefa Disparo das várias activações (jobs) n n+1 n+2 terminação C (WCET) Worst-Case Execution Time tempo DETI - STR 13/14 4

Modelo de tempo-real Quanto à periodicidade as tarefas podem ser periódicas instância n ativada em a n =n*t+ esporádicas 0 T tempo mínimo entre ativações consecutivas (mit) J 0 J 1 J 2 tempo aperiódicas só se caracterizam de forma probabilística J 0 J 1 J 2 J 3 0 mit mit tempo J 0 J 1 J 2 J 3 J 4 0 tempo DETI - STR 13/14 5

Modelo de tempo-real Caracterização das tarefas T ou mit C C tempo máximo de execução (WCET) 0 c a 0 s 0 (t) 0 t f 0 a 1 s 1 f 1 tempo T período (periódica) fase relativa = instante da 1ª ativação (periódica) mit minimum interarrival time (esporádica) a n instante de ativação da nª instância s n instante de início de execução da nª instância f n instante de terminação da nª instância c n (t) tempo máximo de execução residual da nª instância no instante t DETI - STR 13/14 6

Modelo de tempo-real Os requisitos das tarefas podem ser: Temporais limites temporais aos instantes de terminação ou de geração de determinados eventos de saída. Precedência estabelecem uma determinada ordem de execução entre tarefas. Uso de recursos necessidade de utilização de recursos partilhados (e.g. portos de comunicação, um buffer em memória partilhada, variáveis globais, periféricos do sistema). Pode implicar uso de operações atómicas (cuja sequência não pode ser interrompida) DETI - STR 13/14 7

Modelo de tempo-real Preempção Quando uma tarefa pode ser interrompida temporariamente para execução de outra mais prioritária, diz-se que admite preempção. Quando um sistema utiliza a propriedade de preempção das tarefas que executa diz-se preemptivo. Um conjunto de tarefas diz-se admitir preempção total quando todas as tarefas admitem preempção em qualquer ponto da sua execução (tarefas independentes) Nota: o acesso a recursos partilhados (tarefas com dependências) pode impor restrições sobre o grau de preempção que uma tarefa admite. DETI - STR 13/14 8

Modelo de tempo-real Com preempção Tarefa 2 Tarefa 1 Maior prioridade Sem preempção Tarefa 2 Tarefa 1 Maior prioridade DETI - STR 13/14 9

Modelo de tempo-real Os requisitos temporais podem ser de vários tipos: Deadline Limitação ao tempo máximo para terminação da tarefa. Janela Delimitação máxima e mínima ao instante de terminação. Sincronismo Limitação à diferença temporal entre a geração de dois eventos de saída (existem outras formas). Distância Limitação ao atraso (distância) entre a terminação, ou ativação, de duas instâncias consecutivas (e.g., a mudança do óleo do motor num carro) Tipo deadline é o mais comum! DETI - STR 13/14 10

Modelo de tempo-real Evento de ativação Deadline n, f n - a n < D (relativa) n, f n < d n (absoluta) Execução a n c n (t) x f n (t) n d n a n+1 f n+1 d n+1 a n+2 f n+2 L t n+2 d n+2 D D D c n (t) = majorante do tempo de execução residual no instante t x n (t) = minorante do relaxamento (slack da tarefa) x n (t) = d n t c n (t) L n = f n d n = atraso da nª ativação L n <= 0 terminação a tempo L n > 0 terminação atrasada DETI - STR 13/14 11

Modelo de tempo-real Evento de ativação Janela n, D min < f n - a n < D max a n f n a n+1 f n+1 a n+2 f n+2 D min D max D min D max D min D max DETI - STR 13/14 12

Modelo de tempo-real Evento de ativação Geração de eventos de saída Sincronismo n, t 2 n t 1 n < D sinc t 1 n t 2 n t 1 n+1 t 2 n+1 t 1 n+2 t 2 n+2 D sinc a n a n+1 a n+2 D sinc D sinc DETI - STR 13/14 13

Modelo de tempo-real Eventos de ativação Distância n, dist n = f n+1 - f n < dist max a n f n a n+1 f n+1 a n+2 f n+2 a n+3 f n+3 a n+4 dist n dist n+1 dist n+2 dist max dist max dist max DETI - STR 13/14 14

Modelo de tempo-real Exemplo de caracterização de tarefas: Periódicas: i = i (C i, i,t i,d i ) 1 = 1 (2,5,10,10) 2 = 2 (3,10,20,20) Esporádicas: Semelhante às periódicas mas com mit i em vez de T i e i não é habitualmente usado (poderia significar um tempo mínimo até à primeira ativação). i = i (C i,mit i,d i ) 1 = 1 (2,5,5) 2 = 2 (3,10,7) DETI - STR 13/14 15

Implementação de aplicações de tempo-real A programação de aplicações de tempo real quando envolve apenas: um ciclo principal e, eventualmente, um número muito reduzido de atividades assíncronas (que podem ser encapsuladas em rotinas de interrupção) é normalmente efetuada de forma direta sobre o CPU, i.e., sem recurso a estruturas de SW intermédias tipo Sistema Operativo ou Executivo (Kernel). DETI - STR 13/14 16

Implementação de aplicações de tempo-real No caso de programação direta sobre o CPU, o disparo de atividades é normalmente feito por interrupções Interrupções periódicas (através de timers) para atividades periódicas. Estas interrupções são usadas para contar tempo. Interrupções assíncronas (comunicações, externas, etc.) para atividades disparadas por eventos (alterações do estado do sistema, e.g., disparo de um alarme, receção de dados por um meio de comunicação, ação do operador) DETI - STR 13/14 17

Implementação de aplicações de Mas a utilização de interrupções: tempo-real Impõe um custo computacional adicional necessário para a salvaguarda do estado do CPU no momento de cada interrupção (i.e., salvaguarda dos registos na stack). Retira capacidade computacional à execução do programa interrompido. Quanto mais interrupções surgirem mais devagar o programa executa pois está constantemente a ser interrompido. No limite, a execução do programa fica completamente bloqueada. DETI - STR 13/14 18

Implementação de aplicações de tempo-real A utilização de interrupções pode ser feita com ou sem encadeamento (nesting) Com encadeamento é permitida a interrupção de rotinas de atendimento a interrupção (ISRs) por interrupções de maior prioridade. Maior dificuldade de dimensionamento do stack Melhor resposta temporal das ISRs de maior prioridade Sem encadeamento cada ISR executa até final sem interrupção. Outras interrupções pendentes são atrasadas. Características opostas do caso anterior Notar o bloqueio das ISRs de maior prioridade pelas de menor. DETI - STR 13/14 19

Implementação de aplicações de tempo-real Por outro lado, quando a aplicação envolve múltiplas atividades, assíncronas ou não: a respetiva programação é facilitada pela utilização de Sistemas Operativos ou Executivos multi-tarefa (muti-tasking) os quais suportam diretamente múltiplas tarefas que podem executar de forma independente, ou partilhando recursos do sistema. Cada atividade é encapsulada numa tarefa. DETI - STR 13/14 20

Executivos Multi-Tarefa A programação de aplicações com recurso a estruturas de SW tipo Sistema Operativo ou Executivo permite: Maior nível de abstração Menor dependência relativamente ao HW Maior facilidade de manutenção do SW Notas: Mesmo nestes casos, o disparo das tarefas é feito por interrupções, via interrupção periódica que fornece uma medida de tempo ao SO ou Executivo (tick). É também possível usar interrupções assíncronas embora, normalmente, estejam encapsuladas em device drivers. DETI - STR 13/14 21

Executivos Multi-Tarefa O processamento associado a uma dada atividade pode ser efetuado: Ao nível de uma ISR (Interrupt Service Routine) Não se tira partido de algumas vantagens do SO ou Executivo (programação de baixo nível muito dependente do HW) Elevada reatividade a eventos externos (micro-segundos...) Grande interferência ao nível das tarefas Nº limitado de ISRs Ao nível de uma tarefa Tira partido das vantagens do SO ou Executivo (programação de alto nível, menor dependência do HW, melhor manutenção) Menor reatividade a eventos externos (maior overhead) ISRs reduzidas para menor perturbação sobre as tarefas DETI - STR 13/14 22

Executivos Multi-Tarefa Tarefa 1 interrupção Processamento: Ao nível de uma ISR (não standard) inicialização da ISR 1 while (1) { } ISR 1 Amostragem Processamento Atuação Ao nível de uma tarefa (standard) Tarefa 1 inicialização da ISR 1 Device driver interrupção while (1) { } amostragem processamento actuação sleep ( ) signal ISR 1 Device driver DETI - STR 13/14 23

Executivos Multi-Tarefa Classificação dos SOs e Executivos relativamente às garantias temporais Não Tempo-Real (time-sharing) (e.g., Unix, Linux, Windows NT, seguem modelo transformacional) Não é possível majorar o tempo de resposta a um evento (e.g., devido a swapping, bloqueio no acesso a periféricos, escalonamento que favorece a distribuição equitativa do CPU) Soft Real-Time (e.g. OS9, alguns serviços do Linux/Windows) Usam técnicas de tempo-real (exclusão de memória virtual, mecanismos de IPC rápidos e com bloqueios reduzidos, chamadas ao sistema curtas) mas não oferecem garantias temporais (tipo best-effort) Hard Real-Time (e.g. SHaRK, RTLinux, QNX, VxWorks,...) Oferecem garantias temporais DETI - STR 13/14 24

Controlo lógico e controlo temporal Controlo lógico Controlo do fluxo de programa, i.e., sequência efetiva das operações a ser executadas (e.g., descrito através de um fluxograma) fundamental para se determinar C (WCET) Controlo temporal Controlo dos instantes de execução das operações do programa (e.g., disparo de atividades, verificação do cumprimento de restrições temporais,...) DETI - STR 13/14 25

Controlo temporal Disparo de atividades (funções) Por tempo (time-triggered) A execução de atividades (funções) é disparada por intermédio de um sinal de controlo baseado na progressão do tempo (e.g., através de uma interrupção periódica). Por eventos (event-triggered) A execução de atividades (funções) é disparada por intermédio de um sinal de controlo assíncrono baseado na alteração do estado do sistema (e.g., através de uma interrupção externa). DETI - STR 13/14 26

Controlo temporal Sistemas disparados por tempo time-triggered (TT) systems Típicos em aplicações de controlo (amostragem de variáveis contínuas). Existe uma referência temporal comum (permite estabelecer uma relação de fase) Taxa de utilização do CPU constante mesmo quando não há variações no estado do sistema. Situação de pior caso bem definida DETI - STR 13/14 27

Controlo temporal Sistemas disparados por eventos event-triggered (ET) systems Típicos na monitorização de condições esporádicas no estado do sistema (e.g., verificação de alarmes ou de solicitações assíncronas). Taxa de utilização do sistema computacional (e.g. CPU) variável consoante a frequência de ocorrência de eventos. Situação de pior caso mal definida ou se utilizam argumentos probabilísticos ou se impõe uma limitação à máxima taxa de eventos DETI - STR 13/14 28

Controlo temporal Exemplo Considere os seguintes conjuntos de tarefas e calcule o atraso máximo que cada tarefa pode sofrer: TT { i = i (C i =1, i =i, T i =5, D i =T i i=1..5)} ET { i = i (C i =1, ( i =0), mit i =5, D i =mit i i=1..5)} Determine também a taxa média e máxima de utilização de CPU para ambos os casos, considerando no caso médio que as tarefas ET são ativadas em média de 100 em 100 unidades de tempo. Nota: a taxa de utilização de CPU é dada por: N U = i=1 C i T i DETI - STR 13/14 29

Resumo da Aula 2 Modelos computacionais (modelo de tempo-real) Tarefas de tempo-real: periódicas, esporádicas e aperiódicas Restrições temporais do tipo deadline, janela, sincronismo e distância Implementação de tarefas e utilização de um kernel multitasking Controlo lógico e controlo temporal Tarefas event-triggered e time-triggered DETI - STR 13/14 30