deti - ufc sistema em tempo real jarbas silveira sistemas em tempo real módulo 5: sistemas...
TRANSCRIPT
![Page 1: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/1.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
Sistemas em Tempo Real
Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real.
Jarbas Silveira.
![Page 2: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/2.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
Ementa:
5. Sistemas operacionais e Linguagens de Programação em tempo real: Real-Time Linux; Ambiente Java; Corba; ADA; OCCAM; C
Roteiro
![Page 3: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/3.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
Sistemas operacionais e Linguagens de Programação em tempo real:
- Introdução- Soft e Hard real time- Projeto de aplicações RT- RT threads- Comunicação com tarefas RT- Exemplo: central de acesso- Conclusões
Roteiro
![Page 4: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/4.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
Hard ou soft realtime?
- Soft real-time tolera alguma variação na resposta a eventos.- Hard real-time requer resposta imediata, com pouca variação.- Sistemas operacionais "normais" não prevêem tarefas real-time.
Soft e Hard real time
![Page 5: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/5.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
Latência
Linux: Até ~600us para uma interrupção, scheduler 10ms (jiffies).
MS-Windows: (ilimitado?) para responder a interrupções, scheduler 55ms.
RT-Linux: valores tipicamente entre 10 a 100us
Soft e Hard real time
![Page 6: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/6.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
- Dedicados, projetados com características de Tempo Real;- Novo projeto necessário; - Problemas de manutenção; - Perde acesso a uma base de programas e ferramentas (TCP/IP, conectividade, X-Windows, ...) já existentes.
Real time kernels
![Page 7: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/7.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
- Extensão para um kernel já existente
- Esforço limitado ao desenvolvimento de alguns "patches" ;- Manutenção simplificada;- Acesso a virtualmente toda a base de software existente, incluindo redes, tcp/ip, X, tcl/tk, python)
Real time kernels
![Page 8: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/8.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
Linux Trace Toolkit (LTT)Robótica, embedded systems. InstrumentaçãoEletrofisiologia Aquisição de dados Data analysers Osciloscópios
Aplicações
![Page 9: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/9.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
Aplicações
![Page 10: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/10.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
Aplicações
![Page 11: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/11.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
Alternativas de sistemas RT
- KURT: módulos standard do kernel, timer reprogramado sob demanda, novo scheduler.- RTAI: baseado no RT-Linux, maior compatibilidade POSIX.- QNX: microkernel, comercial, drivers são programas user-level.
![Page 12: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/12.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
RT Linux-O RTLinux é um sistema operacional de tempo real crítico;- O seu desenvolvimento foi iniciado no Departamento de Ciência da Computação do Instituto Tecnológico do Novo México, por Michael Barabanov e Victor Yodaiken;- Foi recentemente adquirido pela empresa Wind River, mas ainda disponibiliza uma versão livre;
![Page 13: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/13.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
RT Linux- É importante não confundir a versão do RTLinux com a versão do kernel do Linux.
- RTLinux não é um código independente, isto é, não é uma nova versão de Linux.
- Parte da distribuição do RTLinux é um "patch" sobre o kernel do Linux e a outra parte são módulos carregáveis;
![Page 14: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/14.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
RT Linux
- O RTLinux é um sistema operacional no qual um kernel de tempo real coexiste com o kernel do Linux. - O objetivo deste modelo é permitir e facilitar que aplicações utilizem os serviços do Linux (comunicação com a rede, sistema de arquivos, controle de processos etc.). O Linux é responsável até mesmo pela inicialização do RTLinux e pelos drivers.
![Page 15: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/15.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
RT Linux
-O kernel de tempo real situa-se entre o kernel do Linux padrão e o hardware - Além disso, o kernel de tempo real executa o kernel convencional como sua tarefa de mais baixa prioridade (tarefa Linux), usando o conceito de máquina virtual para tornar o kernel convencional e todas as suas aplicações completamente interrompíveis.
![Page 16: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/16.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
RT Linux
Detalhes do Kernel do Linux
![Page 17: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/17.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
RT Linux
Detalhes do kernel do RT-Linux
![Page 18: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/18.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
RT Linux
-O kernel de tempo real situa-se entre o kernel do Linux padrão e o hardware - Além disso, o kernel de tempo real executa o kernel convencional como sua tarefa de mais baixa prioridade (tarefa Linux), usando o conceito de máquina virtual para tornar o kernel convencional e todas as suas aplicações completamente passíveis de serem interrompidas.
![Page 19: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/19.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
RT Linux
-É introduzida uma camada adicional de abstração – denominada “máquina virtual" - entre o kernel padrão do Linux e o hardware do computador;- Esta nova camada introduz seu próprio escalonamento de prioridades fixas. Este escalonamento atribui prioridade mais baixa para o kernel padrão de Linux, que funciona então como uma tarefa independente.
![Page 20: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/20.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
RT Linux
-A camada de abstração introduzida pelo RTLinux trabalha interceptando todas as interrupções de hardware. - As interrupções de hardware não relacionadas às tarefas de tempo real, como interrupção de software, são passadas então ao kernel do Linux para serem executadas.
![Page 21: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/21.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
RT Linux- Caso a tarefa seja de tempo real, a rotina de serviço de tempo real apropriada é executada. As tarefas de tempo real têm dois atributos especiais: são “privilegiadas" (isto é, têm o acesso direto ao hardware), e não usam a memória virtual.
- As tarefas de tempo real são escritas como os módulos que podem ser dinamicamente carregados na memória. As tarefas de tempo real não esperam para executar as chamadas de sistema Linux.
![Page 22: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/22.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
Interrupções no RT Linux
- Um dos problemas de tempo real crítico em sistemas Linux é o fato de que o kernel desabilita as interrupções temporariamente como forma de sincronização ou controle de acesso a regiões críticas;
- Ao desabilitar as interrupções, o relógio de interrupções fica bloqueado e conseqüentemente há uma perda de precisão temporal.
![Page 23: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/23.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
Interrupções no RT Linux
- O RTLinux implementa uma camada de emulação entre o Kernel do Linux e o controlador de interrupções de hardware. - Todas a chamadas para cli, sti, iret (chamadas assembler que modificam o estado das interrupções) são repassadas pelas macros S_CLI, S_STI e S_IRET que emulam as chamadas cli, sti e iret respectivamente. Desta forma o Linux nunca poderá desabilitar as interrupções.
![Page 24: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/24.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
Escalonamento- A principal função de um escalonador de tempo real é satisfazer os requisitos temporais das tarefas; - Existem muitas formas de garantir as restrições temporais e há também muitas políticas de escalonamento, sendo que, uma política dificilmente é apropriada para todas as aplicações;
- O RTLinux permite a possibilidade de um programador escrever o seu próprio escalonador.
![Page 25: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/25.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
Escalonamento
Modelo de escalonamento em RTLinux
![Page 26: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/26.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
Escalonamento
- Os escalonadores podem ser implementados e carregados como módulos de kernel. Isto torna possível o programador testar facilmente diferentes políticas e algoritmos de escalonamento a fim de escolher o melhor para a sua aplicação;
- Dois escalonadores podem ser bem implementados. Um deles é baseado em prioridade fixa, o outro usa o algoritmo Earliest Deadline First (EDF).
![Page 27: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/27.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
Escalonamento
Prioridades Fixas
- Se houver diversas tarefas que estão prontas para executar, a tarefa com maior prioridade é executada. - Sempre que as tarefas se tornam prontas para serem executadas então a tarefa em execução é interrompida se esta for de baixa prioridade.
![Page 28: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/28.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
Escalonamento
Prioridades Fixas
-Uma tarefa esporádica pode ser implementada definindo uma interrupção para ativá-la quando necessário.- O escalonador suporta diretamente tarefas periódicas. O período e o tempo de ativação são especificados para cada tarefa.
![Page 29: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/29.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
Escalonamento
-Prioridades Fixas
-Para tarefas periódicas com os fins do prazo iguais aos períodos uma maneira natural de atribuir prioridades é dada pelo algoritmo de escalonamento rate monotonic. Este algoritmo diz que as tarefas com períodos mais curtos têm maior prioridade.-As tarefas Linux são tratadas como tarefas de baixa prioridade. Assim o Linux funciona somente quando o sistema do tempo do real não tem nada para fazer.
![Page 30: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/30.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
Escalonamento
Earliest Deadline First (EDF)
-Outro escalonador é o que foi implementado por Ismael Ripoll, onde ele usa o algoritmo Earliest Deadline First (EDF). Neste algoritmo as tarefas não têm prioridade. Assim, as tarefas com menor deadline possuem maior prioridade.
![Page 31: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/31.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
Comunicação entre processos
-Desde que o Linux possa ser preemptado por qualquer tarefa de tempo real a qualquer momento, nenhuma rotina Linux pode ser chamada de forma segura a partir de uma tarefa de tempo real.- Porém, alguns mecanismos de comunicação devem estar presentes. Filas FIFO são usados pelo RTLinux para manipular informações entre processos Linux ou entre o kernel do Linux e processos de tempo real.
![Page 32: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/32.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
Comunicação entre processos
-As filas RT-FIFO são alocados no nível do kernel e são referenciadas por números inteiros. Existe um limite estático para o número de filas FIFOs que podem ser mudadas durante a recompilação do kernel.- Contudo, processos Linux enxergam as filas FIFOs como arquivos especiais de caracteres. Normalmente estão no diretório /dev/rtf0, dev/rtf1, etc.
![Page 33: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/33.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
Comunicação entre processos
-As FIFOs são utilizadas como se fossem arquivos normais (open read/write close). Para poder utilizá-las, elas devem ter sido criadas antes que um processo normal do Linux possa fazer um open sobre ela.
![Page 34: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/34.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
Aplicações- O campo de aplicação de RTLinux é muito amplo, com ele podemos tomar o controle total do PC;- Em uma tarefa de tempo real, podemos acessar todas as portas do PC, instalar controladores de interrupções, desabilitar temporariamente as interrupções;- Atualmente é utilizado em plantas industriais, na forma de controle e automação;- Também é utilizado como componentes na fabricação de produtos tais como roteadores, receptores GPS e sistemas embarcados, no caso da automação e controle industrial.
![Page 35: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/35.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
Aplicações-O RTLinux se integra facilmente com os sistemas corporativos, tais como acesso à base de dados como Oracle e o DB2 e servidores Web. - Muitas empresas utilizam o RTLinux em suas instalações e atividades tais como: a Agencia Espacial Norte Americana (NASA), utiliza RT Linux para controle de mísseis, a Fujitsu utiliza-o em controle de robôs, telescópios e outros projetos científicos, a Siemens automatizou sua fábrica com RTLinux.
![Page 36: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/36.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
Introdução
BlueCat: Sistema de tempo real embarcado; RTOS (Real-Time Operation System)
próprio para arquiteturas multiprocessadas;
Kenerl customizável; Programação utilizando o padrão POSIX.
![Page 37: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/37.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
Sistema baseado no kernel 2.6; Disponível para as arquiteturas x86,
PowerPC, ARM, MIPS, e todas as placas de RTOS;
Kernel preemptível; Escalonador de baixa latência.
Características
![Page 38: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/38.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
Instalação
Tem que pedir o cd pelo site: http://www.lynuxworks.com/
products/bluecat/embedded-linux-cd.php
Veja a arquitetura que deseja: http://www.lynuxworks.com/board-
support/all-linux.php
![Page 39: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/39.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
Referências Bibliográficas
http://www.lynuxworks.com/support/bluecat/docs/bluecat55/0851-00-bcl55_ug.pdf
http://lynxos.org/support/courses/bclinux.php3
![Page 40: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/40.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
Introdução (KURT)
Kansas University Real-Time Linux: Linux modificado para ter um
escalonador em tempo real; Sistema de tempo real soft; Fácil de implementar; Escalonador muito eficiente. Gerenciamento dos eventos de tempo
real em uma escala de 10ms.
![Page 41: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/41.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
Patch aplicado ao kernel 2.4.18 (última versão);
Disponível apenas para a arquitetura PC; Dois modos de operação:
Normal: Apenas eventos que não sejam em tempo real;
Real-Time: Apenas eventos que sejam em tempo real.
Framework em tempo real que pode escalonar qualquer evento
Características
![Page 42: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/42.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
Instalação I
Faça o download dos seguintes arquivos:
http://www.ittc.ku.edu/kurt/downloads/kurt-2.4.18-2.patch
http://www.ittc.ku.edu/kurt/downloads/kurt-2.4.18-2.tar.bz2
http://www.kernel.org/pub/linux/kernel/v2.4/linux-2.4.18.tar.bz2
Descomprima todos os arquivos (dica, no diretório /usr/src ):
![Page 43: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/43.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
Instalação II
Aplique o patch dentro do diretório do kernel descompactado:
# patch -p1 -s < /diretorio/kurt-2.4.18.patch
Na configuração do kernel, marque todas as opções que tem haver com UTIME e KURT como 'build-in';
Compile o kernel e reinicie o pc com o novo kernel.
![Page 44: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/44.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
Instalação III
Compile os fontes do diretório kurt-2.4.18-2;
Não esqueça de criar a variável de ambiente KURTLINUX com o caminho do kernel 2.4.18;
Crie os seguintes devices: # mknod /dev/kurt c 240 0 # mknod /dev/utime c 241 0 # mknod /dev/dstream c 242 0
![Page 45: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/45.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
Referências Bibliográficas
http://hegel.ittc.ukans.edu/projects/kurt http://www.linuxdevices.com/articles/AT9514980
326.html http://www.ittc.ku.edu/kurt/papers/user-manual-
DRAFT.pdf
![Page 46: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/46.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
Introdução
Xenomai: Sistema de tempo real hard; Trabalha com diversos tipos de RTOS
(Real-Time Operation System) para oferecer serviços genéricos;
Estes serviços criam uma camada abstrata para emular módulos de aplicações em tempo-real, que imita APIs de kernel de tempo-real.
![Page 47: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/47.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
Aplicado a qualquer kernel menor ou igual à versão 2.6.23 (versão);
Disponível para as arquiteturas x86, PowerPC, ARM, MIPs, entre outras;
Tem como dependência a camada de virtualização Adeos (Adaptive Domain Environment for Operation System)
Características
![Page 48: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/48.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
Instalação I
Faça o download dos seguintes arquivos:
http://download.gna.org/xenomai/testing/xenomai-2.4-rc4.tar.bz2
http://download.gna.org/adeos/patches/v2.6/i386/adeos-ipipe-2.6.23-i386-1.10-10.patch
http://www.kernel.org (última versão do kernel)
Descomprima todos os arquivos (dica, no diretório /usr/src ) e compile-os.
![Page 49: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/49.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
Instalação II
Na configuração do kernel, tenha os seguintes cuidados:
Marque todas as opções para 'Real-time sub-system';
Marque a opção que referece à interrupções de pipeline;
Compile o kernel e reinicie o pc com o novo kernel.
![Page 50: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/50.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
Referências Bibliográficas
http://stud3.tuwien.ac.at/~e0226686/xenomai/xenomai_implementation.pdf
http://www.xenomai.org/index.php/Main_Page
![Page 51: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/51.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
Projetos
Desenvolver uma plataforma para análise de formas de onda através da porta-paralela, serial ou USB, com o objetivo de comparação de aptidão a tempo real, no quesito tempo de latência, de diversos sistemas operacionais ditos de tempo real;
- Equipes: 3 pessoas (Máximo)- Sugestão: 3 trios e 2 duplas
![Page 52: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/52.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
Projetos
-O sistema deverá reproduzir em formato gráfico a forma de onda adquirida. O sistema deverá ser testado com carga máxima e mínima;-Utilize um ADC0808 ou similar para a aquisição do sinal do gerador;
SOTR + LOAD
ADC
PARALELA OU SERIAL
LAT FREQ
GERADOR DE FREQ.
![Page 53: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/53.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
Projetos
- Fase 1: seminários sobre cada sistema operacional, apresentando arquitetura proposta, APIs utilizadas e viabilidade da implementação, como acesso ao hardware;- Fase 2: implementação e apresentação dos resultados- Fase 3 documentação (possível publicação de artigo ou trabalho)
![Page 54: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/54.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
Projetos
- Datas:
- 06/11/2007: Equipe 2 e 3
- 13/11/2007: Equipe 1, 4 e 5
- 04/12/2007: Apresentação das equipes
- 11/12/2007: Entrega da documentação
![Page 55: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/55.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
RTOS:
- RT Linux- KURT- RTAI- Xenomai- BlueCat- Java
Projetos
![Page 56: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/56.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
Equipes:
Lucas Távora de MeloGabriel MendesPedro RafaelLeandro PinheiroRicardo BrunoCésar LincolnRaphael TorresLevi LopesLila MariaIsaac TelesLius FontenelleAraceli TeixeiraFrancisco Eugênio
Projetos
![Page 57: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/57.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
Equipes 1: BlueCatCésar LincolnRaphael TorresLevi Lopes
Projetos
![Page 58: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/58.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
Equipe 2: Xenomai
Lucas Távora de MeloGabriel MacedoPedro Rafael
Projetos
![Page 59: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/59.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
Equipes 3: RTAI
Araceli TeixeiraFrancisco Eugênio
Projetos
![Page 60: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/60.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
Equipes 4: RT Linux
Lila MariaLius FontenelleRicardo Bruno
Projetos
![Page 61: DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 5: Sistemas operacionais e Linguagens de Programação em tempo real. Jarbas](https://reader036.vdocuments.site/reader036/viewer/2022062312/552fc0fb497959413d8b9bc5/html5/thumbnails/61.jpg)
DETI - UFCSistema em Tempo Real Jarbas Silveira
Equipes 5: KURT
Isaac TelesLeandro Pinheiro
Projetos