ARM RTX操作系统—Theory of Operation—System Resources & Scheduling Options

System Resources

RTX内核通过任务进程控制模块,来标识一个任务进程。这个模块是一个动态分配的内存单元,存储着任务进程的所有控制和状态变量。当通过调用os_tsk_create or os_tsk_create_user函数来创建一个任务进程时,对应的TCB就被创建了。

TCB所占用的内存大小,在RTX_Config.c中定义。

RTX内核给任务进程分配了其自己的stack,这块stack内存区域随着TCB一同创建,并且TCB里面存储着这块内存区域的指针。

Scheduling Options

RTX内核支持3种不同的任务进程调度选项,供应用程序使用:

Pre-emptive scheduling

每个任务进程都有不同的优先级,并且会一直运行直到被抢占,或者调用了会阻塞的os函数。

Round-Robin scheduling

每个任务进程的优先级一样,并且会运行一个固定的时间周期或者时间片。round-robin的意思是这些任务进程被循环调度。每个任务进程再自己的时间片内会一直运行,直到调用了一个会阻塞的os函数。

Co-operative multi-tasking

每个任务进程优先级一样,并且Round-Robin 是disabled。每个进程会一直运行直到调用了一个会阻塞的os函数,或者调用os_tsk_pass()将自己的时间片让出去了。

RTX内核默认的调度选项是Round-Robin Pre-emptive。对于大多数应用而言,足够了。

原文地址:https://www.cnblogs.com/ironx/p/5137400.html