列,PowerPC ROM 和 RAM
以上 2 种操作系统是选择出来的代表,从中我们可以看出每种系统各具特点。
μc/os 本意就是微控制器操作系统,μc/osII 适用于适合嵌入式开发入门的使用, 功能齐全,可扩展性强,结构不复杂,实时性也很强。主要适用于一些小型嵌入式 设备的开发。VxWorks 自带多处理器控制程序,有规范的内存管理,上百个精简独 立的目标模块构成这一实时操作系统,用户可自行选择所使用模块进行配置,维护 了系统的安全可靠。在军事航天等高尖技术和对实时性有着极高要求的领域有着广 泛使用。在一些重要领域里,VxWorks 有着不可替代的地位,例如,美国波音公司 将其投入飞机制造,太空部将其用于外部空间的研究等等[6]。
我们知道,实时操作系统会管理多个任务,使它们能够协作工作。每个任务调
度时间一定,中断能够及时快速响应,在要求的最短时间范围内完成操作。多任务
操作系统的核心就是任务进行调度,为不同的任务分配不同的占用中央处理器时间。 实时并不是像读起来那么简单,要想做到实时性,中断服务程序就必须短,否则低 级中断无法及时响应,就违背了实时性的要求。
中断管理也是实时操作系统不可缺少的部分,利用中断,系统可以与外界沟通。 一个实时操作系统通常要处理多个外部事件或信息,例如,温度报警、串口通信等。 当然不同的事件有不同的轻重缓急,温度报警比串口通信更为重要,所以要立即做 出处理,而串口通信则延迟处理,并不会影响到整个系统。由此提出了中断嵌套机 制,以确保重要的事件能够得到及时的响应和处理。
优先级区分任务也是实时性操作系统特点之一,要想达到实时,任务就必需有 优先级,重要的任务优先级高,任务优先级也是任务调度最基本依据。通过利用优 先级进行调度的机制,操作系统保证了优先级高的任务相比优先级低的任务得到更 多的使用 CPU 的时间,但是优先级低的任务也不会得不到执行。由此,当我们进行 编程时一定要在任务无事可做时设置延时阻塞,这样能保证低的优先级任务不会因 为有高优先级任务运行而被忽视从而得到运行的机会。
2。2 实时内核μc/os
内核是一个操作系统的中心,它主要功能就是进行任务调度。由美国人 Labrosse 编写的μc/os 是一个典型实时多任务内核,本课题中所用的是第三代版本μc/osIII,是 μc/os 最新版本。
实时内核用于管理微处理器、微控制器或者数字信号处理器的时间及硬件资源 的软件代码。实时内核负责管理调度任务,决定运行哪个任务,何时停止运行当前 任务并切换到其他任务,当然也包括了操作系统初始化、任务创建删除、多任务管 理和中断管理等。μc/osIII 是一个可剥夺型实时内核,总是执行当前优先级最高的任 务,如图 2-1。
等待事件高优先级任务等待的事件
时间 等待事件
无限循环无限循环
图 2-1 可剥夺型多任务内核
2。3 μc/os 实时内核的发展
1992 年美国人 Labrosse 完成了μc/os 第一代实时内核,1998 年第二代内核μc/osII 成功面世,2009 年诞生了第三代内核即最新的μc/osIII,经过将近 20 年的发展改进, μc/os 操作系统得到越来越广泛的应用。论文网