购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.1 引言

目前,对嵌入式系统的定义多种多样,但没有一种定义是全面的。下面给出两种比较合理定义。

从技术的角度定义:以应用为中心,以计算机技术为基础,软件/硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

从系统的角度定义:嵌入式系统是设计完成复杂功能的硬件和软件,并使其紧密耦合在一起的计算机系统。术语反映了这些嵌入式系统通常是更大系统中的一个完整的部分,称为嵌入的系统。嵌入的系统中可以共存多个嵌入式系统。

计算机系统由硬件和软件组成,在发展初期没有操作系统这个概念,用户使用监控程序来使用计算机。随着计算机技术的发展,计算机系统的硬件、软件资源也越来越丰富,监控程序已不能适应计算机应用的要求。于是在20世纪60年代中期,监控程序又进一步发展形成了操作系统(Operating System)。发展到现在,广泛使用的有三种操作系统,即多道批处理操作系统、分时操作系统及实时操作系统。提到桌面型计算机的操作系统,全世界超过九成的PC使用的是微软(Microsoft)公司的Windows操作系统,其他也有一些颇具知名度的操作系统,如苹果(Apple)公司的MacOS,工作站级计算机常用的Sun公司的Solaris,还有Linux或是FreeBSD等免费的操作系统。但是提到嵌入式系统中所使用的操作系统,一般用户就很少了解了。

由于大型嵌入式系统需要完成复杂的功能,所以需要操作系统来完成各任务之间的调度。由于桌面型操作系统的体积,以及实时性等特性不能满足嵌入式系统的要求,从而促进了嵌入式操作系统的发展。

操作系统定义:操作系统(Operating System,OS)的基本思想是隐藏底层不同硬件的差异,向在其上运行的应用程序提供一个统一的调用接口。应用程序通过这一接口实现对硬件的使用和控制,不必考虑不同硬件操作方式的差异。

很多产品厂商选择购买操作系统,在此基础上开发自己的应用程序,形成产品。事实上,因为嵌入式系统是将所有程序,包括操作系统、驱动程序、应用程序的程序代码全部烧写进ROM 里执行,所以操作系统在这里的角色更像是一套函数库(Library)。

操作系统主要完成三项任务:内存管理、多任务管理和外围设备管理。

操作系统是计算机中最基本的程序。操作系统负责计算机系统中全部软、硬件资源的分配与回收、控制与协调等并发的活动;操作系统提供用户接口,使用户获得良好的工作环境;操作系统为用户扩展新的系统功能提供软件平台。

嵌入式操作系统(Embedded Operating System,EOS):负责嵌入式系统的全部软、硬件资源的分配、调度、控制、协调;它必须体现其所在系统的特征,能够通过加载/卸载某些模块来达到系统所要求的功能。

嵌入式系统的操作系统核心通常要求体积很小,因为硬件ROM 的容量有限,除了应用程序之外,不希望操作系统占用太大的存储空间。事实上,嵌入式操作系统可以很小,只提供基本的管理功能和调度功能,缩小到10KB到20KB以内的嵌入式操作系统比比皆是,相信用惯微软的Windows系统的用户,可能会觉得不可思议。

不同的应用场合会产生不同特点的嵌入式操作系统,但都会有一个核心(Kernel)和一些系统服务(System Service)。操作系统必须提供一些系统服务供应用程序调用,包括文件系统、内存分配、I/O存取服务、中断服务、任务(Task)服务、时间(Timer)服务等,设备驱动程序(Device Driver)则是要建立在I/O存取和中断服务上的。有些嵌入式操作系统也会提供多种通信协议,以及用户接口函数库等。嵌入式操作系统的性能通常取决于核心程序,而核心的工作主要在任务管理(Task Management)、任务调度(Task Scheduling)、进程间的通信(IPC)、内存管理(Memory Management)。

Linux操作系统是UNIX操作系统的一种克隆系统,它诞生于1991年的10月5日(这是第一次正式向外公布的时间)。此后借助于Internet,经过全世界各地计算机爱好者的共同努力,现已成为当今世界上使用最多的一种UNIX类操作系统,并且使用人数还在迅猛增长。

Linux是目前最为流行的一款开放源代码的操作系统,从1991年问世到现在,不仅在PC平台,还在嵌入式应用中大放光彩,逐渐形成了与其他商业EOS抗衡的局面。目前正在开发的嵌入式系统中,70%以上的项目选择Linux作为嵌入式操作系统。

经过改造后的嵌入式Linux具有适合于嵌入式系统的特点。

(1)内核精简,高性能、稳定。

(2)良好的多任务支持。

(3)适用于不同的CPU体系架构。支持多种体系架构,如X86、ARM、MIPS、ALPHA、SPARC等。

(4)可伸缩的结构。可伸缩的结构使Linux适合于从简单到复杂的各种嵌入式应用。

(5)外设接口统一。以设备驱动程序的方式为应用提供统一的外设接口。

(6)开放源码,软件资源丰富。广泛的软件开发者的支持,价格低廉,结构灵活,适用面广。

(7)完整的技术文档,便于用户的二次开发。

uClinux是一个完全符合GNU/GPL公约的操作系统,完全开放代码。uClinux从Linux 2.0/2.4内核派生而来,沿袭了主流Linux的绝大部分特性。它是专门针对没有MMU的CPU,并且为嵌入式系统做了许多小型化的工作。适用于没有虚拟内存或内存管理单元(MMU)的处理器。例如,ARM7TDMI。它通常用于具有很少内存或Flash的嵌入式系统。它保留了Linux的大部分优点:稳定、良好的移植性、优秀的网络功能、完备的对各种文件系统的支持,以及标准丰富的API等。 Ol2wWj5BTdUS+06jURlGF3ppocNIjHvI3AYZbAevuVzY9821UA4Rh1CWR/rLYBwD

点击中间区域
呼出菜单
上一章
目录
下一章
×