嵌入式系统架构
看门狗
看门狗为嵌入式系统提供必需的系统恢复能力,在系统发生软件问题和程序飞跑时重新启动系统。
基本原理:
计数器自动计数,程序定期将其重置,如果系统卡死或者程序跑飞,计数器溢出,进入中断处理,在设定的时间间隔内,系统保留状态后复位重启。
嵌入式操作系统内核架构
宏内核
用于管理用户程序和硬件间的系统资源,在宏内核中用户服务和内核服务在同一空间中实现,代码耦合度非常高,内核的功能组件代码可以互相调用
微内核
微内核管理所有系统资源,在微内核中用户服务和内核服务在不同空间中实现,系统结构清晰,代码少
任务管理
任务是嵌入式操作系统调度的最小单位(计算机系统中的进程)。
任务的三种状态:
- 执行状态
- 就绪状态
- 阻塞状态
实时调度算法:
- 离线调度算法:系统运行前确定调度信息,如时间驱动,确定性,缺乏灵活性
- 在线调度算法:系统运行中动态获得调度信息,如优先级驱动,灵活性较大
- 抢占调度算法:运行任务可能被打断,更复杂,更耗资源
- 非抢占调度算法:运行任务不被打断
- 静态调度算法:任务优先级在设计时确定,不变化,简单,缺乏灵活性
- 动态调度算法:任务优先级在运行中确定,不断变化,灵活,耗资源
强实时调度算法:
- 最早截止时间优先 EDF:根据任务截止时间确定优先级,截止时间越早,其优先级越高
- 最低松弛度优先 LLF:根据任务紧急或松弛程度确定优先级,越紧急,优先级越高
- 单调速率 RMS:根据任务周期确定有限期,周期越短,优先级越高。最优算法