i) Task Management:
Kernel uses TCB for task switching. TCB contains following information-
- Task ID - unique task ID number.
- Task state - current state of the task
- Task type - hard real time or soft real time
- Task priority - priority of task
- Task context pointer - pointer for context saving
- Task memory pointer - pointer to program, data or stack memory
- Task system resource pointer
- Task pointer
ii) Task Scheduling:
It is done by implementing scheduling algorithm.
iii) Task Synchronization:
- Task synchronization is used for concurrent access to shared resources among multiple tasks.
- It provides communication between various tasks.
iv) Error/ Exception Handling:
Used to handle error occurred when exception such as stack overflow/ underflow, insufficient memory, deadlock, divide by zero, etc are raised during execution of tasks.
v) Memory Management:
- It has slightly different approach for memory management than GPOS.
- GPOS has dynamic memory allocation technique.
- RTOS kernel has fixed size memory blocks and allocates when needed.
vi) Interrupt Handing:
- It is a very important task.
- The interrupts may be disabled if high priority task is already in execution.
vii) Time management:
An accurate time management is needed to meet deadlines. ‘Timer tick’ Interrupt takes care of time management. ‘Timer tick’ interrupt implements following functions:
- Saves current context of task in TCB when switched.
- Updates software timer implemented in the kernel
- Activates periodic tasks
- Loads the content of highest priority task from ready queue.