BlackBerry Tablet OS
BlackBerry Tablet OS is an operating system from BlackBerry Ltd based on the QNX Neutrino real-time operating system designed to run Adobe AIR and BlackBerry WebWorks applications, currently available for the BlackBerry PlayBook tablet computer. The BlackBerry Tablet OS is the first tablet running an operating system from QNX, the company responsible for real-time operating systems used in products from cars to nuclear reactors. QNX is now a subsidiary of RIM.
BlackBerry Tablet OS supports standard BlackBerry Java applications. Support for Android apps has also been announced, through sandbox "app players" which can be ported by developers or installed through sideloading by users. A BlackBerry Tablet OS Native Development Kit, to develop native applications with the GNU toolchain is currently in closed beta testing. The first device to run BlackBerry Tablet OS was the BlackBerry PlayBook tablet computer.
Multitasking
Several features of the OS make it particularly suited for multi-tasking on multi-core devices.
Hard real time allocation
The micro-kernel architecture operating system provides hard real-time multitasking. QNX was one of the first POSIX operating systems to employ the technique of hard time allocation on a fixed clock cycle. The kernel will visit each and every task at least once every cycle, for instance every 20 milliseconds (or 50 frames per second, in graphics terms), to be sure that no task is not attended (or no object entirely unrendered, in graphics terms). This model achieves most of the advantages of the interrupt-driven and polling approaches to multi-tasking. QNX Neutrino kernel calls support threads, message passing, signals, clocks, timers, interrupt handlers, semaphores, mutual exclusion locks (mutexes), condition variables (condvars) and barriers.
“Bound multiprocessing”
The micro-kernel was designed for distributed processing, which reduces heat and energy usage by comparison to monolithic architectures such as Linux. The ability to lock software tasks to specific cores, under the control of a single copy of the OS, lets all resources be "dynamically allocated and shared among applications. During application initialization, however, a setting determined by the system designer forces all of an application’s threads to execute only on a specified core" thus reducing inter-processor communications overhead and keeping the bus clear.[ This approach lies between symmetric multiprocessing and asymmetric multiprocessing.