找回密码
 立即注册
楼主: CosyOS

全局不关总中断的 RTOS,CosyOS-III-V1.2.0, 送 擎天柱-AI8051U转89C52核心板

 火... [复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:432
  • 最近打卡:2025-05-01 16:19:56

5

主题

1127

回帖

4263

积分

荣誉版主

积分
4263
发表于 2024-12-20 15:01:06 | 显示全部楼层
stc-x*** 发表于 2024-12-20 13:32
迟老师,问一下,时间片是限制相同优先级任务,安全运行时是限制每个任务运行时间的,是吧?安全运行时起作 ...

时间片只对相同优先级的任务起作用。
安全运行时是一种安全保护策略,以防止某任务 意外的(如bug)、无限制的使用处理器,也就是过长时间的就绪。
因为一旦出现这种情况,比它优先级低的任务都将无法运行。
然而,在正常情况下,并不会发生这种事情,所以,用或不用在于选择。

安全运行时功能需要在 syscfg.h 中开启,如下,打勾为开启。
截图202412201511473469.jpg

当任务累计运行时间超过它的安全运行时,仍不能被比它优先级低的任务所切换,
则进入超时状态并放弃处理器使用权,直到系统空闲任务运行时才能恢复。

系统空闲任务运行时,会逐一清除各任务的超时信号。
截图202412201502162514.jpg

当超时信号清除后,在下一次任务调度时,相应的任务便可恢复为就绪状态,再此运行。
截图202412201504121536.jpg

关于 安全运行时需要解决的问题,你可以写一个测试程序,测试一下。
如在某个高优先级的任务中,在任务代码中插入一个 while(1); ,然后用 任务管理器 观察一下会怎样?
截图202412201529537190.jpg
截图202412201531003120.jpg
在一段时间的观察中,TASK_A 始终为就绪状态,且占用极高的CPU使用率(98.48%),
这就是 while(1) 搞出来的。TASK_B,Sysidle 始终不能运行,当然现在还没有启用安全运行时,
就是为了观察 任务独占CPU使用权的情况。
此时,任务管理器中 任务pc值为 6869,指向 反汇编的 C:0x6869,即 43行的 while(1);
这也正是 任务管理器 输出 任务pc值 的意义:
当某任务长时间独占处理器使用权时,可锁定具体位置,以帮助用户查找bug。



回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:432
  • 最近打卡:2025-05-01 16:19:56

5

主题

1127

回帖

4263

积分

荣誉版主

积分
4263
发表于 2024-12-20 19:41:42 | 显示全部楼层
CosyOS-II 最新版 V3.2.1-beta 发布!


V3.2.1 在 V3.2.0 的基础上,重新规划并定义了 临界区。
1、V3.2.0 新增的 禁止调度 现更名为 调度锁(任务临界区)
2、原 任务临界区 现更名为 内核锁(服务层临界区)
3、原 API uEnterCritical、uExitCritical 现 取消 !!!
     取消的原因:
     1、因为 CosyOS 的 临界区 比较多,所以 Critical 一词容易搞不清楚到底是指哪个临界区;
     2、如不取消,当用户升级为新版时,易导致用法错误。
          取消后,可强制用户关注 原有代码中的 uEnterCritical、uExitCritical,到底应该替换为哪个临界区。
4、原 全局临界区 未改变。

V3.2.1 临界区说明:
截图202412201936421796.jpg

截图202412201935497975.jpg

截图202412201938221773.jpg


暂不提供最新的工程模板了,待下次吧。



1 喜欢他/她就送朵鲜花吧,赠人玫瑰,手有余香!
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:432
  • 最近打卡:2025-05-01 16:19:56

5

主题

1127

回帖

4263

积分

荣誉版主

积分
4263
发表于 2024-12-30 20:52:00 | 显示全部楼层
CosyOS-II 最新版 V3.3.1 发布!

新版特性:
1、任务调度算法 做了重大调整,时间片轮转调度算法 已日趋成熟,可靠性倍增。
2、增加了 协作式调度,但与常见的协作式调度 有着本质的区别。
常见的协作式调度为全局协作式,即不同优先级的任务也是协作,不能抢占,
必须等到当前任务主动放弃cpu使用权,才能切换至下一任务运行。
CosyOS的 协作式调度,协作仅发生在 相同优先级的各个任务中。
截图202412302028545758.jpg

3、优化了 就绪延时 的实现。

工程模板暂时不能更新了,稍后会在顶楼提供 最新版代码 和 API说明书 下载,
有兴趣的朋友可自行更新为最新版本。



回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:312
  • 最近打卡:2025-05-01 16:04:24
已绑定手机

1

主题

37

回帖

267

积分

中级会员

积分
267
发表于 2024-12-31 19:08:57 | 显示全部楼层
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:162
  • 最近打卡:2025-04-25 10:49:56

0

主题

3

回帖

561

积分

高级会员

积分
561
发表于 2025-1-8 09:55:28 | 显示全部楼层
AI8051U8位或32位都支持吗?

点评

是的  发表于 2025-1-8 18:48
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2025-04-29 06:18:34
已绑定手机

0

主题

9

回帖

60

积分

注册会员

积分
60
发表于 2025-1-8 20:46:45 来自手机 | 显示全部楼层
打卡
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2025-04-29 06:18:34
已绑定手机

0

主题

9

回帖

60

积分

注册会员

积分
60
发表于 2025-1-8 20:47:50 来自手机 | 显示全部楼层
打卡
Screenshot_20250108_204700.jpg
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:231
  • 最近打卡:2025-05-01 08:51:22

0

主题

26

回帖

600

积分

高级会员

积分
600
发表于 2025-1-9 00:40:50 | 显示全部楼层

刚刚搜到这个OS,准备看看文档,好好学习,期待用到实际工作中

点评

欢迎试用,有问题可随时咨询  发表于 2025-1-10 01:05
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:449
  • 最近打卡:2025-05-01 08:38:15

12

主题

110

回帖

1072

积分

金牌会员

积分
1072
发表于 2025-1-9 09:19:15 | 显示全部楼层
持续关注
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2025-04-29 06:18:34
已绑定手机

0

主题

9

回帖

60

积分

注册会员

积分
60
发表于 2025-1-9 19:46:32 来自手机 | 显示全部楼层
第2集下没看懂。那个东西为什么会增加?不就是一个挂起一个恢复吗?状态恢复了,为啥那个数字还在加?

点评

仔细看一下代码,相信你一定能找到原因。  发表于 2025-1-10 00:21
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-1 19:27 , Processed in 0.220822 second(s), 116 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表