一、嵌入式实时操作系统的基本概念
1.1计算机操作系统
1.1.1 什么是计算机操作系统
操作系统(Operating System,OS):是一种系统软件,它在计算机硬件与计算机应用程序之间,通过提供应用程序接口(Application Programming Interface,API),屏蔽了计算机硬件工作的一些细节,从而使应用程序的设计人员得以在友好的平台上进行应用程序的设计和开发,大大提高了应用程序的开发效率。
在计算机系统中,操作系统负责对计算机系统的主要几类资源,如处理器、存储器、输入/输出设备、数据与文档资源、用户作业等进行管理,并向计算机用户提供若干服务。通过这些服务,将计算机硬件的复杂操作隐藏起来,从而为应用程序提供一个透明的操作环境。
计算机的操作系统、硬件与应用程序之间关系:
由上图:
(1)一个完整的计算机系统是由硬件和软件两部分组成的。硬件是所有软件运行的物质基础,软件能充分发挥硬件的潜能和扩充硬件的功能,两者相互依存,缺一不可。
(2)在计算机系统中的硬件和软件是分层次的。下层是上层运行的基础,上层是下层功能的扩充;下层对上层隐藏了下层功能实现的细节,只对上层提供了使用这些功能的接口。
操作系统层通常是最靠近硬件层的软件层,主要完成计算机硬件资源的调度和分配、信息的存储和保护以及并发活动的协调和控制等许多工作。
1.1.2 操作系统的作用和功能
1.操作系统的作用
计算机的操作系统为应用程序提供了一个界面友好,性能稳定、安全,效率高,操作方便的虚拟计算机。
2.操作系统的功能
(1)处理器的管理。操作系统对处理器的管理主要有两项工作:一是对中断的管理;二是对处理器的工作进行调度。
(2)存储的管理
(3)设备的管理
(4)文件的管理
(5)网络和通信的管理
(6)提供用户接口
1.2嵌入式系统和嵌入式操作系统
1.2.1 嵌入式系统的基本概念
1.什么是嵌入式系统
定义:嵌入式系统是对对象进行自动控制而使其具有智能化并可嵌入对象体系中的专用计算机系统。
嵌入式系统三要素:嵌入性、专用性、计算机系统
2.嵌入式系统的发展历程
(1)单片机型系统芯片:MCU、SoC
MCU:不断地在一个芯片上扩展满足宿主对象系统所要求的各种外围电路与接口电路,以增强其对宿主对象的智能化控制能力。
(2)通用型微处理器
3.嵌入式系统的特点
(1)专用性强
(2)可裁剪性好
(3)实时性与可靠性好
(4)功耗低
1.2.2 嵌入式操作系统
1.什么是嵌入式操作系统
运行在嵌入式硬件平台上,对整个系统及其所操作的部件、装置等资源进行统一协调、指挥和控制系统软件就叫做嵌入式操作系统。
主要特点如下:
(1)微型化
(2)可裁剪性
(3)实时性
(4)高可靠性
(5)易移植性
2.实时操作系统
如果操作系统能使计算机系统及时响应外部事件的请求,并能及时控制所有实时设备与实时任务协调运行,且能在一个规定的时间内完成对事件的处理,那么这种操作系统就是一个实时操作系统(Real Time Operation System,PTOS).
基本要求:
(1)实时系统的计算必须产生正确的结果,称为逻辑或功能正确
(2)实时系统的计算必须在预定的时间内完成,称为时间正确。
按照时间正确的程度来分:实时操作分为硬实时操作系统和软实时操作系统。
1.2.3 嵌入式操作系统需要满足的条件
(1)实时操作系统必须是多任务系统
(2)任务的切换时间应与系统中的任务数无关
(3)中断延迟的时间可预知并尽可能短
1.多任务:
(1)大大提高CPU的利用率
(2)可以将一个大的应用程序分成相对独立的多个任务来完成,方便应用程序的设计、维护。
2.内核的类型
(1)可剥夺型:CPU总是运行多个任务中优先级别最高的那个任务。
(2)不可剥夺型:优先级别最高的任务最先获得CPU使用权,内核要求每个任务必须主动放弃CPU使用权。
3.任务的切换时间
操作系统的调度器
要求作为任务切换的调度器的运行时间是固定的,即调度器进行任务切换所用的时间不能受应用程序中的其他因素影响。
4.中断延迟
中断延时影响系统的实时性。
1.2.4 嵌入式系统的任务及嵌入式实时操作系统
1.嵌入式系统的任务
void mytask(void * pdata)
{
for(; ; )
{
用户编写代码
}
}
优点:高可靠性、良好的可裁剪性。
2.嵌入式实时操作系统
(1)内存管理
(2)多任务管理
(3)外围资源管理
3.嵌入式操作系统的现状