Windows and its latest companion browser take up over 500
MB on your disk. So can you really fit a graphical OS onto a floppy?
One with a Windows-like graphical user interface, Internet
support, a Web browser with JavaScript, a Web server, a file browser, a game and more?
Amazingly, the answer is, yes.
On this month’s PCQ CD, you’ll find a working
copy of QNX, a real-time operating system (see article "Real
Time Operating Systems"). Look for it in the \cdrom\featured\qnx\ directory. This
directory contains two files, qnxnetwork.zip and qnxmodem.zip. If your system is connected
to the Internet through a local area network, use qnxnetwork.zip. In case you’re
connecting to the Net via
a modem and a phone line, use qnxmodem.zip.
Just unzip the file into an empty directory and run the
supplied installation program, install.exe. You should have a blank floppy handy. The
installation program will copy the QNX working demo into this disk. Restart your system
and boot from this floppy disk.
The QNX operating system should fire up, ask you a few
questions for configuration, and then start the Photon MicroGUI, a powerful graphical user
interface resembling Windows. Configuring QNX’s networking is a straightforward
process. Just follow the dialog boxes and soon you should be connected to the Internet. Go
ahead and explore the QNX environment. Open up the Web browser and point it to your
favorite Website, try your hand at solving the famous Towers of Hanoi puzzle or simply
browse the file system using the supplied file browser.
Once QNX loads itself into the system’s memory, it no
longer accesses the floppy, thus speeding up performance. We tried it on a 486 machine
with 8 MB RAM, and the OS ran very well.
QNX is a real-time operating system meant for embedded
applications like cellular phones and automated teller machines. Its microkernel handles
context switching and message passing between the processes within fixed-time constraints.
All other services including the file system, networking and device I/O are standard QNX
processes, which can be started or stopped dynamically at run time. By doing this, QNX is
able to run within small amounts of memory. If you need to extend the operating system,
add a program to provide the new service. QNX will execute your program as a standard
process, extending itself in run time.
You can also use QNX in a "thin client" meant for
a specific application–say word processing and e-mail. The OS can go into ROM, and
you don’t need any disks at all.
QNX supports pre-emptive priority-based context switching.
So it’s able to respond to outside events within fixed-time constraints. If an event
is received, the OS immediately pre-empts the currently executing process and handles the
event. Thus, the "responsiveness" of this operating system is very high.
Even across networks, QNX has been optimized for speed and
reliability. Its networking subsystem is capable of re-routing data automatically incase
of a partial network failure. To increase network speed, place more than one network card
on a QNX computer. QNX will balance its load across these cards, doubling or even tripling
network performance. This operating system also supports the addition or removal of
network nodes on the fly; thus you can dynamically extend or reduce your network.
Almost all industry standard file systems available today
are supported by QNX, including SMB, NFS, FAT, and ISO9660. This operating system also
comes with its own file system, Fsys, offering full POSIX 1 and Unix semantics. The file
system is capable of fast data recovery incase of disk failure. Another file system,
Efsys, supports flash memory devices including PCMCIA flash cards and solid-state disks.
QNX comes with a graphical user interface, the Photon
MicroGUI. This component is designed to perform in a memory-constrained environment.
It’s based on a scalable architecture, with processes running in tandem with the
Photon microkernel and its core services. If, for instance, you have no need for a print
service, it can be removed from the GUI, thus saving memory.
Philips has recently introduced MyWeb, a set-top box which
enables Internet access through a television. Running on an AMD SC410 processor and the
QNX RTOS, MyWeb is one of the many embedded apps using this operating system. Companies
looking for an efficient, well-constructed RTOS for their embedded applications should
consider QNX seriously.