650
Index
P
partition .... 296–297, 323–333, 357, 414–415, 417, 419–420
partition memory manager ..............................................587
pend
lists ........................................................30, 120, 177, 182
on a task semaphore ..................................................268
on multiple objects ...22, 25, 73, 173, 313, 363, 385, 601
periodic (no initial delay) .................................................196
periodic (with initial delay) ...............................................196
periodic interrupt .............................................................183
peripherals .....................................................15, 35, 83, 337
per-task statistics - run-time ...........................................352
polling ...............................................................................157
porting ........................................................31, 147, 335, 337
posting (i.e. signaling) a task semaphore .......................269
preemption lock .................................................................69
preemptive scheduling ......................................84, 134–135
priority ... 65, 67, 73, 137–138, 144, 146, 150, 155, 157–158,
165, 173, 200, 251, 257, 259, 286, 353, 355, 479, 485, 509,
588–589, 600
inheritance .............................................21, 211, 235, 250
inversion ......................................................226, 232–233
level .......................................21, 124, 127–128, 131–132
OS_StatTask() ..............................................................591
OS_TmrTask() ..............................................................200
pend list .......................................................................177
priority ready bitmap ..................................................141
round-robin scheduling ................................................20
producer ...................................................................294–295
protocol mechanism ................................................215, 252
R
ready list ...............30, 93, 120, 123, 128–132, 177, 498, 502
adding tasks ................................................................131
real-time kernels ................................................................17
real-time operating system .......................................19, 109
reentrant ...............................................76–77, 238, 247, 335
rendezvous .............................. 254, 271, 286–287, 293–294
resource sharing ..............................................................211
response time ..............................................16, 22, 157, 278
retriggering .......................................................................195
returning a memory block to a partition .........................329
RMS ..............................................................................84–85
ROMable ..................................................13, 19, 21, 24, 600
round-robin scheduling ...................................................138
run-time configurable ..........................................21, 25, 600
S
scalable ....................................................13, 19–20, 24, 600
scheduling algorithm ...............................................174–175
scheduling internals ........................................................141
scheduling points ....................................................136, 146
semaphore ...61, 80, 102–103, 180, 211, 215–234, 238–242,
245, 247, 250, 252–271, 273, 286–289, 295–296, 313, 317,
319, 332–333, 353–356, 421, 432, 462–465, 467–473, 475–
476, 494, 523, 525–527, 538, 588, 590, 600, 618–619, 622–
623, 627
internals (for resource sharing) .................................. 227
internals (for synchronization) .................................... 260
synchronization .......................................................... 381
servers ............................................................................. 307
short interrupt service routine ........................................ 162
single task application ...................................................... 52
software timers ................................. 21–22, 24, 30, 42, 600
source files ...................................................................... 602
stack 78–80, 82–83, 86–90, 94, 98–100, 103–104, 116, 119,
121, 147–149, 160–161, 179, 182, 335, 338, 354, 389, 405,
490–494, 496–498, 531–532, 534–537, 546, 581, 591–592,
594–597, 603, 605, 628, 634
pointer ................................................................. 147, 149
size ................................................................................ 86
stack overflows ................................................86–87, 89–90
statistic task (OS_StatTask()) .......................................... 116
statistics 28, 31, 116–117, 119, 121, 347–348, 352, 483, 531,
591, 604
status ................................................................. 98, 391, 572
superloops ......................................................................... 16
switched in .................................. 88, 93, 388–389, 410, 540
synchronization ............................................................... 273
synchronizing multiple tasks .......................................... 286
system tick ...................................................... 109, 173, 175
T
task
adding to the readylist ............................................... 131
latency ................................. 158, 168, 170–171, 353, 590
management ....................................................... 376, 624
message ........................................................................ 22
message queue .................................................. 292, 384
registers .................................. 22, 25, 102, 512, 514, 601
semaphore ...................267–269, 271, 288, 295–296, 527
semaphores, synchronization .................................... 382
signals ............................. 22, 28, 133, 136, 265, 269, 321
stack overflows ............................................................ 87
states ............................................................................ 92
task control block ......................................... 53, 78, 97, 310
task management
internals ........................................................................ 92
services ......................................................................... 91
thread .......................................................................... 17, 75
tick task (OS_TickTask()) ................................................ 109
tick wheel .......................... 31, 100, 113, 348, 373, 582, 594
time management ................. 21, 26, 30, 183, 378, 628–629
time quanta ..................................................................... 495
time slicing ...................................................... 104, 138, 543
time stamps ......................................................... 25, 58, 601
timeouts ..................... 23, 109, 174–175, 183, 192, 558, 596