Introdução aos Sistemas de Tempo Real

Slides:



Advertisements
Apresentações semelhantes
Sistemas Operacionais Aula II
Advertisements

IC - UFF 1 Escalonamento de Processos em Multiprocessadores Capítulo 10 Sistemas Operacionais.
Algoritmos de Escalonamento
Sistemas Operacionais Gerência de Processador
Sistemas Operacionais
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistemas Operacionais Gerência de Processador WebDesign Redes de Computadores.
Noções de Sistemas Operacionais
15/1/2014 Professor Leomir J. Borba- – 1 Tec. Em Analise e desenvolv. De Sistemas analise.
Gerência do Processador
Sistemas Operacionais
ARQUITETURA DE COMPUTADORES II
Evolução Arquitetural e Microprogramação
João Carlos Porto Orientadora: Prof.ª Dr.ª Junia Coutinho Anacleto 26/03/2010 Projeto de interceo.
Escalonamento Linux.
INTRODUÇÃO A INFORMÁTICA
Jaime Dalla Valle Junior
Arquitetura de Sistemas Operacionais
Introdução à Informática
Arquiteturas Diferentes
Chapter 4: Threads.
Informática Industrial
SSC SISTEMAS OPERACIONAIS I Aulas 6 – Escalonamento de Processos
SSC SISTEMAS OPERACIONAIS I
Sistemas Distribuídos
Silberschatz and Galvin Operating System Concepts Unidade 1: Introdução O que é um sistema operacional? Systemas simples em lote (batch) Sistemas.
Sistemas Operacionais
Engenharia de Requisitos
Escalonamento de Processos
Processos Conceitos Básicos.
Estruturas de Controle
Escalonamento Aula 7.
Sistemas de Tempo Real: Abordagens de Escalonamento
Arquitetura de Sistemas Operacionais
Claudio de Oliveira – Gerência do Processador 09/03/10 20:13 Claudio de Oliveira –
Visão Geral do Desenvolvimento de Sistemas e Papéis no Desenvolvimento de Software Marcely Dias
André Luis Meneses Silva Programação Concorrente (Sistemas de Tempo Real)
Sistemas Operacionais
UML - Unified Modeling Language
Sistemas Operacionais Aula 4
Unidade 1-1 Processos e Threads
SISTEMAS OPERACIONAIS
Gerência de Recursos Processador
Arquitetura de computadores
Sistemas Operacionais
Qual o melhor sabor para o RT-Linux (Real Time Linux)? Ricardo Matias Nº27471 e Vitor Hugo Nº21906 Sistemas de Tempo Real 2006 DETI-UA.
Escalonamento de Processos
Noções de Software Escola Almirante Soares Dutra
Projeto de Banco de Dados
Escalonamento de Tempo Real
1 2 Observa ilustração. Cria um texto. Observa ilustração.
Universidade Federal de Pernambuco Centro de Informática Aluno: Erica Sousa – Orientador: Paulo Maciel – Modelagem de.
Escalonamento de Sistemas de Tempo Real
SISTEMAS OPERACIONAIS I
Computação L1: Infra-Estrutura Básica
Prof. Alexandre Monteiro Recife
Sistemas Operacionais
Conceitos em Sistemas de Tempo Real (Real Time Systems)
Escalonamento de Processos e Threads
GERÊNCIA DE PROCESSOS Disciplina: Sistemas Operacionais II.
Escalonamento de Processos
Multiprocessamento Sérgio Cavalcante CIn GRECO - CIn / UFPE.
SISTEMAS OPERACIONAIS
Sistemas Embarcados de Tempo Real Grupo de Engenharia da Computação Sérgio Cavalcante.
Universidade Federal de Pernambuco
Introdução aos Sistemas de Tempo Real
Escalonamento de Sistemas de Tempo Real Sergio Cavalcante Centro de Informática – UFPE Assunto: [str]
Sistemas Operacionais
Introdução aos Sistemas de Tempo Real Sergio Cavalcante Centro de Informática – UFPE Assunto: [str]
Bruna Cavallero Martins Universidade Católica de Pelotas.
Transcrição da apresentação:

Introdução aos Sistemas de Tempo Real Sergio Cavalcante Centro de Informática – UFPE str-l@cin.ufpe.br svc@cin.ufpe.br Assunto: [str] 88350950 34254714

SE::P & A::Software Sistemas de Tempo Real Sistemas computacionais de tempo real: Tem aspectos temporais em sua especificação Submetidos a requisitos de natureza temporal Resultados devem estar corretos lógica e temporalmente “Fazer o trabalho usando o tempo disponível” Requisitos definidos pelo ambiente físico Aspectos temporais Não estão limitados a uma questão de desempenho Estão diretamente associados com a funcionalidade

Sistema de Tempo Real Sistema no qual o comportamento está sujeito a restrições temporais Recommended reading for this part of the course Engineering real-time control systems. M.G. Rodd. Computing and Control Engineering J. October 1995. An overview of real-time control systems engineering. If you are not familiar with real-time systems, you may find it helpful. Available as handout. Software Engineering, 5th edition, Ian Sommerville, Addison Wesley, 1996. Chapter 16 (Real-time Systems Design) This chapter is an introduction to real-time software design and much of the material in these notes has been taken from there. It also includes examples of other types of real time systems and source code showing how parallel processes may be implemented

Tipos de uso Controle Processamentos de dados Baixo processamento Requer pouca memória Altamente reativo (muito interativo) Processamentos de dados Processamento digital de sinais Alto processamento Pouco interativo

Sistema de Controle de Tempo Real Monitoram e modificam seu ambiente Estão associados a dispositivos de hardware Sensores: coletam dados do ambiente Atuadores: Mudam o ambiente do sistema Tempo é crítico

SE::P & A::Sw::Sistemas de Tempo Real Áreas de Pesquisa Escalonamento (mais estudado) Modelos e linguagens de programação Protocolos de comunicação Arquitetura de computadores Metodologias de desenvolvimento ...

SE::Visão Geral::Arquitetura de Software Exemplo: Tempo de Boot

SE::Visão Geral::Arquitetura de Software Exemplo: Mudança de Contexto MontaVista Linux Kernel 2.4.17 Pior caso 436us (vs. 1743us) 99.9% < 195us (vs. 1420us) Fonte: Bill Weinberg, “Linux and XScale for Wireless Consumer Electronics Devices”, IDF’Fall03

SE::P & A::Sw::Sistemas de Tempo Real STR e o Ambiente Estímulos Sensores Respostas Atuadores

Modelo de sistema de tempo real n s o r S e n s o r S e n s o r S e n s o r S e n s o r S e n s o r Sistema de con-trole de tempo real Atuador Atuador Atuador Atuador

SE::P & A::Sw::Sistemas de Tempo Real STR e o Ambiente Fluxo de controle definido pelo ambiente Tarefas ativadas por estímulos do ambiente STR geralmente não tem como limitar estes estímulos Tempos de resposta ao ambiente definem deadlines Dados com prazos de validade Dados desatualizados podem conduzir a respostas incorretas

SE::P & A::Sw::Sistemas de Tempo Real 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

Criticidade Soft real-time system: sua operação é degradada se as restrições de tempo não são obedecidas Hard real-time system: sua operação é incorreta se as restrições de tempo não são obedecidas

SE::P & A::Sw::STR:: Conceitos Básicos Criticidade Sistema de tempo real crítico (Hard real-time system) Todas as tarefas têm Hard Deadline Perda do deadline pode ter conseqüências catastróficas É necessário garantir requisitos temporais ainda durante o projeto Exemplo: usina nuclear, industria petroquímica, mísseis Sistema de tempo real não crítico (Soft real-time system) O requisito temporal descreve apenas o comportamento desejado Perda do deadline não tem conseqüências catastróficas Existe interesse em terminar a tarefa mesmo com atraso Exemplo: início de gravação de vídeo-cassete

SE::P & A::Sw::STR:: Conceitos Básicos Criticidade Deadline Firm Perda do deadline não tem conseqüências catastróficas Não existe valor em terminar a tarefa após o deadline Exemplo: ler o valor da temperatura

Sistemas reativos Dado um estímulo o sistema deve produzir uma resposta dentro do tempo estipulado. Estímulo periódico: ocorre em intervalos de tempo previsíveis Estímulo aperiódico: ocorre em intervalos imprevisíveis Estímulo esporádico: não é periódico mas sabemos o intervalo mínimo entre ocorrências

Interpretações do Tempo Tempo Físico Vs. Tempo Lógico Tempo Físico é quantificável, métrico e permite estabelecer ordens totais de eventos Tempo Lógico é definido por relações de precedência, como antes de, depois de ou em paralelo. Tempo Denso Vs. Tempo Discreto Tempo denso é o tempo físico, “analógico” Tempo Discreto, é a representação do tempo físico de forma discreta, com números naturais (inteiros positivos). Tempo Global Vs. Tempo Local Global: Tempo único compartilhado entre todos os componentes Local: Cada componente tem o seu tempo distinto Tempo Absoluto Vs. Tempo Relativo Tempo Absoluto é referente a um evento global Tempo Relativo é referente a um evento local

Hipótese de Carga Corresponde à carga máxima de eventos em um determinado tempo que o sistema deve responder, obedecendo às restrições temporais.

Hipótese de Falhas Descreve os tipos e frequencias de falhas com as quais o sistema deve conviver em tempo de execução, continuando a atender os requisitos funcionais e temporais.

Mecanismos que interferem na previsibilidade Hierarquia de memória Escolhas não determinísticas Loops e recursão ilimitados Alocação dinâmica de memória Criação dinâmica de objetos Garbage collection

Escalonamento de Processos Abstração Uma máquina para cada processo Paralelismo real mP1 T11 T12 mP2 T0 mP3 mP3 T22

Escalonamento de Processos Realidade Compartilhamento do tempo Pseudoparalelismo T12 T22 T0 T11 T0 mP1 1 41 51 70 90 121 t

Tipos de Escalonamento Preemptivo Permite a suspensão temporária de processos Quantum ou time-slice: período de tempo durante o qual um processo usa o processador a cada vez Preempção T12 T22 T0 T11 mP1 T0 1 41 51 70 90 121 t Quantum grande: Diminui núm. de mudanças de contexto e overhead do S.O. Ruim para processos interativos

Escalonamento de Processos Processo Estados de um processo Process Control Block - PCB ID do Processo Criação Pronto Rodando Término Estado Prioridade Program Counter Ponteiros da Memória Contexto (regs.) Bloqueado I/O Status Informações gerais tempo de CPU limites, usuário, etc.

Filas de Escalonamento Short-term scheduling Long- term queue Short- term queue Process request FIM CPU High-level scheduling I/O I/O queue I/O scheduling I/O queue I/O Interrupt of process from I/O Interrupt Handler I/O I/O queue

Tipos de Escalonamento Round-Robin Uso de uma lista de processos sem prioridade Escalonamento preemptivo Simples e justo Bom para sistemas interativos CPU:Running Tar. A Contexto Tar. A Contexto Tar. B Contexto Tar. C Contexto Tar. A Contexto

Tipos de Escalonamento First-In First-Out (FIFO) Uso de uma lista de processos sem prioridade Escalonamento não-preemptivo Simples e justo Bom para sistemas em batch CPU B C D E F … N A FIM

Tipos de Escalonamento Exemplo Três processos Cada um consome 1 hora de CPU Calcule o tempo de resposta considerando a) Round-robin (time-slice = 10ms) b) FIFO

SE::P & A::Sw::STR Escalonamento Métodos de Escalonamento Abordagens com Garantia em Tempo de Projeto Abordagens com Garantia Dinâmica Abordagens de Melhor Esforço Técnicas Adaptativas Executivo Cíclico Dirigido a Prioridades

Características de Escalonamento Justiça (fairness) Todos os processos têm chances iguais de uso dos processador Eficiência O objetivo é manter o processador 100% ocupado Tempo de Resposta Tempo entre a requisição da ação e a obtenção do resultado Throughput Número de tarefas por unidade de tempo

Referências Livro de Sistemas de Tempo Real Jean- Marie Farines, Joni da Silva Fraga, Rômulo Silva de Oliveira. Escola de Computação’2000 - IME- USP http:// www. lcmi. ufsc. br/ gtr/ livro/ principal. Htm IEEE Computer Society, Technical Committee on Real- Time Systems (IEEE- CS TC- RTS) http:// www. cs. bu. edu/ pub/ ieee- rts The Concise Handbook Of Real-Time Systems. TimeSys Corporation, Versão 1.1, 2000. http://www.timesys.com