μc/os、rtt等大多数实时内核都是抢占式的,准备运行的最高优先级任务始终被赋予 cpu 控制权。
当一个任务使更高优先级的任务准备好运行时,当前任务被抢占(挂起)并且更高优先级的任务立即获得 cpu 的控制权。
如果 isr 使更高优先级的任务准备就绪,当 isr 完成时,被中断的任务被挂起并恢复新的更高优先级任务。
(1) 任务正在执行但被中断。(2) 如果中断被使能,cpu 向量(跳转)到 isr。(3) isr 处理事件并使更高优先级的任务准备好运行。isr 完成后,调用内核提供的服务(即调用内核提供的函数)。(4) & (5) 该函数知道一个更重要的任务已经准备好运行,因此内核将执行上下文切换并执行更重要的代码而不是返回到被中断的任务任务。当更重要的任务完成时,内核提供的另一个函数被调用,让任务进入休眠状态,等待事件(即 isr)发生。(6) & (7) 然后内核“看到”需要执行一个较低优先级的任务,并完成另一个上下文切换以恢复被中断任务的执行。
使用抢占式内核,最高优先级任务的执行是确定性的;你可以确定它何时可以控制 cpu。因此,通过使用抢占式内核可以最大限度地减少任务级响应时间。
使用抢占式内核的应用程序代码不应使用不可重入函数,除非通过使用互斥信号量确保对这些函数的独占访问,因为低优先级和高优先级任务都可以使用公共函数。如果较高优先级的任务抢占正在使用该功能的较低优先级的任务,则可能会发生数据损坏。
总而言之,抢占式内核始终执行准备运行的最高优先级任务。中断抢占任务,完成 isr 后,内核将继续执行准备运行的最高优先级任务(而不是被中断的任务)。任务级别的响应是最佳的和确定性的,当系统响应性很重要时,建议使用抢占式内核。
iphone13多少毫安电池,iphone13国行价格
火热背后,中国物联网发展道路惊现两大“拦路石”
特斯拉自动驾驶“撞死”机器人 机器人受损严重且无法修护
LX9 Microboard之初试手试用初体验(1)
做好访客登记,把好企业内部环境安全第一关
抢占式内核
平安城市建设成为城市治安防控的组成部分 也是实现智慧城市的重要因素
1LCD投影首超DLP,康佳投影仪严控品质打破行业困境
为什么在使用过程中热像仪测温会出现不准的情况?
利用英飞凌IGBT单管设计手提式焊机
Mavenir和Aspire加速远程无线电头单元的市场供应
浩轩论币:比特币暴涨突破,应静候佳音?
有方云管端亮相水务展 助力打造可靠、安全的水务物联网
毕业10年的电子工程师毕业赠言
未来五年,全球5G企业市场将以57.2%的复合年增长率增长
农业灌溉电磁阀控制器:让农田灌溉更智能,更便捷!
苹果要求富士康将其部分iPad和MacBook生产能力转移到越南
waymo 无人车的颜值视野操控性能适应性是不是拥有了完美的硬件呢?
利用落地的AI技术和应用聚焦业务流程优化、效率提升以及对全新机遇的发掘
工控机数据丢失原因及解决方法