mirror of
https://gitee.com/cosyos/cosyos.git
synced 2026-02-05 19:39:42 +08:00
@@ -398,7 +398,7 @@ CosyOS则分为两种情况:<br>
|
||||
* **PRI**:任务优先级 <br>
|
||||
* **STA**:任务状态 <br>
|
||||
* **CPU**:CPU使用率 <br>
|
||||
* **RAM**:任务栈大小(字节数),下面进行详细说明:<br>
|
||||
* **RAM**:任务栈大小(字节数),下面举例说明:<br>
|
||||
32B/s64B,系统采用每调度监控计算出的在概率上必然存在的最大任务栈占用为32Bytes,任务栈已 **静态创建** 了64Bytes。<br>
|
||||
32B/m64B,系统采用每调度监控计算出的在概率上必然存在的最大任务栈占用为32Bytes,任务栈已 **malloc** 分配了64Bytes。<br>
|
||||
32B/r40B,系统采用每调度监控计算出的在概率上必然存在的最大任务栈占用为32Bytes,任务栈已 **realloc** 分配了40Bytes。<br>
|
||||
@@ -479,11 +479,11 @@ CosyOS的任务栈监控包括每调度监控、入栈监控、线程入口监
|
||||
每次任务调度时都会假定本次会切换任务、需要现场保护,计算当前任务需要多大的任务栈。<br>
|
||||
这种假定在概率上必然早晚都会发生,但不一定是什么时候(也许是即将发生、也许是一万年以后、也许是时间的尽头),从而提前预判任务栈溢出的风险。<br>
|
||||
**应用技巧:** <br>
|
||||
任务调度包括定时调度与临时调度,对于定时调度来说,就是系统滴答中断触发的,所以,用户在开发测试阶段可适当定义一个较小的 **系统滴答周期**,可提升“每调度监控”提前预判任务栈溢出风险的机率。<br>
|
||||
任务调度包括定时调度与临时调度,对于定时调度来说,就是系统滴答中断触发的,所以,用户在开发测试阶段可调整不同的 **系统滴答周期**,可提升“每调度监控”提前预判任务栈溢出风险的机率。<br>
|
||||
**启用条件:** <br>
|
||||
CosyOS启用“每调度监控”的充分必要条件是启用任务管理器,即系统配置中,“DEBUG接口设置”必须打勾。<br>
|
||||
* **入栈监控** <br>
|
||||
当任务切换时。。。<br>
|
||||
当任务切换时,对当前任务栈进行计算,并做相关处理。<br>
|
||||
* **线程入口监控** <br>
|
||||
线程入口监控现已取消,原因是虽然有效,但不实用。<br>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user