已阅读5页,还剩37页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 y6 1 8 3 9 6 摘要 信息技术的快速发展和互联网的广泛应用,使得现代家电具有广泛的前景。现 代家电的多样性决定了在其上的应用的多样性,总的来说现代家电上的应用环境是 一个硬实时应用、软实时应用与普通应用混合的环境,例如,作为网络终端,接入 i n t e m e t 的数字电视机,其功能在包含收发电子邮件这样的非实时处理的同时,又具 有如后台的图像处理这样软实时处理。而在和家庭安全防范相关的些家用电器中, 比如家庭安全监控系统中的一些应用要求嵌入式操作系统支持硬实时性。 本论文首先对嵌入式系统的相关概念做出表述,介绍了嵌入式系统,嵌入式操 作系统,现代家电的概念、研究现状和发展前景。对嵌入式操作系统内核的核心功 能,从实时性,进程调度,时钟中断,内存管理几个方面进行了详细的阐述。在对 相关概念和对现代家电应用环境的进行分析的基础上,本文分析了“c l i n u x 的内存 管理方案,提出并实现了基于快速适配算法的物理内存管理算法。在应用于现代家 电这样的特定环境下,有效的提高了内存的分配和回收的效率。此外,本文还提出 了一种针对于软实时环境的进程调度策略,该策略使用定时器机制来保证软实时应 用之间的质量控制。论文的主要工作如下: 1 、简要介绍本课题的一些背景情况,阐述了课题的研究背景及其研究意义;从 嵌入式系统及嵌入式操作系统的发展和特点等方面,对当前的国内与国外的研究动 态进行分析。 2 、从内核结构、实时性、进程调度、中断处理、内存管理几个方面对嵌入式操 作系统的内核进行了分析,阐述了嵌入式操作系统内核相关的一些概念和算法。同 n l 。对常见的嵌入式操作系统l i n u x ,q n x ,u c o s i i 等进行了比较分析。 3 、在对uc l i n u x 的内存管理方案和现代家电的应用进行分析的前提下,提出了 h d c - r e o s 内存管理方案并详细阐述了其实现的技术细节。 4 、对uc l i n u x 的内核在进程调度,时钟中断两个方面进行了进一步的分析,并 结合现代家电的应用特点提出了相应的优化方案。 5 、对全文进行了总结。 关键词:嵌入式操作系统内存管理进程调度中断 摘要 a b s t r a o t t h ed e v e l o p m e n to fi ta n di n t e r n e t b r i n gag o o dp e r s p e c t i v e t om o d e r n a p p l i a n c e t h ev a r i e t y o fm o d e r n a p p l l a n c e r e s u l t si nt h e v a r i e t y o f a p p l i c a t i o no ni t i ng e n e r a l ,t h ea p p l i c a t i o ne n v i r o n m e n tr e q u i r e db ym o d e r n a p p l i a n c ei s ac o m b i n a t i o no fh a r dr e a l t i m e ,s o f tr e a l t i m ea n dg e n e r a l e n v i r o n m e n t f o re x a m p l e ,r e c e i v i n ga n dp o s t i n ge - m a i lt h r o u g ht vo ni n t e r n e t i si nn o nr e a l t i m ee n v i r o n m e n t ,a n di m a g ep r o c e s s i n gi si ns o f tr e a l t i m e e n v i r o n m e n t ,a tt h es a m et i m e ,h a r dr e a l - t i m ee n v i r o n m e n ti sr e q u i r e di ns o m e a p p l i c a t i o no fa p p l i a n c er e l a t e dt os a f e t y ,s u c ha sg u a r ds y s t e mo fh o m e s a f e t y t h i sp a p e ri n t r o d u c es o m eb a s i c c o n c e p t s o fe m b e d d e ds y s t e ma n dc u r r e n t r e s e a r c hs t a t u so fe m b e d d e do p e r a t i n gs y s t e ma n dm o d e r n a p p l i a n c e ,t h e n e l a b o r a t eo nc o r ef u n c t i o no fe m b e d d e do p e r a t i n gs y s y t e mk e r n e l ,i n c l u d i n g r e a l t i m e c h a r a c t e r i s t i t s ,p r o c e s ss e h e d u l i n g ,t i m ei n t e r r u p t ,m e m o r y m a n a g e m e n ta n ds oo n o nt h eb a s i so fa n a l y s i sa b o v e ,an e wp r o c e s ss c h e d u l e p o l i c yf o rs o f tr e a l t i m ee n v i r o n m e n ti sa d v a n c e d ,t h i sp o l i c yu s em e c h a n i s m o ft i m e rt oe n s u r et h eq u a l i t yc o n t r o lo fa p p l i c a t i o ni ns o f tr e a l t i m e e n v i r o n m e n t e x c e p tt h a t ,p h y s i c a lm e m o r ym a n a g e m e n ta l g o r i t h mi sa d v a n c e d b a s e do na n a l y s i so fhc l i n u xm e m o r ym a n a g e m e n ti nt h i sp a p e r ,a n di tc a n i m p r o v ee f f i c i e n c yo fa l l o c a t i o na n dc o l l e c t i o no fm e m o r yu n d e rt h es p e c i a l a p p l i a n c ee n v i r o n m e n t t h em a i nc o n t e n t so ft h i sp a p e ri n o l u d e : f i r s t ,t h ei n t r o d u c t i o no fb a c k g r o u n da n ds i g n i f i c a n c eo ft h er e s e a r c h :t h e d o m e s t i ea n df o r e i g nr e s e a r c ho ne m b e d d e d s y s t e ma n de m b e d d e do p e r a t i n g s y s t e mw a sa n a l y z e d s e c o n d ,a n a l y s i s o fe m b e d d e d o p e r a t i n gs y s t e mk e r n e lm o d u l e ,i n c l u d i n g k e r n e ls t r u c t u r e ,r e a l t i m ec h a r a c t e r i s t i c s ,p r o c e s ss c h e d u l i n g ,i n t e r r u p t p r o c e s s 。m e m o r ym a n a g e m e n t a n ds oo n a t t h es a m et i m ea n a l y s i sa n d c o m p a r i s o n sb ed o n eo nf a m i l i a re m b e d d e do p e r a t i n gs y s t e m t h i r d ,o p t i m i z a t i o ni d e ab eb r i n gf o r w a r do nt h ep r o c e s ss c h e d u l i n go fu c l i n u xb a s e do nt h ec h a r a c t e ro fm o d e r na p p l i a n c e s f i n a l l y ,t h e d e t a i l e d i m p l e m e n t a t i o n o f o p t i m i z a t i o n i d e ao n m e m o r y m a n a g e m e n ti s d e s c r i b e d k e y w o r d s :e m b e d d e do p e r a t i n gs y s t e m ,m e m o r ym a n a g e m e n t ,p r o c e s ss c h e d u l i n g , i n t e r r u p t 2 第一章绪论 第一章绪论 1 1 嵌入式系统 在以个人数字助理、手持个人电脑和现代家电为代表的3 c ( 计算机、通信、消费 电子】一体的时代,嵌入式系统扮演了越来越重要的角色,被广泛应用于信息电器、 移动计算机设备、网络设备和工控仿真等领域。嵌入式系统的相关技术也成为近年 r r 行业的热点。 实际上嵌入式系统这个概念很早以前就已经存在了。嵌入式系统是指:以应用 为中心,以计算机技术为基础,软硬件可裁减,适应应用系统对功能、可靠性、成 本、体积、功耗严格要求的专用计算机系统【”。嵌入式系统包括硬件和软件两部分。 硬件包括处理器微处理器、存储器及外设器件和i o 端口、图形控制器等。软件 部分一般包括嵌入式操作系统和底层软件、图形界面、网络协议等应用软件。其中 嵌入式操作系统控制着应用程序与硬件的交互,在嵌入式系统中有着极其重要的地 位。 1 1 1 嵌入式系统的特点: 1 、嵌入式系统一般都是面向特定的应用的,因此嵌入式系统一般都使用专 用的嵌入式c p u ,嵌入式c p u 具有低功耗,体积小,集成度高等特点, 能够把通用c p u 中许多由板卡完成的任务集成在芯片内部,从而有利 于嵌入式系统设计趋于小型化、移动能力大大增强。 2 、嵌入式系统融合了多种行业的先进技术。嵌入式系统的产生,发展是与 计算机技术、电子技术,通信技术等行业密不可分的。嵌入式系统是一 个技术密集、资金密集、高度分散、不断创新的知识集成系统。 3 、嵌入式系统对软件、硬件有着较高的要求。嵌入式系统的硬件软件都必 须高效率的设计,量体裁衣、去除冗余,才能满足实际应用的要求。 4 、嵌入式系统的软件和硬件的相互依赖性很强。嵌入式系统的软件一般都 是针对特定的硬件平台进行设计的,很多嵌入式系统要软硬件进行协同 设计,这样可以以较小的成本来达到预定的功能,提高嵌入式系统的可 靠性和性能。 5 、嵌入式系统应用广泛、种类繁多。大到车、船和卫星,小到家用电器都 可以找到嵌入式系统的身影,由于实际需要的千差万别,导致多种嵌入 式系统的产生。 嵌入式系统从上世纪七十年代出现后,发展至今已经有3 0 多年的历史,它大致 第一章绪论 经历了以下4 个发展阶段:【2 】第一阶段是以单芯片为核心的可编程控制器系统,同 时具有检测、伺服、指示设备相配合的功能。这一类型的系统大部分用于专业性极 强的工业控制系统中,一般没有操作系统支持,通过汇编语言对系统进行直接控制。 这一阶段系统主要的特点是:结构和功能相对单一、效率较低、存储容量较小、几 乎没有用户接口。由于这种嵌入式系统使用简单、价格便宜,以往在工业领域中应 用较为普遍。但是,它们已经远远不能适应高效的、需要大容量存储介质的现代化 工业控制和后p c 时代新兴的现代家电等领域的要求。第二阶段是以嵌入式中央处 理器( c p u ) 为基础,以简单操作系统为核心的嵌入式系统。这一阶段系统的主要 特点是:c p u 种类繁多、通用性较弱、系统开销小、操作系统只具有低度的兼容性 和扩展性、应用软件较为专业、用户界面不够友好。这种嵌入式系统的主要任务是 用来控制系统负载,以及监控应用程序的运行。第三阶段是以嵌入式操作系统为标 志的嵌入式系统。这一阶段系统的主要特点是;嵌入式操作系统能够运行于各种不 同类型的处理器之上、操作系统内核精小、效率高、模块化程度高、具有文件和目 录管理、支持多任务处理、支持网络操作、具有图形窗口和用户界面等功能、具有 大量的应用程序接口、开发程序简单、并且嵌入式应用软件丰富。然而,在通用性、 兼容性和扩展性方面仍不理想。第四阶段是以基于网络操作为标志的嵌入式系统, 这是一个正在迅速发展的阶段。随着网络在人们生活中的地位日益重要,越来越多 的应用需要采用支持网络功能的嵌入式系统,所以在嵌入式系统中使用网络操作系 统将成为今后的发展趋势。 1 1 2 嵌入式系统的发展趋势: 随着嵌入式系统越来越广发的应用,嵌入式系统的发展也越来越快,今后,嵌 入式系统将朝着s o c ( s y s t e m o n c h i p ) 设计、嵌入式软件设计、提供更好的网络支持 的方向发展。 1 、片上系统s o c 设计 嵌入式产品所需之处理器及晶片组较p c 要求体积小、散热佳、省电,因此 用高整合度的s o c 为其处理器核心为更好的选择。s o c 的核技术是i p ( i n t e l l e c t u a lp r o p e r t yk e r n e l s ) 核构件。i p 核有硬件核、软件核和圆件核,硬件 核主要指8 1 6 3 2 6 4 位m p u 核或d s p 核。而软件核则是软件提供商将s o c 所 需的r t o s ( r e a l t i m eo p e r a t i n g s y s t e m ) 内核软件或其它功能软件。 2 、嵌入式软件设计 嵌入式软件设计包括嵌入式操作系统和嵌入式应用软件,嵌入式操作系统必 须能够依据系统设计规格,有效率的发挥出硬体的运算能力,使得产品达到效 率价格比的最佳化。对嵌入式应用软件来说,采用实时多任务编程技术和交叉 2 第一章绪论 开发工具技术来控制功能复杂性,简化应用程序设计、保障软件质量和缩短开 发周期是必然的方向。 3 、网络支持 为适应嵌入式分布处理结构和应用上网需求,面向2 1 世纪的嵌入式系统要 求配备标准的一种或多种网络通信接口。针对外部联网及现代家电内部联网的 要求,嵌入设备必需配有通信接口,相应需要t c p i p 协议簇软件支持,以及相 应的局域网协议支持,比如蓝牙或红外通信接口。 1 2 嵌入式操作系统 在最初的嵌入式系统中并没有嵌入式操作系统的概念,因为完成简单功能的嵌 入式系统一般不需要操作系统。如以前许多m c s 5 1 系列单片机组成的小系统就只是 利用软件实现简单的控制环路。但是随着所谓后p c 时代的来临,嵌入式系统设计 曰趋复杂,嵌入式操作系统就必不可少了。一般而言,嵌入式操作系统不同于一般 意义的计算机操作系统,它有占用空间小执行效率高、实时性、方便进行个性化定 制和软件要求固化存储等特点。 1 、小巧高效 受嵌入式系统所能够提供的资源限制,嵌入式操作系统在高效的完成预定功 能的同时必须做到体积较小。 2 、实时性 大多数嵌入式系统工作在具有实时性要求的环境中,不同任务要求系统有不 同的相应时间,这就要求嵌入式操作系统应该能对重要性不同的各个任务进行 统筹兼顾的合理调度保证满足每个任务的需求。因此,嵌入式系统一般都要满 足实时性要求。 3 、可裁减 由于嵌入式系统需要根据应用的要求多种多样,所以一个好的嵌入式操作系 统也必须能够根据应用的要求进行相应的裁减,去掉多余的部分,添加需要的 部分,这是一个好的嵌入式系统的重要特征。 上世纪八十年代开始,开始出现各种各样的商业用嵌入式操作系统,这些操作 系统大部分都是为专有系统而开发,从而形成了现在多种形式的商用嵌入式操作系 统并存的局面: w i n d o w sc e : m i c r o s o f tw i n d o w sc e 是一个简洁的,高效率的多平台操作系统。它不是削 减的w i n d o w s 9 5 版本,而是从整体上为有限资源的平台设计的多线程,完整优 先权,多任务的操作系统。它的模块化设计允许它对于从掌上电脑到专用的工 第一章绪论 业控制器的用户电子设备进行定制。操作系统的基本内核需要至少2 0 0 k 的 r o m 。 v x w o r k s : v x w o r k s 操作系统是美国w i n d r i v e r 公司于1 9 8 3 年设计开发的一种嵌入式 实时操作系统( r t o s ) 。它采用微内核的结构,具有支持多种处理器,网络协议 丰富,兼容性和裁减性好等特点,同时具有程序动态连接和下载的功能。 q n x : q n x 是一个实时的,可扩充的操作系统,它遵循p o s i x 1 ( 程序接口) 和 p o s i x 2 ( s h e l l 和工具) 、部分遵循p o s i x 1 b ( 实时扩展) 。它提供了一个很小的 微内核以及一些可选的配合进程。其内核仅提供4 种服务:进程调度、进程问 通信、底层网络通信和中断处理,其进程在独立的地址空间运行。所有其它o s 服务,都实现为协作的用户进程,因此q n x 内核非常小巧( q n x 4 x 大约为 1 2 k b ) ,而且运行速度极快。这个灵活的结构可以使用户根据实际的需求将系统 配置成微小的嵌入式操作系统或是包括几百个处理器的超级虚拟机操作系统。 e e o s : e e o s 是中科院计算所组织开发的开放源码的嵌入式操作系统。该嵌入式操 作系统重点支持p - j a v a ,要求一方面小型化,一方面能复用l i n u x 的驱动和其他 模块。计算所将在2 3 年内持续投入,以建立扩展能力强,功能完善,且稳定、 可靠的嵌入式操作系统平台。包含e 2 实时操作系统,e 22 1 2 具链及e 2 仿真开发 环境的完整环境。 e 2 实时操作系统包含r t o s 内核系统和一些支持组件,是一个扩展能力强, 功能完善的操作系统,支持p o s i x 标准。e 2 实时操作系统强调模块化( 其a p i 接口标准,底层支持清晰) ,其各模块解决方案可移植、可互换。此外e 2 实时 操作系统提供开放源码。 h o p e n o s : h o p e no s 是凯思集团自主研制开发的嵌入式操作系统,由一个体积很小的 内核及一些可以根据需要进行定制的系统模块组成。其内核h o p e nk e r n e l 一般 为1 0 k b 左右大小,占用空间小,并具有实时、多任务、多线程的系统特征。 l i n u x : l i n u x 是一套以u n i x 为基础发展而成的操作系统。自1 9 9 1 年诞生至今, l i n u x 在很多方面已经赶上甚至超过了很多商用的u n i x 系统。它充分利用了 x 8 6 c p u 的任务切换机制,实现了真正的多任务、多用户环境。l i n u x 对硬件配 置的要求相当低,能够在4 m 内存的3 8 6 机器上很好的运行。而且可以支持很 多种处理器芯片。 4 第一章绪论 l ac l i n u x : 为没有m m u 功能的处理器而产生的变种1 tc l i n u x 让l i n u x 在嵌入式领域内 应用越来越广,开放式开发原则使得l i n u x 下的驱动和升级变得越来越多和越来 越快。 从国内外的嵌入式系统发展状况来说,嵌入时系统的应用正在从传统的单一应 用范围、狭窄应用对象、简单实现功能向现在和未来社会需要的应用需要进行转变。 1 3 现代家电 为了叙述方便,我们把通常所说的现代家电、网络家电和智能家电统称为现代 家电。现代家电是传统家电和计算机技术及网络通信技术高度融合的产物,不同于 传统电器的最大特征是,一台现代家电在具备传统家电一般功能的同时又是一台网 络终端,既具有高品质的视听功能,又具有交互式的信息处理功能、网络接入功能 和通信等功能。 现代家电设备的种类很多,在消费、娱乐、通讯、信号处理等领域都有其广泛 的应用。典型的产品有数字电视、机顶盒、手机及掌上电脑等移动通讯设备、可视 电话等。 现代家电的的发展和应用,需要发展嵌入式系统来支持。现代家电的产品开发 离不开利用网络协议栈,离不开实现实时性能,也离不开提供用户友好的接口。这 些都需要利用嵌入式系统进行开发。 1 4 选题的目的和意义 在以计算机技术、通讯技术相结合的信息时代的快速发展和互联网的广泛应用 的形势下,3 c 合一的趋势已经形成,其结果必然就是将计算机工业的中心从计算产 品转移到信息产品,从而出现现代家电的概念。在现代家电的应用开发领域,由于 需要的功能不断的增加,嵌入式系统也就将成为软件业的新宠儿。同时在计算机本 身的领域里面,微型化和专业化成为了发展的新趋势,同样也需要嵌入式系统的支 持。因此,研究与嵌入式系统有关的关键技术嵌入式操作系统有着相当重要的 实际意义。 嵌入式操作系统可以应用的领域非常广泛,大到车、船和卫星,小到家用电器 都可以找到嵌入式操作系统的身影。由于实际需要的千差万别,导致在嵌入式操作 系统领域,截至目前为止还投有哪一家厂商、那一个产品形成垄断局面。这也为我 们发展自主知识产权的、针对于现代家电的嵌入式操作系统提供了难得的机遇和广 阔的发展空间。 中国作为人口大国,家电的拥有总量在世界上名列第一。我国拥有巨大的电子 产品市场和潜在用户群,嵌入式软件的应用前景十分广阔。在当前情况下,己经成熟的 家电市场没有太大的发展空问,而现代家电的引入将为厂家提供发展与创新的机会, 增强企业持续发展的能力。因此,我们可以说,嵌入式软件将成为2 1 世纪我国信息产 业的支柱之一,嵌入式操作系统也必将成为软件厂商争夺的焦点 本课题的目的是在对几个主流的实时操作系统内核工作机制进行分析的基础 第一章绪论 上,根据现代家电的应用特点,有针对性的对hc l i n u x 内核进行优化。 第二章嵌入式操作系统内核分析 第二章嵌入式操作系统内核分析 本章从内核结构、实时性、进程调度、中断处理、内存管理几个方面对嵌入式 操作系统的内核进行了分析,阐述了嵌入式操作系统内核相关的一些概念和算法。 同时对常见的嵌入式操作系统l i n u x ,q n x ,u c o s i i 等进行了比较分析。本章阐述的 概念和算法思想是第三章、第四章对bc l i n u x 内核进行优化的理论基础。 2 1 内核结构 2 - 1 1 宏内核结构 宏内核结构是指把操作系统所需要的功能如进程管理,内存管理,中断处理, 设备驱动,文件系统,网络支持等都放在内核中。宏内核的优点是内核效率高。缺 点是不易移植,不易裁减。宏内核嵌入式操作系统的一个例子就是嵌入式l i n u x , l i n u x 诞生以来,出现了很多通过对l i n u x 的裁减和修改而得到的嵌入式操作系统。 虽然l i n u x 的宏内核结构不太容易裁减和移植,但是由于以下原因,嵌入式l i n u x 取得了很大的成功: l i n u x 的源代码的开放性 当今对l i n u x 源吗广泛而深入的研究使得对l i n u x 的源代码进行裁减成为可 能 l i n u x 本身已经支持很多硬件平台,在很多环境中,不需要对l i n u x 进行移 植 l i n u x 内核的稳定性有目共睹 l i n u x 是一个成熟的操作系统,有许多应用软件支持 2 1 2 微内核结构 微内核是内核的一种精简形式通常与内核集成在一起的系统服务层被分离出 来,变成可以根据需求加入的选件,微内核结构的操作系统把一些最基本的功能进 程调度、进程通信、中断处理等放在内核中,两把操作系统结构中的网络功能、文 件系统等高级服务功能尽可能地从内核中分离出,变成几个独立的服务进程。 这种体系结构使系统更加容易被裁剪和扩充,因为操作系统的裁剪和扩充工作 已经成为服务器进程的删除和添加。同时,由于操作系统中与硬件有关的细节都包 含在微内核中,这样整个操作系统很容易实现移植。但是微内核结构的操作系统效 率不高,因为服务器进程以及用户进程必须以进程问通信的方式来得到微内核的服 务。 微内核结构也带来了一些问题,系统划分的粒度越精细,必然会造成系统整体 性能的下降,这对微内核体系结构来说也是如此。相对于传统的单一操作系统,微 内核的模块化程度得到的很大提高,但导致了模块间通信代价的提高,服务器进程 以及用户进程必须以进程间通信的方式来得到微内核的服务,同时,需要对应的进 程上下文切换。而在传统的内核结构中只需要一个简单们过程调用即可实现 虽然宏内核结构的l i n u x 在嵌入式领域取得了成功,但是设计一个新的嵌入式操 作系统宏内核结构显然不是一个好的选择。而微内核结构以其精练的内核功能为 第二章嵌入式操作系统内核分析 实现操作系统的高度灵活性和扩展性提供了一个理想的解决方案。因此作为嵌入式 操作系统采用微内核结构是比较好的选择。大多数嵌入式操作系统都是采用的微内 核结构,比如q n x 、v x w o r k s 、u c o s i i 等。 在嵌入式操作系统的微内核中应该包括的功能有:进程管理、进程通信、中断 及异常处理、系统调用、底层内存管理。而高级内存管理、文件系统、网络支持、 设备驱动等功能可以放在内核之外。 2 1 3 不可剥夺型内核 不可剥夺型内核要求每个任务自我放弃c p u 的所有权。中断服务可以使一个高 优先级的任务由挂起状态变为就绪状态。但中断服务以后控制权还是回到原来被中 断了的那个任务,直到该任务主动放弃c p u 的使用权时,那个商优先级的任务才能 获得c p u 的使用权。 不可剥夺型内核的一个优点是响应中断快。使用不可剥夺型内核时,任务级响 应时间比前后台系统快得多。此时的任务级响应时间取决于最长的任务执行时间。 不可剥夺型内核的另一个优点是,几乎不需要使用信号量保护共享数据。运行着的 任务占有c p u ,而不必担心被别的任务抢占。 不可剥夺型内核的最大缺陷在于其响应时间。高优先级的任务已经进入就绪态, 但还不能运行,直到当前运行着的任务释放c p u 。不可剥夺型内核的任务级响应时 间是不确定的,不知道什么时候最高优先级的任务才能拿到c p u 的控制权,完全取 决于应用程序什么时候释放c p u 。 2 1 4 可剥夺型内核 在可剥夺型内核中,最高优先级的任务一旦就绪,总能得到c p u 的控制权。当 一个优先级高的任务进入了就绪态,任务立刻可以得到c p u 的控制权。使用可剥夺 型内核使得任务级响应时间得以最优化。 使用可剥夺型内核时,应用程序不应直接使用不可重入型函数。调用不可重入 型函数时,要满足互斥条件,这一点可以用互斥型信号量来实现。如果调用不可重 入型函数时,低优先级的任务c p u 的使用权被高优先级任务剥夺,不可重入型函数 中的数据有可能被破坏。 2 2 实时性 2 2 1 实时系统的概念 实时系统的特点是:如果逻辑和时序出现偏差将会引起严重后果的系统【4 1 。对于 什么是实时系统,p o s i x1 0 0 3 b 作了这样的定义:指系统能够在限定的响应时间内 提供所需水平的服务。由d o n a l dg i l l i e s 提出的更加为大家接受的定义是:对于实时 系统而言“实时”不仅意味着要求逻辑结果正确,更重要的是响应时间,而且要保 证最坏情况下的响应时闻,即结果必须产生在截止时间之前p j 。 有两种类型的实时系统:软实时系统和硬实时系统,硬实时和软实时的区别就 在于对外界的事件做出反应的时间。在软实时系统中系统的宗旨是使各个任务运行 得越快越好,并不要求限定某一任务必须在多长时间内完成。如果在系统负荷较重 的时候,允许发生错过时限的情况而且不会造成太大的危害。在硬实时系统中,各 第二章嵌入式操作系统内核分析 任务不仅要执行无误而且要做到准时【1 1 。绝对不能错过事件处理时限的情况。在硬 实时系统中如果出现了超过时限的情况就意味着巨大的损失和灾难。现代家电领域 内的实时应用大多属于软实时应用。 2 2 _ 2 实时性的衡量标准 对操作系统的实时性能衡量标准的指标主要有 1 进程调度策略:一个实时操作系统的实时性能和该操作系统的进程调度策略密 切相关; 2 进程切换时间:进程之间进行切换而花费的时间; 3 中断延迟时间:从接收中断信号到操作系统做出响应,并完成迸人中断服务程 序的时间; 4 最大中断屏蔽时间:在操作系统的运行过程中,有时候不可避免的要屏蔽中断, 中断屏蔽期间高优先级的实时应用得不到系统的响应,因此最大中断屏蔽时间 是衡量操作系统实时性的一个重要指标; 绝大多数的商业嵌入式操作系统都具有硬实时性能,但不是所有的嵌入式操作系统 都有硬实时性能,例如p s o s ,由于p s o s 是一个不剥夺型的内核,所以p s o s 的实时性 能受到一定的影响。 2 2 3 l i n u x 的实时性分析 标准l i n u x 是按照分时系统的目标来设计的,标准l i n u x 对多个进程有着较好的 吞吐量。对于实时性的支持,标准l i n u x 有着很多先天的不足,主要有以下几点: 1 、不可剥夺型内核。标准l i n u x 的内核是不可抢占的,当一个进程运行于核心 态时,该进程是不可被抢占的。 2 、l i n u x 的进程调度算法只具有软实时性能。l i n u x 的进程分为实时进程和非实 时进程,实时进程虽然总是能够得到优先调度,但是l i n u x 的进程调度算法只是简 单的将实时进程的优先级的w e i g h t 值加1 0 0 0 ,不能保证实时进程能够按时完成。另 外,l i n u x 的对实时进程闯的轻重缓急也没有较好的进行处理。最后,l i n u x 的调度 算法是要对一个就绪进程队列进行线性遍历,这种线性搜索算法的复杂度随着就绪 进程的增多而增加,影响系统响应时问。 3 、内存上锁问题【6 】 l i n u x 采用了虚拟内存管理技术,进程运行所需的内存常常会被换入换出磁 盘实时应用有时需要把关健进程锁在内存中,不被换出,而标准的l i n u x 无法满 足这种要求。 4 、时间精度问题 l i n u x 以进程吞吐量为目标,将系统时间片设为l o m s ,实践证明这个大小的时 间片在没有实时要求的环境中工作的很好。但是对于一些对时间要求苛刻的实时应 用来说,l o m s 的时间片难以满足实时应用的要求。 5 、关中断问题 在l i n u x 中为了保护临界区资源,很多地方会长时间关掉中断,这样高优先级的 进程就可能会被阻赛,在实时应用中,这是一个十分严重的问题。 第二章嵌入式操作系统内核分析 2 2 4l i n u x 的实时性改进思路 很多l i n u x 变种通过对l i n u x 的改进增强了它的实时性能,l i n u x 的实时性改进 思路主要有两大类: 1 、直接修改内核 这种思路直接将内核中妨碍实时性的不可抢占内核、进程调度、时间精度、内 存管理、中断处理等地方进行改进。这种思路需要精心修改源代码,对开发人员的 要求较高,改进后的内核运行效率高。目前,h a r d h a tl i n u x 和k u r t 是采用这一方 案较为成功的商业实时l i n u x 操作系统。 2 、双内核结构 这种思路在原有l i n u x 内核上添加另外一个实时内核,两个内核工作在同一硬件 平台上。实时内核负责硬件管理并提供实时任务管理。l i n u x 内核被作为实时内核中 优先级最低的任务来调度,只有没有可运行的实时任务时l i n u x 内核才被调度。实 时内核以可加载内核模块的形式装入原有的内核。 由于双内核结构不用修改原有的l i n u x 内核,所以工作量少,也不会产生由于 修改内核而带来的这样那样的问题。r t - l i n u x 是这种思路的代表产物。 不管那种思路对l i n u x 的实时性改进的方法可以归结如下: 1 、对于l i n u x 进程在进入内核态时不能被抢占的问题,目前的解决办法有 r e d - l i n u x 在内核函数中插入抢占点的方法,另外h a r d h a t 也通过修改s p i n l o c k 的宏 定义以及中断返回处理代码,实现了一种可抢占的内核。 2 、对于l i n u x 系统中缺乏实时调度机制和调度算法的问题,目前有很多新颖的 操作系统调度框架和调度算法,比如r e d l i n u x 所定义的一个通用的实时调度框架: q l i n u x 所采用的分层式的c p u 调度框架,及新颖的调度算法如h s f q ,以及c e l l o 磁盘调度算法等;s i l k 所使用的将对一个包的网络处理抽象成p a t h ,然后在p a t h 之间进行调度。 3 、针对l i n u x 系统定时粒度过大的问题,一般的解决办法都是将实时时钟编程 为单次触发的状态,然后利用c p u 的时钟计数寄存器提供高达c p u 时钟频率的定 时精度。像r t - l i n u x 和k u r t l i n u x 采用的就是这种方法。或者简单的减小l i n u x 的 时间片的大小。 4 、对于u n u x 长时间关中断的方法,r t - l i n u x 所使用的软件模拟中断控制器的 方法可以有效地解决这个问题。 2 3 进程调度 嵌入式操作系统中进程调度算法的好坏极大的影响系统的性能,调度算法的种 类很多,没有一个策略是放之四海而皆准的,因此采用哪种算法要取决于具体应用。 衡量一个算法的好坏有以下5 个原则: 响应时间使c p u 对每个用户的响应时间尽可能短。 公平确保每个进程都得到合理的c p u 时间 效率使c p u l 0 0 的忙碌 响应时间使c p u 对每个用户的响应时间尽可能短 周转时间使用户提交任务后得到结果的时间尽可能短 吞吐量使单位时间内处理的任务数量尽可能多 第二章嵌入式操作系统内核分析 2 3 1 实时调度算法: 各种实时操作系统的实时调度算法可以分为如下三种类别【刀:基于优先级的调度 算法( p r i o r i t y d r i v e ns c h e d u l i n g p d ) 、基于c p u 使用比例的共享式的调度算法 ( s h a r e - d r i v e n s c h e d u l i n g - s d ) 、以及基于时间的进程调度算法( t i m e d r i v e n s c h e d u l i n g - t d ) ,下面对这三种调度算法逐一进行介绍。 基于优先级的调度算法 基于优先级的调度算法给每个进程分配一个优先级,在每次进程调度时,调度 器总是调度那个具有最高优先级的任务来执行。根据不同的优先级分配方法,基于 优先级的调度算法可以分为如下两种类型【8 1 1 、静态优先级调度算法: 这种调度算法给那些系统中得到运行的所有进程都静态地分配一个优先级。静 态优先级的分配原则多种多样,发生率单调算法r m s ( r a t e m o n o t o n i c s c h e d u l i n g ) 9 】 是一种典型的静态优先级调度算法。 发生率单调算法r m s :发生率单调算法r m s 该算法事先为每个任务分配一个 与事件发生频率成正比的优先级,调度程序总是调度优先级最高的就绪任务,必要 时将剥夺当前任务的c p u 使用权,让高优先级的任务先运行。 r m s 做了以下假设: 所有任务都是周期性的,任务间不需要同步,没有共享资源,没有任务间数据交 换等问题,c p u 必须总是执行那个优先级最高且处于就绪态的任务。 给出一系列n 值表示系统中的不同任务数,要使所有的任务满足硬实时条件, 必须使不等式成立,这就是r m s 定理: e i , , t i + e 2 t 2 + + e i p i + :”+ e n p n x lw u l i ; 修改全局变量n r _ f r e e( 减去分配出去的页数) ; 根据该内存块在 _pagesmem m a p 数组中的位置,算出其起始物理地址,返回。 2 ) 否则判断o r d e r 的值是否为1 或者2 如果为1 或者2 直接到数组第2 m + l 项链表申请,如果该链表中的空闲块可以满足申请,则 从空闲块的前端进行分配,剩余的内存块不管多大仍然放在原处。 否则顺序向上查找直到f r e e 1。如果其中所有的链表都没有area2m+1 满足要求的内存块,此次无法分配,返回。否则会找到一个满足要求的 内存块,则做操作a : 3 4 3 内存回收 函数f r e e ()用于内存块的释放,其定义如下:_pages v o i df r e e _ p a g e s ( u n s i g n e d l o n ga d d r , u n s i g n e dl o n go r d e ru n s i g n e dl o n gd a x i a o ) 其中a d d f 是要回收的内存块的首地址,d a x i a o 指出要回收的内存块的大小为。 该函数所做的工作如下: 1 、 根据内存块的首地址a d d r 算出该内存块的第一页在m e m 数组的索_map 引;如果该页是保留的( 内核在使用) ,则不允许回收; 2 、 将内存块第一页对应的m e mm a pt 结构中的c o u n t 域减1 ,表示引用该 页的进程数减了1 个。如果c o u n t 域的值不是0 ,说明还有别的进程在使 用该内存块,因此不能回收它,简单地返回; 3 、清除内存块第一页对应的m e m结构中 域的_ m a p t f l a g s p gr e f e r e n c e d 位,表示该内存块不在被引用; 4 、 调整全局变量n r _ f r e e _ p a g e s ,将其值加上回收的物理页数; 5 、将内存块加入到数组f r e e 的相应队列中。area 6 、要加入的队列由o r d e r 参数指定,即将内存块加入到f r e ea r e a o r d e r 队列 中。加入的过程如下: 检查o r d e r 值如果o r d e r 小于m ,直接将内存块加入相应的链表即可。如 果o r d e r 大于i t i ,则看该空闲块的相邻块是否也是空闲。检查的结果有二: 1 ) 其相邻块不空闲,不需要合并。直接将内存块加入相应的链表即可。 2 ) 其相邻块空闲,将它们合并成更大的内存块。将内存块的空闲相邻 块从队列中摘下,将两个内存块进行合并,将太内存块加入到数组f r e e _ a r e a 的相应队列中。修改新内存块的链表m e m _ _ k u a i 一 x l _ w u l i ; 2 4 第三章h d c r e o s 内存管理的设计与实现 3 5 本章小结 本章首先对uc l i n u x 的内存管理进行了分析,对伙伴算法进行了较为详细的阐 述,在分析的基础上提出了基于快速适配算法的内存管理方案,并对该方案的实现 进行了详细的描述。 第四章使用定时器机制保证质量控制的基于优先级豹进程调度策略 第四章使用定时器机制保证质量控制的基于优先级的进程调度 策略 本章对uc l i n u x 的内核在进程调度,时钟中断两个方面进行了分析,并结合现代 家电的应用特点提出了使用定时器机制保证质量控制的基于优先级进程调度策略。 根据现代家电的应用要求,进行嵌入式操作系统内核设计的时候应该考虑以下 问题 1 实时性不仅对硬实时应用有很好的支持性,对软实时和非实时应用也要考虑, 不仅要考虑软实时应用的时间响应问题,还要考虑多个软实时应用质量控制问 题。 2 可裁减性与可配置。 3 内核简单有效。 4 1 u d i n u x 的内核分析 l i n u x 是一种应用广泛的操作系统,它原本被设计为桌面系统。l i n u x 的源代码 的开放性、支持多种硬件平台,内核的稳定性等等优点使得它正逐渐的应用于嵌入 式设备。但是嵌入式设备的硬件平台多种多样,对嵌入式操作系统的要求也与对通 用操作系统的要求不一样。嵌入式环境中为了性能,价格等等的考虑,硬件功能一 般比较简单,很多嵌入式c p u 没有m m u 功能。为了支持这种没有m m u 的嵌入式 c p u ,z c l i n u x 产生了。在m c l i n u x 这个英文单词中口表示m i c r o ,小的意思,c 表示 c o n t r o l ,控制的意思,所以# c l i n u x 就是m i c r o c o n t r 0 1 l i n u x 。字面上的理解就是” 针对微控制领域而设计的l i n u x 系统”。 z c l i n u x 同标准l i n u x 的最大区别就在于内存管理,同时解决了由于# c l i n u x 的内 存管理引发了一些标准l i n u x
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高二年级上册12月语文试卷汇编:文言文阅读 (四)
- HR招聘与配置模块重难点探素
- 2025年小学词语辨析真题及答案
- 国有企业党委2025年度党建工作总结暨2026年工作谋划报告
- 2025年潮州统考日语真题及答案
- 吉林银行笔试题库及答案
- 小公司面试笔试题及答案
- 2025年保育师晨检考试题及答案
- 2025年河南单招郑州试卷及答案
- DB1306T 289-2025 简化沟播小麦高产栽培技术规程
- 十五五原材料工业发展规划
- 建筑工程质量员课件
- 风机维修合同协议
- 酒类公司食品安全培训
- 汽车维护与保养作业指导书
- 安全生产文件和档案管理制度
- 2024年成都交通投资集团有限公司招聘考试真题
- 【浙商证券】餐饮系列研究之茶饮+咖啡深度:茶饮方兴未艾品牌格局渐明
- 企业规章制度制定的民主程序和流程
- 青马工程笔试题库及答案
- 《跨境电商》课件-跨境电商法律法规
评论
0/150
提交评论