This book introduces you to what the QNX Neutrino operating
system is and how it functions. It contains chapters covering process
states, threads, scheduling policies, message passing, operating system
modularity, and so on.
If you've never used QNX Neutrino before, but are familiar with realtime
operating systems, then you'll want to pay particular attention
to the chapters on message passing and resource managers, since these
are concepts fundamental to QNX Neutrino.
-
Processes and Threads
- An introduction to processes and threads in QNX Neutrino, realtime, scheduling,
and prioritization. You'll learn about scheduling states and QNX Neutrino's
scheduling policies, as well as the functions you use to control
scheduling, create processes and threads, and modify processes and
threads that are already running. You'll see how QNX Neutrino implements SMP (Symmetrical
Multi-Processing), and the advantages (and pitfalls) that this brings.
"Scheduling and the
real world"
discusses how threads
are scheduled on a running system, and what sorts of things can cause
a running thread to be rescheduled.
-
Message Passing
- An introduction to QNX Neutrino's most fundamental feature, message passing.
You'll learn what message passing is, how to use it to communicate
between threads, and how to pass messages over a network. Priority
inversion, the bane of realtime systems everywhere, and other
advanced topics are also covered here.
Note:
This is one of the most important chapters in this book!
-
Clocks, Timers, and Getting a Kick
Every So Often
- Learn all about the system clock and timers, and how to get a timer
to send you a message. Lots of practical information here, and code
samples galore.
-
Interrupts
- This chapter will teach you how to write interrupt handlers for
QNX Neutrino, and how interrupt handlers affect thread scheduling.
-
Resource Managers
- Learn all about QNX Neutrino resource managers (also known variously
as "device drivers" and "I/O managers").
You'll need to read and understand the
Message Passing
chapter before you write your own
resource managers. The source for several complete resource managers is
included.
Note:
Resource managers are another important aspect of every
QNX Neutrino-based system.
-
QNX 4 to QNX Neutrino
- This is an invaluable guide for anyone porting their QNX 4 application to
QNX Neutrino, or having to maintain code on both platforms.
(QNX 4 is QSS's previous-generation operating system, also the subject of
my previous book, Getting Started with QNX 4.)
Even if you're designing a new application, there may be demand from your
customer base to support it on both QNX 4 and QNX Neutrino
—
if that happens, this section will help you avoid common pitfalls and
show you how to
write code that's portable to both operating systems.
-
Calling 911
- Where you can turn to when you get stuck, find a bug, or need help
with your design.
-
Glossary
- Contains definitions of the terms used throughout this book.
- Other references
- In addition to the custom kernel interface, QNX Neutrino implements a wide
range of industry standards. This lets you support your favorite
publishers when looking for information about standard functions from ANSI,
POSIX, TCP/IP, etc.