实时嵌入式操作系统艾云峰aiyunfeng@gmail.comCollegeofComputing&CommunicationEngineeringReal-timeEmbeddedOperatingSystem主要内容1.嵌入式系统介绍2.实时嵌入式系统3.实时操作系统概要介绍几个例子嵌入式系统--定义嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统嵌入式系统--发展历史(1)现代计算机技术的两大分支通用计算机系统嵌入式计算机系统1946年诞生了电子数字计算机供养在特殊机房中、实现数值计算的大型昂贵设备1970’s,第一片微处理器(Intel4004)诞生微处理器为核心的微型计算机以其小型、价廉和高可靠性特点,迅速走出了机房,表现出了高度的智能化水平控制专业人士将微型机嵌入到一个对象体系中,并配置各种外围接口电路,安装到大型舰船中构成自动驾驶仪或轮机状态监测系统不同的技术发展要求和发展方向嵌入式系统--发展历史(2)通用计算机系统技术要求是高速、海量的数值计算;技术发展方向是总线速度的无限提升,存储容量的无限扩大。嵌入式计算机系统的技术要求则是对象的智能化控制能力;技术发展方向是与对象系统密切相关的嵌入性能、控制能力与控制的可靠性。嵌入式系统的应用移动计算平台PDA,掌上电脑信息家电数字电视、数字冰箱、机顶盒智能交通系统(ITS)汽车电子、智能综合路口控制机、高速公路的信息监控医疗仪器领域嵌入式心脏起搏器、嵌入式放射设备及分析监护设备无线通讯设备智能手机、股票接收设备工业/商业控制智能工控设备、POS/ATM机….嵌入式系统--硬件组成嵌入式处理器存储器输入设备输出设备外围接口软件硬件单元中央处理器是嵌入式系统的核心,它负责控制整个系统的执行。括微处理器、微控制器、DSP处理器、专用处理器、SOC(SystemonChip)存储器按存储信息的功能可分为只读存储器ROM(ReadOnlyMemory)和随机存储器RAM(RandomAccessMemory)嵌入式系统中的输入形式一般包括触摸屏、语音输入、按键和虚拟键盘输出设备则主要有LCD显示和语音输出外围接口主要有GPIO、串口、I2C总线、USB总线和IEEE1394总线等等嵌入式系--软件组成有时也叫板级支持包,是一个介于硬件与软件之间的中间层次。硬件抽象层通过特定的上层接口与操作系统进行交互,向操作系统提供底层的硬件信息,并根据操作系统的要求完成对硬件的直接操作HardwareAbstractionLayer:BSP&DeviceDriverSCSIDriverFlashDriverMMUDriverCacheDriverSerialDriverEthernetDriverDeviceDrivers支持嵌入式系统应用的操作系统软件,它是嵌入式系统(包括硬、软件系统)极为重要的组成部分,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器Browser等HardwareIndependentSoftwareTCP/IPStackI/OSystemRTOSlibrariesRTOSKernelFileSystemBootLoader中间件位于操作系统和应用软件之间,屏蔽了各种操作系统提供不同应用程序接口的事实,向应用程序提供统一的接口,从而便于用户开发应用程序,同时也使应用程序具有跨平台的特性。嵌入式应用程序运行于操作系统之上,利用操作系统提供的机制完成特定功能的嵌入式应用,不同的系统需要设计不同的嵌入式应用程序。它是整个系统功能的体现,系统的能力总是通过应用程序表现出来。一个嵌入式系统可简单的没有支撑软件,甚至没有操作系统,但却不能没有应用软件,否则它就不能成为一个系统。嵌入式系统--类型不同的分类标准按嵌入方式分类按嵌入程度分类按实时性分类按系统复杂程度分类整机式嵌入部件式嵌入芯片式嵌入将一个带有专用接口的计算机嵌入到一个系统中,使其成为这个系统的核心部分将计算机系统以部件的方式嵌入到设备中,用以完成某一处理功能。这种方式使计算机部件与其它硬件耦合的更加紧密,功能更专一将一个具有完整计算机功能的芯片嵌入到设备中。这种芯片上具有存储器和完整的输入/输出接口,能完成专门的功能实时非实时系统对输入的处理必须在时间上与输入相同步,即必须能对输入事件在限定的时间内做出反应。对于实时嵌入式系统来说,如果在一定的时间之内未能对某个输入及时地予以处理,就会导致系统失效,甚至全面崩溃。非实时的嵌入式系统对输入事件是否能在限定的时间内予以处理要求不是非常严格,甚至根本没有要求。主要内容1.嵌入式系统介绍2.实时嵌入式系统3.实时操作系统概要介绍实时系统例子实时武器防御系统目标:及时打下飞来的导弹,保护海军驱逐舰免遭破坏防御系统组成:雷达系统、指挥决策(C&D)系统、武器防卫系统工作方式:雷达系统扫描和搜索潜在目标,把目标的坐标以很高频率周期性的发送到C&D系统C&D系统根据雷达发送来的目标信息通过威胁分类和评估确定威胁等级,如果威胁是紧急的,则在最短时间内计算出目标的飞行速度和路径,并用飞行路径上的一个移动方框描述其位置所在C&D系统激活武器防卫系统瞄准影响的位置,并引导武器系统对移动方框进行连续开火直到目标被击毁实时系统定义:简单地说,实时系统可定义为对外部事件及时响应的系统,从外部激励输入到系统响应输出的时间,能满足所规定的响应时间要求,并且不仅要执行无误而且要做到准时,否则如出现偏差将会引起严重后果。实时系统的结构:Source:Real-timeConceptsforEmbeddedSystems实时嵌入式系统实时嵌入式系统areal-timeembeddedsystemisanembeddedsysteminwhichthecorrectnessofcomputationnotonlydependsontheirlogicalcorrectness,butonthetimeatwhichtheresultisproduced。基本特点响应时间能满足要求应用于专用场合Source:Real-timeConceptsforEmbeddedSystems实时嵌入式系统--基本组成硬件设备硬件设备硬件设备硬件抽象层嵌入式实时操作系统应用程序应用程序应用程序实时嵌入式系统—研究内容之一应用需求随着嵌入式系统的广泛应用及嵌入式实时操作系统的不断普及,嵌入式环境下的数据管理问题成为系统中的重要环节,构建嵌入式实时数据库系统(RTDBS)成为嵌入式开发中必须解决的问题传统的数据库无法应用在嵌入式系统中实时嵌入式数据库-概述实时嵌入式系统—研究内容之一目前嵌入式系统开发中,在实时数据库问题上的多数看法是,嵌入式RTDBS从本质上说是一个“内存数据库”,是一个由应用程序管理的内存缓冲池,它在系统中的作用就是一个供多个实时任务共同使用的共享数据区其功能主要是数据的存和取,不具有独立性,不是一个真正意义上的数据库系统一个完整的嵌入式实时数据库系统除了包括内存数据库外,还应当含有历史数据库和数据库管理系统DBMS及提供给用户的接口函数,整个数据库可由DBMS完成对数据库的具体配置及各种操作实时嵌入式数据库-内涵实时嵌入式系统—研究内容之一一类是商用级的嵌入式实时数据库系统,它独立于具体的应用软件,如美国McObject公司提供的eXtremeDB内存式实时数据库,这是一种专门为嵌入式系统数据库管理而编写的实时数据库,它将数据库直接建立在内存之中,并根据应用特征产生数据库API,用户可方便的调用这些接口函数管理整个数据库系统另一类是用户针对具体的应用对象而自行设计开发的嵌入式实时数据库系统,这种数据库一般是嵌入到应用软件中作为应用程序的一部分,不具有独立性,目前测控系统中用户开发的实时数据库大都属于这种情况实时嵌入式数据库-当前的实时数据库实时嵌入式系统—研究内容之一实时嵌入式数据库-体系结构实时嵌入式系统—研究内容之一Empress加拿大专业嵌入式数据库公司Empress的产品eXtremeDB内存式实时数据库是为实时系统及嵌入式系统而特别设计的数据库美国McObject公司SQLite开源数据库://给出大量实时嵌入式数据库的参考资源实时嵌入式数据库-数据库举例实时嵌入式系统—研究内容之二提高软件生产率和软件质量的需求激发了人们使用中间件的愿望。中间件位于应用和底层之间。它能够使系统设计人员从部件位置、编程语言、OS平台通信协议和互连以及硬件依赖中解放出来,从而大大地简化了软件的开发。实时中间件技术当前状况大多数当前的中间件产品在实时的和嵌入式系统中只有有限的应用,因为所有的请求都具有同样的优先级。此外,当前中间件产品的内存要求妨碍了它们在嵌入式系统中的部署。中间件技术-概述实时嵌入式系统—研究内容之二TAO是一种实时COBRA原型,它支持请求优先级和调度策略的定义。CORBA3.0规范建立在这一研究基础之上,它实现了实时的和最小中间件的标准化。中间件技术-现状实时嵌入式系统—研究内容之三重要地位软件测试费用占项目总费用的25%以上嵌入式软件由于与硬件结合紧密、实时性要求等特点则花费更大与传统测试技术区别与时间和硬件密切相关例:对外部事件响应的测试问题实时软件测试技术实时嵌入式系统—研究内容之三特点实时嵌入式系统最大的特点是具有一组动态属性,如中断处理和上下文切换、响应时间、资源分配和优先级处理、任务同步和任务通信等要测试或验证这些属性(特别是时间确认)是很困难需要建模和仿真及对数学工具的支持这些特点导致了实时软件分析技术是实时嵌入式系统中的热点研究问题之一实时软件分析技术实时嵌入式系统—研究内容之四实时嵌入式系统的可靠性研究可靠性保证技术可靠性评价技术实时嵌入式系统的实时性研究实时性保证技术实时性评价技术主要内容1.嵌入式系统介绍2.实时嵌入式系统3.实时操作系统概要介绍Source:Real-timeConceptsforEmbeddedSystems实时操作系统概要介绍实时操作系统的简要历史RTOS的定义及组成RTOS之内核的描述RTOS的关键特性实时操作系统的简要历史无操作系统的嵌入算法阶段简单监控式的实时操作系统阶段通用的嵌入式实时操作系统阶段面向Internet网络的、特定应用的嵌入式操作系统阶段面向应用特定的操作系统---ASOSRTOS举例硬实时vxWorkspSOSVRTSLynxOSNucleusQNXuC/OS-II软实时WindowsCEWindowsEmbeddePalmOSRTLinuxHardhatLinuxRTOS的定义从功能角度实时操作系统是一个程序,它按时序方式调度执行任务、管理系统资源,并为开发应用代码提供一致的基础。从组成角度是一种支持嵌入式系统应用的操作系统软件,它是嵌入式系统(包括硬、软件系统)极为重要的组成部分,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等某些应用中,一个RTOS可以包含多个模块:内核、文件系统、网络协议栈和应用要求的其他部件某些应用中,一个RTOS只有一个内核,仅提供最小逻辑的核心检测软件、调度和资源管理算法RTOS的组成-高级视图(High-levelview)RTOS内核的组成调度器(scheduler)-包含在每个RTOS中,一组算法(调度算法)决定何时执行哪个任务服务(service)-是内核在对象上执行的操作或通用的操作,通常表现为一组用户可以调用的api函数。对象(object)是特殊的内核构件,帮助开发者创立实时嵌入式系统的应用。常见