QNX: The PlayBook OS

A year and a half ago RIM jumped on the opportunity to purchase an OS vendor called QNX (pronounced Que-NIX, like UNIX with a Q in front). RIM saw a growing gap between its BlackBerry OS and what Apple/Google were working on and realized it needed something new to effectively keep up with the joneses. The age old debate between build vs. buy kicked in to high gear and RIM took the route with less internal risk: acquire QNX.

QNX's Neutrino 6.5 OS is the basis of the BlackBerry Tablet OS running on the PlayBook. QNX features a very small (by modern standards) microkernel of around 100K lines of code. By comparison the modern day Linux kernel is around 14M lines of code. QNX argues that by limiting the scope of the kernel it can ensure greater stability and less vulnerability to bugs in the code. QNX is functionally a modern OS, however everything beyond the base kernel is supplied in the form of separate, self contained services. Even drivers are excluded from the microkernel.

QNX is, as a result, a very modular operating system. Additional features are added simply by bundling extra services, however for specific markets you don't incur any complexity or security penalty as unneeded services are simply turned off.

Because it's so modular, QNX has no issues being used in everything from the PlayBook to high end Cisco routers. Obviously the requirements of a tablet are very different from a router, so RIM actually implemented an updated version of QNX 6.5 into the PlayBook with some tablet specific features. The QNX team worked on improving media playback and GPU performance in QNX, features that will eventually make their way into QNX 6.6.

Another benefit of the modularity of QNX is that each service runs effectively sandboxed. A crash within a single service won't bring down the whole OS. Restarting a single crashed service can be done quickly. A small kernel should also be able to boot quicker, however the PlayBook itself has a longer boot time than Honeycomb because the entire OS image is validated using a crytographic hash on boot up. As a result of this image validation, the PlayBook will always boot into a known secure environment. Should the image validation fail, the PlayBook will typically install a previous known-good copy of the kernel stored on a separate partition.

Communication between services/processes happens via a structured messaging system. This is of course one of the benefits of a microkernel OS: inter process communication is usually quite good, because it has to be.

In QNX every task or thread has a priority. While a handful of priorities are reserved for system level events (to prevent an app from taking priority over refreshing the screen for example), everything else is defined by the caller. QNX argues that unlike in monolithic non-realtime OSes, task/thread priorities are nearly always respected here. Inevitably you'll have a number of tasks that have the same priority, and there the scheduler will just round robin between them. The one guarantee QNX offers is that any task with a higher priority will execute in accordance with that priority. This is ultimately what makes QNX a realtime OS.

Large monolithic OSes often give you the same promises, however QNX argues that they don't always hold true to them. There's always some system process that's interrupting things or a runaway task that prevents your screen from updating as quickly as you need it to. These days with hefty multi-core CPU architectures, hiding scheduling latency due to a system process interrupting something else isn't too difficult. On tablets/smartphones it's more of a problem given limited CPU resources, but ultimately it'll diminish there as well. There is arguably a power efficiency benefit here but at a high level that's a difficult thing to measure.

The QNX OS itself has been ported to everything from x86 to PowerPC. Although the PlayBook uses an ARM based OMAP 4430 today, it looks like RIM is pretty open to moving to other microarchitectures should the need arise.

File System

On the PlayBook RIM implements the latest version of the QNX file system. The setup supports 64-bit LBAs (effectively no limit on single file size given current NAND capacities) and 1K file names.

File system performance is difficult to measure at this point given that we're dealing with pretty low performance NAND as well in devices like the PlayBook.

A Functional Bezel TI's OMAP 4430
Comments Locked

77 Comments

View All Comments

  • PeeluckyDuckee - Thursday, April 14, 2011 - link

    The Android platform UI is very unpleasant to work with and an eye sore, looks like something from yesteryears. The hardware supporting it is slow and lag is quite apparent, whether that is a software or hardware issue doesn't matter as in the end the user experience leaves a bitter taste in my mouth.

    Apps is a non issue imo as time goes on it will slowly come. The major titles will be available cross platform. I buy it for what it offers me now, I don't rely solely on what will come later.

    The QNX UI is very smooth and true multitasking is available. 7" form factor is perfect for my needs. Battery life is less of an issue as it will be rarely transported, but if I do need it for extended periods outside of the house it'll be either plugged into the car charger, into my USB battery pack, or plugged into the USB charger in the plane.

    5" is too small and 12" is too big for me, so I will eventually have the best of both worlds and juggle between the 7" Playbook and the 10" iPad 2. Both are priced cheap enough that it doesn't have to be mutually exclusive, considering how much laptops/desktops/tablets used to cost it's a no brainer.
  • bplewis24 - Thursday, April 14, 2011 - link

    If you expected anybody to read your post, you shouldn't have destroyed your credibility with your opening sentence.
  • Stuka87 - Thursday, April 14, 2011 - link

    It seems like many of the Tablets (and even phones in some cases) these days are being rushed out. I can understand the rush to get a product to market to try and grab market share early before competing products get to well entrenched, but coming out with a product that is short of features seems like it could be just as bad.

    Take WP7 for instance, in general it has some good concepts, but is missing a lot of features, as well as a usable browser. Updates will fix this, but the initial reviews have hurt it I think.

    Then you have Android 3.0 which only works on Tablets, and has issues with them as it is. It was definitely rushed out to try and grab some market share before Apple gets much more entrenched.

    Then we have this device, which has some cool features, but many features that will not be available until sometime this summer.

    I realize the companies have to found a balance between getting a product out and finishing it, but it seems in some cases its cut too close. And we end up with a product that could have been great if only it had spent a bit more time in development.

    On a side note, I do NOT like the screen on this device. Its way to narrow. I would not enjoy having a screen with that aspect ratio.
  • xype - Thursday, April 14, 2011 - link

    "It seems like many of the Tablets (and even phones in some cases) these days are being rushed out."

    Just shows how much of a lead Apple actually has with the iPad. Most of the stuff out by now can't even compete with iPad 1, much less 2.

    And even _when_ they get some small details right, it's the overall experience that makes the iPad's competition suffer.

    Also, I quite like iPad's 4-finger-gestures for multitasking—too bad you have to set up your iPad as a development device to activate the preference in the first place…
  • medi01 - Thursday, April 14, 2011 - link

    No "confusing" memory card slots, eh?
  • melgross - Thursday, April 14, 2011 - link

    The problem with memory slots are that what happens to your data and apps when you want to add another card? Usually you can't do that, you're stuck with what you've got, because part of the app resides on the card, and the rest in built in memory. So show lose the card, or it gets damaged, and you're in trouble.

    Manufacturers are using slots to make their devices look less expensive,
    Urging the responsibility on the buyer to spend the extra cash to expand their memory. The problem is that most people, even those who are technically adept (or who pretend to be), don't realize that cheap Flash memory cards are a lot slower than the Flash inside their device. In order to keep the speed, they've got to buy more expensive memory cards. They haven't really saved much, if anything, if they do that. I'd rather pay upfront, and know that what I'm using is what I'm supposed to be using.
  • silverblue - Thursday, April 14, 2011 - link

    The date format of the video of the dog is in YYYY-MM-DD format... sorry, I just enjoy seeing non-American date formats for once. :)

    It's a promising tablet design, but they've got a way to go before it can be a true competitor to the iPad 2. The lack of an e-mail client doesn't sit well with me, but the inclusion of 1080p High Profile H.264 support is excellent, and it's light.
  • Conficio - Thursday, April 14, 2011 - link

    I'm usually not that interested in video in such devices, but your sample videos could really use some image stabilization.

    On such a large device that should be mandatory.
  • Griswold - Thursday, April 14, 2011 - link

    An otherwise very interesting product suffers from two shortfalls:

    1) Too small. As mentioned in the article, its a matter of what you do, where you do it and personal preference. Personally I prefer the 9-10" size.

    2) Its far from finished. Every other thing needs tning, tweaking, polishing or is completely missing. Why bother handing out review units, RIM? You're just damaging your products reputation!
  • GnillGnoll - Thursday, April 14, 2011 - link

    "I've complained in the past about the input problem on tablets, and I do believe it's actually worse on the PlayBook thanks to its cramped screen resolution."

    While higher resolution might help a little by allowing text to be slightly smaller while keeping it legible, this is really about area not resolution. You can't make the on-screen keyboard or address bar much smaller physically without significantly affecting their touch usability.

Log in

Don't have an account? Sign up now