Universidade Federal de Pernambuco Centro de Informática. Aluno: Anderson L. S. Moreira alsm4@cin.ufpe.br Orientador: Paulo R. R.



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

Administração de Sistemas GNU/Linux

Programação de Sistemas

1 Introdução ao ambiente de trabalho Esta parte da ficha consiste num tutorial para introdução ao ambiente de trabalho utilizado nas aulas práticas.

Lista de exercícios - P2

- Aulas 57, 58, 59 e 60 - Técnicas de programação. Funções

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA INFORMÁTICA APLICADA

Preparação: Verifique se a máquina virtual já está copiada em sua máquina Execute o VMWare Acesse o Linux com o usuário asa e senha aslinux12

Formação de Administradores de Redes Linux LPI level 1. Aula 2 SENAC TI Fernando Costa

Métodos de Sincronização do Kernel

CONCEITOS BÁSICOS DE UM SISTEMA OPERATIVO

Especificação do Trabalho Prático

Real Time Linux. Walter Fetter Lages

Construindo um Linux Parte 1 - Disk Boot Objetivo: Entender que o Linux é como um LEGO (Pode ser montado).

Programação de Computadores Primeiros Passos Práticos em C++

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

Xenomai Short Intro. Paulo Pedreiras DETI/University of Aveiro. Sistemas Tempo-Real Out/2013 (Rev. 1 - Out/2015)

Guia de utilização da notação BPMN

Comm5 Tecnologia Protocolo MI. Protocolo. Família MI

Projeto ECA na Escola - Plataforma de Educação à Distância

Fale.com. Manual do Usuário

Plugins TerraView. Versão TerraLib/TerraView: 3.2.0RC2. Código fonte completo da TerraLib na estrutura de diretórios sugerida no site da TerraLib 1.

Definição de Programas de Computadores e Linguagem de Programação de Comutadores

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Figura 1: tela inicial do BlueControl COMO COLOCAR A SALA DE INFORMÁTICA EM FUNCIONAMENTO?

Carga horária : 4 aulas semanais (laboratório) Professores: Custódio, Daniel, Julio foco: introdução a uma linguagem de programação Linguagem Java

DALUA: BIBLIOTECA PARA APLICAÇÕES DISTRIBUÍDAS

KF2.4 MANUAL DE UTILIZADOR

Instalação e utilização do Eclipse / Fortran em Windows

Trabalho 3: Agenda de Tarefas

Diagrama lógico da rede da empresa Fácil Credito

Nota de Aplicação IHM 004

Sistemas Operacionais. Prof. André Y. Kusumoto

Sistemas de Tempo Real: Conceitos Básicos

MANUAL DE UTILIZAÇÃO DO AMBIENTE EAD (Educação a Distância) ÍNDICE

1. Verificar se a Microsoft.NET Framework 2.0 está instalada. Se não estiver, efectuar o download a partir do link e instalar:

Sumário. 1. Instalando a Chave de Proteção Novas características da versão Instalando o PhotoFacil Álbum 4

1 ACESSO PARA SECRETÁRIA CONFIGURAR HORÁRIOS DE ATENDIMENTO BLOQUEANDO E HABILITANDO HORÁRIOS PRÉ-DEFININDO PARÂMETROS DE

Gerenciamento de memória

Prova do Primeiro Bimestre Warm-Ups 1 a 7

Integração de Sistemas Embebidos MECom :: 5º ano

Manual do Utilizador

Editor Eclipse para Programas F

Programação. MEAer. Bertinho Andrade da Costa. Instituto Superior Técnico. Introdução ao Pré-Processador. 2011/2012 1º Semestre

Instalar uma versão do Ubuntu de 32 bits ou de 64 bits?

Arquitetura dos Sistemas Operacionais

Manual do Instar Mail v2.0

Gerenciamento de Entrada e Saída Hélio Crestana Guardia e Hermes Senger

Itens estruturais/caso de uso. Itens estruturais/classe ativa. Itens estruturais/componente. Itens estruturais/artefatos. Itens comportamentais

MANUAL DE UTILIZAÇÃO DO TREINAMENTO EAD (Educação a Distância) ÍNDICE

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

Curso Online A Escola no Combate ao Trabalho Infantil Plataforma de Educação à Distância

Sistemas de Telecomunicações I

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

Programação Orientada a Objetos e Java - Introdução. Carlos Lopes

Turno/Horário Noturno PROFESSOR : Salomão Dantas Soares AULA Apostila nº

Utilização do console WEB do DokNF-e. [Version 17/01/2013]

TUTORIAL AMBIENTE WEB PORTUGOL

SISTEMAS OPERACIONAIS LIVRES (LINUX) Professor Carlos Muniz

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini prof.andre.luis.belini@gmail.com /

Introdução à Computação: Sistemas de Computação

O QUE É A CENTRAL DE JOGOS?

Desenvolvimento para Sistemas Embarcados (CEA 513) Sistema de Arquivos Raiz & Componentes do Kernel

Conceitos Básicos sobre Programação Prática

Sistema Integrado de Gerenciamento ARTESP. MANUAL DO USUÁRIO - SIGA Extranet GRD e Projetos. MANUAL DO USUÁRIO SIGA EXTRANET GRD e Projetos

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira

1 INTRODUÇÃO 1.1 CONCEITO DE PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO

Firewall Iptables. Professor: João Paulo de Brito Gonçalves. Campus - Cachoeiro Curso Técnico de Informática

Sistemas Operacionais

UML & Padrões Aula 3. UML e Padrões - Profª Kelly Christine C. Silva

Soluções de Acessibilidade. VLibras - Desktop. Manual de Instalação da Ferramenta. Microsoft Windows R. Núcleo de Pesquisa e Extensão / LAViD

26/09/2015. Windows Linux Mac OS/X IBM OS/2 Sun Solaris Google Android. MS-DOS Outros... O QUE É? SISTEMAS OPERACIONAIS

Sistemas Operacionais

Figura 01 Kernel de um Sistema Operacional

Manual do Usuário ipedidos MILI S.A. - D.T.I.

Problemas básicos nos. Serviços Gladius MP

REGISTRO DE PROJETOS

3.1 Definições Uma classe é a descrição de um tipo de objeto.

ESTRUTURA DE UM SISTEMA OPERACIONAL

Sistemas Operacionais

Modelagem de Software Prof. Flávio de Oliveira Silva, Ph.D.

Impresso na China. REALIZADO/PUBLICADO/FABRICADO POR:

Experiência 05: CONFIGURAÇÃO BÁSICA DE UMA REDE. Objetivo Geral Criar uma rede ponto-a-ponto com crossover e utiizando switch.

DIRETORIA DE TECNOLOGIA DA INFORMAÇÃO SETOR DE ESTÚDIO E SUPORTE MANUAL DE UTILIZAÇÃO DO WEBMAIL DA FTC EAD

MODELAGEM DE SISTEMAS

Linguagem de Programação Orientada a Objeto. Introdução a Orientação a Objetos Professora Sheila Cáceres

ÇÃO COM OBJECTOS PROGRAMAÇÃ. Programação com Objectos. Programação com Objectos TUDO É UM OBJECTO TUDO É UM OBJECTO ÍNDICE.

Diagrama de Estrutura Composta

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

cast poderia ser usado também para transformar um real (float) em inteiro. A sintaxe C (float)i pode ser substituída em C++ por float(i).

PROGRAMAÇÃO DE MICROPROCESSADORES 2011 / 2012

Sistemas Operacionais

Programação Web. Professor: Diego Oliveira. Conteúdo 02: JSP e Servlets

UNIDADE 2: Sistema Operativo em Ambiente Gráfico

NOTIFICANDO USUÁRIOS SOBRE UMA NOVA EDIÇÃO

Introdução. Uso do disco Vantagens Desvantagens Baixo custo, facilidade de manutenção do software e do hardware, simetria e flexibilidade

8 Threads. 8.1 Introdução

Guia de Usuário Teclado sensível ao toque TM40

Resolução de avarias de MPEG

REDES DE COMPUTADORES E TELECOMUNICAÇÕES MÓDULO 12

Transcrição:

Sistemas RTAI Universidade Federal de Pernambuco Centro de Informática Aluno: Anderson L. S. Moreira alsm4@cin.ufpe.br Orientador: Paulo R. R. Maciel

Agenda Introdução O que é um SOTR Como funciona Exemplo Medições Métricas Observações 28 de setembro de 2011 alsm4@cin.ufpe.br 2

Motivação Sistemas de Propósito Geral Prontos para tudo Qualquer aplicação Muitos serviços Sistemas dedicados Aplicações particulares Requisitos específicos e poucos serviços São a grande maioria 28 de setembro de 2011 alsm4@cin.ufpe.br 3

O que é um SOTR? Um sistema operacional de tempo real possibilita um método para que as aplicações desenvolvidas por programadores sejam tratadas como tarefas de tempo real. 28 de setembro de 2011 alsm4@cin.ufpe.br 4

O que é um SOTR? E tarefas de tempo real devem rodar com um mínimo tempo de latência (o tempo entre um evento como uma interrupção que aciona uma tarefa e o início da tarefa) e o mínimo jitter (variação no correr do tempo de uma tarefa que é suposto ser executado em um período fixo). 28 de setembro de 2011 alsm4@cin.ufpe.br 5

O que é? RTAI (Real-Time Application Interface) consiste em um patch no kernel do Linux e alguns módulos. Uma vez instalado o RTAI o escalonamento de processo deixa de ser responsabilidade do kernel nativo e passa a ser do RTAI. O RTAI adiciona uma camada de abstração (HAL) ao sistema Linux, que adiciona comandos para lançamento e execução de tarefas em tempo real. 28 de setembro de 2011 alsm4@cin.ufpe.br 6

Como funciona? O RTAI garante que o Linux não interfere com as tarefas de tempo real, lançando todo SO como uma tarefa de baixa prioridade. Tarefas de tempo real são lançadas com prioridades altas, nunca sendo interrompidas pelo SO. O SO só executa de fato, quando não há tarefas de tempo real executando. 28 de setembro de 2011 alsm4@cin.ufpe.br 7

Como funciona? Kernel do Linux 28 de setembro de 2011 alsm4@cin.ufpe.br 8

Como funciona? Kernel do Linux RTAI 28 de setembro de 2011 alsm4@cin.ufpe.br 9

Como funciona? Para lançar tarefas Real Time, estas são inseridas no kernel como módulos. Tem-se assim dois domínios de execução de tarefas, o Real Time e o Linux user space. Existem vários mecanismos que permitem que uma tarefa Real Time se comunique com uma tarefa Linux. *É necessário que se tenha privilégios de administração. 28 de setembro de 2011 alsm4@cin.ufpe.br 10

Exemplo Olá Mundo Uma aplicação RTAI simples que quando é carregada e eliminada no kernel imprime uma mensagem, não sendo lançada nenhuma tarefa de tempo real. 28 de setembro de 2011 alsm4@cin.ufpe.br 11

Exemplo Olá Mundo /* Escreve Olá Mundo e Tchau no console*/ #include <linux/kernel.h> #include <linux/module.h> int init_module(void) { printk( Ola mundo... "); return 0; //ini_module OK } void cleanup_module(void) { printk( Tchau!\n"); } 28 de setembro de 2011 alsm4@cin.ufpe.br 12

Exemplo Olá Mundo O Makefile para compilar este módulo poderá ser: MI_OBJS = mundo.o RTAIDIR = /usr/src/rtai #RTAI home ifdef TOPDIR include $(TOPDIR)/Rules.make endif #chama Makefile definido no diretório de instalação RTAI all: make -C $(RTAIDIR) modules SUBDIRS=$(PWD) clean: make -C $(RTAIDIR) subclean SUBDIRS=$(PWD) 28 de setembro de 2011 alsm4@cin.ufpe.br 13

Exemplo Olá Mundo Para esta simples aplicação RTAI, inserir, remover e visualizar os módulo no kernel pode ser efetuado com: Para inserir o módulo: insmod mundo.o Para listar módulos: lsmod Para remover o módulo: rmmod hello 28 de setembro de 2011 alsm4@cin.ufpe.br 14

Exemplo Olá Mundo Para visualização das mensagens enviadas com printk pode ser usado o script: #!/bin/sh echo Loading module insmod mundo.o rmmod mundo.o dmesg tail -n3 echo "ou:" cat /var/log/kern.log tail -n3 28 de setembro de 2011 alsm4@cin.ufpe.br 15

Medições Aplicação Parâmetros dos requisitos do SOTR Componentes do SOTR Escalonador Primitiva de comunicação Primitiva de gerência Etc... Captura de Dados Reunião de Dados 28 de setembro de 2011 alsm4@cin.ufpe.br 16

Medições Tarefas Periódicas Fonte: Farines, 2003 28 de setembro de 2011 alsm4@cin.ufpe.br 17

Medições Tarefas Aperiódicas Fonte: Farines, 2003 28 de setembro de 2011 alsm4@cin.ufpe.br 18

Métricas Tempo de troca de contexto Métrica muito citada no mercado de SOTR; Na modelagem a troca de contexto pode ser somado ao tempo máximo de execução de cada tarefa; Necessariamente, cada ativação de cada tarefa deverá carregar o seu contexto e salvá-lo depois. Se a tarefa em questão é preemptada por outra, a interferência que ela sofre da outra incluirá o tempo de chaveamento de contexto 28 de setembro de 2011 alsm4@cin.ufpe.br 19

Métricas Latência dos Tratadores de Interrupção Tempo entre a sinalização de uma interrupção no hardware e o inicio da execução de seu tratador; Atraso no reconhecimento da interrupção pode ser modelado como um release jitter associado com cada pseudo-tarefa tratador de interrupção ; Interrupções podem ter prioridades na arquitetura Pseudo-tarefa tratador de interrupção recebe interferência quando é atrapalhada por um tratador de interrupção mais prioritária; Sofre release jitter quando atrasa em função de uma tarefa de prioridade mais baixa desabilitar interrupções. 28 de setembro de 2011 alsm4@cin.ufpe.br 20

Observações Aplicações de tempo real são mais facilmente construídas se puderem aproveitar os serviços de um sistema operacional; Comportamento temporal do SO afeta o comportamento temporal da aplicação Exemplo: tratador de interrupções do timer 28 de setembro de 2011 alsm4@cin.ufpe.br 21

Observações Aspecto importante: análise em tempo de projeto Duas abordagens Utilizar uma análise determinística; Desenvolver uma baseada em hipóteses. 28 de setembro de 2011 alsm4@cin.ufpe.br 22

Sistemas RTAI Universidade Federal de Pernambuco Centro de Informática Aluno: Anderson L. S. Moreira alsm4@cin.ufpe.br Orientador: Paulo R. R. Maciel