mirror of
https://gitee.com/cosyos/cosyos.git
synced 2026-02-05 19:39:42 +08:00
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user