返回列表 发帖

基于Linux的嵌入式操作系统研究(4)

  
第二章 嵌入式系统的特点
2.1 嵌入式处理器的要求
嵌入式系统的核心部件是嵌入式处理器。市场上形成竞争力的嵌入式处理器比PC使用的
微处理器的垄断局面要好的多。几乎每个半导体厂家都生产自己的嵌入式处理器,越来
越多的公司都有自己的嵌入式处理器设计部门。嵌入式处理器的功能跨度很广,寻址空
间从64KB到16MB,处理速度从0.1MIPS到2000MIPS,常用封装从8个引脚到144个引脚。目
前,嵌入式处理器主要可以分为如下几类:
1)嵌入式微处理器
   嵌入式微处理器就是和通用计算机里面对应的CPU。在应用中,一般是将微处理器装
配在专门设计的电路板上,在母板上只保留和嵌入式相关的功能即可。这样可以满足嵌
入式系统体积和功耗大幅度减小的要求。
  目前的嵌入式处理器主要包括有AM186/88、386EX、SC-400、PowerPC、Motorola 680
00、MIPS、ARM系列等等。
2)嵌入式微控制器
  嵌入式微控制器又称单片机。它是将一整个计算机系统集成到一块芯片上。一般在单
片机里面以一块嵌入式微处理器内核为核心,然后集成上ROM/EPROM、RAM、总线、总线
逻辑、定时/计数器、Watchdog、I/O、串行口、脉宽调制输出、A/D、D/A、Flash RAM、
EEPROM等等必要的产品和功能外设。因为这些功能外设是集成在这块单片机芯片中的,
因此需要生产出一系列的产品方便用户的定制。
  目前的嵌入式微控制器主要有8051、P51XA、MCS-251、MCS-96/196/296、C166/167、
MC68HC05/11/12/16、68300等等。目前的嵌入式市场由单片机占领了约70%的市场份额。
  
3)嵌入式DSP处理器
  在DSP(Digital Signal Processor)里面专门为系统结构和指令系统进行设计,提高
了编译效率和执行速度。在数字滤波、FFT、谱分析、图像处理的分析等领域,DSP正在
大量进入嵌入式市场。
  因为现在嵌入式系统的智能化,例如需要推出各种带有智能逻辑的消费类产品,生物
信息识别终端,ADSL接入等等都需要实现运算量较大的智能的化算法。这些正是DSP的强
项。
目前采用最多的是TI公司的TMS320系列和Motorola的DSP56000系列。
2.2 RTOS的要求
开发嵌入式系统需要一个支持实时多任务的操作系统(RTOS)内核来支持。因为嵌入式
的应用不仅仅局限于原来的只是面对系统级的需求,而是需要面对用户级的应用,满足
在各个层次上尤其是消费电子产品的需求。在这个方面,嵌入式的应用系统的开发和定
制变得越来越重要。传统的使用循环控制的嵌入式系统不能满足足够的需求。目前在中
国大多数的嵌入式软件开发还是在基于处理器直接编写,而没有采用商品化的RTOS,那
么在开发嵌入式系统时无法将系统软件和应用软件分开处理,每次开发的时候都要特别
定制系统软件和应用软件,开发的代价太大,成本过高。
使用RTOS内核,可以针对使用的处理器进行优化设计,做成一个高效率的实时多任务内
核。并且在上面可以根据不同处理器体系结构设计出不同的API接口,这些是RTOS基于设
备独立的应用程序开发基础。
在RTOS基础上可以编写出各种硬件驱动程序、专家库函数、行业库函数、产品库函数,
和通用性的应用程序一起,可以作为产品销售。这个角度说,RTOS又是一个软件开发平
台。
在RTOS里面最关键的部分是实时多任务内核,需要实现任务管理、定时器管理、存储器
管理、资源管理、事件管理、系统管理、消息管理、队列管理、旗语管理等等。实现出
效率高,体积小,移植功能强大、易于定制的RTOS是开发嵌入式系统的关键问题。
2.2.1 RTOS的概念
从表现上讲,RTOS是实时嵌入式系统在启动之后运行的一段背景程序。应用程序是运行
在这个基础之上的多个任务。RTOS根据各个任务的要求,进行资源(包括存储器、外设
等)的管理、消息管理、任务调度、异常处理等工作。在RTOS支持的系统中,每个人任
务都有优先级别,RTOS根据各个任务的优先级来动态的切换各个任务,保证对实时性的
要求。这种体系结构简化了编程结构,比过去的循环控制的体系结构有了很大的改进。
  
从性能上讲,RTOS和普通的OS存在的区别主要是在“实时”二字上。“在实时计算中,
系统的正确性不仅仅依赖于计算的逻辑结果而且依赖于结果产生的时间。”[4]从这个角
度上看,我们可以把实时系统定义成“一个能够在实现指定或者确定的时间内完成系统
功能和对外部或内部、同步或异步时间做出响应的系统”。[4]这个定义要求了:
1. 系统应该有在事先定义的时间范围内识别和处理离散事件的能力;
2. 系统能够处理和存储控制系统所需要的大量的数据。
2.2.2 RTOS的分类方法
开发RTOS,需要更多的关注到将来在其上设计出合适的应用相关的考虑。根据不同的应
用,可以有很多种不同的侧重点,不同的侧重点对应了不同的分类方法。下面介绍两种
主要是按照实时调度算法来分类方法。
1. 周期性和非周期性
周期性就是系统通过传感器或者其他周期性设备对外部环境的变化做出探测,对在这个
周期内探测到的变化做出反应。比如在化工厂中反应炉的温度探测控制,如果探测到温
度升高一定水平,需要添加某种材料,保证化学反应的效率,并且将温度下降。
非周期性就是外部事件是循环性发生的但不是有规律性的,或者是突发事件。比如说,
一架客机飞入一个进行空中交通管制的管制范围内所产生的事件。使用非周期性的检测
就比周期性检测要好一些。
2. 硬实时和软实时
硬实时和软实时的区别就在于对外界的事件做出反应的时间。硬实时系统必须是对及时
的事件做出反应,绝对不能错过事件处理的deadline情况。在硬实时系统中如果出现了
这样的情况就意味着巨大的损失和灾难。比如说核电站中的堆芯温度控制系统,如果没
有对堆芯过热做出及时的处理,后果不堪想象。
软实时系统是指,如果在系统负荷较重的时候,允许发生错过deadline的情况而且不会
造成太大的危害。比如说程控电话系统允许在105个电话中有一个接不通。
硬实时系统和软实时系统的实现区别主要是在选择调度算法上。选择基于优先级调度的
算法足以满足软实时系统的需求,而且可以提供高速的响应和大的系统吞吐率;而对硬
实时系统来说,需要使用的算法就应该是调度方式简单,反应速度快的实时调度算法了

2.2.3 RTOS的体系结构
RTOS的体系结构可以用下图来表示:
1)硬件抽象层(HAL)包含了所有和硬件平台相关的代码,如上下文切换和I/O寄存器访
问等等。它存在于RTOS的最底层,直接访问和控制硬件,对其上层的RTOS的机器无关代
码提供访问和控制服务。这样可以简化RTOS内核的移植工作,除了设备驱动程序之外,
在移植的时候只需要修改HAL的代码就可以了。
2)RTOS内核(Kernel)是用来为大多数程序乃至OS(网络、文件系统、驱动程序)构建
一系列在抽象的文件上工作的抽象机,使用户程序及上层OS组件对系统设备透明。
在这个内核里面需要实现如下的接口界面:
l 多线程支持(线程管理,线程同步原语)
l 内存分配原语函数,
l 文件操作接口函数
l 中断、异常及定时器函数
l 其它标准C库函数
l 程序动态装载/卸载
3)在提供的RTOS接口上需要有对用户程序提供的函数接口,专门为用户定制网络、图形
、视频等接口。并且提供驱动程序开发界面,方便开发者对不同需求的设备定制驱动程
序。
一般来说,RTOS内核的实现都为微内核的体系结构。所谓微内核技术是指将必需的功能
(如进程管理、任务通信、中断处理、进程调度)放在内核中,而将那些不是非常重要
的核心功能和服务(文件系统、存储管理、网络通信、设备管理)等等作为内核之上可
配置的部分。这样,整个操作系统就是由提供一些基本服务机制的微内核加上一些服务
进程构成,系统的各个系统调用和服务都是由内核发消息到不同的服务进程,服务进程
执行相应的操作,然后以消息的方式返回内核。
使用微内核的体系结构,使得RTOS体积很小,便于直接放在ROM中,实现ROM固化;同时
方便进行模块化的扩展。
使用微内核的结构也存在很多的缺点,如操作系统的服务模块在独立的地址空间运行,
虽然可以将不同模块间的内存错误隔离开来,但是使得进程间通信和上下文切换的时间
和开销大大增加,降低了系统效率。
2.2.4 RTOS的衡量标准
用来作为RTOS性能衡量标准的指标主要有如下几种:
1)系统响应时间(System Response Time):系统在发出处理要求到系统给出应答信号
的时间;
2)任务切换时间(Context-Switching Time):多任务之间进行切换而花费的时间;
3)中断延迟时间(Interrupt Latency Time):从接收到中断信号到操作系统做出响应
,并完成进入中断服务程序的时间。
2.3 网络要求
嵌入式系统是开发信息电器在软件系统方面的关键技术。信息电器是网络时代的产物,
那么对于用来开发信息电器的嵌入式系统来说,嵌入一个网络协议栈必然会作为开发嵌
入式系统中必要考虑的问题。
在RTOS核心界面上实现网络协议栈,通过网络协议栈提供对嵌入式系统上网络应用程序
的接口。需要能够处理标准的协议,如TCP/IP协议以及相应的应用系列,网络上的设备
也需要提供安全、授权的功能。这些在网络协议栈里面都需要实现。当然,也增加了嵌
入式系统的开发复杂度,提高了开发成本。
在网络协议栈的开发过程中,如果能够利用现成的代码,选用高性能、低价格、稳定的
软件平台,提高开发效率,尽量降低开发成本。
  
2.4 用户交互环境界面
开发嵌入式系统应用于信息电器上,不得不考虑的问题是如何取得在市场竞争实体中的
一席之地。提高市场竞争力不仅仅需要提供稳定、高效的嵌入式系统,更需要提供易学
易用的用户交互界面接口。因为信息电器市场的一大部分是利用它替代PC上网的用户,
他们缺乏必要的计算机知识,也没有必要花费太多的时间学习使用。如果能够提供一个
有限资源需求,并且可以给用户提供友好交互界面的图形界面,市场竞争力必然会升高

因此,这也作为研究嵌入式系统的一个重要论题。
2.5 小结
本章主要介绍了嵌入式系统的主要特点,开发出嵌入式系统的四点重要需求:嵌入式处
理器的支持、RTOS的概念、网络方面的需求和用户交互界面需求。
第三章将分四个部分介绍使用Linux能满足这四个方面的需求,并且在后面的章节将详细
介绍Linux是如何满足这些条件的。

返回列表 回复 发帖