OS的Alarm定时器调度机制

  1. 调度表触发的任务在编译时就被静态定义,任务的触发时间和执行顺序是固定的。这种方式适用于已知的、固定的任务触发模式,例如周期性任务或事件驱动任务。
  2. 而使用 Alarm 机制触发的任务具有更大的灵活性。Alarm 允许在运行时动态地设置和修改任务的触发时间和间隔。这种方式适用于需要根据实时系统的动态变化来触发任务的场景,可以根据实际情况动态调整任务的触发时间,以满足实时性要求。
  3. 如果调度表的任务和 Alarm 的任务同时触发,通常会采用优先级规则来确定哪个任务先执行。具体的处理方式取决于操作系统的调度策略和任务的优先级设置。
  4. 调度表中任务是通过调度器触发的,而alarm的任务是通过计时器触发的。alarm的任务如何在运行时动态设置和修改触发时间和间隔,可能涉及到时间同步的东西。
  5. 由多alarm触发的多任务周期晃动很大,是由于高优先级任务抢占低优先级任务,导致低优先级任务要等高优先级任务执行完才能执行。首先,出现这种情况,肯定是对于任务的优先级和触发周期没有合理安排导致的。解决方法就是调整优先级和触发周期或改用调度表。

**调度表的周期性任务与alarm周期性任务可以理解为,如果到了触发时间,如果有高优先级的任务抢占了低优先级的任务,调度表触发的任务会将任务挂起,之后等到下一个周期在重新执行,****而alarm触发的任务是等高优先级任务执行完,就立即执行低优先级任务,alarm是基于全抢占调度机制实现的。**如果调度表的周期任务与alarm的周期任务撞上了,调度表中的任务优先级高,那就是调度表的任务执行完后立即执行alarm的任务。

相关推荐
三维频道1 小时前
工业级三维扫描实测:汽车灯具复杂结构件的全尺寸 3D 测量方案分析
java·人工智能·python·数码相机·3d·汽车·汽车轻量化制造
汽车仪器仪表相关领域5 小时前
Kvaser Memorator Pro 2xHS v2:双通道CAN FD智能记录仪,赋能华南汽车与工业总线测试升级
大数据·人工智能·功能测试·安全·汽车·压力测试·可用性测试
程序员黄老师5 小时前
一分钟了解ARM发展史与全系列产品
arm开发·嵌入式硬件·arm
AI服务老曹5 小时前
【架构深度解析】从X86到ARM的异构算力调度:如何利用 Docker 与 GB28181 构建高可用的私有化AI视频管理平台(含源码交付方案)
arm开发·docker·架构
ai产品老杨5 小时前
深度解析:如何构建兼容 X86/ARM 与 GPU/NPU 的异构 AI 视频中台架构?(含 GB28181/RTSP/Docker/源码交付方案)
arm开发·人工智能·音视频
Darth Nihilus5 小时前
Horizon Journey 5 Evaluation and Development Kit(二)
嵌入式硬件·汽车
AI服务老曹5 小时前
架构实战 | 深度解析支持 X86/ARM 异构计算的 AI 视频管理平台:从 GB28181 接入到边缘推流与源码交付
arm开发·人工智能·架构
BSD_HY1 天前
智能电动汽车浪潮下,薄膜开关的人机交互技术解析
人工智能·汽车·人机交互·制造·薄膜开关
柏颖漫谈1 天前
中国汽车在俄罗斯市场下跌后,日本汽车迎来倍增,新的较量开始了
汽车
szxinmai主板定制专家1 天前
基于ZYNQ MPSOC多通道声音振动采集方案,替代NI9234和B&K
arm开发·人工智能·嵌入式硬件·fpga开发