Your SlideShare is downloading. ×

Apresentacao sobre o QNX Neutrino

4,279

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
4,279
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
131
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. QNX Neutrino César Lincoln Cavalcante Mattos Raphael Torres Santos Carvalho Levi Lopes Soares e Silva
  • 2. QNX Neutrino História Em 1980, Gordon Bell e Dan Dodge, estudantes da Universidade de WaterLoo fundam a Quantum Software Systems. Em 1982, a primeira versão do QNX é lançada para Intel 8088. Nos primeiros anos, o QNX ficou difundido somente no mundo não-embarcado, pois seu kernel de 44k era muito grande para esse tipo de aplicação. No fim dos anos 80, a Quantum percebeu que o mercado estava migrando rapidamente para o modelo POSIX e decidiu reescrever o kernel para maior compatibilidade em baixo nível. O resultado foi o QNX 4. Nesse mesmo tempo, foi desenvolvido um sistema de janelas, nomeado de Photon microGUI.
  • 3. QNX Neutrino História Em 2001, saiu o QNX Neutrino, nova versão do QNX, totalmente compatível com POSIX e desenvolvida desde o início para ser compatível com SMP (Symmetric Multiprocessing), mantendo a arquitetura de microkernel. Em 2004 a companhia anunciou sua venda para Harman International Industries. Antes dessa aquisição, o QNX já havia sido usado extensamente na indústria automotiva para sistemas telemáticos. Desde sua compra pela Harman, o QNX têm sido projetado sobre 180 modelos diferentes de automóvel. Em 12 de setembro de 2007, a QNX Software Systems abriu o código fonte do seu sistema operacional de tempo real QNX Neutrino, para uso não-comercial.
  • 4. QNX Neutrino Arquitetura Geral  Microkernel  Modularizada - Qualquer componente pode ser interrompido, removido ou adicionado dinamicamente.  Multi-target - ARM, MIPS, PowerPC, SH-4, StrongARM, XScale, x86.  Suporte a POSIX.  Suporte a J2ME.  Suporte a ambientes multi-core.  Sistema de arquivos em espaço de usuário com capacidade de compressão e acesso a arquivos via rede.  QNX Photon microGUI - Sistema de interface.
  • 5. QNX Neutrino Arquitetura Geral
  • 6. QNX Neutrino Características RT  O kernel QNX contém apenas escalonador de CPU, comunicação inter-processos, redirecionamento de interrupção e temporizadores.  Todos os processos executam em espaço de usuário, incluindo um processo especial conhecido como proc, que opera em conjunto com o microkernel na criação de outras tarefas e no gerenciamento de memória.  Esta organização é possível devido a dois mecanismos chaves – um subroutine-call para comunicação inter-processos, e um boot loader que pode carregar uma imagem contendo, além do kernel, programas de usuário e bibliotecas compartilhadas.  Microkernel é inteiramente preemptivo com escalonador baseado em prioridades.  Suporte a clusters de tolerância a falhas.  Otimizado para sistemas distribuídos, inclusive com acesso a recursos externos compartilhados.  CPM (Critical Process Monitor). - quot;Smart watchdogquot; que automaticamente reinicializa processos críticos quando estes falharem, reduzindo o MTTR (Mean Time to Repair) do sistema .
  • 7. QNX Neutrino Características RT As requisições de I/O são executadas através de troca de mensagens. Threads de alta prioridade recebem serviço de I/O antes das de baixa prioridade, uma característica essencial em um sistema hard real-time.  O conjunto de device drivers e bibliotecas de suporte necessários para inicialização do sistema não estão no kernel. É possível colocar uma imagem de boot contendo esse conjunto de aplicações na ROM, o que pode ser útil em sistemas embarcados.  O QNX Neutrino suporta Symmetric Multiprocessing (SMP) e Bound Multiprocessing (BMP). BMP é usado para facilitar a migração de aplicação non-SMP safe para computadores multiprocessadores.  O QNX Neutrino permite que em um Pentium III um processamento de interrupção de 0,55µs no qual os eventos podem ser registrados. Para efeito de comparação, sistemas operacionais de tempo compartilhado reagem a eventos somente após aproximadamente 10 ms.
  • 8. QNX Neutrino Comunicação Inter-Processos (IPC) Utiliza um pathname space que permite qualquer processo requisitar serviços de outros processos através de chamadas POSIX, como open(), read(), write() e lseek(). Essas chamadas são convertida de maneira transparente em trocas de mensagens feitas através de um quot;barramento de softwarequot;. Na operação da troca de mensagens, a mensagem é copiada, pelo kernel, do espaço de endereço do processo emissor para aquele do processo receptor. Se o processo receptor estiver esperando pela mensagem, o controle da CPU é transferido no mesmo instante, sem passar através do escalonador. Portanto, enviar uma mensagem para outro processo e esperar pela resposta não resultam em perda de um turno pela CPU. Esta integração entre passagem de mensagem e escalonador é o principal motivo da grande utilização desse tipo de IPC no QNX.
  • 9. QNX Neutrino Comunicação Inter-Processos (IPC) As mensagens podem ser manipuladas diretamente através das funções MsgSend(), MsgReceive() e MsgReply().  É possível utilizar mecanismos de IPC tradicionais, como pipes, FIFOs, memória compartilhada, signals, etc.  O sistema de TDP (Transparent Distributed Processing), permite a comunicação entre processos distribuídos.
  • 10. QNX Neutrino Arquitetura Geral
  • 11. QNX Neutrino Desenvolvimento  Compatibilidade POSIX.
  • 12. QNX Neutrino Instrumented Kernel  É possível substituir o kernel padrão do QNX Neutrino por um instrumented kernel, onde podemos debugar todas as partes do sistema em busca de possíveis deadlocks, problemas de temporização, falhas lógicas, etc.  Pode-se ainda selecionar as informações que serão buscadas através de filtros definidos pelo usuário.
  • 13. QNX Neutrino QNX Photon microGUI  GUI modular para sistemas embedded.  Suporte a múltiplas janelas, múltiplas camadas.  Display de gráficos e animações 2D e 3D.  Framework multimídia com suporte aos formatos AAC, MP3, MPEG-1, WAV, AIFF, IFF, AU, etc.  Possibilidade de alterar qualquer parte da interface sem a necessidade de reiniciar o sistema, pois os serviços da GUI rodam como aplicações em áreas de memória reservada.  Capacidade de se integrar a aplicações Java.  Conexão com desktops Windows remotos através do Phindows.  QNX Voyager - Web Browser para sistemas embedded.
  • 14. QNX Neutrino QNX Momentics Development Suite  IDE de desenvolvimento multilinguagem (C, C++ e embedded C++) baseada no Eclipse que pode ser utilizada no Windows, Linux, Solaris ou no próprio QNX neutrino.  Ambiente de debug integrado com suporte a aplicações multi-thread multi-processadas (mais de uma CPU).  Sytem Profiler e Application Profiler - Permitem monitorar a performace da aplicação, verificar conflitos de temporização, estado das threads, traces e interações com o instrumented kernel.  Ferramenta de análise de memória - Traça um mapa de utilização da memória.  Target System Tools - Monitora todas as caracterísitcas de execução da aplicação diretamente no hardware alvo.  Application Builder - Ferramenta para construção de interfaces Photon.
  • 15. QNX Neutrino QNX Momentics Development Suite
  • 16. QNX Neutrino QNX Momentics Development Suite
  • 17. QNX Neutrino QNX Momentics Development Suite
  • 18. QNX Neutrino QNX Momentics Development Suite
  • 19. QNX Neutrino QNX Momentics Development Suite
  • 20. QNX Neutrino Outros TDKs (Technology Development Kits)  Adaptative Partitioning - Realoca tempo de processamento entre processos de forma dinâmica, maximizando o uso da CPU e evitando inanição.  Resource Manager Framework - Framework para desenvolvimento de drivers em espaço de usuário.
  • 21. QNX Neutrino Principais Clientes Boeing BTI Photonics Chrysler Cisco Deltex Medical Grayson Wireless (Allen Telecom) Hyundai NASA Naval Undersea Warfare Center Physiometrix PSA 4000 U.S. Army (Exército dos E.U.A) Siemens AXIOM Arti
  • 22. QNX Neutrino Referências http://www.qnx.com/ http://en.wikipedia.org/wiki/QNX http://pt.wikipedia.org/wiki/QNX http://www.guiadeti.com.br/anuario/empresa.2006-09-26.0069492949/solucao.2006-09-26.766977 http://www.operating-system.org/betriebssystem/_english/bs-qnx.htm

×