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

Signed-off-by: 零中断延迟的RTOS <cosyos@139.com>
This commit is contained in:
零中断延迟的RTOS
2024-03-04 07:30:58 +00:00
committed by Gitee
parent 765dd8d200
commit 4be9f53aba

View File

@@ -16,12 +16,15 @@ CosyOS有三种时间片的定义模式**全局时间片**、**算法时间
时间片的取值范围1~65535单位为滴答周期。<br>
### 安全运行时
安全运行时是CosyOS的安全关键技术之一是为了防止某任务长期独占或超时使用处理器。<br>
安全运行时是CosyOS的安全关键技术之一防止某任务长期独占或超时使用处理器。<br>
当任务累计运行时间超过安全运行时,仍不能被比它优先级低的任务所切换,则进入超时状态并放弃处理器的使用权,直到系统空闲任务运行时才能恢复。<br>
可在系统配置文件中设置安全运行时的开启或关闭。<br>
安全运行时的取值范围0~65535单位为时间片0为无限长。<br>
所有空闲任务无法应用安全运行时创建任务时安全运行时输入0即可。<br>
安全运行时的应用技巧:开发初期所有任务的安全运行时可设置为0待开发测试阶段中后期再根据任务各自的特点及测试经验合理的调整为有效值。<br>
安全运行时的应用技巧:<br>
1、开发阶段所有任务的安全运行时可先设置为0<br>
2、测试阶段计算和评估各任务的有效运行时间<br>
3、在有效运行时间的基础上累加一定的补偿再重新调整安全运行时。<br>
### 支持任务/钩子
@@ -35,11 +38,11 @@ CosyOS有三种时间片的定义模式**全局时间片**、**算法时间
* **系统钩子** <br>
由CosyOS自主创建并自动调用的函数并由用户来写代码。<br>
**1、初始化钩子init_hook** 在主函数中首先被调用适用于初始化时钟、GPIO、寄存器等工作。<br>
**2、启动钩子start_hook** 在启动任务中被调用,用于启动用户任务。用户可在启动钩子内调用API来启动用户任务。<br>
**2、启动钩子start_hook** 在启动任务中被调用,用于启动用户任务。<br>
**3、空闲钩子idle_hook** 在系统空闲任务中被调用,用户可添加自己的代码做一些没有实时性要求的工作。<br>
**4、滴答钩子tick_hook** 每个系统滴答周期,在系统滴答中断中都会被调用一次,适用于每滴答周期/秒/分/时/...做一次的工作。<br>
**5、挂起服务钩子pendsv_hook** 详情见全局变量访问相关介绍及说明。<br>
**6、全局变量钩子gvar_hook** 用于更新全局变量的副本,详情见全局变量访问相关介绍及说明。<br>
**4、滴答钩子tick_hook** 每个系统滴答周期,在系统滴答中断中都会被调用一次,适用于每滴答周期/秒/分/时/日/月/年/...做一次的工作。<br>
**5、挂起服务钩子pendsv_hook** 用于安全执行包含读访问的中断挂起服务。<br>
**6、全局变量钩子gvar_hook** 用于更新全局变量的副本。<br>
* **定时任务/钩子** <br>
包括定时中断任务/钩子和定时查询任务/钩子,其实质都是软件定时器中断。<br>