26.02.2014 Views

Getting Started with QNX Neutrino - QNX Software Systems

Getting Started with QNX Neutrino - QNX Software Systems

Getting Started with QNX Neutrino - QNX Software Systems

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

© 2009, <strong>QNX</strong> <strong>Software</strong> <strong>Systems</strong> GmbH & Co. KG.<br />

A few years after I started using computers, the very first IBM PC came out. I must<br />

have been one of the first people in Ottawa to buy this box, <strong>with</strong> 16 KB of RAM and<br />

no video card, because the salesman wasn’t experienced enough to point out that the<br />

machine would be totally useless <strong>with</strong>out the video card! Although the box wasn’t<br />

useful, it did say “IBM” on it (at the time reserved solely for mainframes and the like),<br />

so it was impressive on its own. When I finally had enough money to buy the video<br />

card, I was able to run BASIC on my parents’ TV. To me, this was the height of<br />

technology — especially <strong>with</strong> a 300 baud acoustically coupled modem! So, you can<br />

imagine my chagrin, when my friend Paul Trunley called me up and said, “Hey, log in<br />

to my computer!” I thought to myself, “Where did he get a VAX from?” since that<br />

was the only conceivable machine I knew about that would fit in his parents’ house<br />

and let you “log in” to. So I called it up. It was a PC running an obscure operating<br />

system called “QUNIX,” <strong>with</strong> a revision number less than 1.00. It let me “log in.” I<br />

was hooked!<br />

What has always struck me about the <strong>QNX</strong> family of operating systems is the small<br />

memory footprint, the efficiency, and the sheer elegance of the implementation. I<br />

would often entertain (or bore, more likely) dinner guests <strong>with</strong> stories about all the<br />

programs running concurrently on my machine in the basement, as we ate. Those who<br />

were knowledgeable about computers would speculate about how huge the disk must<br />

be, how I must have near infinite memory, etc. After dinner, I’d drag them downstairs<br />

and show them a simple PC <strong>with</strong> (at the time) 8 MB of RAM and a 70 MB hard disk.<br />

This would sometimes impress them. Those who where not impressed would then be<br />

shown how much RAM and disk space was still available, and how most of the used<br />

disk space was just data I had accumulated over the years.<br />

As time passed, I’ve had the privilege of working at a number of companies, most of<br />

which were involved <strong>with</strong> some form of <strong>QNX</strong> development; (from telecoms, to<br />

process control, to frame grabber drivers, ...),<strong>with</strong> the single most striking<br />

characteristic being the simplicity of the designs and implementation. In my opinion,<br />

this is due to the key engineers on the projects having a good understanding of the<br />

<strong>QNX</strong> operating system — if you have a clean, elegant architecture to base your<br />

designs on, chances are that your designs will also end up being clean and elegant<br />

(unless the problem is really ugly).<br />

In November, 1995, I had the good fortune to work directly for <strong>QNX</strong> <strong>Software</strong><br />

<strong>Systems</strong> (QSS), writing the training material for their two <strong>QNX</strong> <strong>Neutrino</strong> courses, and<br />

presenting them over the next three years.<br />

It’s these past 19 years or so that gave me the inspiration and courage to write the first<br />

book, <strong>Getting</strong> <strong>Started</strong> <strong>with</strong> <strong>QNX</strong> 4 — A Guide for Realtime Programmers, which was<br />

published in May, 1998. With this new book on <strong>QNX</strong> <strong>Neutrino</strong>, I hope to share some<br />

of the concepts and ideas I’ve learned, so that you can gain a good, solid<br />

understanding of how the <strong>QNX</strong> <strong>Neutrino</strong> OS works, and how you can use it to your<br />

advantage. Hopefully, as you read the book, light bulbs will turn on in your head,<br />

making you say “Aha! That’s why they did it this way!”<br />

April 30, 2009 Preface to the First Edition by Rob Krten 7

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!