As BlackBerry fans or investors, we’ve all heard the lingo kicked around. QNX, real time OS, microkernel. DON’T STOP READING! If those terms make your brain fuzz, this post is for you.
If you’ve been following along, you know that the QNX microkernel is the heart of handsets powered by BlackBerry 10. You also know that QNX has a long track record in the embedded systems industry, starring in security and reliability. You know that QNX is already the market leader in operating system platforms for automotive infotainment systems, with a market share North of 50%, while Microsoft trails a distant second with about 25% market share, according to data from market research firm IHS Automotive. You know that Ford just booted Microsoft as it’s automated infotainment system.
Many of us want to understand why our devices are more secure and reliable, but our brains fuzz over at the first site of a technical term.
To assist, I will keep those to a minimum, defined by relationship:
BES > BB 10 >BBM> AUTO INFOTAINMENT >Internet of Things > QNX > MICRO KERNEL > KERNEL > OPERATING SYSTEM
Blackberry has security in the DNA
and does not build a fortress on an insecure foundation. – John Chen
The most important part of building a strong house, is to build a strong foundation. It is the mundane part, the part that nobody sees or thinks about after that final coat of paint is applied to the user interface, but is the most important if you don’t want anything more than an insecure, unreliable façade of a product. The foundation of any software controlled product is a piece of software called the Operating System or O.S which handles the basic functions of input and output to the device. Not glamorous but a critical operation. This basic choice for a product is where success or failure begins. To see the impact of the wrong choice on a large scale ask FORD how it did with Microsoft. Ask Sony how it did without BES.
As can be seen from the relationship above, QNX is the well designed and planned foundation of BlackBerry. Above all else, and becoming increasingly more important are two things: Security and Reliability.
How important then is QNX to BlackBerry? HUGE. But few see the plan, few see the foundation of this gathering storm. Because it is handed off as “tech stuff” and surely those with larger market shares have equally good or better “tech stuff”, right?
Well no, because a house built on sand, as more and more competing features are added, eventually crumbles under it’s own weight, and with a weak foundation below, that weight can bring down very very large structures.
Why does QNX make BlackBerry unique?
To put it as simply as possible, because SMALL IS MANAGABLE. Multiple small operations with small responsibility for each manager are managed more reliably and securely than one large operation overseen by a single manager. Hence the concept of the small, reliable, minimal, replicable operating system called a microkernel.
It has been described this way:
The fewer lines of code, the fewer errors and greater efficiency, therefore economical in terms of resources, CPU time and memory requirements.
To understand the advantage of QNX on a nontechnical level if that is possible,
Let’s begin with a question and walk backwards.
Why does a microkernel or the QNX kernel provides more security than a Windows, Apple or Linux kernel?
To understand the answer to that question we have to know what a microkernel is.
To understand what a microkernel is, we have to understand what a kernel is.
To understand how QNX has differentiated itself from the Operating System of every other phone device, one must take a brief look at the history of mobile Operating Systems.
In the past, companies repeatedly tried to bring an operating system from the PC to a mobile device. Microsoft, HP, Dell and other manufacturers have failed again and again to build a solution. Regardless of whether it was a Windows or Linux system.
Although all these manufacturers have changed their operating systems for mobile use, they all have one thing in common:
None of them has a specially developed kernel for the “smartphone”.
Apple is using the Mac OSX kernel XNU for the iPhone, Android and MeeGo are using the Linux kernel, WindowsPhone 7 the Windows CE kernel and WindowsPhone 8 Windows NT kernel.
What is a kernel?
A kernel or operating system kernel , is the central part of an operating system.
An operating system is software that communicates with the various parts of an embedded device, that is a device which has a microprocessor embedded into it. Generally a micrprocessor takes data input from some form of sensor, processes it, stores and presents it to the user.
What is a microkernel and why is it more stable and secure??
To understand this, we first have to understand that there is a history to the development of operating systems.
The conventional kernel
Conventional kernels are first developed with the idea of functionality and reliability.
Security and data integrity are the next step or the end of development in worst case.
QNX has taken a different approach and has already taken up the issue of security in the concept of the kernel.
A conventional kernel such as the Linux kernel has about
14 million lines of code.
QNX kernel has only 97,000 lines of code.
The QNX Neutrino kernel is as stable and safe as it gets and the amount of code lines has been kept as small as possible.
File system will fail (something Windows users may be familiar with).
The entire system crashes and in some cases you see the Blue Screen of Death (BSOD). Here is an example of a driver, that is no longer capable of communication:
On an operating system with standard kernel the system totally crashes, but with a microkernel everything still works.
The file system is acritical part and some applications may not getting correct data, but the system remains stable and continues to run.
What is a micro kernel? A microkernel is an operating system kernel. The microkernel features as opposed to a monolithic kernel only basic features – usually only functions for memory and process management as well as basic functions for synchronization and communication. All other functions are stored as separate processes (server), which communicate with the querying programs (client), or as a library, which is included by the querying programs, implemented in the user mode.
Unlike a conventional kernel, the microkernel takes only the minimum requirements and these are the most important. As storage management in RAM or Process Management in the CPU. The rest, such as the file system or driver, is managed by the operating system.
The QNX Neutrino kernel is also a realtime OS microkernel.
Why is a realtime OS important? Because Android and iOS are not. For this reason don’t expect to see those OS’s get very far as computing power gets closer to the “things” of the internet. Phones are embedded devices responding to real events in real time. That means processing events when they happen, not later. When managing multiple real time events, processes must be complete in a predetermined time in order to be reliably ready for the next event. A phone is an embedded device, meaning the computing power is embedded in the system.
An embedded system needs a Real Time Operating system (RTOS) to operate reliably in a real time environment, meaning the response to an event is immediate and unbuffered, not stored for processing later.
The kernel and the corresponding operating system must execute some functions in real time. In a worst case scenario it means that the core functions need to be processed in a predetermined time frame.
With this bit of knowledge rest assured that BlackBerry is paving the way to a bright future, and most of the paving has been done quietly behind the scenes. It will be interesting to watch as the buildings made of hype begin to crumble, while the building built on the QNX stone will endure as a future proof truly Real Time Operating System.