100 likes | 214 Views
&. para sistemas de tempo real. C. Histórico. QNX Software Systems – 1980 Gordon Bell, Dan Doge 2x mais mercado que seu concorrente mais próximo Que concorrente??. Automação industrial Telecomunicaçãoes Pontos de venda Instrumentação médica Eletrônica de consumidos
E N D
& para sistemas de tempo real C
Histórico • QNX Software Systems – 1980 • Gordon Bell, Dan Doge • 2x mais mercado que seu concorrente mais próximo • Que concorrente?? • Automação industrial • Telecomunicaçãoes • Pontos de venda • Instrumentação médica • Eletrônica de consumidos • Tecnologia altomotiva • Controle de processos • Controle de tráfego • Callcenters
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
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)