System Resources
The RTX kernel identifies a task process through the task Process Control module. This module is a dynamically allocated memory unit that stores all the control and state variables of the task process. When a task process is created by calling the os_tsk_create or os_tsk_create_user function, the corresponding TCB is created.
The amount of memory that the TCB occupies, as defined in rtx_config.c .
The RTX kernel assigns its own stack to the task process, and the stack memory area is created with the TCB, and the TCB stores a pointer to the memory area.
Scheduling Options
The RTX kernel supports 3 different task process scheduling options for application use:
Pre-emptive scheduling
Each task process has a different priority and runs until it is preempted, or the blocked OS function is called.
Round-robin Scheduling
Each task process has the same priority and runs a fixed time period or time slice. Round-robin means that these task processes are scheduled to be cycled. Each task process will run on its own time slice until a blocked OS function is called.
Co-operative Multi-tasking
Each task process has the same priority, and Round-robin is disabled. Each process runs until it calls a blocked OS function, or calls Os_tsk_pass () to let go of its own time slice.
The default scheduling option for the RTX kernel is round-robin pre-emptive. This is enough for most applications.
ARM RTX Operating system-theory of Operation-system Resources & scheduling Options