




已阅读5页,还剩52页未读, 继续免费阅读
(计算机软件与理论专业论文)实时嵌入式操作系统内存管理的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
东北大学硕士学位论文摘要 实时嵌入式操作系统内存管理的研究 摘要 目前,计算机行业的嵌入式技术已经比较成熟,并且形成了一系列嵌入式应 用产品。像手机、p d a ( 如商务通等) 均属于手持的嵌入式产品,v c d 机、机顶 盒等也属于嵌入式产品,而像车载g p s 系统、数控机床等同样都采用嵌入式系统。 嵌入式系统在工业上的应用非常广泛。由于数字化产品具备硬件平台多样性和应 用个性化的特点,因此嵌入式软件呈现出一种高度细分的市场格局,国外产品进 入也很难垄断整个市场,这为我国的软件产业提供了个难得的发展机遇。因此, 我们不仅可以通过嵌入式系统的研究提高理论水平,而对其的应用则同样可以带 来巨大的效益。 实时嵌入式操作系统( r e a l t i m ee m b e d d e d o p e r a t i n gs y s t e m ,r t e o s ) 是一 种实时的、支持嵌入式系统应用的操作系统软件,它是嵌入式系统( 包括硬、软 件系统) 极为重要的组成部分,通常包括与硬件相关的底层驱动软件、系统内核、 设备驱动接口、通信协议、图形界面、标准化浏览器b r o w s e r 等。 内存管理是r t e o s 中极其重要的一部分。与通用操作系统相比,r t e o s 在 内存管理上有着非常鲜明的特点。r t e o s 的内存管理体现了嵌入式系统在成本、 实时性等方面的要求。 r t e m s ( r e a l t i m ee x e c u t i v ef o rm u l t i p r o c e s s o rs y s t e m s ) 是一个开放源代码 的多任务实时操作系统,可以为多种应用提供高性能的嵌入式开发环境。r t e m s 一个主要的设计目标是为实时系统的硬件层和应用层之间提供一个连接的桥梁。 r t e m s 中的内存管理分为三大块:分区管理( p a r t i t i o n ) 、区域管理( r e g i o n ) 和 双端口内存区域管理( d u a lp o r t e dm e m o r ya r e a ) ,使用者可以根据需要对内核进 行裁减。 本文通过对r t e m s 操作系统中内存管理进行较为深入地分析和研究,总结 出嵌入式内存管理具有实时性、容错性、精简性、裁剪性的特点。 本文依托国家8 6 3 项目“面向大型机电设备状态监测与故障诊断的智能仪器 嵌入式软件平台开发”,以东大信息技术有限公司开发的开发板n e u i n f 0 5 3 0 7 为 试验平台( 该开发板以m o t o r o l a 公司的c o l d f i r e 5 3 0 7 为核心) ,开发环境为以l i n u x 为主的宿主机和目标板搭建的交叉开发环境。 关键字嵌入式操作系统内存管理分区区域双端口内存区域 东北大学硕士学位论文a b s t r a c t s t u d y o nm e m o r y m a n a g e m e n t o fr e a l - t i m ee m b e d d e do p e r a t i n g s y s t e m s a b s t r a c t a t p r e s e n t ,t h ee m b e d d e dt e c h n o l o g yi nc o m p u t e rs c i e n c ei sm o r ea n dm o r em a t u r e as e r i e s o f p r o d u c t sh a v eb e e nd e v e l o p e di nt h i sa r e a , s u c ha sm o b i l ep h o n e ,p d a ,w h i c ha r ea l lb e l o n gt o t h ep o r t a b l ea p p l i c a t i o n s t h ev c da n ds e t t o p b o xa r ea l s ot h ee m b e d d e ds y s t e m s ,a n dg p s , d i g i t a lc o n t r o l l e dm a c h i n ea l la d o p tt h ee m b e d d e dt e c h n o l o g i e s e m b e d d e ds y s t e mi su s e dw i d e l y i ni n d u s t r ya r e a b e c a u s et h ed i g i t a lp r o d u c t sh a v ec h a r a c t e r i s t i ci nb o t hh a r d w a r ep l a t f o r ma n d i n d i v i d u a l i t y , t h ee m b e d d e ds o f t w a r em a r k e ti sh i g h l yf r a e t i o n i z e da n dc o m p a n i e sa b r o a da r en o t a b l et o m o n o p o l i z et h ew h o l em a r k e t , w h i c hc r e a t eaw o n d e r f u lo p p o r t u n i t yf o rt h en a t i o n a l e m b e d d e ds o f t w a r e i n d u s t r y t h er e s e a r c h i ne m b e d d e ds y s t e m sc a nn o to n l yp r o m o t eo u r a c a d e m i cl e v e l ,b u ta l s ob r i n gu sg r e a te c o n o m i cb e n e f i t s r e a l - t i m ee m b e d d e do p e r a t i n gs y s t e m ( r t e o s ) i sak i n do f o p e r a t i o ns y s t e ms o f t w a r e w h i c hi sr e a lt i m e , s u p p o r t i n ge m b e d d e da p p l i c a t i o n s i ti st h em o s ti m p o r t a n tc o m p o n e n ti nt h e a r c h i t e c h t u r eo fa l le m b e d d e ds y s t e m i ti n c l u d e st h ed e v i c ed r i v e r s ,s y s t e mc o r e ,c o m m u n i c a t i o n p r o t o c o l ,g u i ,s t a n d a r db r o w s e r e t e t h em e m o r y m a n a g e m e n t i nr e a l - t i m ee m b e d d e do si sv e r yi m p o r t a n ta n di ti sd i f f e r e n tf r o m t h em e m o r y m a n a g e m o d u l ei nt h eo t h e ro s i tm u s t m e e tt h e r e q u i r e m e n t s i nc o s t ,r e a l - t i m e ,e t c 。 r t e m s ,r e a l - t i m ee x e c u t i v ef o rm u l t i p r o c e s s o rs y s t e m s ,i sa no p e ns o u r c eo s i tc a n p r o v i d eh i g hp e r f o r m a n c ed e v e l o p m e n te n v i o m e n t o n eo f t h ed e s i g n i n gg o a l so fr t e m si st o b u i l dab r i d g eb e t w e e ns o f t w a r ea n dh a r d w a r e t h em e m o r ym a n a g e m e n ti nr t e m sh a st h r e e p a r t s :m a n a g e r t h eu s e r c a dc u td o w nt h ec o r ea c c o r d i n gt ot h e i rn e e d s , t h er e s e a r c hw o r kd i s c u s s e di nt h i st h e s i si sa b o u tt h em e m o r ym a n a g e m e n ti nr t e m s w e c a l lr e a c ht h ec o n c l u s i o nt h a te m b e d d e dm e m o 呵m a n a g e m e n th a sm a n yc h a r a c t e r i s t i c si nr e a l t i m e , r e c t i f y , s m a l ls i z ea n dt a i l o ra b i l i t y t h i st h e s i si ss p o n s o r e db yt h en a t i o n a lp r o j e c t “d e v e l o p m e n to fa ni n t e l l i g e n te q u i p m e n t e m b e d d e ds o f t w a r ep l a t f o r mf o rs t a t u sm o n i t o r i n ga n df a i l u r ed i a g n o s i so fl a r g em e c h a n i c a l e l e c t r i ce q u i p m e n t s ”t h ed e v e l o p m e n tp l a t f o r mi sn e u i n f 0 5 3 0 7d e v e l o p e db yn e u i n f ot e c h l t d t h ee x p e r i m e n ti sp e r f o r m e do nac r o s sd e v e l o p m e n te n v i r o n m e n tw h i c hi sc o m p o s e do fa h o s tc o m p u t e ra n dat a r g e tb o a r d k e y w o r d se m b e d d e d , o 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 a r t i t i o n ,r e g i o n ,d u a l p o r t e dm e m o r y a r e a i i i 声明 本人声明所呈交的学位论文是在导师的指导下完成的。论文中取 得的研究成果除加以标注和致谢的地方外,不包含其他人已经发表或 撰写过的研究成果,也不包括本人为获得其他学位而使用过的材料。 与我一同工作过的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 本人签名: 蹋米使 日期:w 踢j 2 东北大学硕士学位论文 第一章引言 第一章引言弟一早i茸 从上个世纪九十年代中期开始,人们开始越来越多地接触到一个新的概念 嵌入式产品。像手机、p d a ( 如商务通等) 均属于手持的嵌入式产品,v c d 机、机顶盒等也属于嵌入式产品,面像车载g p s 系统、数控机床等周样都采用嵌 入式系统。形式多样的数字化设备正努力把i n t e r n e t 连接到人们生活各个角落, 也就是说中国数字化设备的潜在消费者数量将以亿为单位。嵌入式软件是数字化 产品的核心。“如果说p c 机的发展带动了整个桌面软件的发展,那么数字化产品 的广泛普及必将为嵌入式软件产业的蓬勃发展提供无穷的推动力。”口1 以往我们按照计算机的体系结构、运算速度、结构规模、适用领域,将其分 为大型计算机、中型机、小型机和微计算机,并阻此来组织学科和产业分工。这 种分类沿袭了约4 0 年。近1 0 年来随着计算机技术的迅速发展,实际情况产生了 根本性的变化,例如7 0 年代末定义的微计算机演变出来的个人计算机( p c ) 。如今 已经占据了全球计算机工业的9 0 市场,其处理速度也超过了当年大、中型计算 机的定义。随着计算机技术和产品对其它行业的广泛渗透,以应用为中心的分 类方法变得更为切合实际,也就是按计算机的嵌入式应用和非嵌入式应用将其分 为嵌入式计算机和通用计算机。 通用计算机具有计算机的标准形态,通过装配不同的应用软件,以基本相同 的形式出现并应用在社会的各个方面,其典型产品为p c 机:而嵌入式计算机则 是以嵌入式系统的形式隐藏在各种装置、产品和系统中。 虽然人们对嵌入式的概念可能不太了解,但是嵌入式计算机在应用数量上远 远超过了各种通用计算机,一台通用计算机的外部设备中就包含了5 1 0 个嵌入 式微处理器。如键盘、鼠标、软驱、硬盘、显示卡、显示器、m o d e m 、网卡、声 卡、打印机、扫描仪、数字相机、u s b 集线器等均是由嵌入式处理器控制的。在 制造工业、过程控制、通讯、仪器、仪表、汽车、船舶、航空、航天、军事装备、 消费类产品等方面均是嵌入式计算机的应用领域。 东北大学硕士拳位论文 第二章嵌入式系统简介 第二章嵌入式系统简介 嵌入式系统是近年来逐渐兴起的一门技术,嵌入式操作系统、嵌入式数据库、 嵌入式i n t e m e t 等各类产品层出不穷,本章将介绍嵌入式系统的一些基本知识。 2 1 嵌入式系统的定义及特点 嵌入式系统被定义为:以应用为中心、以计算机技术为基础、软件硬件可裁 剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系 统。 嵌入式系统的产品是针对应用设计的, 的参与而不是先设计好后等待客户来选购, 每个嵌入式产品的设计往往都有用户 因此嵌入式系统有许多鲜明的特点。 ( 1 ) 嵌入式系统工业是很难被垄断的高度分散的工业 从某种意义上来说,通用计算机行业的技术是垄断的。占整个计算机行业9 0 的p c 产业,8 0 采用i n t e l 的8 x 8 6 体系结构n 】,芯片基本上出自i n t e l ,a m d , c y r i x 等几家公司。在几乎每台计算机必备的操作系统和文字处理器方面, m i c r o s o f t 的g r m d o w s 及w o r d 占8 0 9 0 ,凭借操作系统还可以搭配其它应用程 序。因此当代的通用计算机工业的基础被认为是由w m t e l ( m i c r o s o f t 和i n t e l9 0 年代初建立的联盟) 垄断的工业。 嵌入式系统则不同,它是一个分散的工业,充满了竞争、机遇与创新,没有 哪一个系列的处理器和操作系统能够垄断全部市场。即便在体系结构上存在着主 流,但各不相同的应用领域决定了不可能有少数公司、少数产品垄断全部市场。 因此嵌入式系统领域的产品和技术,必然是高度分散的,留给各个行业的中小规 模高技术公司的创新余地很大。另外,社会上的各个应用领域是在不断向前发展 的,要求其中的嵌入式处理器核心也同步发展,这也构a t 推动嵌入式工业发展 的强大动力。嵌入式系统工业的基础是以应用为中心的开发板设计和面向应用的 软件产品开发。 2 东北大学硕士学位论文第二章嵌入式系统简介 ( 2 ) 嵌入式系统具有产品的特征 嵌入式系统是面向用户、面向产品、面向应用的,如果独立于应用自行发展, 则会失去市场。嵌入式处理器的功耗、体积、成本、可靠性、速度、处理能力、 电磁兼容性等方面均受到应用要求的制约,这些也是各个半导体厂商之间竞争的 热点。 嵌入式系统的硬件和软件都必须高效率地设计,根据实际需要,去除不需要 的模块,力争在同样的硅片面积上实现更高的性能,这样才能在具体应用对处理 器的选择面前更具有竞争力。嵌入式处理器也要针对用户的具体需求( 包括订货 数量) ,对芯片配置进行裁剪和添加才能达到理想的性能。因此不同的处理器面向 的用户是不一样的,可能是一般用户、行业用户或单一用户。 嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产品同 步进行,因此嵌入式系统产品一旦进入市场,具有较长的生命周期。嵌入式系统 中的软件,一般都固化在只读存储器中,而不是以磁盘为载体,可以随意更换, 所以嵌入式系统的应用软件生命周期也和嵌入式产品一样长。另外,各个行业的 应用系统和产品,和通用计算机软件不同,很少发生突然性的跳跃,嵌入式系统 中的软件也因此更强调可继承性和技术衔接性,发展比较稳定。 嵌入式处理器的发展也体现出稳定性,一个体系一般要存在8 1 0 年的时间。 一个体系结构及其相关的片上外设、开发工具、库函数、嵌入式应用产品是一套 复杂的知识系统,用户和半导体厂商都不会轻易地放弃一种处理器。 ( 3 ) 嵌入式系统中软件的特征 嵌入式处理器的应用软件是实现嵌入式系统功能的关键,对嵌入式处理器系 统软件和应用软件的要求也和通用计算机有所不同。嵌入式系统软件主要有如下 特征:软件要求固态化存储;软件代码高质量、高可靠性;系统软件( o s ) 的高 实时性是基本要求;多任务操作系统是知识集成的平台和走向工业标准化道路的 基础。 ( 4 ) 嵌入式系统开发需要开发工具和环境 通用计算机具有完善的人机接口界面,在上面增加一些开发应用程序和环境 一3 一 东北大学硕士学位论文第二章嵌入式系统简介 即可进行对自身的开发。而嵌入式系统本身不具各自举开发能力,即使设计完成 以后用户通常也是不能对其中的程序功能进行修改的,必须有一套开发工具和环 境才能进行开发,这些工具和环境一般是基于通用计算机上的软硬件设备以及各 种逻辑分析仪、混合信号示波器等。 ( 5 ) 嵌入式系统软件需要实时操作系统( r t o s ) 开发平台 通用计算机具有完善的操作系统和应用程序接口c a p i ) ,是计算机基本组成不 可分离的一部分,应用程序的开发以及完成后的软件都在操作系统平台上面运行, 但一般不是实时的。嵌入式系统则不同,应用程序可以没有操作系统直接在芯片 上运行;但是为了合理地调度多任务、利用系统资源、系统函数以及和专家库函 数接口,用户必须自行选配实时操作系统作为开发平台,这样才能保证程序执行 的实时性、可靠性,并减少开发时间,保障软件质量。 2 2 嵌入式系统在工业中的应用 随着信息技术的发展,数字化产品空前繁荣。嵌入式软件已经成为数字化产 品设计创新和软件增值的关键因素,是未来市场竞争力的重要体现。在工业生产 中,各个部门对智能控制需求不断增长,同时也对嵌入式微处理器的运算速度、 可扩充能力、系统可靠性、功耗和集成度等方面提出了更高的要求。嘲为了适应 各方面的需求,嵌入式微处理器体系结构也经历了一个从c r i s c 到r i s c 和 c o m p a c t r i s c ;从4 位、8 位、1 6 位、3 2 位到6 4 位;寻址空间从6 4 k b 到1 6 m b 甚至更大:处理速度从o 1 m i p s 到2 0 0 0 m i p s :常用封装从s 个引脚到1 4 4 个引 脚的过程。处理器的功耗也有了明显降低;集成度进一步提高。 我国的工业生产需要完成智能化,数字化改造、自动控制等为嵌入式系统提 供了很大的市场。而工控、仿真、数据采集、军用领域一般都要求操作系统支持 实旌工作。 2 3 嵌入式系统的发展趋势 以信息家电为代表的互联网时代嵌入式产品,不仅为嵌入式市场展现了美好 前景,注入了新的生命;同时也对嵌入式系统技术,特别是软件技术提出新的挑 一4 一 东北大学硕士学位论文第二章嵌入式系统简介 战。“1 这主要包括:支持日趋增长的功能密度、灵活的网络联接、轻便的移动应 用和多媒体的信息处理,此外,当然还需对付更加激烈的市场竞争。 ( 1 ) 嵌入式应用软件的开发需要强大的开发工具和操作系统的支持 随着因特网技术的成熟、带宽的提高,i c p 和a s p 在网上提供的信息内容日 趋丰富、应用项目多种多样,像电话手机、电话座机及电冰箱、微波炉等嵌入式 电子设备的功能不再单一,电气结构也更为复杂。为了满足应用功能的升级,设 计师们一方面采用更强大的嵌入式处理器如3 2 位、6 4 位r i s c 芯片或信号处理器 d s p 增强处理能力;同时还采用实时多任务编程技术和交叉开发工具技术来控制 功能复杂性,简化应用程序设计、保障软件质量和缩短开发周期。 目前,国外商品化的嵌入式实时操作系统,已进入我国市场的有w m d r i v e r 、 m i c r o s o f t 、q n x 和n u c l e a r 等产品。我国自主开发的嵌入式系统软件产品如科银 ( c o r o t e k ) 公司的嵌入式软件开发平台d c l m , q y s m m ,它不仅包括d e l m c o r e 嵌入式实 时操作系统,而且还包括l a m d a t o o l s 交叉开发工具套件、测试工具、应用组件等; 此外,中科院也推出了h o p e n 嵌入式操作系统。 ( 2 ) 网络功能逐渐成为主要发展方向 为适应嵌入式分布处理结构和应用上网需求,面向2 1 世纪的嵌入式系统要求 配备标准的一种或多种网络通信接口。针对外部联网要求,嵌入设备必需配有通 信接口,相应需要t c p i p 协议簇软件支持;由于家用电器相互关联( 如防盗报警、 灯光能源控制、影视设备和信息终端交换信息) 及实验现场仪器的协调工作等要 求,新一代嵌入式设备还需具备i e e e l 3 9 4 、u s b 、c a n 、b l u e t o o t h 或i r d a 通信 接口,同时也需要提供相应的通信组网协议软件和物理层驱动软件。为了支持应 用软件的特定编程模式,如w e b 或无线w c b 编程模式,还需要相应的浏览器t 如h t m l 、w m l 等。 ( 3 ) 支持小型电子设备 为了满足嵌入式产品小尺寸、微功耗和低成本的特性,要求设计者相应降低 处理器的性能,限制内存容量和复用接口芯片,这就相应提高了对嵌入式软件设 计技术要求。我们可以选用最佳的编程模型和不断改进算法,采用j a v a 编程模式, 一5 一 东北大学硕士学位论文第二章嵌八式系统简介 优化编译器性能。因此,既要软件人员有丰富经验,更需要发展先进嵌入式软件 技术,如j a v a 、w e b 和w a p 等。 ( 4 ) 提供丰富的多媒体人机界面 嵌入式设备之所以为广大用户乐于接受,重要因素之一是它们与使用者之间 的亲和力,自然的人机交互界面,如司机操纵高度自动化的汽车主要还是通过习 惯的方向盘、脚踏板和操纵杆。人们与信息终端交互要求以g i l l 屏幕为中心的多 媒体界面。手写文字输入、语音拨号上网、收发电子邮件以及彩色图形、图像已 取得初步成效。目前一些先进的p d a 在显示屏幕上已实现汉字写入、短消息语音 发布,但离掌式语言同声翻译还有很大距离。 可见,嵌入式的应用已经越来越广泛,而且具有非常好的前景。接下来,本 论文将会详细阐述嵌入式操作系统技术方面的细节。 一6 东北大学硕士学位论文第三章实时嵌入式操作系统 第三章实时嵌入式操作系统 随着嵌入式系统的复杂化,嵌入式中的操作系统的应用也成为项目开发中至 关重要的环节。由于严格的嵌入式系统都采用实时操作系统,所以本章将介绍实 时嵌入式操作系统的一些特点。 3 1 实时嵌入式操作系统的定义 实时嵌入式操作系统( r e a l t u n ee m b e d d e do p e r a t n gs y s t e m ,r t e o s ) 是一 种实时的、支持嵌入式系统应用的操作系统软件,它是嵌入式系统( 包括硬、软 件系统) 极为重要的组成部分,通常包括与硬件相关的底层驱动软件、系统内核、 设备驱动接口、通信协议、图形界面、标准化浏览器b r o v 眦x 等嘲。 3 2 实时嵌入式操作系统与通用操作系统的特点比较 实时嵌入式系统中采用的操作系统我们称为实时嵌入式操作系统( r t e o s ) , 它既是嵌入式操作系统,又是实时操作系统。作为一种嵌入式操作系统,它具有 嵌入式软件共有的可裁剪、低资源占用、低功耗等特点:而作为一种实时操作系 统,它与通用操作系统( 如w i n d o w s 、u n i x 、l i n u x 等) 相比有很大的差别。下 面我们将通过比较这两种操作系统之间的差别来逐步描述实时嵌入式操作系统的 主要特点。 我们在日常工作学习环境中接触最多的是通用操作系统,通用操作系统是由 分时操作系统发展而来,大部分都支持多用户和多进程,负责管理众多的进程并 为它们分配系统资源。分时操作系统的基本设计原则是:尽量缩短系统的平均响 应时间并提高系统的吞吐率,在单位时间内为尽可能多的用户请求提供服务。由 此可以看出,分时操作系统注重平均表现性能,不注重个体表现性能。如对于整 个系统来说,注重所有任务的平均响应时间而不关心单个任务的响应时间,对于 某个单个任务来说,注重每次执行的平均响应时间而不关心某次特定执行的响应 时间。通用操作系统中采用的很多策略和技巧都体现出了这种设计原则,如虚存 一7 一 东北大学硕士学位论文第三章实时嵌入式操作系统 管理机制中由于采用了l r u 等页替换算法,使得大部分的访存需求能够快速地通 过物理内存完成,只有很小一部分的访存需求需要通过调页完成,但从总体上来 看,与不采用虚存技术相比,平均访存时间并不太多,同时又获得了远大于物理 内存容量的虚空间等好处,因此虚存技术在通用操作系统中得到了十分广泛的应 用。类似的例子还有很多,如u n i x 文件系统中文件存放位置的间接索引查询机制 等,甚至硬件设计中的c a c h e 技术以及c p u 的动态分支预测技术等也都体现出了 这种设计原则。由此可见,这种注重平均表现,即统计型表现特性的设计原则的 影响是十分深远的。 而对于r t e o s ,前面我们已经提到,它除了要满足应用的功能需求以外,更 重要的是还要满足应用提出的实时性要求,而组成个应用的众多实时任务对于 实时性的要求是各不相同的,此外实时任务之间可瞧还会有一些复杂的关联和同 步关系,如执行顺序限制、共享资源的互斥访问要求等,这就为系统实时性的保 证带来了很大的困难。因此,r t e o s 所遵循的最重要的设计原则是:采用各种算 法和策略,始终保证系统行为的可预测性( p r e d i c t a b i l i t y ) 。可预测性是指在系统 运行的任何时刻,在任何情况下,r t e o s 的资源谓配策略都能为争夺资源( 包括 c p u 、内存、网络带宽等) 的多个实时任务合理地分配资源,使每个实时任务的 实时性要求都能得到满足。与通用操作系统不同,r t e o s 注重的不是系统的平均 表现,而是要求每个实时任务在最坏情况下都要满足其实时性要求,也就是说, 实时操作系统注重的是个体表现,更准确地讲是个体最坏情况表现。举例来说, 如果r t o s 采用标准的虚存技术,则一个实时任务执行的最坏情况是每次访存都 需要调页,如此累计起来的该任务在最坏情况下的运行时间是不可预测的,因此 该任务的实时性无法得到保证。从而可以看出在通用操作系统中广泛采用的虚存 技术在实时操作系统中不宜直接采用。 3 2 1 实时嵌入式操作系统与通用操作系统的差异 由于r t e o s 与通用操作系统的基本设计原则差别很大,因此在很多资源调 度策略的选择上以及操作系统实现的方法上两者都具有较大的差异。旧这些差异 主要体现在以下几点: ( 1 ) 任务调度镱略 一8 一 东北大学硕士学位论文第三章实时嵌入式操作系统 通用操作系统中的任务调度策略一般采用基于优先级的抢先式调度策略,对 于优先级相同的进程则采用时间片轮转调度方式,用户进程可以通过系统调用动 态地调整自己的优先级,操作系统也可根据情况调整某些进程的优先级。 r t e o s 中的任务调度策略目前使用最广泛的主要可分为两种,一种是静态表 驱动方式,另一种是固定优先级抢占式调度方式。 静态表驱动方式是指在系统运行前工程师根据各任务的实时要求用手工的方 式或在辅助工具的帮助下生成一张任务的运行时间表,这张时间表与列车的运行 时刻表类似,指明了各任务的起始运行时间以及运行长度,运行时间表一旦生成 就不再变化了,在运行时调度器只需根据这张表在指定的时刻启动相应的任务即 可。静态表驱动方式的主要优点是: ( a ) 运行时间表是在系统运行前生成的,因此可以采用较复杂的搜索算法找 到较优的调度方案; ( b ) 运行时调度器开销较小; ( c ) 系统具有非常好的可预测性,实时性验证也比较方便。 这种方式主要缺点是不灵活,需求一旦发生变化,就要重新生成整个运行时 间表。 由于具有非常好的可预测性,这种方式主要用于航空航天、军事等对系统的 实时性要求十分严格的领域。 固定优先级抢占式调度方式则与通用操作系统中采用的基于优先级的调度方 式基本类似,但在固定优先级抢占式调度方式中,进程的优先级是固定不变的, 并且该优先级是在运行前通过某种优先级分配策略( 如r a t e - m o n o t o n i c 、 d e a d l i n e m o n o t o n i c 等) 来指定的。这种方式的优缺点与静态表驱动方式的优缺 点正好完全相反,它主要应用于一些较简单、较独立的嵌入式系统,但随着调度 理论的不断成熟和完善,这种方式也会逐渐在一些对实时性要求十分严格的领域 中得到应用。目前市场上大部分的实时操作系统采用的都是这种调度方式。 ( 2 ) 内存管理 一9 一 东北大学硕士学位论文 第三章实时嵌入式操作系统 为解决虚存绘系统带来的不可预测性,r t e o s 一般采用如下两种方式: ( a ) 在原有虚存管理机制的基础上增加页面锁功能,用户可将关键页面锁定 在内存中,从而不会被交换程序将该页面交换出内存。这种方式的优点是既得到 了虚存管理机制为软件开发带来的好处,又提高了系统的可预测性。缺点是由于 t l b ( 翻译后援缓冲器) 等机制的设计也是按照注重平均表现的原则进行的,因 此系统的可预测性并不能完全得到保障; ( b ) 采用静态内存划分的方式,为每个实时任务划分固定的内存区域。这种 方式的优点是系统具有较好的可预测性,缺点是灵活性不够好,任务对存储器的 需求一旦有变化就需要重新对内存迸行划分,此外虚存管理机制所带来的好处也 丧失了。 目前市场上的r t e o s 一般都采用第一种管理方式。 ( 3 ) 中断处理 在通用操作系统中,大部分外部中断都是开启的,中断处理一般由设备驱动 程序来完成。由于通用操作系统中的用户进程一般都没有实时性要求,而中断处 理程序直接跟硬件设备交互,可能有实时性要求,因此中断处理程序的优先级被 设定为高于任何用户进程。 但对于实时操作系统采用上述的中断处理机制是不合适的。首先,外部中断 是环境向实时操作系统进行的输入,它的频度是与环境变化的速率相关的,而与 r t e o s 无关。如果外部中断产生的频度不可预测,则一个实时任务在运行时被中 断处理程序阻塞的时间开销也是不可预测的,从而使任务的实时性得不到保证; 如果外部中断产生的频度是可预测的,一旦某外部中断产生的频度超出其预测值 ( 如硬件故障产生的虚假中断信号或预测值本身有误) 就可能会破坏整个系统的 可预测性。其次,实时操作系统中的各用户进程一般都有实时性要求,因此中断 处理程序优先级高于所有用户进程的优先级分配方式是不合适的。 一种较适合r t e o s 的中断处理方式为:除时钟中断外,屏蔽所有其它中断, 中断处理程序变为周期性的轮询操作,这些操作由核心态的设备驱动程序或由用 户态的设备支持库来完成。采用这种方式的主要好处是充分保证了系统的可预测 一1 0 东北大学硕士学位论文第三章实时嵌入式操作系统 性,主要缺点是对环境变化的响应可能不如上述中断处理方式快,另外轮询操作 在一定程度上降低了c p u 的有效利用率。另一种可行的方式是:对于采用轮询方 式无法满足需求的外部事件,采用中断方式,其它时间仍然采用轮询方式。但此 时中断处理程序与所有其它任务一样拥有优先级,调度器根据优先级对处于就绪 态的任务和中断处理程序统一进行处理器调度。这种方式使外部事件的响应速度 加快,并避免了上述中断方式带来第二个问题,但第一个问题仍然存在。 此外为提高时钟中断响应时间的可预测性,r t e o s 应尽可能少地屏蔽中断。 ( 4 ) 共享资源的互斥访问 通用操作系统一般采用信号量机制来解决共享资源的互斥访问问题。 对于r t e o s ,如果任务调度采用静态表驱动方式,共享资源的互斥访问问题 在生成运行时间表时已经考虑到了,在运行时无需再考虑。如果任务调度采用基 于优先级的方式,则传统的信号量机制在系统运行时很容易造成优先级倒置问题 ( p r i o r i t yi n v e r s i o n ) ,即当一个高优先级任务通过信号量机制访问共享资源时, 该信号量已被一低优先级任务占有,而这个低优先级任务在访问共享资源时可能 又被其它一些中等优先级的任务抢先,因此造成高优先级任务被许多具有较低优 先级的任务阻塞,实时性难以得到保证。因此在实时操作系统中,往往对传统的 信号量机制进行了一些扩展,引入了如优先级继承协议( p r i o r i t yi n h e r i t a n c e p r o t o c 0 1 ) 、优先级置顶协议( p d o d 谤c e i l i n gp r o t o c 0 1 ) 等机制,较好地解决了优 先级倒置的问题。 ( 5 ) 系统调用以及系统内部操作的时间开销 进程通过系统调用得到操作系统提供的服务,操作系统通过内部操作( 如上 下文切换等) 来完成一些内部管理工作。为保证系统的可预测性,r t e o s 中的所 有系统调用以及系统内部操作的时间开销都应是有界的,并且该界限是一个具体 的量化数值。而在通用操作系统中对这些时间开销则未做如此限制。 ( 6 ) 系统的可重入性 在通用操作系统中,核心态系统调用往往是不可重入的,当一个低优先级任 务调用核心态系统调用时,在该时间段内到达的高优先级任务必须等到低优先级 一1 1 一 东北大学硕士学住论文 第三章实时嵌入式操作系统 的系统调用完成才能获得c p u ,这就降低了系统的可预测性。因此,r t e o s 中 的核心态系统调用往往设计为可重入的。 ( 7 ) 辅助工具 r t e o s 额外提供了一些辅助工具,如实时任务在最坏情况下的执行时间估算 工具、系统的实时性验证工具等,可帮助工程师进行系统的实时性验证工作。 3 2 2 实时嵌入式操作系统对系统硬件设计的要求 ( 1 ) 直接内存访问( d m a ) d m a 是一种数据交换协议,主要作用是在无需c p u 参与的情况下将数据在 内存与其它外部设备间进行交换。d m a 最常用的一种实现方式被称为周期窃取 ( c y c l es t e a l i n g ) 方式,即首先通过总线仲裁协议与c p u 竞争总线控制权,在获 得控制权后再根据用户预设的操作指令进行数据交换。由于这种周期窃取方式会 给用户任务带来不可预测的额外阻塞开销,所以r t e o s 往往要求系统设计时不 采用d m a 或采取一些可预测性更好的d m a 实现方式,如t i m e - s l i c e m e t h o d ( 时 间片方法) 等。 ( 2 ) c a c h e c a c h e 的主要作用是采用容量相对较小的快速存储部件来弥补高性能c p u 与 相对来说性能较低的存储器之间的性能差异,由于它可以使系统的平均表现性能 得到大幅提高,因此在硬件设计中得n t 极为广泛的应用。 但r t e o s 注重的不是平均表现性能,而是个体最坏情况表现,因此在对系 统进行实时性验证时必须考虑实时任务运行的最坏情况,即每次访存都没有命中 c a c h e 情况下的运行时间,所以在利用辅助工具估算实时任务在最坏情况下的执 行时间时,应将系统中所有的c a c h e 功能暂时关闭,在系统实际运行时再将c a c h e 功能激活。除此以外,另一种较极端的做法则是在硬件设计中完全不采用c a c h e 技术。 3 3 常见的实时嵌入式操作系统产品 其实,嵌入式系统并不是一个新生的事物,从八十年代起,国际上就有一些 一1 2 东北大学硕士学位论文 第三章实时嵌入式操作系统 i t 组织、公司,开始进行商用嵌入式系统和专用操作系统的研发。这其中涌现了 一些著名的实时嵌入式操作系统: w i n d o w sc e m i c r o s o f tw m d o w sc e 是从整体上为有限资源的平台设计的多线程、完整优 先权、多任务的操作系统。它的模块化设计允许它对于从掌上电脑到专用的工业 控制器的用户电子设备进行定制。其基本内核需要至少2 0 0 k 的r o m 。“ v x w o r k s v x w o r k s 是目前嵌入式系统领域中使用最广泛、市场占有率最高的系统。它 支持多种处理器,如x 8 6 、i 9 6 0 、s u ns p a r e 、m o t o r o l am c 6 8 x x x 、m i p sr x 0 0 0 、 p o w e rp c 等等。大多数的v x w o r k s a p i 是专有的。采用g n u 的编译和调试器。 p s o s i s i 公司已经被w i n p d v e r 公司兼并,现在p s o s 属于w m d r i v e r 公司的产品。 这个系统是一个模块化、高性能的实时操作系统,专为嵌入式微处理器设计,提 供一个完全多任务环境,在定制的或是商业化的硬件上提供高性能和高可靠性。 可以让开发者根据操作系统的功能和内存需求定制成每一个应用所需的系统。开 发者可以利用它来实现从简单的单个独立设备到复杂的、网络化的多处理器系统。 q n x q n x 是一个实时的、可扩充的操作系统,它部分遵循p o s i x 相关标准,如: p o s e ( 1 b 实时扩展。它提供了一个很小的微内核以及一些可选的配合进程。其内 核仅提供4 种服务:进程调度、进程间通信、底层网络通信和中断处理,其进程 在独立的地址空间运行。所有其它o s 服务,都实现为协作的用户进程,因此q n x 内核非常小巧( q n x 4 x 大约为1 2 k b ) 而且运行速度极快。这个灵活的结构可以 使用户根据实际的需求,将系统配置成微小的嵌入式操作系统或是包括几百个处 理器的超级虚拟机操作系统。 p a l m o s 3 c o m 公司的p a l mo s 在p d a 市场上占有很大的市场份额,它有开放的操作 系统应用程序接口( a p i ) ,开发商可以根据需要自行开发所需要的应用程序。 一】3 一 东北大学硕士学位论文第三章实时嵌入式操作系统 o s - 9 m i c r o w a v e 的o s 9 是为微处理器的关键实时任务而设计的操作系统,广泛应 用于高科技产品中,包括消费电子产品、工业自动化、无线通讯产品、医疗仪器、 数字电视,多媒体设备。它提供了很好的安全性和容错性。与其他的嵌入式系统相 比,它的灵活性和可升级性非常突出。 l y n x o s l y n xr e a l - t i m es y s t e m s 的l y n x o s 是一个分布式、嵌入式、可规模扩展的实 时操作系统,它遵循p o s i x 1 a 、p o s i x 1 b 和p o s i x 1 c 标准。l y n x o s 支持线程 概念,提供2 5 6 个全局用户线程优先级;提供一些传统的、非实时系统的服务特 征:包括基于调用需求的虚拟内存,一个基于m o t i f 的用户图形界面,与工业标 准兼容的网络系统以及应用开发工具。 3 4 实时嵌入式操作系统的结构 r t o s 的一个较为理想的概念模型是4 层体系结构鲫,即硬件接e l 层( h a r d w a r e i n t e r f a c e l a y e r ) 、内核层( k e r n e l l a y e r ) 、系统层( s y s t e m l a y e r ) 、系统服务接口层 ( s y s t e ms e r v e rl a y e r ) ,如图3 1 所示。 图3 1r t o s 概念图 f i g 3 1 c o n c e p to f r t o s 各层的主要功能如下: 硬件接口层:提供与嵌入式硬件系统的接口。 1 4 东北大学硕士学位论文第三章实时嵌入式操作系统 内核结构层:系统内核精小,控制在非常小的代码( 如l o k b ) 以内,能运 行在多种嵌入式处理器构架上。内核针对应用提供几种最基本的操作,如系统时 钟、电源管理、程序装载与运行、进程线程调度、内存管理等。应提供一个实时 系统所需要的基本要素,如实现多任务、由优先级驱动的急者优先式调度方法和 快速现场切换机制。 系统层:系统功能模块化和对象化,提供面向对象的系统资源管理功能,如 f l a s h 内存管理、文件与目录管理、设备管理、网络协议管理等。可根据实际应用 的需要选择应用特制的功能模块或部件。每个
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 强化训练浙教版七年级下册第六章数据与统计图表定向测评试卷(详解版)
- 2024安全监察人员模拟试题附完整答案详解(必刷)
- 考点解析自考专业(学前教育)真题【考点梳理】附答案
- 2025职称计算机综合提升测试卷带答案详解(满分必刷)
- 2024年自考专业(计算机网络)模拟试题及答案详解【典优】
- 考点解析自考专业(市场营销学)试卷附参考答案(综合题)
- 考点解析人教版9年级数学上册【旋转】综合测评试卷(详解版)
- 血糖监测考试试题及答案
- 2025年淘宝开店考试试题及答案
- 综合解析人教版8年级数学上册《 整式的乘法与因式分解》章节测试试卷(含答案解析)
- 金属非金属矿山安全管理制度汇编
- 2024年10月广东高等教育自学考试05175税收筹划试题及答案
- 人教版四年级数学上册第一次月考综合测评卷(1-2单元)(含答案)
- 2024-2025学年九年级第一次月考化学卷(天津专用)
- 三位数加减三位数竖式计算题200道及答案
- 215kWh工商业液冷储能电池一体柜用户手册
- 第三方担保欠款协议书范文模板
- 【百岁居】百岁居内外勤版本
- 国开(河北)2024年《商务谈判实务》形成性考核1-4答案
- 2024年上海交易集团有限公司招聘笔试冲刺题(带答案解析)
- 2024年首届全国“红旗杯”班组长大赛考试题库800题(含答案)
评论
0/150
提交评论