A small microkernel and message passing................................................................................100
Message passing and client/server...........................................................................................102
Network-distributed message passing.......................................................................................105
What it means for you.............................................................................................................106
Multiple threads.....................................................................................................................107
Server/subserver..........................................................................................................107
Some examples...........................................................................................................109
Using message passing...........................................................................................................111
Architecture & structure...............................................................................................111
The client...................................................................................................................112
The server..................................................................................................................114
Identifying messages...................................................................................................118
The send-hierarchy......................................................................................................119
Receive IDs, channels, and other parameters.................................................................119
Multipart messages.....................................................................................................129
Pulses...................................................................................................................................135
Receiving a pulse message...........................................................................................135
The
MsgDeliverEvent()
function..............................................................................138
Channel flags..............................................................................................................139
Message passing over a network..............................................................................................145
Networked message passing differences........................................................................147
Some notes on NDs.....................................................................................................148
Priority inheritance.................................................................................................................151
So what's the trick?.....................................................................................................153
Summary....................................................................................................................153
Chapter 3: Clocks, Timers, and Getting a Kick Every So Often...............................................................155
Clocks and timers..................................................................................................................156
Operating periodically..................................................................................................156
Clock interrupt sources................................................................................................158
Base timing resolution.................................................................................................158
Timing jitter................................................................................................................159
Types of timers...........................................................................................................160
Notification schemes...................................................................................................160
Using timers..........................................................................................................................165
Creating a timer..........................................................................................................165
Signal, pulse, or thread?..............................................................................................165
What kind of timer?.....................................................................................................166
A server with periodic pulses........................................................................................168
Timers delivering signals..............................................................................................177
Timers creating threads................................................................................................177
Getting and setting the realtime clock and more.............................................................177
Advanced topics.....................................................................................................................180
Other clock sources.....................................................................................................180
Kernel timeouts..........................................................................................................182
Summary....................................................................................................................185
Contents