In a multitaksing operating system (OS) the scheduler is the responsible for switching between tasks. Typically a task will only run for a few milliseconds, then the scheduler deactivates the task and activates another to allow the illusion of parallelism.
On deactivation, the task's current context (registers content, program pointer, stack pointer, etc.) is stored in a control structure - the "Task Control Block " (TCB) - and the next task's TCB is loaded. The currently active task is stored in a global OS variable which usually points to the task's TCB.
For execution profiling (analysis when and how long a task runs) winIDEA needs to keep track of task switches. The easiest way to achieve that is data profiling the global OS variable that stores the active task pointer.
To setup winIDEA for task profiling select in "Profiler Configuration" profile "Code" and "Data" and specify in the "Profiler Data Area" the name of the global variable.
If the CPU does not provide data trace, the value of this variable must be signaled using instrumentation trace. Another mechanism is to use pre/post task hooks which will be called on every task switch.
For more information see ProfilerConcepts.pdf and Analyzer.pdf installed with winIDEA (open menu "Help -Technical Notes").