QNX

De Viquipèdia
Dreceres ràpides: navegació, cerca
Infotaula de programariQNX
Desenvolupador(s) Research In Motion
Versió inicial 1982
Tipus sistema operatiu encastat i sistema operatiu
Més informació
Lloc web Web oficial
Modifica dades a Wikidata

QNX (pronunciat Q.N.X. o Q-nic) és un sistema operatiu de temps real basat en Unix que compleix la norma POSIX. És desenvolupat principalment per a ús en sistemes incrustats. Desenvolupat per QNX Software Systems empresa canadenca.

Està disponible per les següents arquitectures: x86, MIPS, PowerPC, SH4 (fins i tot a la Dreamcast en una versió molt limitada d'aquest), ARM, StrongARM i xScale.

QNX està basat en una estructura de microkernel, que proporciona característiques d'estabilitat avançades davant d'errades de dispositius, aplicacions, etc.

Photon o Photon microGUI és el sistema de finestres (servidor i client) de QNX, tot i que també funciona una versió de XWindows.

Els sistemes operatius de temps reals són interessant per les situacions on és absolutament necessari una presa continua de, per exemple, mostres de dades. Basant-se en aquest interès, existeixen diversos projectes per crear versions en temps real d'altres sistemes.

Està orientat a l'ús en microcontroladors i sistemes crítics.

Arquitectura[modifica | modifica el codi]

El Kernerl QNX conté l’Scheduler de la CPU, la comunicació entre processos, la redirecció dei els timers. La resta corre com a procés d’usuari. Aquest procés es fa mitjançant dos mecanismes; Comunicació entre processos mitjançant crides a subrutienes, i un Boot loader el qual pot carregar una imatge(ISO) tant del Sistema Operatiu com de qualsevol col·lecció desitjada de programes escollits per l’usuari i llibreries compartides. Eliminant així la necessitat de qeu el kernel contingui el conjunt de divers del dispositiu i les llibreries de suport necessàries.

La pila de xarxa está basada en Codi NetBSD. El Boot Loader es un alptre componnet crític en el sistema de microkernel. Comunicació entre processos

La comunicació entre processos de QNX consisteix en l’enviamente de missatges entre a un alte i esperar a la resposra. Toto això es fa amb una sola operació (MsgSend). El Missatge es copiat pel kernel des de l’espai de missatges del procés que envia el missatge al que el reb. Si el procés que ha de rebre el missatge esta esperant al missatge, el control de la CPU es cedit sense falta d’utilitzar l’SCheduler. D’Aquesta forma evitem que aquest procés perdi la prefencia del’Scheduler.

Entrada/Sortida

Totes les operacions d’Entrada/Sortida, arxius d’operacions del sistema i operacions de xarxa estan dissenyades per a funcionar amb el mecanisme prèviament explicat, les dades transferides son copiades durant el pas de missatges. Les últimes versions de QNX a més, redueixen el nombre de processos separats, integren la pila de xarxa i altres blocs de funcions a aplicacions individuals per motius de rendiment.

Degut a que les peticions d'entrada/sortida son realitzades mitjançant el pas de missatges, i el maneig de missatges es prioritzat segons la prioritat del thread, Els theads amb més proritat rebran abans una operació entrada/sortida que u de menysprioritat.

Variants QNX[modifica | modifica el codi]

El Sistema Operatiu de QNX està dissenyat per a poder ser utilitzat en diferents plataformes i per a ser implementat en un gran varietat de entorns, per això disposa de 3 variants: QNX Neutrino RTOS, QNX OS for Safety i QNX OS for Medical

QNX Neutrino RTOS

Aquest sistema operatiu a temps real està destinat per sistemes encastats relacionats amb el sector de l’automoció, mèdic, de transport, militar i industrial. Aquest RTOS ofereix un Microkernerel amb una arquitectura modular per poder optimitzar el sistema a l’ús de l’usuari. A més, suporta l’ús de diferents infraestructures com ARMv7, ARMv8 i x86 a més de suport per a gràfics accelerats per CPU.

Neutino a més, suporta el processament multisimètric i CPU pinning, anomenat Bound Multiprocessing (BMP) en la terminologia de QNX. Aquesta tecnologia es utilitzada per millorar el accesos a la caché i facilitar la migració segura d'aplicacions que no disposen de SMP a processadors multi-core

QNX OS for Safety

Disposa de dos estàndards de seguretat: ISO 26262 en ASIL D i IEC 61508SIL3. Aquest Sistema Operatiu ofereix una plataforma destinada a la creació de sistemes de seguretat crítics destinats al mercat de l’automatització industrial, mèdic, generació d’energies i transport ferroviari. El Sistema suporta l’ús de varies plataformes com x86 i dispositius ARM multi-core via SMP.

QNX OS for Medical

Es tracta d’una plataforma software modular destinada per a sistemes mèdics encastats.

Enllaços externs[modifica | modifica el codi]