Pike OS
On this page:
This chapter provides information about kernel objects for Pike operating system. Debug support provides dedicated views for various kernel objects:
To get access to all supported kernel objects as separate windows (tasks, threads…), winIDEA OS awareness needs to be configured. Follow the Session Configuration Wizard and configure OS.
To get proper names of the OS threads, user should specify two header files.
![]() 1. Click View menu | <name>PikeOS. 2. Select Configure. 3. Specify two header files. |
All #define values for threads should start with the same string as corresponding PikeOS task.
![]() Content of two header file should simply be list of #define statements that link task IDs and thread numbers to the meaningful names. |
![]() It is recommended to use thread definition header files in your code where individual threads are created. |
![]() |
When parsing thread definition header files, winIDEA will associate individual #define to appropriate value from task definition header file. |
![]() To profile only single PikeOS task open Analyzer configuration dialog and go to Profiler | OS Setup dialog, where address space to profile can be selected. |
Refer to Analyzer Configuration chapter for more general information on Analyzer | Profiler configuration.
Kernel objects are available as separate windows. To view it click View menu | <name>PikeOS:
The PikeOS Task List view displays detailed information about all available task parameters.
Each row represents one task with multiple task parameters. Currently running task is highlighted. Currently active address space is marked with an arrow. Double click on entry will show all task related threads.
The PikeOS Task List view menu provides icons to automatically or manually refresh tasks and an icon to switch address space for a selected task. If task address space was changed, it will be automatically restored on CPU step / run.
The functionality of each listed task parameter is described inside the following table:
Parameter name |
Description |
---|---|
TD ptr |
Pointer to the task descriptor structure |
Name |
Task name |
ID |
Assigned task identification number |
MPC |
Maximum controlled priority number |
State |
State of the task |
Parent ID |
Task ID of the parent task |
Res. Part. |
ID of task-related resource partition |
Num. Threads |
Number of threads in the task |
The PikeOS Thread list view displays detailed information about all available thread parameters.
Currently running thread is highlighted. Double click on a thread will show the location of a thread's program counter.
The PikeOS Thread List view menu provides icons to automatically or manually refresh threads.
The functionality of each listed thread parameter is described inside the following table:
Parameter name |
Description |
---|---|
THR ptr |
Pointer to the thread descriptor structure |
Name |
Thread name |
UID |
Unique ID (time partition, resource partition, task and thread IDs) |
Priority |
Thread priority number |
State |
State of the thread |
Flags |
Flags carrying additional state information about the thread |
Task name |
Name of the task that thread belongs to |
The PikeOS Resource partition view displays detailed information about all available resource partition parameters.
The PikeOS Resource partition view menu provides icons to automatically or manually refresh resource partitions.
The functionality of each listed resource partition parameter is described inside the following table:
Parameter name |
Description |
---|---|
ResPart Ptr |
Pointer to the resource partition descriptor structure |
ID |
Resource partition identification number |
Num Pages |
Overall number of pages assigned to the resource partition |
Free Pages |
Number of free pages |
MM Pages |
Number of pages used for memory management |
Thread Pages |
Number of pages used for thread descriptors |
Task Pages |
Number of pages used for task descriptors |
Temp Pages |
Number of pages used temporarily |
POSIX Personality awareness or POSIX Threads window allows to debug and view the POSIX threads and their states, running within a PikeOS task.