Aug 29, 2005

Say Hello to CockBand

Steve sipped his magic water, brow furrowed, listening with his head cocked to the side to the blather the record execs across the table were vomiting at him. The barfing had been ongoing for the better part of three hours, and Steve was bored. As he set his water bottle down, his mind meandered from the meeting to more interesting things.

Dammit, Steve thought, this is my boardroom. It's about time they heard my speech!

Aug 16, 2005

QNX to Support Intel Macs

I work for a company that uses QNX, a real-time Unix-like operating system for embedded devices such as car computers, phones, medical equipment, and air traffic monitoring systems. I personally use QNX to develop QNX apps, as there's a self-hosted version of QNX for Intel that developers can download for free. It's essentially a free desktop operating system, as only the development kit is pay-for.

We work with several QNX engineers from time to time and on their last trip in they showed us a preview of the next major upgrade to the system, QNX 6.4. Like its predecessors it ran on Intel, and they said this update will take advantage of Intel's new processor architecture as well as a few new platforms. When I pressed them about it, they said they were 99% certain that QNX 6.4 would run on Apple's new Intel Macintosh.

I asked him the how and when, and he said that Apple's new Macs are going to be very PC-like, and if they can run a stock install of Windows, QNX won't have any problem supporting them either. He said Apple promised the first Intel Macs in the second half of '06, which is when QNX 6.4 would be released. He also said that QNX has at least one Developer Transition Kit that QNX 6.3 runs just fine on.

Things are looking exciting as Apple will instantly have a handful of good operating systems to run on its new Intel hardware. QNX is a good addition, and I wanted to make sure the word got out. We weren't under NDA and the QNX guys said to go ahead and tell anyone we wanted, and that an announcement was forthcoming soon anyway. So there's at least one embedded real-time Unix-like system for new Intel Macs.

Aug 10, 2005

My First Month With QNX

Last month, I downloaded and installed QNX Momentics Development Suite 6.3, which is a full QNX Neutrino install for Intel with a temporary license for the commercial Momentics Development Suite that lasts for a month. After working with it for the last several weeks, I have some impressions of the system, both good and bad, that I'd like to share. But let's begin at the beginning, as they say, and go from there.

I was ready to boot and install QNX within an hour of first navigating to the product evaluation program page. Downloading the 500+ MB ISO file is a cinch, including the sign-up that gets your 30-day Momentics license sent to you. After that it's all just burning the image to disc. My license email came before the ISO was finished transferring and the burning went without incident.

Installing QNX was even simpler than downloading it. One thing fans of non-Windows operating systems will note, though, is the lack of a partition utility. The QNX installer is pretty obtuse, allowing you a choice of the whole disk or some fraction of it. This means you should have the disk pre-partitioned before you install QNX. In my case, I was taking the whole disk so the above was moot.

The actual install took about 10 minutes from boot to reboot and the only pause was when I had to enter my Momentics license. As an interesting note, if you choose not to enter your license the rest of the system still starts and runs, and only the Momentics suite is disabled. From what I saw in the installer, it's not even installed without the license. Effectively, QNX distributes a free real-time Unix-like operating system!

Booting was fast, less than 20 seconds. One can use QNX in text-only mode as well as in Proton, QNX's windowing system. Proton's integration with the rest of the system is almost as tight as the Windows or Mac OS X GUI, though it's not as polished. The GUI starts by default, where one enters root with no password to log on. From there you can make your own user account, which I recommend.

After logging into my own account I explored the system. The Proton system uses a panel at the right side of the screen as well as a dock at the bottom. The dock at the bottom is pretty standard, with a Start-like menu and minimized windows; the panel at right is where one can find links to programs, workspaces, and system performance monitors that give real-time feedback on processor, memory, and network usage.

QNX's applications all run very well and work seamlessly with the rest of the system. I really have no complaints. They even have a port of FireFox running as fast as ever for standards-compliant browsing. QNX's file manager is quick and gives an accurate view of the file system, and their software manager easily beats anything Linux has to offer. And everything launched in under five seconds.

My first real disappointment began when I opened the terminal and began playing with the command line. A lot of standard utilities are there, like uname, but a lot are also missing like the ever-important top and du. There's also no sudo and their version of ps is woefully out of date. If QNX wants to make a serious desktop platform, they ought sync their userland with a popular Linux or with FreeBSD as Apple does.

Another area that underwhelmed me was performance. The test system used for this article was a 3.6 GHz Pentium4 with HyperThreading turned on, 1GB RAM, and large 200GB hard drive. Performance felt identical on the second system I installed it on, a 450 MHz Pentium II with 128MB RAM. Windows XP was several times faster on this same hardware, as were several Linux distros, FreeBSD 5.4, and Zeta 1.0.

When I investigated why QNX would perform so slowly, I found — thanks to several users in various QNX forums — that QNX scheduling is much different from a typical desktop system due to its real-time nature. While real-time means that there's a guaranteed response time, this doesn't necessarily ensure lightning-quick desktop responsiveness. I'd recommend QNX allow switching between a few different scheduling schemes.

Support is another front that's confusing. A service pack was released a year after 6.3 was launched, but there's no word on whether there's another service pack in the coming. Launching the software manager is the best a user will get, and with only one service pack, the user feels left in limbo. Understandably, paying users get great support, but more updates for the software itself would be appropriate.

Overall, I give QNX 6.3 three-and-a-half stars out of five. It's stable and does not crash, installs quickly, and is easy to sit down and start using daily. Its unpredictable desktop performance, lack of a rich Unix userland, and simplistic installer are all places the developers at QNX Software Systems would be wise to focus on for the next version, however. Until then it's not quite ready for prime-time.