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
POST A COMMENT

78 Comments

View All Comments

  • 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.
    Reply
  • Anand Lal Shimpi - Thursday, April 14, 2011 - link

    You're very right, clarified! :)

    Take care,
    Anand
    Reply
  • Targon - Thursday, April 14, 2011 - link

    I will note that the idea of using gestures that originate in the bezel seems to be an evolution of the Palm(now owned by HP) gesture area on the Palm Pre and the other WebOS based smartphones. Yes, the tablet lets you use any bezel, but as I said, this is an evolution of the concept that Palm implemented with the gesture area.

    Since the HP Touchpad will not have a dedicated gesture area, it will be interesting to see how things play out going forward in the tablet space.
    Reply
  • melgross - Thursday, April 14, 2011 - link

    But do the gestures really extend into the bezel area, or do they really just start at the first pixel your finger encounters when swiping from beyond the edge of the screen? I think it's the latter. Swiping from the bezel just insures that your finger will be detected hitting that first pixel in the screen at the edge, which tells the OS that it's a special "bezel" gesture.

    Maybe I'm wrong, but it makes sense to me that that's how it works, then thinking that the entire bezel is gesture enabled with sensors, though it's possible.

    Perhaps Anand, can help here.
    Reply
  • AnitaPeterson - Thursday, April 14, 2011 - link

    Mate, you wrote so many pages, but eschewed some of the most important questions.

    1) You discuss the screen, but make no mention of the technology - is it IPS? is it TN? As for the surface - is it polycarbonate? is it GorillaGlass?
    2) You discuss the USB, but make no mention of crucial use - does the Playbook have USB host capabilities? In other words, can you connect an external HDD to it (whether self-powered or externally powered) and read files from it?
    3) Since we mention USB and external storage, how about a peep about SD card support? Seriously... a review with nary a mention of additional/expandable storage?
    4) Why are you comparing it with the iPad and the Xoom, instead of comparing it with the only other real, usable device in its size class, namely the Galaxy Tab??? The Playbook is not for people who want large devices, who can get an iPad... Is it not clear that the size is one of the biggest factors at play here? You mention the Galaxy Tab exactly once, and make an intriguing statement that the Playbook is a bit larger... but when it comes to pictures, again you compare it with the Kindle (!??) and the iPad. Eh? the Kindle???

    I'm sorry to be harsh, but this is a rush job... just like the Playbook itself.
    Reply
  • Lepton87 - Thursday, April 14, 2011 - link

    Have you even read the review? It answers two of your three questions. The tablet doesn't have an SD card slot and it doesn't have an USB port either. Your fist question still stands, I'm also curious what panel technology its screen uses. Reply
  • Pessimism - Thursday, April 14, 2011 - link

    Incorrect. It does have a USB port, and the review specifically states this when discussing available charging options. The poster was asking whether its possible to use a male-male USB cable to connect mass storage to it. Reply
  • Pessimism - Thursday, April 14, 2011 - link

    of hearing everyone whine and complain about lack of matroska support. matroska has NO STANDING outside anime nuts who can't wrap their brains around a second file to contain subtitles. matroska is a tiny speck with no corporate backing, no manufacturer is going to dedicate development time or die space to support it. Reply
  • Penti - Friday, April 15, 2011 - link

    Actually it has pretty good manufacturer standing now, it's supported by Sonic Solutions/divx, ArcSoft, CoreCodec and all the serious chipset manufacturers of media player chipsets and STB solutions. As well as support on BD-players and televisions coming along. Nero also has support for it btw. Even boxes like the Roku now supports local playback and MKV. (Roku XDS with USB) Also there is no die space needed it's just a container. Software is all that's needed. Nokia also added MKV support in Symbian^3. Reply
  • DesktopMan - Thursday, April 14, 2011 - link

    "As you'll see in our video tests, the PlayBook is the first ARM based tablet we've used that can decode a 1080p H.264 High Profile video stream."

    I believe the Hard Kernel ODROID-A was the first on the market (though in limited availability), as it's using the Samsung Exynos 4210 SOC. Would be great to see a test of that, to see how well the Exynos drives a tablet. I have high hopes for it.
    Reply

Log in

Don't have an account? Sign up now