QNX now Open Source!!
And, wait for it, their SVN Server has died. So, you can’t actually download anything right now…
I used QNX 1.0 on a 4.77 MHz PC-XT with 1Meg of RAM – around 1985. When I bought it, Dan Dodge personally copied the floppies for me, stuck the stickers on, and handed me the disks. I was SO SO excited to get it home and get it running. I remember criticising him for taking the floppies out before the little red light had turned off – he explained that he’d written the floppy drivers – and knew EXACTLY when he could pull the disks out. I shut up.
In fact, I used QNX for years on a PC before ever running DOS. I used to have 5 or 8 terminal windows open, a bunch of files open in the excellent editor, compiles happening in another window or 2, and a few windows open to run the apps and test them. I was fantastically productive. The QNX toolset was simply terrific – it was probably my favorite development environment of all time. ALL IN ONE MEG of RAM, at 4.77 MHz!!!!
We built a system controlling 8 serial terminals, with 8 serial touch screens, and 8 printers – selling ski lift tickets ALL running off ONE 4.77 MHz PC.
Then, one day, the project ended, and I loaded up DOS 2.0 or 3.0 on the PC.
I have never been so thoroughly disappointed and disgusted with an OS as I was with DOS. Everything that I took for granted with QNX simply ceased to be, and was not replicated until Windows NT, if even then.
I purchased Turbo C 1.0, and for my first project set about reproducing all the QNX command line utilities I knew and loved, and which were an essential part of my development process. I wrote all the obvious stuff like LS, CAT, GREP, etc, and the esoteric stuff like EO – a QNX utility that let you specify a file containing a bunch of file names, and a command to run on each named file. (For example eo myFiles “cc %1”) This coding exercise taught me all the internals of DOS, BIOS calls, Interrupts, the file system, etc, and set me on my way programming for DOS, Windows, and all the embedded systems I’ve worked on over the years. I wrote about 50 little utilities at the time, and carried those to every job, so I’d have a decent little development environment.
DOS NEVER caught up with QNX 1.0. I eventually added all the bells and whistles – extended memory managers, task switching applications, editors like Brief – but I could NEVER make DOS anywhere near as productive as that QNX 1.0 on it’s two or three 360K floppies.
So, now we can check out the source for QNX’s Kernel – how cool is that!