How BlackBerry 10 OS is unique

The BlackBerry 10 OS consists of a microkernel (procnto) and various processes. Each process—even a device driver—runs in its own virtual memory space.

Diagram showing the microkernal and system processes.

The advantage of using virtual memory is that one process can't corrupt another process's memory space. For more information, see The Philosophy of BlackBerry 10 OS in the System Architecture guide.

BlackBerry 10 OS's most important features are its microkernel architecture and the resource manager framework that takes advantage of it (for a brief introduction, see " Resource managers "). Drivers have exactly the same status as other user applications, so you debug them using the same high-level, source-aware, breakpointing IDE that you'd use for user applications. This also means that:

Developers can usually eliminate interrupt handlers (typically the most tricky code of all) by moving the hardware manipulation code up to the application thread level—with all the debugging advantages and freedom from restrictions that that implies. This gives BlackBerry 10 OS an enormous advantage over monolithic systems.

Likewise, in installations in the field, the modularity of BlackBerry 10 OS's components allows for the kind of redundant coverage expressed in our simple, yet very effective, High Availability (HA) manager, making it much easier to construct extremely robust designs than is possible with a more fused approach. People seem naturally attracted to the ease with which functioning devices can be planted in the POSIX pathname space as well.

Developers, system administrators, and users also appreciate BlackBerry 10 OS's adherence to POSIX, the realtime responsiveness that comes from our devotion to short nonpreemptible code paths, and the general robustness of the QNX Neutrino microkernel.

CAUTION:
Some x86 systems can run in System Management Mode (SMM), where the BIOS installs special code that runs when a System Management Interrupt (SMI) occurs. SMI interrupts may be generated by the motherboard or peripheral hardware, and can't be masked by the operating system. When SMM is entered, normal operations—including the OS—are suspended, and the SMI handler runs at a high priority. Avoid using systems where SMM can't be disabled, because it can destroy BlackBerry 10 OS's realtime performance. The OS can't do anything about the delays that SMM introduces, nor can the OS even detect that the system has entered SMM.

BlackBerry 10 OS's microkernel architecture lets developers scale the code down to fit in a very constrained embedded system, but BlackBerry 10 OS is powerful enough to use as a desktop OS. BlackBerry 10 OS runs on multiple platforms, including x86, and ARM. It supports symmetric multiprocessing (SMP) and bound multiprocessing (BMP) on multicore systems with up to 32 processors; for more information, see the Multicore Processing User's Guide .

BlackBerry 10 OS also features the Qnet protocol, which provides transparent distributed processing; you can access the files or processes on any machine on your network as if they were on your own machine.