& 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)