update 说明文档/CosyOS原理与应用.md.

Signed-off-by: 零中断延迟的RTOS <cosyos@139.com>
This commit is contained in:
零中断延迟的RTOS
2024-01-03 14:22:40 +00:00
committed by Gitee
parent 42a32049b9
commit 9bdff7678e

View File

@@ -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划分更为详细以便用户在使用任
![任务状态](../images/task_state.png "任务状态")<br>
—————————— CosyOS-任务状态图 ——————————<br>
### 六、任务队列
### 任务队列
CosyOS全局只有一个任务队列为双向循环链表所有已启动且未删除的任务都会在队列上排队。<br>
* **排队原则** <br>
@@ -100,7 +100,7 @@ CosyOS任务管理器真实的反应了整个任务队列的当前形态。<br>
![启动钩子](../images/start_hook.png "启动钩子")<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>
### 九、任务管理器
### 任务管理器
在您配置好相关硬件和软件后,任务管理器便可以使用了。您可使用某一款串口调试助手,作为任务管理器的输出窗口。
![任务管理器](../images/taskmgr.png "任务管理器")<br>
—————————— CosyOS-任务管理器 ——————————