抢占式内核和非抢占式内核的区别是不是抢占式内核的系统核心服务函数可以被中断?

qingliu 2002-08-05 12:47:15
抢占式内核和非抢占式内核的区别是不是抢占式内核的系统核心服务函数可以被中断?
但这种情况下,怎样保证系统的全局数据结构不被多任务破坏?网上的一篇文章好象说
系统(RTOS)不仅可以按任务是否可以抢占,而分为抢占式多任务和非抢占式任务;而且可以按内核是否可以被抢占,而分为抢占式多核心和非抢占式核心。不知这种说法对不对?
我看过uCos,我感觉它只是一个非抢占式核心,不知所谓的“抢占式多核心”怎样实现?
...全文
212 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
gofordo 2002-09-04
  • 打赏
  • 举报
回复
中断能抢占内核服务。
内核在中断例程中完成任务调度,因此任务不可能中断内核服务。
用户的任务不可能破坏内核的数据结构(只要不是故意的)。
“抢占式多核心”是不是需要有多个CPU才行?如果是单CPU,抢占式多 核心又有什么意义。
深水蔚蓝 2002-08-11
  • 打赏
  • 举报
回复
维护内核的数据的完整是一个复杂的问题,不好实现!
bailingke 2002-08-10
  • 打赏
  • 举报
回复
所谓非抢占内核就是,当中断完成后,系统就调度原来被中断的任务运行,
即使此时有优先级更高的任务,也要等原被中断的任务完成后,才能参与调度。

抢占式与之相反。ucos是抢占式的,你看它的中断处理部分就清楚了,
当中断完成后,调用了调度程序以选取最高优先级的任务,并执行之。

19,502

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧