&
C
PARA SISTEMAS
DE TEMPO REAL
Histórico
 QNX Software Systems – 1980

Gordon Bell, Dan Doge
 2x mais mercado que seu concorrente mais próximo

Que concorrente??
 Automação industrial
 Controle de processos
 Telecomunicaçãoes
 Controle de tráfego
 Pontos de venda
 Call centers
 Instrumentação médica
 Eletrônica de consumidos
 Tecnologia altomotiva
Características
 Tempo Real
 Multi-tarefa
 Hardware padrão PC (x86)
 Família UNIX
 Micro-kernel
 24h/dia, 365 dias/ano, sem parada
Características
 QNX Neutrino RTOS
 Drivers, aplicações, pilhas de protocolos e sistema de
arquivo rodam no espaço do usuários
 Tolerante a falhas
Visual Gráfico
Referências
 QNX Software Sysmtems
 http://www.qnx.com
 http://www.qnx.com/products/neutrino_rtos/#
 http://www.qnx.com/products/neutrino_rtos/secure_kernel.
html
 http://www.qnx.com/developers/qnx4/
 Wikipedia
 http://pt.wikipedia.org/wiki/QNX
Concurrent C
 Concurrent C é um super conjunto de C.
 Provê facilidades de processamento paralelo
 Processos interagem por meio de transações
 Síncronas
 Assíncronas
Concurrent C
 Não provê facilidades para programação de sistemas
hard real time.
 Responsabilidade do programador garantir
restrições temporais.
Concurrent C
 Definição de processos;
 Criação de processos (usando a operação create);
 Especificação de qual processador um processo vai
rodar (usando a cláusula processor da operação
create);
 Especificação, consulta e mudança de prioridades de
processos (usando a cláusula priority do operador create
e através de funções da biblioteca)
 Transações síncronas e assíncronas;
 Delays e timeouts, usando a instrução delay e o operador
within;
 Tratamento de interrupções (usando a função
c_associate, que associa interrupções transações)
Download

QNX Neutrino RTOS