History of QNX and its Implementation in BlackBerry 10

QNX Porsche
By Chris Umiastowski on 29 Jan 2013 09:19 am EST

When BlackBerry 10 launches this week, it will mark a major transition in the underlying operating system that powers BlackBerry. From the moment that BlackBerry 10 hits the market, the operating system that powers devices will now be the QNX Neutrino Real Time Operating System (RTOS).


Most readers may not realize this, but this is actually Research In Motion's second major platform transition since the original BlackBerry products hit the market in 1999. The first devices were actually programmed in C++. They ran on a single AA battery cell, which lasted 3 weeks for the average user. They had a data modem that could move 8 kilobits per second. There were no third party apps.

By 2001, RIM launched its very first BlackBerry device that actually made phone calls too. This device, the BlackBerry 5810, had an operating system written entirely in Java 2 Micro Edition (J2ME). This allowed RIM to improve security by isolating the radio code from the application code. It was also much easier, at the time, to find programmers who knew Java, so it helped the ecosystem grow.

Founder of Research In Motion, Mike Lazaridis, is a brilliant man. He invented the BlackBerry and is largely responsible for its success. Yet he could be stubborn. I remember speaking to him at an informal gathering of financial analysts in Orlando a few years ago. For a minute or two, my conversation with him was uninterrupted. Other analysts were speaking to other executives. Smart technology folks were starting to make noise that RIM was running out of room to further advance the Java platform. I asked Lazaridis if they need to redo the BlackBerry OS. His reply was crystal clear. I'm paraphrasing, but his answer was pretty much, "Oh we'll never rewrite the OS. It would be too risky."

What he meant by this, I assume, was that BlackBeryOS had amassed industry leading security certification. Re-writing the OS would mean starting over and risking these certifications.


For many investors, developers and other RIM-watchers, it wasn't the first time the RIM founder said "never". Over the years we've been told that BlackBerry would never have a color screen, and would never include a camera. Ask anybody who has been following RIM since the early 2000s and you'll surely be provided with a longer list of things RIM would never do.

But in April of 2010, RIM announced the acquisition of QNX Systems. Mike Lazaridis had clearly changed his mind, but in order to keep things quiet, he wasn't talking about the company's next big OS transition yet. One week after RIM announced the QNX acquisition, I held a "fireside chat" style of interview with the BlackBerry founder in front of institutional investors. When I asked about QNX, he was very cool about it and said, "We see the car as the ultimate BlackBerry accessory". This was, of course, a reference to the fact that QNX has been embedded into the control systems of over 200 models of cars including high end names like Audi, Porsche and Jaguar.


While Lazaridis wasn't about to tell the world that Java was a thing of the past (that would only scare developers off), the acquisition of QNX gave RIM a way to build a brand new device running a brand new operating system.

That new device would be the BlackBerry PlayBook. According to many former RIM employees I've spoken to, Lazaridis always recognized that mobile computing would advance rapidly. He wanted to build a laptop or a tablet to enter this new market. Lazaridis understood this long before Apple launched the iPad. But the iPad is probably what gelled the idea of a tablet in Lazaridis' mind versus a netbook or laptop form factor. 

The man to make it happen was Dan Dodge, the founder of QNX Systems and the guy who wrote the Neutrino OS. Dodge, and University of Waterloo buddy, Gordon Bell, founded QNX back in the early 1980s. They released the first version of QNX in 1982. Little did they know they'd end up powering BlackBerry hardware 30 years later. At the time, QNX was built for embedded computing systems.

In 2000, almost 20 years after the first version of QNX hit the market, the QNX team had completely re-written the OS and launched Neutrino. As Dan Dodge describes it, "QNX is used in systems where the cost of failure is very high". The Neutrino operating system is used to control huge Cisco Internet routers, lighting and equipment for huge Las Vegas shows, slot machines, windmill turbines, and nuclear reactors, just to name a few markets.

The way Neutrino has been architected also makes it ideal for today's modern mobile computing platform, which is explained in more detail below.

The proving ground, inside of RIM, was the PlayBook. If you measure the PlayBook's financial contribution to RIM, it was a disaster. But if you look at the bigger picture, it accomplished an important goal. It proved that the QNX Neutrino OS could massively succeed in powering a mobile computer with all sorts of rich media applications and a highly responsive touch screen interface. QNX did it's job. The rest is up to application developers and user interface designers.


QNX was built as a super tiny OS. It has something called a Micro Kernel architecture. This differs from Unix, MacOS and Windows which have much larger, monolithic kernels. Even the older Java-based BlackBerry OS is a monolithic system.

Ultimately, a micro kernel design gives you an OS that is easier to maintain, more secure, and much more flexible.

If you've ever been a Windows user, you're familiar with the blue screen of death. You know what I mean, right? Your computer crashes, the screen turns blue, and some total incomprehensible message is displayed on your screen telling you about a fatal system error.

Huge monolithic kernels are more likely to run into these "blue screen of death" problems because various applications and processes all share the same memory. Let's say a third party app has a bug in it that overwrites memory allocated to another application, or a core part of the operating system. The entire system can come crashing down, and it would be very hard to figure out what's causing the problem.

The Neutrino micro kernel architecture avoids this problem by allocating virtual memory to each process. There are only two required elements in a QNX Neutrino system. The first is the micro kernel. The second is the process manager. Everything else runs as a process, and is managed by the process manager, and handed off to the micro kernal OS for execution. If a buggy application accidentally tries to write into memory that it doesn't control, the process manager will recognize it as an address not allocated to the app, and tell the kernel to shut down the problem on the spot. No blue screen of death.

That's why it is exceptionally rare to hear of PlayBook owners who complain that their device crashed, while BlackBerry handhelds can crash much more often. Individual applications can crash. But the core OS? Rarely.

Within QNX, everything runs as a process that plugs into the main OS. Things like TCP/IP or wireless communications are all processes. Drivers are all individual processes, as are each application running on the device.The keyboard, the gesture recognition, and the rendering of anything to the screen are all individual processes. If something goes wrong, in most cases, the kernel can reboot these processes without you, the user, even knowing that anything happened.

Metaphorically, you can see this on a PlayBook or BlackBerry 10 device. Every time a new application loads, you can see a new thumbnail (or active frame) open up, and the application lives within that frame. When the frame is out of view, the app is still running. It's just not rendering anything to the screen because the process in charge of rendering to the screen is being asked to render something else. In this way, the PlayBook OS and the BlackBerry 10 OS are true multitasking beasts.

When it comes to security and reliability, this micro kernel architecture with protected virtual memory is ideal. Rogue apps can't steal data they haven't been granted access to.

The Neutrino OS is also fully POSIX compliant. In case you are wondering what this means (and it's important), POSIX stands for Portable Operating System Interface for UniX. It's a set of standards that programmers adhere to when writing code. In other words, it's a bunch of API specifications. For QNX to be fully POSIX compliant means that it is very easy for Unix, Linux and even MacOS developers to write code for QNX.

QNX Neutrino is also ready to accommodate future demands. It was designed, up front, to run on multi-core processors. I'm not talking about 2 and 4 cores, either. I'm talking about 32, 64 or even more. And these processor cores can even be distributed geographically. In theory this means that one instance of the OS could run multiple devices, screens, and in multiple locations. I won't pretend to be smart enough to envision what this means for the future, but I think it's safe to say that QNX can do things that other operating systems, such as iOS or Windows Phone 8, were never designed to do.


The QNX Neutrino operating system is not the entirety of a BlackBerry 10 device. It's just the foundation. When Lazaridis brought Dan Dodge up on stage at DevCon 2010, he introduced QNX with a building metaphor. If you want to build a skyscraper, you don't build it on top of the foundation for a house. You have to properly engineer the skyscraper foundation to bear the immense load that will be placed upon it.

QNX is a skyscraper foundation. It's ready to handle whatever your throw at it. But just like any other computing environment, the quality of the core applications and user interface matter. After all, you don't ever inspect the foundation of a skyscraper. You just assume it's there, working.

In much the same way, QNX can be running perfectly well, and still result in a horrible experience if the core apps are ugly, non-responsive, lacking features, or crash due to buggy programming.

That's why a QNX-powered BlackBerry, at least in theory, should be exceptionally stable. But various processes, which are part of the BlackBerry system, need to be just as stable to deliver an incredible user experience. For example the current PlayBook OS implements the on-screen keyboard using Adobe Air. Sometimes it gets bogged down and doesn't respond. This has nothing to do with QNX and everything to do with the keyboard process being executed by the kernel. In BlackBerry 10, the keyboard has been completely re-written in native code. Any user of the Dev Alpha can attest to the fact that it's much more smooth and reliable than the PlayBook's keyboard.

Same goes for the browser. The PlayBook browser was a huge step forward from the BlackBerry OS. But it's far from perfect. Again, this isn't a reflection on QNX, but instead a reflection of the quality of the work done by the BlackBerry browser team responsible for building it. The BlackBerry 10 browser has been completely rebuilt, and should perform significantly better as a result.

Overall, QNX proved its worth as an underlying kernel on the PlayBook, but many other components of the Tablet OS were rushed to market. With the launch of BlackBerry 10, RIM has completely the core apps that make up BlackBerry using native code. This is why we're confident it's going to be an incredibly smooth customer experience.

Reader comments

History of QNX and its Implementation in BlackBerry 10


It's missing some other details, QNX *did* run on computers, these were the UNiSYS ICON machines. In Ontario, public and high schools used them in the late 80s early 90s even.

I remember those days fondly of QNX :)

Edit: QNX will work on some intel CPUs today even, even if it's an embedded OS by tradition

Tomorrow morning is going to be a special day for RIM with the release of BB10. For those of you who are interested in the technical aspects of how QNX functions in comparison to say...Windows 8, read on.

QNX is a microkernel OS as stated above. In computer science, this type of OS uses the near minimum amount of programming software that can provide the mechanisms needed to implement an OS. These mechanisms include low level address space management, thread management, and inter process communication.

Traditional operating system like Windows, use device drivers, protocol stacks and file systems. These are removed from the microkernel to run in user space. With QNX, the source code size, (microkernels) tend to be under 10,000 lines of code, as a general rule.

This is why it is so easy to multitask on the Playbook because each app is assigned it's own portion of the memory to work, leaving everything else free. Therefore you can have many applications open at once. QNX is extremely efficient and is going to allow RIM to have some very impressive features on BB10 because of the OS architecture.

As for people wanting the BB10 experience I totally agree 100%. Blackberry/Playbook is a highly efficient, secure, very fluid and user friendly experience.

I’d rather be a Black Sheep than an iSheep any day.

Agreed, great job Chris! I've been suggesting for a long time that Crackberry needed to do QNX some justice and clean up a bit of the misinformation out there on the web...

Just a few additional comments:
1. QNX is not UNIX-like, but rather is POSIX compliant, as Chris suggested. I could not count how many times I see this incorrectly pointed out on other sites...
2. A big advantage of the microkernel approach is that it makes your OS very scalable. The core kernel of QNX is maybe 100,000 lines of code, as compared to Windows which has somewhere around 50,000,000! (50 million!) That means that you can really focus on making those 100,000 lines perfect - highly stable, optimised and very efficient.
3. The downside to the microkernel approach was that before QNX was introduced, microkernels were typically slower than their monolithic/hybrid counterparts because of all the extra message handling. QNX solved that problem by making the entire kernel small enough to fit on the Level 1 cache on the CPU die itself (fastest memory in a system). This actually leads to performance gains, not to mention pluses on stability, security, etc., relative to their monolithic counterparts.

There's actually a lot of really great whitepapers and performance comparisons between QNX and competing OS's out there on the net. All go to show that QNX really shines relative to its competitors. And as Chris clearly pointed out, it all has to do with the very well engineered architecture of the QNX operating system.

Now Chris, if can you write an equivalent article on TheAstonishingTribe, we'll be all the way there! Thank you.

Thanks, Chris! I always thought that you're more to a finance guy. But this article shows that you do know about the technical stuff too!

Nice article. Two thoughts:
- QNX is certainly rock solid at it's core. It's the OS in my car and I very, very rarely have any issues with it.
- Your comment "This has nothing to do with QNX and everything to do with the keyboard process being executed by the kernel. " While this is true, at the end of the day, it doesn't matter. The user experience, and thus user perception of the experience, is paramount.

If there are lag or performance problems, it won't matter who's to blame, it will still fall on the device as being perceived as at fault. That's why it's so important for all the components of the BB10 phones to be thoroughly tested and as close to perfect as possible. Whether it's the core OS or the overlayed app architecture, it's the overall experience that has to be seamless.

also want to add that it was a good read, as it was nice to re-visit some of this information in timeline sort of way.

Great article Chris. It really gives me confidence knowing the foresightedness that RIM has taken to ensure that it's legacy in security is there whilst being a platform for the future.
Knowing that this will be the foundation of all new Blackberry's makes it a device, which I really hope will be a true success! Can't wait to see what is in store for all the Blackberry fans tomorrow!!!!

What a great article. I needed little in the way of persuasion, but this helps give me confidence in an OS. I'm hoping that we see really cool peripherals for this new line of QNX enabled Blackberry's as well.

Agreed, that is a great article. You have laid out the tech stuff in a way that is easy to grasp. I have a better understanding of the implications of QNX. Done right this could power RIM ahead of most everyone in the computing world. I would like to think that in 10 years we will look back on this point in time and say that we were watching it all unfold.

I doubt a micro versus monolithic kernel has much bearing on BB10's stability. If you manage to crash something like an FS driver then you have serious problems regardless of the kernel architecture. It's not like instability is a major issue on other mobile operating systems despite them running on monolithic kernels.

I guess it doesn't hurt for RIM to eat their own dogfood and battle harden their OS for use in other consumer applications. Though I think if BB10 were running over a Linux or Mach kernel there wouldn't be any appreciable difference as far as the end user was concerned.

Droid uses a monolithic kernel, nuff said. IOS uses a dated hydrid kernel, again nuff said.

QNX micro kernel already is in most embedded systems architecture all over the world, enter BB10, nuff said. :)

Not really "nuff said" since both of those systems work extremely well. People get WAY too hung up about what's running underneath a consumer device. It's the UI which matters and it could be running over the top of Extended DOS for all they care providing it works properly.

As it is, my point is that monolithic kernels have proven themselves more than capable for these sorts of devices (most modern TVs, set top boxes, routers etc. are running over embedded versions of Linux).

I don't see anything about my Playbook's GUI which relies on the kernel's choice of architecture.

I don't see why. Kernels other than QNX have been used in far more space constrained devices than modern phones or tablets.

QNX micro super kernal indeed i love the comparison to windows max and unix because its so true on how it rides and how it works perfect article Chris.

If this was available to use existing infrastructure in your hopuse/flat to control stuff. Bring it on. I can't afford a Bentley or a Porsche at the moment :)

Though not directly related to BlackBerry, I was thinking of self-driving cars running QNX. It indeed would be neat if QNX was available in more places.

Great article again Chris. What it highlights for me is the future, where RIMM is going and what it will become, it looks to be ahead of the pack in regard to potential and it knows what that potential is. Embedded OSs that are machine to machine to user will be huge a decade or so down the road. BB10 presents the user to machine, next will start to see machine to machine.

You already know this, but great article Chris! Thanks for taking the time to explain it all. I'm very relieved to hear the differences between the current PlayBook features and BB10 (specifically keyboard, browser); I love my PB but do get frustrated by the occasional lagging. Excited for tomorrow!!!!!!

I think this point is very important. Many PB owners cringe when hearing how responsive the browser is. Yes, it renders websites very accurately, but responsiveness is not its strong suit. Understanding the difference of an app build in AIR vs. native code is paramount to many critics who have written PB off previously. I was almost one of them until I took the time to read about and understand this very important difference. Take a look at any other app/game on PB written in native and you will see the difference.

The best part-I already have the next version of PB, sleeping quietly in my backpack, waiting to be awakened by the BB10. I cannot wait!

I honestly thought Chris is just a computer nerd...........but he is also a MBA....hats off to you

Chris, another excellent article. Thanks and please keep it up! Your articles are always superb and your insights, helpful.

Cheers mate!

Thanks Chris, I think people have tried to explain the advantage of QNX for some time now, but you have really laid it out really well and at a good time. This is also one of the reason's why the Playbook and I imagine the upcoming BB10 OS inherently has a higher RAM allocation from bootup, it allocates more memory from the beginning but the number does not go up much higher and has less risk of memory leak.

One big difference between PBOS and BB10 (from what I remember reading months ago) is that the PBOS loads all OS related software, drivers etc. Where as BB10 only loads what's needed and what is asked for. SO RAM use it lower overall. Can't for BB10 to come to the PB.

Chris - Awesome article. I retweeted and posted it on Facebook. Best article I have read in a long time.

There is an error on the second to last sentence. "RIM has completely the core apps that make up BlackBerry using native code."

Thanks again.

Great Read,
It will be very interesting to see how the app developers take advantage of the software for the Blackberry 10 and the Software that Rim is now supplying for building apps for Cars.

Should be an interesting year for Rim and developers.

Great article. It's really hilarious that Rim built an OS on top of the excellent QNX and then choose Adobe AIR for something essential as the keyboard. I mean most AIR apps are barely usable on the desktop, let alone on a mobile device. I'm glad they made some more sane choices for BB10, though they still promote Adobe AIR as a first class developer tool.

As far as I remember: When the PB launched Adobe Air was the only Development platform available for PBOS. Native SDK came around PBOS 2.0 so they did spend quite some time creating the Development tools.

I guiess they could have rewritten it, but since 2 years all I have heard was "Wait and see... we will provide a truly fantastic device" so I assume they focused on BB10.

I have always seen PB as the single tool to test a new platform and start attracting developers. RIM probably hoped it would have been a financial success too, but without the SmartPhones to back it up it failed.

This article should be required reading especially for those folks who are constantly preoccupied with specs. QNX is extremely efficient.

Just a slight clarification. Monolithic kernels also use virtual memory/processes to separate programs. So when user programs crashes it doesn't bring down the entire OS. It is bad kernel mode drivers that tend to bring on the blue screen of death, because these tend to not have that extra level of protection that you would have in a micro kernel(since they are their own process). From an end user perspective it doesn't matter if its a kernel mode or user mode driver that crashes, they will still experience the crash(although recovering the process may be quicker than a full reboot), but it is probably easier to ensure the stability of the os once you have the micro kernel design. Also it probably simplifies things as far as security is concerned for the bb, so its a win for bb

Good point. I had the honour of having Alec Saunders next to me about 1½ years ago at the Alliance Summit in Spain. We talked quite a bit about QNX and how the kernel has a watchdog process monitoring the processes in user space. He told me if e.g. the network stack crashed they could actually just start a new one and nobody would ever notice.

Now try that in a monolithic kernel :-)

The substance of this is true, but not the details. The kernel has no processes. The kernel is just the kernel. It's rather easy to use kernel services to create a watchdog process that can restart any failing process, including a driver. Alec might have referred to an add on called HAM which provides watchdog/restart capabilities. If the network stack crashed, there would probably be at least a blip as the network stack, and all it's drivers and protocol modules were restarted. A user might or might not notice.

Thank you for that explanation. Helpful. I am not a computer programmer at all, so I researched this to present it as clearly as I could, but I'm always learning more. 

I have been reading Crackberry every day for about two years now, and never took the time to sign up and comment.
I have been looking into doing it for the past weeks, but I believe now my time has come.
First to say this has been a great article read, but also to get ready to be here tomorrow: the day BB is born again.

Wow, so if the '01 tech crash didn't happen.... We most likely would not be blessed with bb10 tomorrow!

FYI, I am with Microsoft(don't bash our monolithic kernel, we do a pretty good job, minus blue screens). But underneath it all I am a blackberry fanboy :)

MS is awesome, everyone loves to hate windows.... I'm not moving to Cuba for free health care and I'm not selling my computing freedoms for an apple product!

This is why BlackBerry 10 is untouchable and represents the future. I just can't wait for the BB10 Update for the PlayBook. This update will accelerate the PlayBook in being the best tablets in the market despite being released in 2011.

I'm looking forward to a BB10 update too but I wouldn't be surprised either if it doesn't happen.

I'm just sounding a note of skepticism because there really isn't much incentive to port BB10 to Playbook. I suppose it might keep the faithful happy and streamline development / maintenance efforts internally and externally. But equally they might just bump out a 2.2 with a few updated components to interact with BB10 and call it a day. I'd be pleasantly happy and delighted if it does happen, but I don't want to raise my hopes until I see definite plans it will happen rather than just vague rumours.

Mike L was dead on right.
"Oh we'll never rewrite the OS. It would be too risky."

And they didn't. They bought QNX. This is not re-writing their Java Based OS. This seems like a huge error in logic to come to a conclusion that he was wrong. How it goes I guess.

And I know no one else cares but I think its stupid to say the Playbook was a disaster but I guess I'm going against whats been pounded in our head as what we are supposed to believe. It doesn't have the sales of ipad, who does? Relatively speaking its faired better then most tablets, its continuing to be supported, it hasn't needed constant refreshes like some other popular tablet since the hardware was amazing when it first came out, it continues to receive software updates, its been a testing groud and introduction to QNX to developpers and millions of customers and a lot of people love it and it continues to be sold and will be improved on (you dont have to toss in in the garbage like another brand). But I know, all thats stupid, lets continue to sum it up as a disaster. I'm going to go ask all my family and friends how they are enjoying their 'disaster'. Its the best disaster I've ever purchased. Thank you RIM.

The rest? filler thats been re-purposed.

The PB was indeed a disaster because it was released long before it was ready for the consumer to use. Had it been delayed and correctly fine tuned like BB10 that might have been a different story. The latest OS should have been on the first release.

I was thinking on the same track... Thanks for sharing your observation and perspective - mike l. is about 99 and 44/100ths of what is being launched tomorrow!

Thanks Mike for not letting your ego (and jim's) interfere with the mobile revolution... Lead by your RIM!

He said it was a financial disaster (as in playbook has been selling at much lower price then it was released at and RIM had to write off playbook inventory and is not making money by selling it). He did not say that playbook was disaster...but said playbook served it's purpose to battle test QNX before being using in BB10.

Awesome article, this will definitely be a talking point when I have to battle it up with one of my iToy friends.

From the second I started reading, I knew it was a @cumiastowski post. Great analytical and historical article Chris.

This is a very clear, well-written article with some great information. But it is only half done.

Drawback are just as important as advantages. So what are the drawbacks of a microkernel?

See the skyscraper analogy. Its up to the architects to build something beautiful on top that is solid and stable.

Good question – I too missed a bit about that topic.

A microkernel is usually considered much slower due to the message passing being handled by the kernel in a non-optimal way.

QNX has resolved it by making the message ready for the receiving process, but not passing the control of the CPU if the receiving process is not ready/waiting.

Wikimedia has quite a nice article about QNX and the “Teknology” sections covers this briefly:


(Sorry for not knowing how to crate a link)

Also, the QNX microkernal is so small that it actually fits on the level 1 cache of the CPU, which is the fastest memory in a computer, which greatly speeds the message handling aspects.

My takeaway from this article.....MY PLAYBOOK IS ABOUT TO GET EVEN MORE AWESOMERRRRRR!!! I just hope the updated OS is released to the PB's SHORTLY after the unveiling.

"FINAL COUNTDOWN" playing in my head.

I to hope BB10 is released on the PlayBook sooner rather than later.

I can't help but feel BlackBerry missed a great marketing opportunity by not releasing (if they are not going to) a BB10 upgrade for PlayBook along side the launch of BB10 HandHeld devices.

I also feel that not rewarding the PlayBook faithful with the upgrade is missed CR opportunity. For some (not all) the PlayBook has fallen short of expectations, but they have stuck with it... An upgrade to BB10 along side the official BB10 HandHeld's would have been a just reward and a nice thank you to those customers... Just my opinion....

Personally if I felt my new OS was a market winner, I would want to get as many customers using it as possible. And what better than to get existing PlayBook users to sing it's praises, while showing it off to friends and family.....

Word of mouth sells, it's not all about advertising.... I brought my first BB phone because a few friends convinced me it was the phone to have, not because of any advertising.... Again just my opinion... I assume they know what they are doing better than me....

BB10 on playbook has been confirmed by RIM many times, however big question is how much time is required to do it. If it was 5 minutes of work, it would have been done, and will be announced at launch. At this time, RIM will have to look at opportunity cost, should any dev time be spent on porting BB10 to playbook OR any/all dev time should be spent fixing bugs, refining code, adding features to native apps, adding features to OS, building more apps etc. Even being playbook owner, I would spend time on the later.

Other problem is, RIM doesn't see money coming from playbook directly either (by upgrading existing playbooks or by selling more PBs). Time/money spent on BB10 port to PB in a marketing budget might fly :)

Another concern I would have as RIM, does upgrading PB to BB10 cannibalize BB10 phone sales. I don't know if/how much impact it would have, but someone who has iphone and a PB, if they see upgrade to BB10 on PB, might decide they now have best of both and no need to buy BB10 phone. I have a company provided Android and a personal PB, if PB gets updated right away, I would definitely wait longer before spending $500-600 to buy my own BB10 phone to hookup to the company line [as I am sure they don't want to buy BB10 for me :( ].

Unless there's a hardware limitation e.g. not enough RAM. I don't see why they wouldn't release BB10 for the PB. It seems like it should be pretty simple, just have adapt to the different size and resolution screen, remove the phone software, and optimize for the hardware differences. At the very least I hope they have OS updates 2.5 or 3.0 etc. to give us the BB10 browser, keyboard and other tidbits.

Personally, and this is purely my personal feeling... I don't care if OS2 apps don't run...

As I have been considering a move to Android (or maybe Apple) I would have to start over with app purchases anyway.....

If BB10 gives me a better OS and therefore better Apps without the expense of a whole new system then I will be very happy to re-purchase any apps I loose...

So I would kinda like a complete new feel to my lagging behind Tablet..

But like I said, it's a personal thing and I'm sure most would disagree, especially those who have purchased numerous apps already.

I think that is a problem too with upgrading PB to BB10 without notice. Last thing they want during initial BB10 phone launch (and any bugs etc) is to be hearing complaints from PB users that after upgrading to BB10 90% of their apps don't work etc.

RIM provides a dev beta, so developers can test their apps, patch/update as required and make sure their apps are ready for the OS upgrade. Going from PB OS to BB10, RIM will (and does need to) do a dev beta of BB10 on PB.

With all the port-a-thons organized by RIM I would be surprised if playbook developers did not already repackage their apps for BB10. Especially since there was an incentive of $100 per app submitted.

Looking back at the PB 2.0 upgrade, apps needed to be repackaged to run on the upgraded system. I remember I had to re install all my apps but the transition was very seamless otherwise.

Thanks for the great article Chris.

I love learning about QNX and besides my new BB10 phone (that I will hopefully be released this week) I am looking forward to an upgrade on my Playbook. I love my Playbook and use it all the time. The fact that it may get better is awesome!

Nice article Chris - also enjoyed your piece in the Globe on the 28th. The more people that understand why QNX is so important the better. It makes RIM a market leader technically.

But don't be too hard on the original BBOS. It's unlikely the OS was "written" in Java. Java virtual machines usually sit on top of a different OS. Usually the apps didn't crash (harder to do that in Java than C) - they utilized all available resources and became unresponsive - so it has the same effect!

The original BlackBerry Java VM was J2ME compliant and licensed from Sun at a reasonable rate ($3 a device maybe?).

The problem (my guess - which RIM for whatever reason hasn't admitted publicly) is that to rewrite the JVM to make it more up to date would have required licensing Java again, and this time Oracle is looking to make cash from Java. Around $15 to $20 a device based on Oracles case against Google.

RIM could have stomped all over Java as did Google and taken on Oracle in court, but who knows what the outcome would have been. RIM doesn't have the clout of Google. And so Java dies on BlackBerry as I believe it will eventually on any other platform - including Android. But that's another discussion entirely.

An excellent perspective and overview of the QNX OS Chris. Now do the world a favour and forward it to all the media outlet that so desperately need an education as to what QNX and the BB10 platform are all about. There are far too few people in the world tech media that seem to truly understand the potential of RIM's new OS and I think this article would help to open a few eyes.

And thanks, I enjoyed it.

Cool article, thanks! But it put this idea in my head, where i have an app running on my BB10 and when I start my QNX car I can pass the entire app to my car instance of QNX, freeing up the phone (or to my tablet, or my fridge or TV if they have a QNX core). Kinda like in Avatar or Minority Report or I Robot where they just swipe a screen from one device to another....

Go BB10!

I like your idea. To put it in more technical terms... you would pass a process from your phone the car. Both the car and the phone would have to already have the same app installed and the QNX OS on your phone would clone/transfer ownership of the app process to the ONX OS in your car. Similar to cloning a hard drive and putting it in another machine except it would be live via Bluetooth. What a genius idea you have!

So if I am listening to a song on the phone and I step in to my car the song will continue playing the same song even if I turn my off my phone and throw it out the window.

I am excited about tomorrow's launch, but even more, I can't wait to see what blackberry will be capable of ten years down the line.

Or in other words: it's not that all your devices work well together, it's that all of your devices are really just one device that can shift forms depending on your mood/need/location. Now THAT is revolutionary!

Superb article Chris, I am certainly a techy guy but my knowledge doesnt go that deep. Great insight for those of us that know QNX is awsome but cant say why.

Counting the hours for tomorrow!

Great article
I believe that Mike (and Jim) took a beating prior to their departure, and rightfully so with all things considered; however you have to give Mike credit for the foresight in acquiring QNX. If only they could have given the reins to someone else (Thor) earlier to deal with the business and image / marketing end to focus on what made BlackBerry the name it was (is), innovation.

I guess they took a bit of a detour, but either way you look at it, BB10 for the win.

If RIM fall off (and that is a REALLY big if) no one can said they didn't put in the work . . .the individual pieces are pretty impressive. . .lets see how the whole holds up!

Also, a question: can we expect to get a QNX pc? I mean, could BB10 be the entry level to a whole ecosystem?

* "I asked Lazaridis if they need to redo the BlackBerry OS. His reply was crystal clear. I'm paraphrasing, but his answer was pretty much, "Oh we'll never rewrite the OS. It would be too risky... but in April of 2010, RIM announced the acquisition of QNX Systems. Mike Lazaridis had clearly changed his mind, but in order to keep things quiet, he wasn't talking about the company's next big OS transition yet."

I think I see the genius here. He knew RIM didn't have the resources to fully take advantage of QNX functionalities and kept mum about it, also giving the competition less to work with up to now. He may have outsmarted all of us, as far as I know.

* "QNX was built as a super tiny OS. It has something called a Micro Kernel architecture... Ultimately, a micro kernel design gives you an OS that is easier to maintain, more secure, and much more flexible."

BlackBerry, already the most secure of all handsets, just got more secure. Wow.

* "QNX Neutrino is also ready to accommodate future demands. It was designed, up front, to run on multi-core processors. I'm not talking about 2 and 4 cores, either. I'm talking about 32, 64 or even more."

Is QNX future-proof? Assuming it's constantly maintained and updated, perhaps so. This is going to sound crazy, but I believe that the BB 10 implementation of QNX has the budding potential to prove a testing ground for the development of graphic design applications that may even rival or best PhotoShop, in conjunction with HTML5 and OpenGL. I also think that scalable vector graphics are due for some more dynamic control features, such that we are no longer limited to mere color gradients as of now, but perhaps some micro-gradients within fine microscopic details within pictures/video. However, we may be decades away from this step, which by then may be substituted for something more efficient. But it's still a good area to research, where HTML5 and OpenGL can play a key role. I can see RIM producing many useful software programs for applications outside of mobile computing in the future. However, I am doubtful on the prospects of a BlackBerry QNX-based PC/laptop.

Lazaridis = genius! Check out his past. He was insane as a teen, so consumed by solving technical problems and building electronic solutions. I see my son following the same path and it excites me. But I'm taking the back seat. He doesn't need me standing in his way.

I can see RIM developing a large 15-inch tablet that can control the entire office.

Thanks Chris; when other so-called analysts read (and actually comprehend) what you've written here, RIM share price is going to rise, because most were not really clear on why QNX is such a clear architectural advantage over other mobile platforms, and this really should make the lights some on in the investor community... they may even be able to imagine the possibilities themselves!

RTOS is not about short term gratification, this is the wave of the future.
Now, that's Really 'Research In Motion'.

It's a wave the competition cannot catch. They will need a new OS platform.

QNX was re-written to do real-time OS right. It's a true RTOS :) BANG! Apologies to Microsoft, Apple, and Google. Lazaridis brought QNX (and Dan Dodge) to RIM with all the key components needed for BlackBerry: robust security, microkernel architecture, POSIX support, multi-tasking & multi-processing, high reliability, and high availability.

Talk about high availability, this QNX OS can actually repair itself! Significant components can fail (for whatever reason) and the QNX core will restart it and keep chugging. It also scales beautifully, so expect to see some awesome BlackBerry devices in the near future. Vehicles will be the next step, but RIM will develop systems for the home as well. QNX paves the way for a number of strategic ventures ;)

QNX has all the leading edge features of a modern OS with little baggage. Symmetric Multi-Processing (SMP) plus support across a wide range of platforms like ARM, MIPS, PowerPC, and x86. Best of all, especially for us BlackBerry fanatics, QNX has very little latency when doing context switching. BlackBerry 10 will rock!

Honestly, folks, the match couldn't be better for BlackBerry! It's a dream union :) Kudos to RIM for their vision, understanding of the technology, and for finding this gem of a needle in the tech haystack. This is one of the best acquisitions ever, and it has saved RIM from irrelevance. Tomorrow, we find out if it puts RIM back in the running.

Have a fun day tomorrow guys. Wish I could stay home and watch it all on TV!

Agree and agree. I am hoping RIM hints at this wave tomorrow and not unnecessarily sideline QNX because of other priorities.

I'm quite certain that QNX was not a "needle in a haystack" " especially in the Canadian tech scene. All the parties involved in the takeover were well acquainted.

"Talk about high availability, this QNX OS can actually repair itself!"
Just realized this sentence means. Is this the beginning of Skynet???? :)
OMG .... we're doomed.

SEA - powered by BlackBerry® Bold 9900 & PlayBook™ 32Gb

* BlackBerry by choice *
Another great article Chris. You do have an excellent way of explaining things on nearly all levels of understanding for any reader. Always a pleasure.

Great article! Thanks to Crackberry I discovered a new passion - cars!

I was always a computer geek and hearing about QNX made me think of cars in a totally different way. Before buying a phone I do my research about all the specs and compare them to another phone. Next time I buy a car, mechanics aside, I will want to compare the OS / hardware running on the car. I hope my OS decision doesn't override the mechanical inferiority.

I really hope that BB10 will be able to do serial communication with an Bluetooth OBD II dongle (currently the playbook does not have the necessary drivers). I would love to write an app that could integrate with the live car data. For example: calculate the remaining fuel lever and integrate a gas station stopover to my current BB map directions.

The donkey at Forbes today completely omitted any reference to QNX today in his article, clueless morons. Tried commenting there but my comment went poof, buggers.

Great article Umi, now we can just use this link to clue in some Forbes writers that have no clue about QNX micro kernel, embedded systems and how RIM can exploit same.

Awesomely awesome article Chris!!!
Being a recent member, I haven't really read a lot of articles by you, but I will have to go and look for all you have written, if they're all like this one.
Makes it really simple for people from all fields to just go through and understand how, what, when, why and everything else about QNX.
Aos, the clever analogies and the graphics are actually very helpful for everyone including people may have a background in tech/programming/engineering this kind of stuff to people who are just plain consumers with no OS-level concepts.

Great information! So being an owner of a playbook and not an owner of a smartphone (because of waiting on the BB10) will the PB get an update when BB10 proves it's self to be superior to the PB's OS? Just hoping!

The PB will get BB10, but all roumors are pointing at a release some month ahead. I would not be surprised if it was released at BB Live in May.

Actually, Windows NT (3.x) was built on a microkernel very similar to the Mach kernel (Google for Windows NT Microkernel). It was changed to a monolithic kernel in Windows 4 in order to improve its performance. I hope that doesn't happen to BB10.

It really is a good read. Learned some stuff. I'm hopping RIM is able to license out the OS so that I can enjoy the OS in different parts of my life not just my phone and tablet.

Please forward this to some media outlets. I think that it would be an awesome piece for them to publish on QNX and RIM.
They NEED stuff for tomorrow and the week ahead.
Again ..... Great job!


Chris, Kudos to you for an informative and easy to understand article on a relatively difficult subject matter. It's a shame the PB has sort of "limped along" in relative obscurity (often doesn't even make it on to Consumer Reports tablet summaries) when it has such a powerful OS as its behind-the-scene foundation. Let's hope BB10 gets to the PB soon!

I also want to add that this is an excellent article written in a way that most people can understand.

Something that many don't know is that it was not so much RIM going after QNX, but QNX going to RIM and saying, RIM please buy us. The rest is history. You can read more about that here.


This blog has a lot of information on QNX: http://onqpl.blogspot.ca/search/label/30%20years%20of%20QNX

Chris great article and lets move on to M2M once we get this BB10 phone launch out of the way !!

Great article indeed - not too techy and extremely informative and thought provoking. Looking forward to tomorrow.

I always used to wonder why the browser on playbook sucked do much. Thank you for the greAt write up Chris. This has increased my confidence on QNX and BB 10. BB10 rocks.

RIMpire strikes back.

The article states:
"Huge monolithic kernels are more likely to run into these "blue screen of death" problems because various applications and processes all share the same memory. Let's say a third party app has a bug in it that overwrites memory allocated to another application, or a core part of the operating system. The entire system can come crashing down, and it would be very hard to figure out what's causing the problem."

The author fails to address the fact that most modern operating systems have two memory allocation spaces: the user space and the kernel space. While it is true that microkernels have everything except the core kernel in kernel space and everything in user space. When talking about security and stability of the system, Blue Screen of Death and kernel panics are rather rare occurrences in modern operating systems as most of them are due to hardware instabilities. The odd Blue Screen of Death and kernel panics that are not caused by hardware are caused by kernel space drivers or some sort of memory/file corruption of the core parts of the operating system in kernel space.

However, to alleviate kernel crashes, many modern kernels are not fully monolithic, like how micro-kernels are not fully modular either. By incorporating modules, in a monolithic kernel like Linux, the kernel can load and unload drivers on the fly and if they crash it won't crash the kernel itself because kernel module drivers run in user space. Same can be said about the NT Kernel.

Third party applications other than drivers do NOT run in kernel space, they run in user space, as such when the software runs into an exception and crashes, it does not tear the system apart since it DOES NOT RESIDE in the same memory region as the kernel and the rest of the operating system.

Furthermore, there hasn't been research that has definitively stated that micro-kernels are more stable than monolithic kernels. You don't need scientific research to show that Linux powers everything from a mobile phone to super computers to other mission-critical applications.

From my readings, the QNX micro kernel is never affected no matter what process fails. Processes are prioritized as to what amount of resources may be consumed. For instance, the base UI of PB2 has a high priority so can't be compromised. Partitioning it's called I believe. Additionally, processes are assigned a level of priority in the boot loader. The micro kernel sends and receives in the same action. It is a very elegant system.

The war over micro vs monolithic has been raging for 20 years. Linux and other monolithic kernels have conclusively demonstrated that you can have perfectly acceptable levels stability without the additional complexity / overhead of a micro kernel. Computers with uptimes running into years are not uncommon.

Perhaps micro kernels are better in situations where the OS absolutely cannot stop under any circumstances whatsoever, e.g. a nuclear reactor but in a consumer device like a phone, or an entertainment system, or a TV, or a set top box, it really shouldn't make the slightest bit of difference. My android phone runs for months without issue.

If a driver crashes then a phone has more serious issues than the kernel underneath.

I was trying to show off the cool new JB features of my Galaxy Note 10.1 today to a co-worker. I am a huge fan of having a Wacom stylus enabled tablet for work. I so hope RIM comes out with one someday.

Well, anyways, I opened up the YouTube app in the new window mode to show off the sweet multi-tasking feature. For some reason that didn't work right and the YouTube app showed up in full screen mode with no window button. I thought that was really strange. Then stuff started to slow down and get jerky. Then the screen became completely unresponsive. Then it rebooted itself.

Worst. Demo. Ever.

Stupid *** monolithic kernels. YouTube brought down the entire OS.

I worked with QNX in the early days, including automating a research lab in Pasadena California in the mid 80's. I believe the micro kernel was about 100,000 lines of code. Impressive architecture doing only what is needed to support memory management, near real time interrupt handling, etc... this kernel was some of the most impressive 'small' pieces of work I have ever seen.

When I heard that Blackberry bought QNX and was basing future products on this as a base, I became hopeful for a turnaround in fortunes. Now if RIM has the UI right there is great promise.

The best technology does not always win, but here is to hoping it takes the day in this case.

QNX is famous in some circles for its simplicity and efficiency. Read a story about an entire QNX OS contained on a floppy disc.

I developed on QNX 2 for 3 years and while it was a very lightweight OS, the tools and sample code were wretched. We had to buy in a 3rd party C compiler and spend a considerable amount of time porting Unix command line tools to make it more tolerable for development.

I was happy when QNX 4 became Posix compliant because it lowered the hurdle somewhat.

yupzz.. very informative. It just shame that a lot of the iOS and android OS user are choose to be blind with this fact.

*Nice Thread ;)

Very not so easy digested article Chris, especially for old man like me. But I like the fact that I shared the same foundation with Audi, Jaguar or Bentley on my playbook :)

So I just sit nicely and wait for the update for my playbook and will grab BB10 handset with or without physical keyboard on it.

Once again thanks for the nice thread, living breathing asia.

SEA - powered by BlackBerry® Bold 9900 & PlayBook™ 32Gb

A very very good article - no matter how long this could have been - I would have still read it.

Just a correction: OsX (Mac OS) is a micro kernel based operating system. That was originally developed by Next. Together with the QNX these are the two popular micro kernel based systems. Most of the popular systems use monolithic kernels, like Linux and Windows.

Anyway it is good article.

It's (Mac OSX) actually using a hybrid kernel and not a micro kernel. It has many of the same issues as Windows such as drivers causing black screen of death.

So can the processing power be shared between two devices??

Suppose I got a z10 and running a very heavy-intensive game and there's not enough processing power which slows down the phone. And I also have a PlayBook, is it possible to draw/share the processing power from the PlayBook as well?

I have been using QNX since 1988 and met Dan Dodge at the 2000 Expo in Vancouver. QNX was and is very versatile. I asked Dan if he ever thought of selling QNX. He said Microsoft offered but he told them no. At the time QNX was what Windows 10 is supposed to be. MS should have offered much more.