SlideShare a Scribd company logo
1 of 12
Download to read offline
Sistemas em Tempo Real


       RTAI – REAL TIME
     APPLICATION INTERFACE


Araceli N. Teixeira
Fco. Eugênio de Freitas
Sumário
    Sistemas real-time.


    RTAI – Características.


    Arquitetura.


    Módulos.


    Programação.


    Projeto.

Sistemas real-time
    Definição




É um sistema destinado à execução de
múltiplas tarefas onde o tempo de
resposta a um evento (externo ou
interno) é pré-definido; não importando
se o tempo é elevado ou não.
Sistemas real-time
    Tipos




Existem dois gêneros de RTOS:
   - tipo hard RTS;
   - tipo soft RTS).

A severidade da perda pelo não
cumprimento das tarefas num determinado
intervalo de tempo os distingue.
RTAI - Características
• Desenvolvido por:
- Dipartimento di Ingeneria Aerospaziale, Politecnico di
  Milano pelo Professor Paolo Mantegazza em 2000.

• Objetivo:
- RTAI provides deterministic and preemptive
  performance in addition to allowing the use of all
  standard Linux drivers, applications and functions.

• Linux como uma tarefa no executivo tempo real:
- Funciona como a tarefa de prioridade inferior;
- Nunca pode desligar as interrupções ou prevenir que
   seja interrompido.
RTAI - Características
    Para facilitar a programação de


    sistemas de tempo-real, RTAI provê
    um módulo, o LXRT, e uma API que
    permitem a programação de
    sistemas de tempo-real a partir do
    espaço do usuário, através de
    chamadas de sistema.
Arquitetura
Arquitetura
  Consiste essencialmente em:


– Uma camada de abstracção do hardware:
  • Recebe e despacha as interrupções;
  • Emula o controlo de interrupções para o Linux.

– Um conjunto de serviços:
  • IPC, semáforos, escalonador tempo-real, API
  POSIX, funções para processos linux ...
  • Cada um destes componentes é um módulo do
  kernel:
 – rtai;

 – rtai_shm, rtai_sched, rtai_pthread, lxrt, ...
Módulos RTAI
  Cada módulo disponibiliza um conjunto de funções.

• RTAI
  – Inicia/Termina o RTAI; Gestão das interrupções.
• SCHED
  – Tarefas; Temporização; Semáforos; RPC;
  Mensagens; Caixas de Mensagens;
• LX(Linux)RT(RTAI)
  – Disponibiliza funcionalidades do RTAI a processos
  Linux.
• SHM e FIFO
  – Memória partilhada e Filas de mensagens.
• POSIX
  – Implementa threads POSIX no RTAI.
Programação
RTAI
   – rt_startup_irq(…); rt_shutdown_irq(…); rt_enable_irq(…); rt_disable_irq(…);
         • Funções de gestão das rotinas de interrupção.
• SCHED
   – Temporização
         • rt_set_oneshot_mode();
                   – Ativa modo de temporização não periódico.
         • rt_set_periodic_mode();
                   – Ativa modo de temporização não periódico.
         • start_rt_timer(…);
                   – Ativa o timer.
         • rt_get_cpu_time_ns();
                   – Devolve o tempo actual do sistema.
   – Tarefas
         • rt_task_make_periodic(…)
                   – Declara uma tarefa que executa periodicamente.
         • rt_task_wait_period()
                   – Tarefa esperar para ser ativada no seu próximo período.
         • rt_task_delete()
                   – Remove uma tarefa tempo-real.
Programação
• SCHED
    – Semáforos
           • rt_typed_sem_init(…);
                       – Cria um semáforo de um dos tipos: counting, binary, resource.
           • rt_sem_delete(…);
                       – Elemina um semáforo
           • rt_sem_wait(…);
                       – Espera para adquirir um semáforo
           • rt_sem_signal(…);
                       – Liberta um semáforo
• LX(Linux)RT(RTAI)
           • rt_task_init_schmod(…);
                       – Inicia o escalonador.
           • rt_make_hard_real_time(…);
                       – Atribui a uma thread Linux capacidades de execução em tempo-real hard.
           • rt_make_soft_real_time(…);
                       – Atribui a uma thread Linux capacidades de execução em tempo-real soft.
• POSIX
           • pthread_create();
                       – Cria uma thread.
           • pthread_joint();
                       – Espera que uma thread termine.
           • pthread_exit();
                       – Termina a thread.
Projeto – Num Futuro...

More Related Content

What's hot

Funcionamento e otimização da Garbage Collection na Oracle Hotspot JVM
Funcionamento e otimização da Garbage Collection na Oracle Hotspot JVMFuncionamento e otimização da Garbage Collection na Oracle Hotspot JVM
Funcionamento e otimização da Garbage Collection na Oracle Hotspot JVMAdriano Bonat
 
[2/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
[2/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...[2/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
[2/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...Marcelo Barros de Almeida
 
Processos threads senai
Processos threads senaiProcessos threads senai
Processos threads senaiCarlos Melo
 
Escalonador Earliest Deadline First - TDC2014SP
Escalonador Earliest Deadline First - TDC2014SPEscalonador Earliest Deadline First - TDC2014SP
Escalonador Earliest Deadline First - TDC2014SPRafael Moreira
 
[7/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
[7/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...[7/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
[7/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...Marcelo Barros de Almeida
 
Arquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e ThreadsArquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e ThreadsEvandro Júnior
 
[5/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
[5/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...[5/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
[5/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...Marcelo Barros de Almeida
 

What's hot (11)

Funcionamento e otimização da Garbage Collection na Oracle Hotspot JVM
Funcionamento e otimização da Garbage Collection na Oracle Hotspot JVMFuncionamento e otimização da Garbage Collection na Oracle Hotspot JVM
Funcionamento e otimização da Garbage Collection na Oracle Hotspot JVM
 
MRTG - SNMP na Prática
MRTG - SNMP na PráticaMRTG - SNMP na Prática
MRTG - SNMP na Prática
 
[2/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
[2/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...[2/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
[2/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
 
Processos threads senai
Processos threads senaiProcessos threads senai
Processos threads senai
 
Escalonador Earliest Deadline First - TDC2014SP
Escalonador Earliest Deadline First - TDC2014SPEscalonador Earliest Deadline First - TDC2014SP
Escalonador Earliest Deadline First - TDC2014SP
 
Apresentacao Aula04 So
Apresentacao Aula04 SoApresentacao Aula04 So
Apresentacao Aula04 So
 
Trabalho sistemas operacionais
Trabalho sistemas operacionaisTrabalho sistemas operacionais
Trabalho sistemas operacionais
 
Threads
ThreadsThreads
Threads
 
[7/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
[7/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...[7/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
[7/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
 
Arquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e ThreadsArquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e Threads
 
[5/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
[5/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...[5/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
[5/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
 

Viewers also liked

עיצוב בלוגים 101
עיצוב בלוגים 101עיצוב בלוגים 101
עיצוב בלוגים 101smoothness
 
Kimia General Presentation v3.0
Kimia General Presentation v3.0Kimia General Presentation v3.0
Kimia General Presentation v3.0kimia
 
Test Powerpoint1
Test Powerpoint1Test Powerpoint1
Test Powerpoint1guest5f6285
 
ดูงาน50
ดูงาน50ดูงาน50
ดูงาน50pardee.2511
 
Kimia General Presentation v5.0
Kimia General Presentation v5.0Kimia General Presentation v5.0
Kimia General Presentation v5.0kimia
 

Viewers also liked (9)

òLkhlòJhkjh
òLkhlòJhkjhòLkhlòJhkjh
òLkhlòJhkjh
 
עיצוב בלוגים 101
עיצוב בלוגים 101עיצוב בלוגים 101
עיצוב בלוגים 101
 
Punten Op Het (Buurt)Werk
Punten Op Het (Buurt)WerkPunten Op Het (Buurt)Werk
Punten Op Het (Buurt)Werk
 
Kimia General Presentation v3.0
Kimia General Presentation v3.0Kimia General Presentation v3.0
Kimia General Presentation v3.0
 
Test Powerpoint1
Test Powerpoint1Test Powerpoint1
Test Powerpoint1
 
Askollen101007 2
Askollen101007 2Askollen101007 2
Askollen101007 2
 
Il Lago
Il LagoIl Lago
Il Lago
 
ดูงาน50
ดูงาน50ดูงาน50
ดูงาน50
 
Kimia General Presentation v5.0
Kimia General Presentation v5.0Kimia General Presentation v5.0
Kimia General Presentation v5.0
 

Similar to Rtai Apresentacao

Mini-curso Programação Paralela e Distribuída
Mini-curso Programação Paralela e DistribuídaMini-curso Programação Paralela e Distribuída
Mini-curso Programação Paralela e DistribuídaDeivid Martins
 
Ferramentas para desenvolvimento no blockchain Ethereum
Ferramentas para desenvolvimento no blockchain EthereumFerramentas para desenvolvimento no blockchain Ethereum
Ferramentas para desenvolvimento no blockchain EthereumOriginalMy.com
 
Introdução ao SystemTap - João Avelino Bellomo Filho - Tchelinux Caxias 2018
Introdução ao SystemTap - João Avelino Bellomo Filho - Tchelinux Caxias 2018Introdução ao SystemTap - João Avelino Bellomo Filho - Tchelinux Caxias 2018
Introdução ao SystemTap - João Avelino Bellomo Filho - Tchelinux Caxias 2018Tchelinux
 
Webinar: Porque o RTOS não faz o que eu quero?
Webinar: Porque o RTOS não faz o que eu quero?Webinar: Porque o RTOS não faz o que eu quero?
Webinar: Porque o RTOS não faz o que eu quero?Embarcados
 
Interrupts and the timer
Interrupts and the timerInterrupts and the timer
Interrupts and the timerMayara Mônica
 
Desenvolvimento de drivers para sistemas embarcados
Desenvolvimento de drivers para sistemas embarcadosDesenvolvimento de drivers para sistemas embarcados
Desenvolvimento de drivers para sistemas embarcadosRodrigo Almeida
 
Ferramentas GPL para segurança de redes - Vanderlei Pollon
Ferramentas GPL para segurança de redes - Vanderlei PollonFerramentas GPL para segurança de redes - Vanderlei Pollon
Ferramentas GPL para segurança de redes - Vanderlei PollonTchelinux
 
Sistema Operacional de Tempo Real (vx works)
Sistema Operacional de Tempo Real (vx works)Sistema Operacional de Tempo Real (vx works)
Sistema Operacional de Tempo Real (vx works)Jose Silva
 
Sistema Operacional de Tempo Real(vx works)
Sistema Operacional de Tempo Real(vx works)Sistema Operacional de Tempo Real(vx works)
Sistema Operacional de Tempo Real(vx works)Jose Silva
 
sys._current_frames(), Radiografando seu software em tempo real
 sys._current_frames(), Radiografando seu software em tempo real sys._current_frames(), Radiografando seu software em tempo real
sys._current_frames(), Radiografando seu software em tempo realLeonardo Rochael Almeida
 
Alta Disponibilidade na Prática utilizando servidores Linux
Alta Disponibilidade na Prática utilizando servidores LinuxAlta Disponibilidade na Prática utilizando servidores Linux
Alta Disponibilidade na Prática utilizando servidores Linuxelliando dias
 
Mini Curso - Pen Test - Univem
Mini Curso - Pen Test - UnivemMini Curso - Pen Test - Univem
Mini Curso - Pen Test - Univemevandrovv
 
Capítulo 16 rsyslog
Capítulo 16   rsyslogCapítulo 16   rsyslog
Capítulo 16 rsyslogPaulo Kutwak
 
Como ser programador durante o dia e mesmo assim dormir bem à noite
Como ser programador durante o dia e mesmo assim dormir bem à noiteComo ser programador durante o dia e mesmo assim dormir bem à noite
Como ser programador durante o dia e mesmo assim dormir bem à noiteComunidade NetPonto
 
Experimentos envolvendo ações de Rejuvenescimento de Software
Experimentos envolvendo ações de Rejuvenescimento de SoftwareExperimentos envolvendo ações de Rejuvenescimento de Software
Experimentos envolvendo ações de Rejuvenescimento de SoftwareCarlos Eduardo
 

Similar to Rtai Apresentacao (20)

Apresentacao sobre o KURT
Apresentacao sobre o KURTApresentacao sobre o KURT
Apresentacao sobre o KURT
 
Pg fabio louvatti
Pg   fabio louvattiPg   fabio louvatti
Pg fabio louvatti
 
Mini-curso Programação Paralela e Distribuída
Mini-curso Programação Paralela e DistribuídaMini-curso Programação Paralela e Distribuída
Mini-curso Programação Paralela e Distribuída
 
Ferramentas para desenvolvimento no blockchain Ethereum
Ferramentas para desenvolvimento no blockchain EthereumFerramentas para desenvolvimento no blockchain Ethereum
Ferramentas para desenvolvimento no blockchain Ethereum
 
Apresentacao Aula03 So
Apresentacao Aula03 SoApresentacao Aula03 So
Apresentacao Aula03 So
 
Introdução ao SystemTap - João Avelino Bellomo Filho - Tchelinux Caxias 2018
Introdução ao SystemTap - João Avelino Bellomo Filho - Tchelinux Caxias 2018Introdução ao SystemTap - João Avelino Bellomo Filho - Tchelinux Caxias 2018
Introdução ao SystemTap - João Avelino Bellomo Filho - Tchelinux Caxias 2018
 
Webinar: Porque o RTOS não faz o que eu quero?
Webinar: Porque o RTOS não faz o que eu quero?Webinar: Porque o RTOS não faz o que eu quero?
Webinar: Porque o RTOS não faz o que eu quero?
 
Apresentacao Aula02 So
Apresentacao Aula02 SoApresentacao Aula02 So
Apresentacao Aula02 So
 
Interrupts and the timer
Interrupts and the timerInterrupts and the timer
Interrupts and the timer
 
Desenvolvimento de drivers para sistemas embarcados
Desenvolvimento de drivers para sistemas embarcadosDesenvolvimento de drivers para sistemas embarcados
Desenvolvimento de drivers para sistemas embarcados
 
Ferramentas GPL para segurança de redes - Vanderlei Pollon
Ferramentas GPL para segurança de redes - Vanderlei PollonFerramentas GPL para segurança de redes - Vanderlei Pollon
Ferramentas GPL para segurança de redes - Vanderlei Pollon
 
Sistema Operacional de Tempo Real (vx works)
Sistema Operacional de Tempo Real (vx works)Sistema Operacional de Tempo Real (vx works)
Sistema Operacional de Tempo Real (vx works)
 
Sistema Operacional de Tempo Real(vx works)
Sistema Operacional de Tempo Real(vx works)Sistema Operacional de Tempo Real(vx works)
Sistema Operacional de Tempo Real(vx works)
 
Ruby On Rails Regis
Ruby On Rails RegisRuby On Rails Regis
Ruby On Rails Regis
 
sys._current_frames(), Radiografando seu software em tempo real
 sys._current_frames(), Radiografando seu software em tempo real sys._current_frames(), Radiografando seu software em tempo real
sys._current_frames(), Radiografando seu software em tempo real
 
Alta Disponibilidade na Prática utilizando servidores Linux
Alta Disponibilidade na Prática utilizando servidores LinuxAlta Disponibilidade na Prática utilizando servidores Linux
Alta Disponibilidade na Prática utilizando servidores Linux
 
Mini Curso - Pen Test - Univem
Mini Curso - Pen Test - UnivemMini Curso - Pen Test - Univem
Mini Curso - Pen Test - Univem
 
Capítulo 16 rsyslog
Capítulo 16   rsyslogCapítulo 16   rsyslog
Capítulo 16 rsyslog
 
Como ser programador durante o dia e mesmo assim dormir bem à noite
Como ser programador durante o dia e mesmo assim dormir bem à noiteComo ser programador durante o dia e mesmo assim dormir bem à noite
Como ser programador durante o dia e mesmo assim dormir bem à noite
 
Experimentos envolvendo ações de Rejuvenescimento de Software
Experimentos envolvendo ações de Rejuvenescimento de SoftwareExperimentos envolvendo ações de Rejuvenescimento de Software
Experimentos envolvendo ações de Rejuvenescimento de Software
 

More from Líus Fontenelle Carneiro (17)

DSPic
DSPicDSPic
DSPic
 
Transputer
TransputerTransputer
Transputer
 
AVR
AVRAVR
AVR
 
Wavecom
WavecomWavecom
Wavecom
 
PSoC
PSoCPSoC
PSoC
 
HC11
HC11HC11
HC11
 
Blackfin
BlackfinBlackfin
Blackfin
 
ARM
ARMARM
ARM
 
Zilog
ZilogZilog
Zilog
 
Apresentação sobre o kernel Linux v2.0
Apresentação sobre o kernel Linux v2.0Apresentação sobre o kernel Linux v2.0
Apresentação sobre o kernel Linux v2.0
 
Microcontroladores AVR
Microcontroladores AVRMicrocontroladores AVR
Microcontroladores AVR
 
Java Web Start
Java Web StartJava Web Start
Java Web Start
 
Apresentacao sobre o QNX Neutrino
Apresentacao sobre o QNX NeutrinoApresentacao sobre o QNX Neutrino
Apresentacao sobre o QNX Neutrino
 
Sistemas Operacionais de Tempo Real
Sistemas Operacionais de Tempo RealSistemas Operacionais de Tempo Real
Sistemas Operacionais de Tempo Real
 
Programação para Redes de Computadores: Multithread e Multicast
Programação para Redes de Computadores: Multithread e MulticastProgramação para Redes de Computadores: Multithread e Multicast
Programação para Redes de Computadores: Multithread e Multicast
 
Sistemas Distribuídos: RMI, CORBA e SOA
Sistemas Distribuídos: RMI, CORBA e SOASistemas Distribuídos: RMI, CORBA e SOA
Sistemas Distribuídos: RMI, CORBA e SOA
 
Kernel Linux
Kernel LinuxKernel Linux
Kernel Linux
 

Rtai Apresentacao

  • 1. Sistemas em Tempo Real RTAI – REAL TIME APPLICATION INTERFACE Araceli N. Teixeira Fco. Eugênio de Freitas
  • 2. Sumário Sistemas real-time.  RTAI – Características.  Arquitetura.  Módulos.  Programação.  Projeto. 
  • 3. Sistemas real-time Definição  É um sistema destinado à execução de múltiplas tarefas onde o tempo de resposta a um evento (externo ou interno) é pré-definido; não importando se o tempo é elevado ou não.
  • 4. Sistemas real-time Tipos  Existem dois gêneros de RTOS: - tipo hard RTS; - tipo soft RTS). A severidade da perda pelo não cumprimento das tarefas num determinado intervalo de tempo os distingue.
  • 5. RTAI - Características • Desenvolvido por: - Dipartimento di Ingeneria Aerospaziale, Politecnico di Milano pelo Professor Paolo Mantegazza em 2000. • Objetivo: - RTAI provides deterministic and preemptive performance in addition to allowing the use of all standard Linux drivers, applications and functions. • Linux como uma tarefa no executivo tempo real: - Funciona como a tarefa de prioridade inferior; - Nunca pode desligar as interrupções ou prevenir que seja interrompido.
  • 6. RTAI - Características Para facilitar a programação de  sistemas de tempo-real, RTAI provê um módulo, o LXRT, e uma API que permitem a programação de sistemas de tempo-real a partir do espaço do usuário, através de chamadas de sistema.
  • 8. Arquitetura Consiste essencialmente em:  – Uma camada de abstracção do hardware: • Recebe e despacha as interrupções; • Emula o controlo de interrupções para o Linux. – Um conjunto de serviços: • IPC, semáforos, escalonador tempo-real, API POSIX, funções para processos linux ... • Cada um destes componentes é um módulo do kernel:  – rtai;  – rtai_shm, rtai_sched, rtai_pthread, lxrt, ...
  • 9. Módulos RTAI Cada módulo disponibiliza um conjunto de funções. • RTAI – Inicia/Termina o RTAI; Gestão das interrupções. • SCHED – Tarefas; Temporização; Semáforos; RPC; Mensagens; Caixas de Mensagens; • LX(Linux)RT(RTAI) – Disponibiliza funcionalidades do RTAI a processos Linux. • SHM e FIFO – Memória partilhada e Filas de mensagens. • POSIX – Implementa threads POSIX no RTAI.
  • 10. Programação RTAI – rt_startup_irq(…); rt_shutdown_irq(…); rt_enable_irq(…); rt_disable_irq(…); • Funções de gestão das rotinas de interrupção. • SCHED – Temporização • rt_set_oneshot_mode(); – Ativa modo de temporização não periódico. • rt_set_periodic_mode(); – Ativa modo de temporização não periódico. • start_rt_timer(…); – Ativa o timer. • rt_get_cpu_time_ns(); – Devolve o tempo actual do sistema. – Tarefas • rt_task_make_periodic(…) – Declara uma tarefa que executa periodicamente. • rt_task_wait_period() – Tarefa esperar para ser ativada no seu próximo período. • rt_task_delete() – Remove uma tarefa tempo-real.
  • 11. Programação • SCHED – Semáforos • rt_typed_sem_init(…); – Cria um semáforo de um dos tipos: counting, binary, resource. • rt_sem_delete(…); – Elemina um semáforo • rt_sem_wait(…); – Espera para adquirir um semáforo • rt_sem_signal(…); – Liberta um semáforo • LX(Linux)RT(RTAI) • rt_task_init_schmod(…); – Inicia o escalonador. • rt_make_hard_real_time(…); – Atribui a uma thread Linux capacidades de execução em tempo-real hard. • rt_make_soft_real_time(…); – Atribui a uma thread Linux capacidades de execução em tempo-real soft. • POSIX • pthread_create(); – Cria uma thread. • pthread_joint(); – Espera que uma thread termine. • pthread_exit(); – Termina a thread.
  • 12. Projeto – Num Futuro...