Hi folks,
I recently (re)discovered QNX RTOS, a very good OS which has a microkernel architecture, so who experienced any kernel development can understand quickly the advantages : No need to recompile the kernel entirely (in microkernel arch, kernel keyword makes more sense, it is shipped with fewer services as possible). Not to mention much less "chance" to get a kernel panic if your driver, new shiny net module and so on ... does something wrong :-) (the kernel panic I got with the nouveau driver on ubuntu this week reminds me it).
So after I got my trial license, I launched it via VirtualBox (just one core), the installation is very quick :-) and then you can see Photon in action (looks old school for most of people but still good to me ...). Much more important, it is shipped with proper compilers, so qcc/QCC 4.2.4, then I had to compile from source, several app/libraries like older days :-), Apache with dso support, Perl/Python/PHP, cmake ...
|
Perl compilation on QNX |
After all of that, the time to compile the APIs themselves is coming ! So first the Device Atlas API ...
|
Using Device Atlas API example app |
Then Carrier Identification's one. It works too but QNX uses NetBSD's network stack and Carrier is workable on all BSD :-) so not surprising at all ...
|
Using Carrier Identification example app |
Furthermore, Nginx module is working (just had to decrease the number of simultaneous workers to 256 related to select(2) limitations on QNX but more than enough for the test :-)) ...
|
Calling Nginx module through Curl client |
Definitely worthy to look at, this Operating system has much more to offer underneath :-)
Labels: david carlier, deviceatlas c++ api, qnx