Your SlideShare is downloading. ×
0
Rtai Apresentacao
Rtai Apresentacao
Rtai Apresentacao
Rtai Apresentacao
Rtai Apresentacao
Rtai Apresentacao
Rtai Apresentacao
Rtai Apresentacao
Rtai Apresentacao
Rtai Apresentacao
Rtai Apresentacao
Rtai Apresentacao
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Rtai Apresentacao

1,768

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,768
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
39
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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.
  • 7. Arquitetura
  • 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...

×