Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

QNX

From Wikipedia, the free encyclopedia
Real-time operating system (RTOS) software
Operating system
QNX
DeveloperBlackBerry (formerlyQNX Software Systems)
OS familyUnix-like
Working stateCurrent
Source modelClosed source
Initial release1982; 44 years ago (1982)
Latest release8.0 / December 2023; 2 years ago (2023-12)
Marketing targetEmbedded systems
Package managerAble to usePkgsrc framework from NetBSD project
Supported platformsCurrent:x86-64,ARM32,ARM64
Former:MIPS,PowerPC,SH-4,StrongARM,XScale
Kernel typeRTOS (microkernel)
UserlandPOSIX
LicenseProprietary
Official websiteqnx.software

QNX (/ˌkjuːˌɛnˈɛks/ or/ˈkjuːnɪks/) is a commercialUnix-likereal-time operating system, aimed primarily at theembedded systems market.

The product was originally developed in the early 1980s byCanadian company Quantum Software Systems, founded March 30, 1980, and later renamed QNX Software Systems.

As of 2022[update], it is used in a variety of devices includingautomobiles,[1]medical devices,programmable logic controllers,automated manufacturing,trains, and more.

History

[edit]
This sectionis inlist format but may read better asprose. You can help byconverting this section, if appropriate.Editing help is available.(April 2022)

Gordon Bell andDan Dodge, both students at theUniversity of Waterloo in 1980, took a course in real-time operating systems, in which the students constructed a basic real-time microkernel and user programs. Both were convinced there was a commercial need for such a system, and moved to the high-tech planned communityKanata, Ontario, to start Quantum Software Systems that year. In 1982, the first version of QUNIX was released for theIntel 8088 CPU. In 1984, Quantum Software Systems renamed QUNIX to QNX (Quantum's Network eXecutive) in an effort to avoid any trademark infringement challenges.

One of the first widespread uses of the QNX real-time OS (RTOS) was in the nonembedded world when it was selected as the operating system for theOntario education system's own computer design, theUnisys ICON. Over the years QNX was used mostly for larger projects, as its 44k kernel was too large to fit inside the one-chip computers of the era. The system garnered a reputation for reliability[citation needed] and became used in running machinery in many industrial applications.

In the late-1980s, Quantum realized that the market was rapidly moving towards the Portable Operating System Interface (POSIX) model and decided to rewrite the kernel to be much more compatible at a low level. The result was QNX 4. During this timePatrick Hayden, while working as an intern, along with Robin Burgener (a full-time employee at the time), developed a new windowing system. This patented[2] concept was developed into the embeddablegraphical user interface (GUI) named the QNX Photon microGUI. QNX also provided a version of theX Window System.

To demonstrate the OS's capability and relatively small size, in the late 1990s QNX released a demo image that included the POSIX-compliant QNX 4 OS, a full graphical user interface, graphical text editor, TCP/IP networking, web browser and web server that all fit on a bootable 1.44 MBfloppy disk for the 386 PC.[3][4]

Toward the end of the 1990s, the company, then named QNX Software Systems, began work on a new version of QNX, designed from the ground up to besymmetric multiprocessing (SMP) capable, and to support all currentPOSIXapplication programming interfaces (APIs) and any new POSIX APIs that could be anticipated while still retaining the microkernel architecture. This resulted in QNX Neutrino, released in 2001.

Along with the Neutrino kernel, QNX Software Systems became a founding member of theEclipse (integrated development environment) consortium. The company released a suite of Eclipseplug-ins packaged with the Eclipse workbench in 2002, and named QNX Momentics Tool Suite.

In 2004, the company announced it had been sold toHarman International Industries. Before this acquisition, QNX software was already widely used in the automotive industry fortelematics systems. Since the purchase by Harman, QNX software has been designed into over 200 differentautomobile makes and models, in telematics systems, and in infotainment and navigation units.[citation needed] The QNX CAR Application Platform was running in over 20 million vehicles as of mid-2011.[5] The company has since released severalmiddleware products including the QNX Aviage Multimedia Suite, the QNX Aviage Acoustic Processing Suite and the QNX HMI Suite.

The microkernels ofCisco Systems'IOS-XR (ultra high availability IOS, introduced 2004)[6][7] andIOS Software Modularity (introduced 2006)[8] were based on QNX. IOS Software Modularity never gained traction and was limited only to small run for Catalyst 6500, while IOS XR moved to Linuxas of release 6.0x.

In September 2007, QNX Software Systems announced the availability of some of itssource code.[9]

On April 9, 2010,Research In Motion (later renamed toBlackBerry Limited) announced they would acquire QNX Software Systems from Harman International Industries.[10] On the same day, QNX source code access was restricted from the public and hobbyists.[11]

In September 2010, the company announced atablet computer, theBlackBerry PlayBook, and a new operating systemBlackBerry Tablet OS based on QNX to run on the tablet.[12]

On October 18, 2011, Research In Motion announced "BBX",[13] which was later renamedBlackBerry 10, in December 2011.[14] Blackberry 10 devices build upon the BlackBerry PlayBook QNX based operating system for touch devices, but adapt the user interface forsmartphones using theQt based Cascades Native User-Interface framework.

At the Geneva Motor Show, Apple demonstratedCarPlay which provides aniOS-like user interface to head units in compatible vehicles. Once configured by the automaker, QNX can be programmed to hand off its display and some functions to an Apple CarPlay device.[15][16]

On December 11, 2014,Ford Motor Company stated that it would replaceMicrosoft Auto with QNX.[1]

In January 2017, QNX announced the upcoming release of its SDP 7.0, with support for Intel and ARM32- and64-bit platforms, and support forC++14. It was released in March 2017.[17]

In December 2023, QNX released QNX SDP 8.0 which is powered by a next generation microkernel with support for the latest Intel and ARM [v8 and v9] 64 bit platforms, GCC12 based toolchain and a QNX toolkit forVisual Studio Code.[18]

Technology

[edit]

As amicrokernel-based OS, QNX is based on the idea of running most of theoperating systemkernel in the form of a number of small tasks, named Resource Managers. This differs from the more traditionalmonolithic kernel, in which the operating system kernel is one very large program composed of a huge number of parts, with special abilities. In the case of QNX, the use of a microkernel allows users (developers) to turn off any functions they do not need without having to change the OS. Instead, such services will simply not run.

The QNX kernel,procnto (also name of the binary executable program for the QNX Neutrino ('nto') process ('proc') itself), contains onlyCPU scheduling,interprocess communication,interrupt redirection and timers. Everything else runs as a user process, including a special process known asproc which performs process creation andmemory management by operating in conjunction with themicrokernel. This is made possible by two key mechanisms: subroutine-call type interprocess communication, and aboot loader which can load an image containing the kernel and any desired set of user programs and shared libraries. There are nodevice drivers in the kernel. The network stack is based onNetBSD code.[19] Along with its support for its own, native, device drivers, QNX supports its legacy,io-net manager server, and the network drivers ported from NetBSD.[20]

QNX interprocess communication consists of sending a message from one process to another and waiting for a reply. This is a single operation, calledMsgSend. The message is copied, by the kernel,[citation needed] from the address space of the sending process to that of the receiving process. If the receiving process is waiting for the message, control of the CPU is transferred at the same time, without a pass through the CPU scheduler. Thus, sending a message to another process and waiting for a reply does not result in "losing one's turn" for the CPU. This tight integration between message passing and CPU scheduling is one of the key mechanisms that makes QNX message passing broadly usable. MostUnix andLinux interprocess communication mechanisms lack this tight integration, although auser space implementation of QNX-type messaging for Linuxdoes exist. Mishandling of this subtle issue is a primary reason for the disappointing performance of some other microkernel systems such as early versions ofMach.[citation needed] The recipient process need not be on the same physical machine.

All I/O operations, file system operations, and network operations were meant to work through this mechanism, and the data transferred was copied during message passing. Later versions of QNX reduce the number of separate processes and integrate the network stack and other function blocks into single applications for performance reasons.

Message handling is prioritized bythread priority. Since I/O requests are performed using message passing, high priority threads receive I/O service before low priority threads, an essential feature in ahard real-time system.

The boot loader is the other key component of the minimal microkernel system. Because user programs can be built into the boot image, the set of device drivers and support libraries needed for startup need not be, and are not, in the kernel. Even such functions as program loading are not in the kernel, but instead are in shared user-space libraries loaded as part of the boot image. It is possible to put an entire boot image intoROM, which is used for diskless embedded systems.

Neutrino supportssymmetric multiprocessing andprocessor affinity, called bound multiprocessing (BMP) in QNX terminology. BMP is used to improve cache hitting and to ease the migration of non-SMP safe applications to multi-processor computers.

Neutrino supports strict priority-preemptive scheduling andadaptive partition scheduling (APS). APS guarantees minimum CPU percentages to selected groups of threads, even though others may have higher priority. The adaptive partition scheduler is still strictly priority-preemptive when the system is underloaded. It can also be configured to run a selected set of critical threads strictlyreal time, even when the system is overloaded.

The QNX operating system also contained a web browser known as 'Voyager'.[21]

Due to itsmicrokernel architecture QNX is also adistributed operating system.Dan Dodge andPeter van der Veen holdU.S. Patent 6,697,876: Distributed kernel operating system based on the QNX operating system's distributed processing features known commercially as Transparent Distributed Processing. This allows the QNX kernels on separate devices to access each other's system services using effectively the same communication mechanism as is used to access local services.[non-primary source needed]

Releases

[edit]
QNX RTOS history[22]
VersionDateDistribution mediumNotes
1981QUNIX Founded.
Beta1983AsQNX Beta
1.01984
2.01987Elements of4.3BSD likeTCP/IP andPPP merged intoQNX 2.0.
2.211989QNX 2.21
4.01990QNX 4.0
4.11994Elements of 4.4BSD intoQNX 4.1
4.21995QNX 4.2
4.221995QNX 4.22
4.241995QNX/Neutrino 1.0 is forked fromQNX 4.24
4.251997QNX 4.25 continues after fork with QNX/Neutrino 1.0.
QNX/Neutrino microkernel history (forked from QNX 4.24 in 1996)
ReleaseDateNotes
1.01996QNX/Neutrino 1.0 as forked from QNX 4.24
2.01998QNX/Neutrino 2.0
2.101999QNX/Neutrino 2.10 (QRTP)
6January 18, 2001QNX RTOS 6
6.1.02001QNX RTOS 6
6.1.0 (patch A)September 28, 2001
6.2June 4, 2002QNX 6.2 (Momentics)
6.2 (patch A)October 18, 2002QNX 6.2
6.2.1February 18, 2003QNX 6.2.1 (Momentics)
6.3June 3, 2004QNX 6.3
6.3.0 SP1?
6.3.0 SP2?
6.3.0 SP3/
OS 6.3.2
?
6.3.2August 16, 2006[23]
6.4.0October 30, 2008QNX Neutrino RTOS 6.4.0
6.4.1May 2009QNX Neutrino RTOS 6.4.1
6.5.0July 2010QNX Neutrino RTOS 6.5.0 is forked to produce BBX,
as announced on October 18, 2011, and later previewed,
named "BlackBerry 10 OS" on May 1, 2012.
6.5 SP1July 11, 2012QNX Neutrino RTOS 6.5 SP1
6.6February 28, 2014QNX 6.6
7.0January 4, 2017QNX SDP 7.0, first version with 64-bit support
7.1July 23, 2020QNX SDP 7.1
8.0December 2023QNX SDP 8.0[24]

Uses

[edit]

TheBlackBerry PlayBooktablet computer designed by BlackBerry usesa version of QNX as the primary operating system. TheBlackBerry 10 operating system is also based on QNX.

QNX is also used in car infotainment systems with many major car makers offering variants that include an embedded QNX architecture. It is supported by popularSSL/TLS libraries such aswolfSSL.[25]

Since the introduction of its "Safe Kernel 1.0" in 2010, QNX was projected and used subsequently in automated drive orADAS systems for automotive projects that require afunctional safety certified RTOS. QNX provides this with its QNX OS for Safety products.[26]

QNX Neutrino (2001) has beenported to a number of platforms and now runs on practically any moderncentral processing unit (CPU) family that is used in the embedded market. This includes thePowerPC,x86,MIPS,SH-4, and the closely interrelated group ofARM,StrongARM, andXScale.

As of 16 December 2025,[update] QNX software is now embedded in over 275 million vehicles worldwide, including most leading OEMs and Tier 1s, such as BMW, Bosch, Continental, Dongfeng Motor, Geely, Ford, Honda, Mercedes-Benz, Subaru, Toyota, Volkswagen, Volvo, and more.[27]

Certifications

[edit]

QNX OS for Safety and QNX Hypervisor for Safety have been certified to comply with the requirements of:[28][29]

QNX OS for Safety has additionally been certified to comply with the requirements of:

  • Class C ofIEC 62304, the most onerous level defined by IEC 62304 for software use within medical devices.[28][29]
  • ISO/SAE 21434:2021, a cybersecurity standard for software used within road vehicles.[30]

Licensing

[edit]

On January 6, 2025, QNX made its software development platform available for non-commercial use.[31]

QNX offers a license for noncommercial and academic users.[32] In January 2024, BlackBerry introduced QNX Everywhere to make QNX more accessible to Hobbyists. QNX Everywhere was made publicly accessible in early 2024.[33]

Community

[edit]
  • OpenQNX is a QNX Community Portal established and run independently. An IRC channel and Newsgroups access via web is available. Diverse industries are represented by the developers on the site.[34]
  • Foundry27 is a web-based QNX community established by the company. It serves as a hub to QNX Neutrino development where developers can register, choose the license, and get the source code and related toolkit of the RTOS.[35]

QNX Board Support Packages

[edit]

QNX Standard Support is available for a BSP that is listed below as available on QNX Software Center. For other BSPs, alternative forms of support (e.g., custom support plans, etc.) may be available or required from the “BSP Supplier” or “Board Vendor” indicated below.[36]

BlackBerry QNX Partners

[edit]

BlackBerry QNX has worked with a network of partner organizations to provide complementary technologies. These important relationships have ability to provide the foundational software, middleware, and services behind the world's most critical embedded systems.[37]

See also

[edit]

References

[edit]
  1. ^abBurns, Matt (December 11, 2014)."Ford Ditches Microsoft For QNX In Latest In-Vehicle Tech Platform".TechCrunch. RetrievedFebruary 26, 2015.
  2. ^US5745759
  3. ^Hildebrand, Dan (6 June 1997)."Think Small. (The 1.44M Web Challenge)".marc.info.
  4. ^"How we did it!". Archived fromthe original on 28 November 1999. Retrieved3 August 2020.
  5. ^QNX CARhttp://www.qnx.com/products/qnxcar/
  6. ^"QNX Delivers Extremely Reliable Microkernel for Massively Scalable Routing System". 2004-08-17. Retrieved2012-03-16.
  7. ^"CRS-1 and IOS XR Operational Best Practices".Cisco.
  8. ^Brad Reese- BradReese.Com (2006-09-26)."Which OS is behind IOS?". Archived fromthe original on 2011-12-22. Retrieved2012-03-16.
  9. ^Leroux, Paul (12 September 2007)."QNX Publishes Neutrino Source Code and Opens Development Process".www.qnx.com.
  10. ^"RIM to buy QNX Software".The Globe and Mail. Toronto.The Canadian Press. 9 April 2010. Retrieved2010-04-09.
  11. ^"foundry27: View Wiki Page: UpdatedQNXSourceAccessPolicyFAQ".community.qnx.com.
  12. ^"RIM Unveils The BlackBerry PlayBook" (official press release). September 27, 2010. Archived fromthe original on October 21, 2010. RetrievedSeptember 27, 2010.
  13. ^Molen, Brad (18 October 2011)."Research in Motion announces BBX, 'combines the best of BlackBerry and QNX'".Engadget. Retrieved20 January 2013.
  14. ^Arthur, Charles (2011-12-07)."BlackBerry-maker RIM forced to drop BBX name for new software".Guardian. London. Retrieved2013-01-20.
  15. ^Hartley, Matt (3 March 2014)."Apple Inc CarPlay brings iPhone features to GM, BMW, Ford and other car dashboards".Financial Post. Retrieved2014-03-28.
  16. ^"BlackBerry's QNX: Why it's so valuable to Apple, Google, auto industry".ZDNet. Retrieved2014-10-27.
  17. ^"BlackBerry QNX Launches its Most Advanced and Secure Embedded Software Platform for Autonomous Drive and Connected Cars". 2017-01-04.
  18. ^"QNX® Software Development Platform (SDP) 8.0". 11 December 2023.
  19. ^"Core Networking 6.4: Neutrino's Next Gen Networking Stack and Foundry27". Archived fromthe original on 2008-11-26. Retrieved2008-08-07.
  20. ^"foundry27: View Wiki Page: Drivers_wiki_page".community.qnx.com.
  21. ^"QNX Neutrino RTOS – Embedded OS | BlackBerry QNX | BlackBerry QNX".
  22. ^Lévénez, Éric (May 1, 2011)."UNIX History".levenez.com. RetrievedMay 18, 2011.
  23. ^"QNX® Neutrino® Core OS 6.3.2 Release Notes". 16 August 2006.
  24. ^"QNX® Software Development Platform (SDP) 8.0: Release Notes". 11 December 2023.
  25. ^"wolfSSL Build Sizes for the QNX Embedded RTOS".wolfSSL. 17 September 2010. Retrieved2019-02-13.
  26. ^"QNX OS for Safety".
  27. ^"QNX Embedded Technology Now Powering More Than 275 Million Vehicles on the Road".www.accessnewswire.com. Retrieved2025-12-16.
  28. ^ab"Certificate No.: 968/FSP 2999.00/25"(PDF).TÜV Rheinland. Retrieved2026-01-25.{{cite web}}: CS1 maint: url-status (link)
  29. ^ab"QNX Safety Certifications | ISO 26262, IEC 61508, IEC 62304 | BlackBerry QNX".qa-blackberry-qnx.adobecqms.net. Retrieved2026-01-24.
  30. ^"Certificate No.: 962/CSP 1032.00/25"(PDF).TÜV Rheinland. Retrieved2026-01-25.{{cite web}}: CS1 maint: url-status (link)
  31. ^"QNX Doubles Down on Developer Support to Fuel Embedded Software Innovation Everywhere".
  32. ^"BlackBerry Launches QNX Everywhere to Address Global Embedded Software Developer Skills Shortage".
  33. ^"Free Access to QNX SDP 8.0 for Non-Commercial Use".
  34. ^OpenQNX Community Portal:Announce
  35. ^QNX Press Releases:Foundry27
  36. ^"QNX Board Support Packages". 7 November 2024.
  37. ^"Blackberry QNX Partners". 12 November 2024.

Further reading

[edit]

External links

[edit]
Wikimedia Commons has media related toQNX.
Devices
Android
BlackBerry 10
BlackBerry Tablet OS
BlackBerry OS Classic
Services
Executive team
Operating
systems
POSIX support
Unix-like
Partial
TRON support
Partial
Capability-based
Java virtual machine
DOS
L4 kernel
Psion
Microsoft
IBM
Texas Instruments
DEC:PDP-11,VAX
Low resource
Frameworks,kits
Developers
Operating
systems
BSD
Linux
System V
Other
Compatibility
layers
Kernels
L4 family
Macintosh hosted
Psion
Amiga-type
Operating
systems
POSIX support
Unix-like
Partial
Capability-based
L4 kernel
Java virtual machine
Macintosh hosted
Unix-like
Psion
  • EPOCSymbian OS
  • Amiga-type
    Microsoft
    AIM alliance
    Frameworks,kits
    Developers
    Linux
    Kernel
    GNU/
    Linux
    XNU
    QNX
    Microsoft
    Windows
    Zircon
    FreeBSD,NetBSD
    HongMeng Kernel
    FreeRTOS
    • Amazfit OS
      • Zepp OS
    • MIUI Band OS
    Nintendo
    system software
    Minix 3
    Symbian
    Others
    Current
    Historic
    Projects
    Authority control databases: NationalEdit this at Wikidata
    Retrieved from "https://en.wikipedia.org/w/index.php?title=QNX&oldid=1334598946"
    Categories:
    Hidden categories:

    [8]ページ先頭

    ©2009-2026 Movatter.jp