mirror of
https://gitee.com/cosyos/cosyos.git
synced 2026-02-05 19:39:42 +08:00
@@ -46,7 +46,6 @@ CosyOS有三种时间片的定义模式,全局时间片、算法时间片、
|
||||
* **一般用户任务** <br>
|
||||
对于一般用户任务,只要优先级为0级,就是空闲任务。用户空闲任务内都要有阻塞事件,以保证所有空闲任务都有机会被运行。<br>
|
||||
最高优先级固定分配给任务管理器和调试任务,建议用户任务不要使用。<br>
|
||||
<br>
|
||||
|
||||
### 五、任务状态
|
||||
CosyOS的任务状态较传统RTOS划分更为详细,以便用户在使用任务管理器监控任务时,能够更加精准的判断各任务的运行情况。<br>
|
||||
@@ -83,10 +82,10 @@ CosyOS的任务状态较传统RTOS划分更为详细,以便用户在使用任
|
||||
|
||||
<br>
|
||||
—————————— CosyOS-任务状态图 ——————————<br>
|
||||
<br>
|
||||
|
||||
### 六、任务队列
|
||||
CosyOS全局只有一个任务队列,为双向循环链表,所有已启动且未删除的任务,都会在队列上排队。<br>
|
||||
|
||||
* **排队原则** <br>
|
||||
**1.** 在队列上从头至尾,按任务优先级由大到小排列。<br>
|
||||
**2.** 如果任务优先级相同,则按任务启动顺序排列(先启动的任务排在前面)。<br>
|
||||
@@ -99,12 +98,10 @@ CosyOS任务管理器真实的反应了整个任务队列的当前形态。<br>
|
||||

|
||||
<br>
|
||||
—————————— CosyOS-任务管理器 ——————————-———————— CosyOS-启动钩子 ————————<br>
|
||||
<br>
|
||||
|
||||
### 七、任务调度
|
||||
CosyOS的任务调度类型包括 **抢占式调度** 、 **时间片轮转调度** 。不同优先级的任务实行抢占式调度,<br>
|
||||
相同优先级的任务按先入先出实行时间片轮转调度,“入”指的是加入到任务队列,即启动任务。<br>
|
||||
|
||||
CosyOS的任务调度时机分为 **定时调度** 与 **临时调度** 。<br>
|
||||
* **定时调度** <br>
|
||||
在每个系统滴答周期,SysTick_Handler/定时器0中断,都会触发一次任务调度。<br>
|
||||
@@ -119,7 +116,6 @@ CosyOS的任务调度时机分为 **定时调度** 与 **临时调度** 。<br>
|
||||
**6.** 用户通过调用服务,直接触发的任务调度,包括任务级任务调度和中断级任务调度。<br>
|
||||
|
||||
CosyOS的任务调度策略可最大程度的实现尽可能实时高效的任务切换,使CosyOS的实时性更为优异。<br>
|
||||
<br>
|
||||
|
||||
### 八、任务栈
|
||||
* **任务栈模式** <br>
|
||||
|
||||
Reference in New Issue
Block a user