This chapter includes:
The System Architecture guide accompanies the QNX Neutrino realtime OS and is intended for both application developers and end-users.
The guide describes the philosophy of QNX Neutrino and the architecture used to robustly implement the OS. It covers message-passing services, followed by the details of the microkernel, the process manager, resource managers, the Photon microGUI, and other aspects of QNX Neutrino.
|Note that certain features of the OS as described in this
guide may still be under development for a given release.
For the latest news and information on any QNX product, visit our website (www.qnx.com). You'll find links to many useful areas — Foundry 27, software downloads, featured articles by developers, forums, technical support options, and more.
The following table may help you find information quickly:
|To find out about:||Go to:|
|OS design goals; message-passing IPC||The Philosophy of QNX Neutrino|
|System services||The QNX Neutrino Microkernel|
|Sharing information between processes||Interprocess Communication (IPC)|
|System event monitoring||The Instrumented Microkernel|
|Working on a system with more than one processor||Multicore Processing|
|Memory management, pathname management, etc.||Process Manager|
|Shared objects||Dynamic Linking|
|Device drivers||Resource Managers|
|Image, RAM, QNX 4, DOS, CD-ROM, Flash, NFS, CIFS, Ext2 filesystems||Filesystems|
|Persistent Publish/Subscribe (PPS)||PPS|
|Serial and parallel devices||Character I/O|
|Network subsystem||Networking Architecture|
|Native QNX Neutrino networking||Native Networking (Qnet)|
|TCP/IP implementation||TCP/IP Networking|
|Fault recovery||High Availability|
|Sharing resources among competing processes||Adaptive Partitioning|
|Graphical environment||The Photon microGUI|
|Multimedia Engine (MME)||Multimedia|
|Terms used in QNX documentation||Glossary|
For information about programming in Neutrino, see Getting Started with QNX Neutrino: A Guide for Realtime Programmers and the Neutrino Programmer's Guide.
Throughout this manual, we use certain typographical conventions to distinguish technical terms. In general, the conventions we use conform to those found in IEEE POSIX publications. The following table summarizes our conventions:
|Code examples||if( stream == NULL )|
|File and pathnames||/dev/null|
|Keyboard input||something you type|
|Programming data types||unsigned short|
|Programming literals||0xFF, "message string"|
We use an arrow (→) in directions for accessing menu items, like this:
You'll find the Other... menu item under.
We use notes, cautions, and warnings to highlight important messages:
|Notes point out something important or useful.|
|Cautions tell you about commands or procedures that may have unwanted or undesirable side effects.|
|Warnings tell you about commands or procedures that could be dangerous to your files, your hardware, or even yourself.|
In our documentation, we use a forward slash (/) as a delimiter in all pathnames, including those pointing to Windows files.
We also generally follow POSIX/UNIX filesystem conventions.
At the top and bottom of our HTML docs, you'll see some or all of these buttons:
|Use this button:||To move:|
|To the previous part of the document.|
|“Up” in the document:
|To the keyword index.|
|To the next part of the document.|
To obtain technical support for any QNX product, visit the Support area on our website (www.qnx.com). You'll find a wide range of support options, including community forums.
Copyright © 1996–2010, QNX Software Systems. All rights reserved.