嵌入式操作系统的特点
嵌入式操作系统除具备了一般操作系统最基本的任务调度、同步机制、中断处理、文件处理等功能外,还具有如下特点:
●强实时性;
●支持开放性和可伸缩性的体系结构,具有可裁减性;
●提供统一的设备驱动接口;
●提供操作方便、简单、友好的图形GUI和图形界面;
●支持TCP/IP协议及其他协议,提供TCP/UDP/IP/PPP协议支持及统一的MAC访问层接口,提供强大的网络功能;
●嵌入式操作系统的用户接口通过系统的调用命令向用户程序提供服务;
●嵌入式系统一旦开始运行就不需要用户过多的干预;
●嵌入式操作系统和应用软件被固化在嵌入式系统计算机的ROM中;
●具有良好的硬件适应性(可移植性)。
嵌入式操作系统的功能
嵌入式操作系统的基本功能主要体现在以下两个方面:
1.构成一个易于编程的虚拟机平台
EOS构成一个虚拟机平台,EOS把底层的硬件细节封装起来,为运行在它上面的软件(如中间件软件和各种应用软件)提供了一个抽象的编程接口。软件开发在这个编程接口的上进行,而不直接与机器硬件层打交道。EOS所提供的编程接口实际上就是操作系统对外提供的系统调用函数。
2.系统资源的管理者
EOS是一个系统资源的管理者,负责管理系统当中的各种软硬件资源,如处理器、内存、各种I/O设备、文件和数据等,使得整个系统能够高效、可靠地运转。
运行在嵌入式环境中的EOS其目标是为了完成某一项或有限项功能,而非通用型的操作系统,因此在性能和实时性方面有严格的限制,能耗、成本和可靠性通常是影响设计的重要因素,要求占用资源少,适合在有限存储空间运行,要求系统功能可以根据产品的设计要求进行剪裁、调整。
所有的EOS都有一个内核(kernel),内核是系统当中的一个组件,它包含了任务管理、存储管理、输入/输出(I/O)设备管理和文件系统管理四个功能模块。其中:
● 任务管理:对嵌入式系统中的运行软件进行描述和管理,并完成处理机资源的分配与调度;
● 存储管理:用来提高内存的利用率,方便用户的使用,并提供足够的存储空间;
● I/O设备管理:方便设备的使用,提高CPU和输入/输出设备的利用率;
● 文件管理:解决文件资源的存储、共享、保密和保护等问题。
不同的嵌入式系统的EOS所包含的组件可能各不相同,内核设计也可能各不相同的,完全取决于系统的设计以及实际的应用需求。
嵌入式操作系统的分类
EOS可以按照系统的类型、响应时间和软件结构等不同的标准来分类。
1.按系统的类型分类
按照系统的类型,可以把EOS分为商业化系统、专用系统和开放源代码系统三大类。
(1)商业化系统
商业化的EOS的特点是功能强大,性能稳定,辅助软件工具齐全,应用范围广泛,但成本较高。
(2)专用系统
专用系统是一些专业厂家为本公司产品特制的嵌入式操作系统,一般不提供给应用开发者使用。
(3)开放源代码系统
开放源代码的嵌入式操作系统有μC/OS和各类嵌入式Linux系统等,具有免费、开源、性能优良、资源丰富、技术支持强等优点,是近年来发展迅速的一类操作系统。
2.按响应时间分类
按照系统对响应时间的敏感程度,EOS可以分为RTOS(Real Time Operating Systems ,实时操作系统)和非实时操作系统两大类。
(1)RTOS对响应时间有非常严格的要求,当某一个外部事件或请求发生时,相应的任务必须在规定的时间内完成相应的处理。RTOS可以分为硬实时和软实时两种情形。
(2)非实时系统对响应时间没有严格的要求,各个进程分享处理器,以获得各自所需要的运行时间。
3.按软件结构分类
按照软件的体系结构,EOS可以分为单体结构、分层结构和微内核结构三大类。
(1)单体结构
单体结构的操作系统由一组功能模块组成,系统的各个模块之间可以相互调用,通信开销比较小,系统高度集成和相互关联,系统剪裁、修改、调试和维护不方便。
(2)分层结构
采用分层结构(layered)的操作系统内部分为若干个层次(0~N),各个层次之间的调用关系是单向的,即某一层次上的代码只能调用比它低层的代码。分层结构要求在每个层次上都要提供一组API接口函数,增加了系统的额外开销,但系统的开发和维护较为简单。
(3)微内核结构
微内核(microkernel)结构把操作系统的大部分功能都剥离出去,在内核中只保留最核心的功能单元(如进程管理和存储管理),大部分的系统功能都位于内核之外。
常见的嵌入式操作系统
1.VxWorks
2.嵌入式Linux
3.Windows CE
4.μC/OS-II