The BlackBerry 10 OS Microkernel

The QNX Neutrino RTOS implements the core POSIX features used in embedded realtime systems, along with the fundamental BlackBerry 10 OS message-passing services.

The POSIX features that aren't implemented in the procnto microkernel (file and device I/O, for example) are provided by optional processes and shared libraries.

To determine the release version of the kernel on your system, use the uname -a command. For more information, see its entry in the Utilities Reference.

Successive microkernels from QNX Software Systems have seen a reduction in the code required to implement a given kernel call. The object definitions at the lowest layer in the kernel code have become more specific, allowing greater code reuse (such as folding various forms of POSIX signals, realtime signals, and BlackBerry 10 OS pulses into common data structures and code to manipulate those structures).

At its lowest level, the microkernel contains a few fundamental objects and the highly tuned routines that manipulate them. The OS is built from this foundation.

Diagram showing QNX Neutrino RTOS components.

Some developers have assumed that our microkernel is implemented entirely in assembly code for size or performance reasons. In fact, our implementation is coded primarily in C; size and performance goals are achieved through successively refined algorithms and data structures, rather than via assembly-level peep-hole optimizations.

Last modified: 2014-05-14



Got questions about leaving a comment? Get answers from our Disqus FAQ.

comments powered by Disqus