实时操作系统概述
随着嵌入式系统的复杂度不断增加,它们越来越像个人计算机(PC)。嵌入式系统软件开发常常因需要控制系统资源而变得复杂,部分嵌入式系统还需连接以太网接口、硬盘驱动器等类似 PC 的外设。若所有软件都从头编写,就必须编写与每个设备交互的代码,这会造成重复劳动。
嵌入式系统资源管理与任务调度
在典型的嵌入式系统中,每个功能或进程独立处理自身资源。例如,通过以太网链路与主机系统交互的进程会分配内存作为缓冲区,使用 RS232 连接的进程也有相应的代码和缓冲区。轮询循环依次给予每个进程控制权,各进程检查与其接口之间的数据。
若系统中主机仅使用以太网或 RS - 232 其中之一,就无需同时激活两套代码和缓冲区。通过内存管理,将不需要的缓冲区分配给其他用途,可减少系统对随机存取存储器(RAM)的需求。
除了内存管理,所有嵌入式系统都需要以某种方式调度进程。轮询循环方法,也称为顺序或循环调度,是最常见的方式。以泳池定时器为例,每个任务(电机开关控制、时间溢出处理、键盘处理)依次获得控制权,形成一个大循环。
不过,这种方法存在一些缺点:
1. 任务处理时间影响 :在简单系统中,各任务运行至完成,处理时间短不会产生问题。但在控制自动化装配线的系统中,温度控制可能有较长延迟,若温度控制程序设置温度后等待结果,其他功能会被阻塞,即一个任务的处理时间会影响其他任务的执行。
2. 任务优先级相同 :顺序任务调度中所有任务优先级相同。如装配线堵塞时,处理堵塞并关闭生产线的代码应优先于其他任务,但顺序调度无法很好地处理这种情况。
3.
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



