So, as you probably already know, the coming BlackBerry table will be powered by the QNX pronounced almost like Unix – “ku-nee-ks”. So what is QNX?
Below are some notes from the session delivered for developers right after the tablet was introduced during the keynote speech at the DevCon2010.
Real time here basically means preemptive partitioning, which in turn means patented scheduling mechanism for dynamic resource allocation. Here we are talking about CPU as the main resource.
Self Healing – since the system is based on POSIX – message passing, only the core kernel (0.1 million lines of code in total, compared to 70+ million lines in Windows and 9+ million lines in Linux kernels) and the process manager are at the core, all the other processes, can be hot restarted. The key issue here to take home is that QNX is highly modular system unlike the much more monolithic Windows and Linux systems. The monolithic kernel only consists of the microkernel and the process manager – a small partition of all OS code which can be highly optimized and is easier to monitor for bugs. All the rest of the OS systems are “hot pluggable” modules which run in their own processes and can be restarted without taking down the whole system. This is the main point of QNX being highly resilient system and the term used by Dan Dodge the co-founder and the CEO of QNX systems - self healing.
QNX will support Adobe mobile Air and Flash for start and is fully capable of running the Java JVM which should enable the table to run any Java applications written with native BlackBerry SDK for OS 6.0 (and probably anything above level 6.0 SDK). There is also an option of a native C/C++ development for QNX. Momentics – the native developer environment – an Eclipse plugin. QNX is apparently company #3 to join the Eclipse project early on – at the Eclipse 1.0 stage and the main contributor to the C/C++ CDT project. The Momentics environment has a rich set of tooling for coding, debugging and profiling the natively written applications for the QNX.
If you are interested in the latest updates, you should head to the following resources: