0% acharam este documento útil (0 voto)
108 visualizações8 páginas

Introdução Ao QNX

Enviado por

Jose Martins
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato DOCX, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
108 visualizações8 páginas

Introdução Ao QNX

Enviado por

Jose Martins
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato DOCX, PDF, TXT ou leia on-line no Scribd

Introdução ao QNX: Uma visão

abrangente
12/04/2024
Fabiano B. D'Acunti

ÍNDICE DE CONTEÚDO

 Introdução
 Revisão histórica
 Onde QNX é utilizado?
 Licenças
 O que é um Microkernel?
 Arquitetura Microkernel do QNX
 Outros componentes do QNX Neutrino RTOS
 Conclusão
 Referências

Este post faz parte da série Sistema Operacional de Tempo Real QNX. Leia também os
outros posts da série:

 Introdução ao QNX: Uma visão abrangente


 Desvendando a Filosofia do QNX Neutrino RTOS
 Configurando o Ambiente de Desenvolvimento para QNX
 Desenvolvimento de IPC no QNX – Fundamentos
 Desenvolvendo Resource Managers no QNX – Um Guia Prático
 Gerenciamento da Alta Disponibilidade (High Availability Manager)
Introdução
O QNX é um sistema operacional de tempo real amplamente conhecido por sua
confiabilidade, estabilidade e alto desempenho, características essenciais para
aplicações em sistemas críticos, incluindo aeroespacial e defesa, automotivo, robótica,
dispositivos médicos e controle industrial.

Destaca-se por possuir uma arquitetura de microkernel, uma abordagem que difere
significativamente dos kernels monolíticos mais comuns.

Apesar de não ser de código aberto, é possível obter licenças de avaliação e acadêmicas.

Sua arquitetura modular oferece segurança e estabilidade, com serviços como


gerenciamento de memória, escalonamento de processos e comunicação entre
processos.

Embarcados Experience 2024: Evento Presencial

Participe do Embarcados Experience 2024 em São Paulo. Conhecimento técnico,


palestras, workshops e oportunidade de networking com profissionais experientes.

Inscreva-se agora

Neste artigo, entraremos na essência do Sistema Operacional de Tempo Real QNX,


destacando suas características técnicas fundamentais e explorando como elas impactam
diretamente na desempenho, segurança, disponibilidade e confiabilidade.

Revisão histórica
A história do sistema operacional QNX remonta à década de 1980, quando foi
desenvolvido por Gordon Bell e Dan Dodge na empresa Quantum Software Systems, no
Canadá.
Em 1982, a Quantum Software Systems mudou seu nome para QNX Software Systems
para refletir o foco crescente no desenvolvimento do sistema operacional QNX.

Uma virada significativa ocorreu em 2004, quando a empresa QNX Software Systems
se tornou subsidiária da Harman International. A BlackBerry (anteriormente conhecida
como Research In Motion ou RIM) adquiriu a QNX Software Systems em 2010 da
Harman International Industries, integrou o QNX em sua oferta de softwares para
dispositivos móveis e também continuou a desenvolver e suportar o sistema operacional
para outros setores.

Com o tempo, a BlackBerry agregou o QNX em sua estratégia, especialmente no setor


automotivo e tornou-se uma escolha popular para sistemas de infoentretenimento em
veículos, painéis digitais, controles de motor e outros componentes críticos em
automóveis.

Onde QNX é utilizado?


Segundo a QNX Software Systems, setores críticos onde adaptabilidade, confiabilidade
e capacidade de tempo real (hard real time) são necessidades, a escolha por um sistema
operacional com as características do QNX é uma escolha fundamentada.

Isto faz com que QNX seja utilizado em diversas indústrias como: aeroespacial e defesa,
dispositivos médicos, controles industriais, transporte ferroviário, veículos autônomos,
robótica automação e maquinário pesado.

Licenças
O QNX não é um sistema operacional open-source, seu código-fonte não está
disponível publicamente e seu desenvolvimento é conduzido internamente pela equipe
da QNX Software Systems.

Embora não seja de código aberto, existem basicamente duas licenças disponíveis para
fins de avaliação e desenvolvimento, uma limitada em 30 dias e outra para uso
acadêmico permanente.

É necessário criar uma conta myQNX e preencher um formulário de solicitação, no


entanto, esta licença de avaliação de 30 dias é apenas para projetos comerciais.
Informações para esta modalidade pode ser obtida em QNX SDP 8.0 30-day evaluation.

Licenças acadêmicas são concedidas a instituições elegíveis e seus docentes, a partir do


programa QNX-in-Education como forma de apoio à pesquisa, desenvolvimento e
educação continuada. É gratuita e as licenças não expiram. Veja mais em QNX-in-
Education FAQ.
O que é um Microkernel?
Um microkernel é uma arquitetura de sistema operacional que adota uma abordagem
modular e minimalista, projetada para manter no núcleo (kernel) apenas funcionalidades
essenciais, como o gerenciamento de memória, escalonamento de processos e
comunicação entre processos (IPC).

Drivers de dispositivos e sistemas de arquivos, por exemplo, são implementadas como


processos em espaço de usuário isolados de outros serviços. Este é um dos benefícios de
segurança a favor dos microkernel bastante discutido, o argumento é que este
isolamento proporciona maior segurança e estabilidade, uma vez que falhas em um
serviço não afetam diretamente outros.

O verdadeiro objetivo ao projetar um sistema operacional microkernel não é


simplesmente “torná-lo pequeno”. Um sistema operacional microkernel incorpora uma
mudança fundamental na abordagem de fornecimento de funcionalidade do sistema
operacional. A modularidade é a chave, o tamanho é apenas um “efeito colateral”.

O QNX não está sozinho nessa, longe disso, ficou curioso? Veja uma lista de sistemas
operacionais baseados em arquitetura microkernel.

 Minix 3 (https://www.minix3.org/)
 Integrity (http://www.ghs.com/news/20040731_INTEGRITY.html)
 PikeOS (http://www.sysgo.com/en/products/pikeos/technology/microkernel/)
 Symbian
(http://www.symbian.com/developer/techlib/papers/HWinterupt/HwInterrupt.pd
f)
 L4Linux (http://l4linux.org/)
 Singularity (http://research.microsoft.com/os/singularity/)
 K42 (http://encyclopedia.thefreedictionary.com/K42)
 Mac OS X (http://arstechnica.com/reviews/2q00/macos-qna/macos-x-qa-3.html)
 HURD (Mach) (http://www.gnu.org/software/hurd/hurd.html)
 Coyotos (http://www.coyotos.org/)

Sem a necessidade de entrar nos conceitos de um kernel com arquitetura monolítica, a


figura a seguir ilustra suas diferenças principais.
F
igura 1: Comparativo entre sistemas operacionais baseados em arquitetura monolítica
e microkernel Fonte: Wikimedia

Arquitetura Microkernel do QNX


QNX Neutrino RTOS, chamado de procnto, consiste em apenas um microkernel e um
gerenciador de processos.

Praticamente não há diferenças entre os as aplicações escritas pelos usuários e os


demais processos que estendem a funcionalidade do sistema operacional (drivers de
dispositivos, sistemas de arquivos, etc.). Cada processo é executado em um espaço de
memória completamente separado dos demais e a comunicação entre eles é feita por
diversos mecanismos de IPC (Interprocess Communication).

A filosofia de design, desde sua concepção, é fortemente apoiada pelos mecanismos de


IPC, especialmente a passagem de mensagens.

A figura a seguir é uma das mais representativas destes conceitos.


Fi
gura 2: A arquitetura do QNX RTOS Comparativo entre sistemas operacionais
baseados em arquitetura monolítica e microkernel Fonte: QNX Developers

Segundo os desenvolvedores do QNX, seu enorme diferencial é que seu núcleo (kernel),
dedica-se exclusivamente a algumas funcionalidades fundamentais:

 Thread Services: Através de primitivas POSIX, o microkernel oferece serviços


essenciais para a criação e manipulação de threads.

 Signal Services: Utilizando primitivas POSIX, proporciona uma comunicação


eficaz entre os componentes do sistema.

 Message-Passing Services: O microkernel assume a responsabilidade pelo


encaminhamento de todas as mensagens entre os threads em todo o sistema.

 Synchronization Services: Através de primitivas de sincronização de thread


POSIX, o microkernel viabiliza a ordem apropriada de execução.

 Scheduling Services: Agenda threads para execução, seguindo diversas políticas


de agendamento (FIFO, Round-Robin e Sporadic).

 Timer Services: O microkernel fornece um conjunto abrangente de serviços de


timer POSIX.
 Process Management Services: A integração entre o microkernel e o gerenciador
de processos forma uma unidade coesa, denominada “procnto”. O gerenciador
de processos assume a responsabilidade pelo controle de processos,
gerenciamento de memória e manipulação de “pathname space”.

Outros componentes do QNX Neutrino RTOS


A arquitetura do microkernel é complementada com diversos aspectos do sistema
operacional como o monitoramento de eventos do sistema (instrumented microkernel),
processamento multicore, dynamic linking, device drivers, networking, fault recovery
(high availability manager), adaptive partitioning e muito mais.

Conclusão
A trajetória histórica do QNX, desde sua concepção na década de 1980 até sua
integração estratégica pela BlackBerry destaca sua consolidação em setores críticos e
adaptação às demandas de sistemas embarcados avançados e de missão crítica.

A arquitetura microkernel do QNX Neutrino RTOS evidencia os benefícios de uma


abordagem modular e minimalista que mantém apenas funcionalidades essenciais no
núcleo, como gerenciamento de memória, escalonamento de processos e coordena a
comunicação entre processos (IPC).

Referências
1. Bylinsky, G. (2003, 17 de março). Heroes of Manufacturing. *FORTUNE
Magazine*.
http://money.cnn.com/magazines/fortune/fortune_archive/2003/03/17/339245/
index.htm
2. CrackBerry. (s.d.). RIM Acquires QNX Software Unit from Harman
International – RIM Wants a Piece of the Automotive Infotainment Market?
https://crackberry.com/rim-acquires-qnx-software-unit-harman-international-
rim-wants-piece-automotive-infotainment-market
3. Gordon Bell (QNX). (s.d.). https://en-academic.com/dic.nsf/enwiki/1365668
4. Lakrintis, A. (s.d.). BlackBerry QNX: A Retrospective.
https://www.linkedin.com/pulse/blackberry-qnx-retrospective-angelos-lakrintis/
5. Matt Rickard – Tanenbaum–Torvalds Debates, Part 1. (s.d.). https://matt-
rickard.com/tanenbaum-torvalds-debates-part-1
6. Microkernel.info. (s.d.). http://www.microkernel.info/
7. QNX. (s.d.). About BlackBerry QNX. https://blackberry.qnx.com/en/company
8. QNX. (s.d.). Microkernel architecture.
https://www.qnx.com/developers/docs/8.0/com.qnx.doc.neutrino.sys_arch/
topic/intro_MICROKERNELARCH.html
9. QNX. (s.d.). QNX Neutrino RTOS 7.1.
https://blackberry.qnx.com/en/products/foundation-software/qnx-rtos
10. QNX. (s.d.). QNX News Releases – QNX Joins Harman International Family.
https://www.qnx.com/news/pr_1121_1.html
11. QNX. (s.d.). QNX News Releases – Research In Motion to Acquire QNX
Software Systems from Harman International.
https://www.qnx.com/news/pr_4114_1.html
12. Tanenbaum, A. S. (s.d.). Tanenbaum-Torvalds Debate Part II. *Department of
Computer Science*. https://www.cs.vu.nl/~ast/reliable-os/
13. Tanenbaum, A. (1992). LINUX is obsolete. *Google Groups*.
https://groups.google.com/g/comp.os.minix/c/wlhw16QWltI?pli=1
14. Wikipedia. (s.d.). Microkernel. https://en.wikipedia.org/wiki/Microkernel

Outros artigos da série


Desvendando a Filosofia do QNX Neutrino RTOS >>

Fabiano B. D'Acunti
6 posts
https://www.linkedin.com/in/fabiano-bozzi-d-acunti/
Engenheiro Eletrônico com experiência no desenvolvimento de projetos em Sistemas
Embarcados e uma sólida trajetória em iniciativas de pesquisa, desenvolvimento e
inovação em diversas áreas tecnológicas. (Aeronaves Não Tripuladas (UAVs) -
Equipamentos Eletromédicos - Telemática - Agricultura de Precisão - Automação
Residencial - Rastreamento de Veículos - Automação Eletropneumática - Segurança
Eletrônica).

Esta obra está licenciada com uma Licença Creative Commons Atribuição-
CompartilhaIgual 4.0 Internacional.

Você também pode gostar