| Fiche technique | |
|---|---|
| Type de produit : | Système d'exploitation |
| Auteur : | Quantum Software Systems (développé par Dan Dodge et Gordon Bell) |
| Date de publication : | 1982 à aujourd'hui |
Introduction
Le système d'exploitation QNX est un système d'exploitation temps réel (RTOS) de style UNIX développé à l'origine par la société canadienne Quantum Software Systems au début des années 1980. Dès sa conception, QNX a été pensé pour offrir une très grande fiabilité, une excellente stabilité et des temps de réponse extrêmement faibles, des qualités essentielles dans les systèmes informatiques où chaque milliseconde peut être critique. Contrairement aux systèmes d'exploitation généralistes destinés aux ordinateurs personnels, QNX est principalement conçu pour les systèmes embarqués, les applications industrielles et les équipements nécessitant un fonctionnement continu pendant de longues périodes sans interruption.
L'une des caractéristiques les plus importantes de QNX est son architecture micro-noyau. Alors que la plupart des systèmes d'exploitation traditionnels regroupent dans un noyau monolithique les pilotes, les systèmes de fichiers, les protocoles réseau et de nombreux autres services, QNX ne conserve dans son micro-noyau que les fonctions essentielles comme la gestion des processus, la communication entre les tâches, les interruptions et l'ordonnancement des processus légers. Les autres composantes fonctionnent sous forme de processus indépendants pouvant être redémarrés individuellement sans provoquer le redémarrage complet du système. Cette approche améliore considérablement la fiabilité, la sécurité et la facilité de maintenance.
QNX est considéré comme l'un des premiers systèmes d'exploitation commerciaux utilisant une architecture micro-noyau moderne. Cette conception lui permet d'offrir un très haut niveau de disponibilité ainsi qu'une excellente tolérance aux pannes, ce qui explique son adoption dans de nombreux domaines où une interruption de service pourrait avoir des conséquences importantes. On retrouve ainsi QNX dans les systèmes de contrôle industriels, les équipements médicaux, les infrastructures ferroviaires, les réseaux de télécommunication, les appareils de navigation, les systèmes militaires ainsi que dans un très grand nombre d'équipements embarqués.
Le secteur automobile constitue aujourd'hui l'un des principaux domaines d'application de QNX. Le système d'exploitation est utilisé dans les tableaux de bord numériques, les systèmes multimédias, les systèmes d'aide à la conduite (ADAS), les calculateurs électroniques, les unités de navigation GPS ainsi que dans plusieurs fonctions critiques de nombreux constructeurs automobiles. Grâce à son architecture temps réel, il garantit une exécution prévisible des tâches tout en offrant une excellente stabilité, même dans des environnements soumis à de fortes contraintes matérielles.
QNX est également présent dans plusieurs appareils électroniques grand public. Au fil des années, il a été intégré dans des équipements de télécommunication, des routeurs, des automates industriels, des distributeurs automatiques, des équipements médicaux, des appareils de laboratoire ainsi que dans certains téléphones intelligents. En 2010, la société Research In Motion (RIM), devenue par la suite BlackBerry, fit l'acquisition de QNX Software Systems afin d'utiliser cette technologie comme fondation de ses futurs systèmes d'exploitation mobiles. Cette acquisition permit notamment le développement de BlackBerry Tablet OS puis de BlackBerry 10, tous deux construits sur le micro-noyau QNX Neutrino.
Une étape importante dans l'évolution du système survient en 2001 avec la sortie de QNX Neutrino RTOS 6.0. Cette nouvelle génération modernise profondément la plateforme en proposant une meilleure conformité aux normes POSIX, un environnement de développement complet avec Momentics, une gestion améliorée des processus ainsi qu'une excellente portabilité vers plusieurs architectures matérielles. À partir de cette version, QNX peut fonctionner sur des microprocesseurs PowerPC, x86, MIPS, SH-4, ARM et plusieurs autres plateformes, facilitant ainsi son adoption par les fabricants de systèmes embarqués.
Depuis son apparition, QNX a connu de nombreuses évolutions visant à améliorer ses performances, sa sécurité et sa compatibilité matérielle. Les différentes versions ont progressivement introduit la prise en charge des architectures 64 bits, des processeurs multicoeurs, des technologies de virtualisation, des environnements graphiques modernes ainsi que de nouvelles fonctions de cybersécurité répondant aux exigences des applications critiques. Aujourd'hui encore, QNX demeure l'un des systèmes d'exploitation temps réel les plus reconnus au monde et continue d'être largement utilisé dans les secteurs où la fiabilité, la disponibilité et la sécurité constituent des critères essentiels.
Liste des versions
| Version | Année | Commentaires |
|---|---|---|
| Beta | 1983 | Première version bêta distribuée à des fins de développement et de validation. |
| 1.0 | 1984 | Première version commerciale de QNX destinée aux microprocesseurs Intel 8088 et Intel 8086. |
| 2.0 | 1987 | Ajout de nombreuses fonctionnalités inspirées de BSD, notamment le support TCP/IP et PPP. |
| 2.21 | 1989 | Mise à jour corrective et amélioration de la stabilité de la branche 2.x. |
| 4.0 | 1990 | Nouvelle génération de QNX offrant de meilleures performances et davantage de fonctionnalités temps réel. |
| 4.1 | 1994 | Intégration de plusieurs éléments provenant de BSD 4.4 et amélioration de la compatibilité POSIX. |
| 4.2 | 1995 | Évolution de la branche QNX 4 avec diverses améliorations du système. |
| 4.22 | 1995 | Version de maintenance de QNX 4.2. |
| 4.24 | 1995 | Dernière version importante avant la création de QNX/Neutrino. |
| 4.25 | 1997 | Dernière évolution majeure de la branche classique QNX 4 après la séparation de Neutrino. |
| QNX/Neutrino 1.0 | 1996 | Première version basée sur un micro-noyau moderne, dérivée de QNX 4.24. |
| QNX/Neutrino 2.0 | 1998 | Nouvelle génération améliorant les performances, la modularité et la portabilité. |
| QNX/Neutrino 2.10 | 1999 | Ajout de nombreuses améliorations destinées aux systèmes temps réel (QRTP). |
| 6.0 | 2001 | Première version de la série QNX RTOS 6 utilisant entièrement l'architecture Neutrino. |
| 6.1 | 2001 | Améliorations du noyau, des pilotes et des outils de développement. |
| 6.2 | 2002 | Introduction de l'environnement de développement Momentics. |
| 6.2.1 | 2003 | Version corrective améliorant la stabilité et les outils de développement. |
| 6.3 | 2004 | Amélioration des performances, des bibliothèques système et de la conformité POSIX. |
| 6.3.2 | 2006 | Version de maintenance importante de la branche 6.3. |
| 6.4.0 | 2008 | Évolution majeure du système avec amélioration du support matériel. |
| 6.4.1 | 2009 | Version corrective de QNX Neutrino RTOS 6.4. |
| 6.5.0 | 2010 | Base technologique utilisée plus tard pour le système d'exploitation BlackBerry 10. |
| 6.5 SP1 | 2012 | Service Pack apportant de nombreuses corrections et améliorations. |
| 6.6 | 2014 | Amélioration de la sécurité, du réseau et de la prise en charge des systèmes embarqués. |
| 7.0 | 2017 | Première version offrant une prise en charge complète des architectures 64 bits. |
| 7.1 | 2020 | Amélioration des performances, de la sécurité et du support des plateformes ARM modernes. |
| 8.0 | 2023 | Nouvelle génération du QNX Software Development Platform (SDP) avec modernisation des outils de développement, des bibliothèques et de l'infrastructure de sécurité. |