Kernel Object Run-Time
It is possible to examine the run-time values of certain kernel objects as described in the following topics.
Semaphores
.NamePtr
This is a pointer to an ASCII string used to provide a name to the semaphore. The ASCII string can have any length as long as it is NUL terminated.
.PendList.NbrEntries
Each semaphore contains a wait list of tasks waiting for the semaphore to be signaled. The variable represents the number of entries in the wait list.
.Ctr
This variable represents the current count of the semaphore.
.TS
This variable contains the timestamp of when the semaphore was last signaled.
Mutual Exclusion Semaphores
.NamePtr
This is a pointer to an ASCII string used to provide a name to the mutual exclusion semaphore. The ASCII string can have any length as long as it is NUL terminated.
.PendList.NbrEntries
Each mutual exclusion semaphore contains a list of tasks waiting for the semaphore to be released. The variable represents the number of entries in the wait list.
.OwnerOriginalPrio
This variable holds the original priority of the task that owns the mutual exclusion semaphore.
.OwnerTCBPtr->Prio
Dereferencing the pointer to the OS_TCB
of the mutual exclusion semaphore owner allows the application to determine whether a task priority was changed.
.OwnerNestingCtr
This variable indicates how many times the owner of the mutual exclusion semaphore requested the semaphore.
.TS
This variable contains the timestamp of when the mutual exclusion semaphore was last released.
Memory Partitons
.NamePtr
This is a pointer to an ASCII string that is used to provide a name to the memory partition. The ASCII string can have any length as long as it is NUL
terminated.
.BlkSize
This variable contains the block size (in bytes) for the memory partition.
.NbrMax
This variable contains the maximum number of memory blocks belonging to the memory partition.
.NbrFree
This variable contains the number of memory blocks that are available from memory partition. The number of memory blocks in use is given by:
.NbrMax - .NbrFree
Message Queues
.NamePtr
This is a pointer to an ASCII string used to provide a name to the message queue. The ASCII string can have any length, as long as it is NUL terminated.
.PendList.NbrEntries
Each message queue contains a wait list of tasks waiting for messages to be sent to the queue. The variable represents the number of entries in the wait list.
.MsgQ.NbrEntries
This variable represents the number of messages currently in the message queue.
.MsgQ.NbrEntriesMax
This variable represents the maximum number of messages ever placed in the message queue.
.MsgQ.NbrEntriesSize
This variable represents the maximum number of messages that can be placed in the message queue.
Event Flags
.NamePtr
This is a pointer to an ASCII string used to provide a name to the event flag group. The ASCII string can have any length, as long as it is NUL
terminated.
.PendList.NbrEntries
Each event flag group contains a wait list of tasks waiting for event flags to be set or cleared. This variable represents the number of entries in the wait list.
.Flags
This variable contains the current value of the event flags in an event flag group.
.TS
This variable contains the timestamp of when the event flag group was last posted.