Advertisment

How Tiny Can a Graphical OS Get?

author-image
PCQ Bureau
New Update

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?

Advertisment

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.

Advertisment

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.

Advertisment

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.

Advertisment

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.

Advertisment