mirror of
https://gitee.com/cosyos/cosyos.git
synced 2026-02-05 19:39:42 +08:00
@@ -1,11 +1,11 @@
|
||||
## 第一章、任务篇
|
||||
|
||||
### 一、任务优先级分组
|
||||
### 任务优先级分组
|
||||
可在系统配置文件中配置任务优先级分组。<br>
|
||||
共有六个分组可供选择,8级、16级、32级、64级、128级、256级,您也可自定义级数。<br>
|
||||
如您配置的分组为8级,则最高优先级为7级,最低优先级为0级。<br>
|
||||
|
||||
### 二、时间片模式
|
||||
### 时间片模式
|
||||
CosyOS有三种时间片的定义模式,全局时间片、算法时间片、自定义时间片,需在系统配置文件中定义。<br>
|
||||
**1. 全局时间片** 所有任务采用统一的时间片。<br>
|
||||
**2. 算法时间片** 不同优先级的任务时间片不同,采用一个算法公式来描述。<br>
|
||||
@@ -13,14 +13,14 @@ CosyOS有三种时间片的定义模式,全局时间片、算法时间片、
|
||||
全局时间片简单高效,时间片轮转调度性能为最佳;算法时间片、自定义时间片可实现不同优先级任务精细的时间片控制。<br>
|
||||
时间片的取值范围:1~65535,单位为滴答周期。<br>
|
||||
|
||||
### 三、安全运行时
|
||||
### 安全运行时
|
||||
安全运行时是CosyOS的安全关键技术之一,是为了防止某任务长期独占或超时使用处理器。当任务累计运行时间超过安全运行时,仍不能被比它优先级低的任务所切换,则进入超时状态并放弃处理器的使用权,直到系统空闲任务运行时才能恢复。<br>
|
||||
可在系统配置文件中设置安全运行时的开启或关闭。<br>
|
||||
安全运行时的取值范围:0~65535,单位为时间片,0为无限长。<br>
|
||||
所有空闲任务无法应用安全运行时,创建任务时,安全运行时输入0即可。<br>
|
||||
安全运行时的应用技巧:开发初期,所有任务的安全运行时可设置为0;待开发测试阶段中后期,再根据任务各自的特点及测试经验合理的调整为有效值。<br>
|
||||
|
||||
### 四、支持任务/钩子
|
||||
### 支持任务/钩子
|
||||
|
||||
* **系统任务** <br>
|
||||
由CosyOS自主创建并自动启动的任务。<br>
|
||||
@@ -48,7 +48,7 @@ CosyOS有三种时间片的定义模式,全局时间片、算法时间片、
|
||||
对于一般用户任务,只要优先级为0级,就是空闲任务。用户空闲任务内都要有阻塞事件,以保证所有空闲任务都有机会被运行。<br>
|
||||
最高优先级固定分配给任务管理器和调试任务,建议用户任务不要使用。<br>
|
||||
|
||||
### 五、任务状态
|
||||
### 任务状态
|
||||
CosyOS的任务状态较传统RTOS划分更为详细,以便用户在使用任务管理器监控任务时,能够更加精准的判断各任务的运行情况。<br>
|
||||
具体划分如下:<br>
|
||||
注:[]为在任务管理器中显示的任务状态<br>
|
||||
@@ -84,7 +84,7 @@ CosyOS的任务状态较传统RTOS划分更为详细,以便用户在使用任
|
||||
<br>
|
||||
—————————— CosyOS-任务状态图 ——————————<br>
|
||||
|
||||
### 六、任务队列
|
||||
### 任务队列
|
||||
CosyOS全局只有一个任务队列,为双向循环链表,所有已启动且未删除的任务,都会在队列上排队。<br>
|
||||
|
||||
* **排队原则** <br>
|
||||
@@ -100,7 +100,7 @@ CosyOS任务管理器真实的反应了整个任务队列的当前形态。<br>
|
||||
<br>
|
||||
—————————— CosyOS-任务管理器 ——————————-———————— CosyOS-启动钩子 ————————<br>
|
||||
|
||||
### 七、任务调度
|
||||
### 任务调度
|
||||
CosyOS的任务调度类型包括 **抢占式调度** 、 **时间片轮转调度** 。不同优先级的任务实行抢占式调度,<br>
|
||||
相同优先级的任务按先入先出实行时间片轮转调度,“入”指的是加入到任务队列,即启动任务。<br>
|
||||
CosyOS的任务调度时机分为 **定时调度** 与 **临时调度** 。<br>
|
||||
@@ -118,7 +118,7 @@ CosyOS的任务调度时机分为 **定时调度** 与 **临时调度** 。<br>
|
||||
|
||||
CosyOS的任务调度策略可最大程度的实现尽可能实时高效的任务切换,使CosyOS的实时性更为优异。<br>
|
||||
|
||||
### 八、任务栈模式
|
||||
### 任务栈模式
|
||||
|
||||
CosyOS把任务栈的处理方式称之为任务栈模式,共包括三种类型,MSP模式、PSP模式、MSP+PSP模式。<br>
|
||||
**1.MSP模式** 任务切换时,先拷贝主栈内容至当前任务栈(保存现场);再拷贝新任务栈内容至主栈(恢复现场)。<br>
|
||||
@@ -151,7 +151,7 @@ MSP模式虽然在任务切换时会保存并恢复现场,导致效率较低
|
||||
1、对于8051,当任务创建模式非静态创建时,CosyOS将自动启用任务栈重分配机制。<br>
|
||||
2、对于80251,当任务栈模式为MSP模式、任务创建模式非静态创建时,CosyOS将自动启用任务栈重分配机制。<br>
|
||||
|
||||
### 九、任务管理器
|
||||
### 任务管理器
|
||||
在您配置好相关硬件和软件后,任务管理器便可以使用了。您可使用某一款串口调试助手,作为任务管理器的输出窗口。
|
||||
<br>
|
||||
—————————— CosyOS-任务管理器 ——————————
|
||||
|
||||
Reference in New Issue
Block a user