




已阅读5页,还剩64页未读, 继续免费阅读
(计算机应用技术专业论文)支持qos的实时linux系统qrlinux.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大连理工大学硕士学位论文 摘要 随着p 网络向集成语音和视频等多媒体业务的下一代综合业务网络( n g n ) 发展,网 络服务质量( q o s ) i n 1 题成为了网络研究的重要课题。本文在操作系统领域对如何支持实 时多媒体业务的服务质量进行了探讨。 本文在对l i n u x2 6 内核进程调度、下半部机制以及网络子系统分析的基础上,通 过将网络接受中断的推后工作交由具有实时优先级的内核线程执行,设计并实现了一 种能更好的支持实时多媒体业务服务质量的实时l i n u x 系统:q r - l i n u x ( r e a l - t i m e l i n u xf o rq o s ) 。 硬件中断的推后机制是影响l i n u x 系统实时性能的重要因素。q r l i n u x 系统中将 网络接受中断的推后工作以实时工作队列的形式在进程上下文中运行,因而可抢占和 睡眠。对协议栈处理进行显式调度是q r - l i n u x 系统改进网络实时性能的主要手段。据 此,q r - l i n u x 的设计思想是:用实时优先级不同的内核线程处理实时业务和非实时业 务,利用l i n u x2 6 提供的内核可抢占式进程调度,保证实时业务相对于非实时业务的 优先处理,达到区分服务( d i f f s e r v ) 的目的,从丽提供更好的服务质量。 q r - l i n u x 系统通过修改l i n u x2 6 1 1 版本内核实现,主要解决了实时与非实时数 据包的区分、实时工作队列的实现和网络接收工作者线程的使用三个关键性问题。之 后,重新编译了l i n u x 内核,构造了q r - l l n u x 系统。 最后,在构建的网络测试环境中,利用网络性能评测工具n 咖e r f 分别对l i n u x 系 统和q r - l i n u x 系统的网络吞吐率和请求响应交互性能进行了对比测试。测试结果表 明q r - l i n u x 系统的实时网络数据包的处理性能明显优于l i n u x 系统,并且保持了可伸 缩性( s c a l a b l e ) ,体现了系统的实时性,能够对实时多媒体业务的服务质量提供支持。 本文中构造的q r - l i n u x 可以作为嵌入式网络设备和终端的实时操作系统应用。 关链词:实时l i n u x ;内核线程;工作队列;q o s 大连理工大学硕士学位论文 ar e a l - t i m el i n u xs y s t e mt os u p p o r tq o sc a l l e dq r - l i n u x a b s t r a c t i pn e t w o r ki s c h a n g i n g t ot h en e x tg e n e r a t i o ni n t e g r a t e db u s i n e s sn e t w o r kw h i c h i n t e g r a t e st h em u l t i m e d i a , s u c h 笛a u d i oa n dv i d e o t h en e t w o r kq u a l i t yo fs e r v i c e ( o o s ) h a s b e c o m et ot h ei m p o r t a n ti s s u ei nt h er e s e a r c ho fn e t w o r k t l l i sp a p e rd i s c u s s e sh o wt os u p p o r t t h eq o so fr e f l t i m em u l t i m e d i ab u s i n e s sw i t ho s v i e w p o i n t i nt h i st h e s i s ,ar e a l t i m el i n u xs y s t e mc a l l e dq r l i n u x ,w h i c hs u p p o r t sq o s ,w a s d e s i g n e da n di m p l e m e n t e db ya d d e dr e a l - t i m ek e r n e lt h r e a dt om st h ed e f e r r i n gw o r ko f n e t w o r kr e c e i v i n gi n t e r r u p t ,b a s e do nt h ea n a l y s i s e so fp r o c e s ss c h e d u l i n ga n db o t t o mh a l v e s a n dt h en e t w o r ks u b s y s t e mi nl i n u x2 6k e m e l 1 n l ed e f e r r i n gw o r ki sa l li m p o r t a n ti s s u ew h i c hw o r k so nr e a l t i m ep e r f o r m a n c ei n l i n u x i nq r - l i n u x ,t h ed e f c r r i n gw o r ko fn e t w o r kr e c e i v i n gi n t e r r u p tw a sp e r f o r m e db y w o r kq u e u ei np r o c e s sc o n t e x t ,s oi ti sp r e e m p t i b l ea n ds l e e p a b l e s c h e d u l i n gt h ep r o c e s so f p r o t o c o ls t a c ko b v i o u s l yi st h em a i nw a yo fi m p r o v i n gt h er e a l - t i m ep e r f o r m a n c eo fn e t w o r k i nq r l i n u x s ot h ee s s e n t i a li d e ao fq r l i n t t xi s :p e r f o r m i n gt h ep r o t o c o lp r o c e s s i n go f r e a l - t i m eb u s i n e s sa n du o n = r c a l - t i m eb u s i n e s sw i t hd i f f e r e n tr e a l - t i m ek e r n e lt h r e a d sa n d u s i n gt h ep r e e m p t i b l eo fp r o c e s ss c h e d u l i n gp r o v i d e db yl i n u xk e r n e l2 6 ,t og u a r a n t e et h e p r i o rp r o c e s s i n go fr e a l - t i m eb u s i n e s s t h u s ,i m p l e m e n tt h ed i f 依e n ra n ds u p p o r tq o s q r l i n u xw a si m p l e m e n t e db ym o d i f y 血u xk e r n e l 2 6 1 1 ,m a i n l ys o l v e dt h r e e s i g n i f i c a n tp r o b l e m s :t h ed i v i s i o n o fr e a l - t i m ea n dn o u r e a l - t i m ed a t a p a c k e t s ,t h e i m p l e m e n t a t i o no fr e a l - t i m ew o r kq u e u ea n dt h eu s eo fw o r k e rt h r e a do fn e t w o r kr e c e i v i n g t h e n ,t h el i n u xk e r n e lw a sr e c o m p i l e da n dt h eq r l i n u xs y s t e mw a sc o n s t r u c t e d f i n a l l y , i nt h eb u i l tt e s te n v i r o n m e n t ,t h en e t w o r kt h r o u g h p u ta n dt h er e q u e s t r e s p o n s e p e r f o r m a n c eo fl i n u xa n dq r - l i n u xw a s t e s t e dr e s p e c t i v e l y ,a sa c o m p a r i s o n ,u s i n gn e t p e r f w h i c hi sat e s tt o o lo fn e t w o r kp e r f o r m a n c e t h er e s u l ti n d i c a t e st h a tt h ep e r f o r m a n c eo f p r o c e s s i n gr e a l t i m en e t w o r kd a t ap a c k e ta n ds e a l 曲l ei nq r - l i n u xi sb e t t e rt h a nt h a ti n l i n u x n i sc c r t i f i c a t c st h ep e r f o r m a n c eo fr e a l t i m ei nq r - l i n u x ,a n dc a l ls u p p o r tt h eq o s o ft h er e a l t i m em u l t i m e d i at a s k t h eq r l i n u xs y s t e mc a nb ea p p l i e da sar e a l - t i m e o p e r a t i n gs y s t e mo ne m b e d d e d n e t w o r kd e v i c eo rn e t w o r kc o n s o l e k e yw o r d s :r e a l - t i m el i n u x ;k e r n e lt h r e a d ;w o r kq u e u e ;q o s 独创性说明 作者郑重声明:本硕士学位论文是我个人在导师指导下进行的研究工 作及取得研究成果。尽我所知,除了文中特别加以标注和致谢的地方外, 论文中不包含其他人已经发表或撰写的研究成果,也不包含为获得大连理 工大学或者其他单位的学位或证书所使用过的材料。与我一同工作的同志 对本研究所做的贡献均已在论文中做了明确的说明并表示了谢意。 作者签名:埘,i lt 哆 大连理工大学硕士学位论文 本学位论文作者及指导教师完全了解“大连理工大学硕士、博士学位论文版权使用规 定”,同意大连理工大学保留并向国家有关部门或机构送交学位论文的复印件和电子版, 允许论文被查阅和借阅。本人授权大连理工大学可以将本学位论文的全部或部分内容编入 有关数据库进行检索,也可采用影印、缩印或扫描等复制手段保存和汇编学位论文。 储签名五盏塑 导师签名 大连理工大学硕士学位论文 引言 下一代m 网络是以软交换为中心的综合业务网络。随着语音、视频等实时多媒体 业务的引入,急切需要网络系统能够提供实时多媒体应用所需的服务质量( o o s ) 。由于 传统i p 网络基本上是采用点到点尽力而为型( b e s te f f o r t ) 的服务方式,所以很难有效满 足实时多媒体业务的服务质量要求。因此,q o s 保障成为了下一代i p 网络的一个重要 课题。在不同的领域都有对改善q o s 的研究,例如传输系统、多媒体网络和操作系 统。本文既是在操作系统领域对改善实时多媒体业务的服务质量进行了探讨。 l i n u x 是一款开放源代码的操作系统,具有良好的体系结构,对其内核的修改和裁 剪比较方便,因此备受嵌入式系统开发者的青睐。在嵌入式操作系统领域得到了广泛 的应用。但由于l i n u x 是作为通用操作系统实现的,而嵌入式应用环境中往往对实时 性能有更严格的要求。因此,为了l i n u x 应用于实时嵌入式领域,就要对其内核进行 一定的修改和剪裁。这主要集中在两方面,一是通过修改与实时性密切相关的操作系 统特征来提高系统的实时性能,以达到硬实时的响应效果,如提高时钟精度、解决封 中断和内核态不能被抢占的问题等,代表系统有r t - l i n u x 、k u r t l i n u x 等;二是针对 实时多媒体应用环境,采用新颖的调度思想和调度架构,通过改进网络子系统,以提 高实时性能,代表系统有q l i n u x 、s i l k 以及r e d l i n u x 等。本论文的工作属于第二 方面。 l i n u x2 6 内核相对于2 4 内核有了很大的改进,尤其是增强系统实时性方面。例 如进程调度部分:采用了一种口q 做o ( 1 ) 调度的新的调度程序。加强了交互性能等;更 重要的是实现了内核自身可抢占。尽管l i n u x2 6 还不是一个实时内核,然而这些改进 将使l i n u x 转变为实时操作系统( r t o s ) 成为可能,尤其是如本文论述的提供实时多媒 体应用支持的软实时操作系统。 在l i n u x2 6 内核中引入了一种新的下半部机制一工作队列。它与其他几种下半部 机制最大的区别就是它可以把工作推后,交由一个内核线程去执行,因此该工作总是 会在进程上下文执行。这样,通过工作队列执行的代码能具有进程上下文的所有特 征,如可强占、可睡眠等。 本论文的工作基于新版本的l i n u x 2 6 1 1 内核,在对l i n u x2 6 内核进程调度模块、 下半部机制以及网络子系统分析的基础上,通过将对网络接收和转发数据包进行协议 栈处理的工作以工作队列的形式执行,设计并实现了一种支持实时多媒体业务服务质 量要求的软实时l i n u x 系统,q r - l i n u x 。本文中的工作主要有以下几点: ( 1 ) 对比分析几种实时l i n u x 操作系统,总结出实时l i n u x 系统的设计思路; 王永新:支持q o s 的实时l i n u x 系q r - l i n u x ( 2 ) 研究网络服务质量技术和i e t f 的两种q o s 体系结构; ( 3 ) 分析l i n u x 2 6 内核进程调度、下半都机制和网络子系统; ( 4 ) 提出q r - l i n u x 系统的设计思想和总体架构: ( 5 ) 修改l i n u x 2 6 1 l 内核代码,实现网络接收工作队列,即q r - l i n u x 系统的主 体; ( 6 ) 编译和调试q r l i n u x 系统内核,并构建完整的q r - l i n u x 系统; ( 7 ) 构建测试环境,利用n e t p e r f 钡g 试工具,对q r - l i n u x 系统和l i n u x 系统进行网 络性骀测试; ( 8 ) 通过与l i n u x 系统网络性能对比,对q r - l i n u x 系统评估,对本文的工作进行 总结和展望。 大连理工大学硕士学位论文 1 实时l i n u x 操作系统概述 1 1 实时操作系统的概念 嵌入式实时系统中采用的操作系统我们称为嵌入式实时操作系统,它既是嵌入式 操作系统,又是实时操作系统。作为一种嵌入式操作系统,它具有嵌入式软件共有的 可裁剪、低资源占用、低功耗等特点;而作为一种实时操作系统( 本节对实时操作系统 特性的讨论主要指硬实时操作系统) ,它与通用操作系统( 如w i n d o w $ 、u n i x 、l i n u x 等) 相比有很大的差别,我们可以通过比较这两种操作系统之间的差别来逐步描述实时操 作系统的概念。 我们在日常工作学习环境中接触最多的是通用操作系统,通用操作系统是由分时 操作系统发展而来,大部分都支持多用户和多进程,负责管理众多的进程并为它们分 配系统资源。分时操作系统的基本设计原则是: 尽量缩短系统的平均响应时间并提高系统的吞吐率,在单位时间内为尽可能多的 用户请求提供服务【lj 。 由此可以看出,分时操作系统注重平均表现性能,不注重个体表现性能。如对于 整个系统来说,注重所有任务的平均响应时间而不关心单个任务的响应时间,对于某 个单个任务来说,注重每次执行的平均响应时间而不关心某次特定执行的响应时间。 通用操作系统中采用的很多策略和技巧都体现出了这种设计原则,如虚存管理机制中 由于采用了l r u 等页替换算法,使得大部分的访存需求能够快速地通过物理内存完 成,只有很小一部分的访存需求需要通过调页完成,但从总体上来看,平均访存时间 与不采用虚存技术相比没有很大的提高,同时又获得了虚空间可以远大于物理内存容 量等好处,因此虚存技术在通用操作系统中得到了十分广泛的应用。类似的例子还有 很多,如u n i x 文件系统中文件存放位置的间接索引查询机制等,甚至硬件设计中的 c a c h e 技术以及c p u 的动态分支预测技术等也都体现出了这种设计原则。由此可见, 这种注重平均表现,即统计型表现特性的设计原则的影响是十分深远的。 而对于实时操作系统,前面我们已经提到,它除了要满足应用的功能需求以外, 更重要的是还要满足应用提出的实时性要求,而组成一个应用的众多实时任务对于实 时性的要求是各不相同的,此外实时任务之间可能还会有一些复杂的关联和同步关 系,如执行顺序限制、共享资源的互斥访问要求等,这就为系统实时性的保证带来了 很大的困难。因此,实时操作系统所遵循的最重要的设计原则是:采用各种算法和策 略,始终保证系统行为的可预测性( p 删i 比i b i l i 劬” 。可预测性是指在系统运行的任何时 王永新:支持q o s 的实时l i n u x 系统q r o l i n u x 刻,在任何情况下,实时操作系统的资源调配策略都能为争夺资源( 包括c p u 、内存、 网络带宽等) 的多个实时任务合理地分配资源,使每个实时任务的实时性要求都能得到 满足。与通用操作系统不同,实时操作系统注重的不是系统的平均表现,而是要求每 个实时任务在最坏情况下都要满足其实时性要求,也就是说,实时操作系统注重的是 个体,更准确地讲是个体最坏情况表现。举例来说,如果实时操作系统采用标准的虚 存技术,则一个实时任务执行的最坏情况是每次访存都需要调页,如此累计起来的该 任务在最坏情况下的运行时间是不可预测的,因此该任务的实时性无法得到保证。从 而可以看出在通用操作系统中广泛采用的虚存技术在实时操作系统中不宜直接采用。 由于实时操作系统与通用操作系统的基本设计原则差别很大,因此在很多资源调 度策略的选择上以及操作系统实现的方法上两者都具有较大的差异,这些差异主要体 现在任务调度策略、中断处理和内存管理等方面。 我们可以把实时系统定义成“一个能够在实现指定或者确定的时间内完成系统功 能和对外部或内部、同步或异步时间做出喻应的系统”网。这个定义要求: ( 1 ) 系统应该有在事先定义的时间范围内识别和处理离散事件的能力; f 2 ) 系统能够处理和存储控制系统所需要的大量的数据。 实时系统按照对实时任务响应的严格程度可分为以下两类:硬实时和软实时。 硬实时和软实时的区别就在于对外界的事件做出反应的时间。硬实时系统必须是 对及时的事件做出反应,绝对不能错过事件处理的截止期( d e a d l i n e ) 情况。在硬实时系 统中如果出现了这样的情况就意味着巨大的损失和灾难。比如说核电站中的堆芯温度 控制系统,如果没有对堆芯过热做出及时的处理,后果不堪想象。 软实时系统是指,如果在系统负荷较重的时候,允许发生错过d e a d l i n e 的情况而 且不会造成太大的危害。比如说实时多媒体应用领域,即使网络数据包延迟到达或者 被丢弃,也不会造成严重的损失,是人们可以接受的。 硬实时系统和软实时系统的实现区别主要是在选择调度算法上。选择基于优先级 调度的算法足以满足软实时系统的需求,而且可以提供高速的响应和大的系统吞吐 率;而对硬实时系统来说,需要使用的算法就应该是调度方式简单,反应速度快的实 时调度算法了 1 2 硬实时l i t l u x 操作系统 我们说一个操作系统是硬实时操作系统一个衡量的标准就是能否在在限定时间内 执行完规定的功能并对外部的异步事件做出响应。作为工业标准,一个标准的硬实时 操作系统的这项指标应该小于等于i o n s 。在这方面做得比较成功的商业操作系统有 4 大连理工大学硕士学位论文 v x w o r k s 和m o n t a v i s t a 的硬实时l i n u x 操作系统等。而基于l i n u x 的非商业硬实时 l i n u x 操作系统主要有r t l i n u x 和k u r t - l i n u x 等。下面分别作简要的分析: 1 2 1r t - l i n u x r t l i n u x 是新墨西哥科技大学的研究成果【3 】。它的基本思想是,为了在l i n u x 系 统中提供对于硬实时的支持,它实现了一个微内核的小的实时操作系统( 我们也称之 为r t - l i n u x 的实时子系统) ,而将普通l i n u x 系统作为一个该操作系统中的一个低优先 级的任务来运行。另外普通l i n u x 系统中的任务可以通过f i f o 和实时任务进行通信。 r t - l i n u x 的框架结构如图1 1 所示: 图1 1r t - m n u x 的框架结构 f i g 1 1t h ef r a m e w o r ko f r t - l i n u x r t l i n u x 的关键技术是通过软件来模拟硬件的中断控制器。当l i n u x 系统要封锁 c p u 的中断时,r t l i n u x 中的实时子系统会截取到这个请求,把它记录下来,而实际 上并不真正封锁硬件中断,这样就避免了由于封中断所造成的系统在一段时间没有响 应的情况,从而提高了实时性。当有硬件中断到来时,r t - l i n u x 截取该中断,并判断 是否有实时子系统中的中断例程来处理还是传递给普通的l i n u x 内核进行处理。另 外,普通l i n u x 系统中的最小定时精度由系统中的实时时钟的频率决定,一般l i n u x 系 统将该时钟设置为每秒来1 0 0 个时钟中断,所毗l i n u x 系统中一般的定时精度为 1 0 m s ,即时钟周期是1 0 m s ,而r t l i n u x 通过将系统的实时时钟设置为单次触发状 态,可以提供十几个微秒级的调度粒度。 王永新:2 芰持q o s 的实时l i n u x 系统q r - l i n u x r t - l i n u x 对于那些在重负荷下工作的专有系统来说,确实是一个不错的选择,但 他仅仅提供了对于c p u 资源的调度;并且实时系统和普通l i n u x 系统关系不是十分密 切,这样的话,开发人员不能充分利用l i n u x 系统中已经实现的功能,如协议栈等。 所以r t l i n u x 适合与工业控制等实时任务功能简单,并且有硬实时要求的环境中,但 如果要应用于多媒体处理中还需要做大量的工作。 1 2 2k u r t - l ;r l u x k u r t - l i n u x 由k a n s a s 大学开发,它可以提供微秽级的实时精度1 4 l 。不同于r t - l i n u x 单独实现一个实时内核的做法,k u r t - l i n u x 是在通用l i n u x 系统的基础上实现 的,它也是第一个可以使用普通l i n u x 系统调用的基于l i n u x 的实时系统。 k u r t l i n u x 将系统分为三种状态:正常态、实时态和混合态。在正常态时它采用 普通的l i n u x 的调度策略,在实时态只运行实时任务,在混合态实时和非实时任务都 可以执行。实时态可以用于对于实时性要求比较严格的情况。 为了提高l i n u x 系统的实时特性,就要提高系统所支持的时钟精度。但如果仅仅 简单地提高时钟频率,会引起调度负载的增加,从而严重降低系统的性能。为了解决 这个矛盾,k u r t - l i n u x 采用u t i m e 所使用的提高l i n u x 系统中的时钟精度的方法:它 将时钟芯片设置为单次触发状态( 0 n es h o tm o d e ) ,即每次给时钟芯片设置一个超时时 间,然后到该超时事件发生时在时钟中断处理程序中再次根据需要给时钟芯片设置一 个超时时间。它的基本思想是一个精确的定时意味着我们需要时钟中断在我们需要的 一个比较精确的时间发生,但并非一定需要系统时钟频率达到此精度。它利用c p u 的 时钟计数器t s c ( t i m es t a m pc o u n t e r ) 来提供精度可达c p u 主频的时间精度。 对于实时任务的调度,k u r t - l i n u x 采用基于时间) 的静态的实时c p u 调度算 法。实时任务在设计阶段就需要明确地说明它们实时事件要发生的时间。这种调度算 法对于那些循环执行的任务能够取得较好的调度效果。 k u r t - l i n u x 相对于r t l i n u x 的一个优点就是可以使用l i n u x 系统自身的系统调 用,它本来被设计用于提供对硬实时的支持,但由于它在实现上只是简单的将l i n u x 调度器用一个简单的时间驱动的调度器所取代,所以它的实时进程的调度很容易受到 其它非实时任务的影响,从而在有的情况下会发生实时任务的截止期限不能满足的情 况,所以也被称作严格实时系统( f i r mr e a l - x i m e ) 。目前基于k u r t l i n u x 的应用有: a r t s ( a t m r e f e r e n c et r a f f i cs y s t e m ) 、多媒体播放软件等。 大连理工大学硕士学位论文 1 3 软实时l in u x 操作系统 由于软实时系统对实时性能的要求不是那么的“严格”,因此这样的系统多用来 提供对于实时多媒体应用的支持。比较有代表性的支持多媒体应用的l i n u x 系统有 s i l k 和q l i n u x 等。下面分别作简要的分析: 1 3 1s i l k s i l k 代表s c o u ti nl i n u xk e r n e l ,它是普林斯顿大学支持p a t h 调度的垂直结构 操作系统s c o u t 在l i n u x 中的一个实现【5 】。它将s c o u t 操作系统作为l i n u x 的一个 模块来实现。 s i l k 系统的主要目的就是为一些网络q o s 提供支持,它支持对于网络包处理的 显式的调度,并且这个调度是以p a t h 为单位进行的。p a t h 概念的新颖之处在于, 不像传统的基于任务的调度方式,它从另外一个角度进行系统的资源调度,即以网络 的数据流及其处理为单位进行调度。详细来说,一个p a t h 由一串当数据流流经系统 时进行数据处理或者数据转换的代码模块组成,并且对应的数据流所消耗的资源也归 该p a t h 。研究表明,p a t h 这种体系结构特别适用于有q o s 要求的分布式多媒体系 统以及软件路由设备中。 在实现上,s i l k 系统将l i n u x 系统中的网络子系统替换成了自己的协议栈。l i n u x 应用程序通过s o c k e t 来创建和使用p a t h s ,几乎不用对应用程序本身作任何修改。 图1 2 说明了s i l k 系统的结构。在图的左半部分,s i l k 模块和网络设备驱动、 s o c k e t 接口层、以及包过滤接口n e t f i l t e r 通过标准的方式交换数据。s i l k 还修改了 l i n u x 任务的调度参数,以便影响l i n u x 进程调度程序的调度决策。图的右半部分示意 了s i l k 中的两个p a t h 。s i l k 模块有自己的c p u 调度器,它和l i n u x 系统中的c p u 调度器进行合作和协调。这个合作由图中的l i n u xt h r e a d 代表,通过执行这个线程, s i l k 将控制转给l i n u x 调度程序。 s i l k 在操作系统中提供了一个新的s o c k e t 协议族以便上层应用程序调用下层 的s c o u tp a t h 。为了在l i n u x 进行网络包处理之前截获i p 包,s i l k 通过l i n u x2 4 内核的n e t f i l t e r 接口插入了一个n e f f i l t e rh o o k ,所有到来的口包会被重定向到该h o o k 上,如果s i l k 找到一个对应于该网络包的p a t h ,就让l i n u x 内核丢弃该包,而由 s i l k 对包进行处理。 王永新:支持q o s 的实时l i n u x 系统q r - l i n u x 图1 2s i l k 框架结构 f i g 1 2t h ef r a m e w o r ko f s i l k 关于c p u 调度,s i l k 有着自已的c p u 调度程序和线程包,它们和l i n u x 系统的 调度程序并存,在有s i l k 的l i n u x 系统中,我们一般把由s i l k 调度的归属于某个 p a t h 的处理叫做s i l k 线程( t h r e a d ) ,而普通的由l i n u x 调度程序调度的东西都叫做 任务( t a s k ) ;s i l k 在一个l i n u x 内核任务的基础上实现它的线程调度,这个内核任务当 s i l k 进行初始化的时候创建,并且将该内核任务的优先级设为优先级最高的实时任 务,所以s i l k 的内核任务几乎是只要它就绪就可以投入运行,并且只有当该内核任务 主动出让c p u 时l i n u x 系统中的其他普通任务才能够得以运行。s i l k 将c p u 出让给 普通的l i n u x 任务是通过调度s i l kt h r e a d 中的一个叫做l i n u xt h r e a d 的线程来实现 的,该l i n u xt h r e a d 本质上就是在s i l k 的调度空间中代表l i n u x 的普通调度程序。 s i l k 在调用l i n u xt h r e a d 之后,代表s i l k 的内核任务就被l i n u x 的进程调度程序设置 为非就绪状态,直到它运行一个其他的进程之后,高优先级得s i l k 内核任务就又得到 c p u 。所以这种实现机制可以让s i l k 在调度l i n u xt h r e a d 时,l i n u x 调度程序可以有 机会调度一个其他的进程执行。 1 3 2o i i r u x q l i n u x 是e ha t & t 、德州大学分布式多媒体计算实验室和马萨诸塞大学高级系统 软件实验室联合开发出来的一种软实时核心嗍。它能够为实时多媒体应用提供q o s 支 持。 q l i n u x 实现了近年来操作系统领域内一些最新的研究成果,包括: 大连理工大学硕士学位论文 ( 1 ) h - s f q 资源调度算法( h i e r a r c h i c a ls t a r t - t i m ef a i rq u e u i n g ) ( 2 ) 网络包的延迟处理技术( l a z yr e c e i v e rp r o e e s s i n g :l r p ) : ( 3 ) c e l l o 磁盘调度算法。 q l i n u x 系统结构如图1 3 所示: 图1 3q l i n u x 的框架结构 f i g 1 3t h ef r a m e w o r ko f q l i n u x h s f q 资源调度算法采用了一种分级调度的思想,先将资源在不同的应用类别之 间进行按比例分配,并在应用类别之间提供对于资源使用的隔离,同时在每一个应用 类别中还可以使用不同的资源调度算法。这样做的目的是为了在多媒体系统中提供 q o s 支持。 l r p 技术是一种新颖的设计o s 网络子系统的思想,目的是为了解决普通u n i x 和 u n i x 系统中网络包接收的问题。传统的u n i x 系统没有对网络包协议处理的显式调度, 它们一般采用中断驱动的机制。当网卡有中断时,c p u 就立刻进行一系列由网卡中断 程序启动的包接收和协议处理操作,将最终的数据送给等待接收的进程,并唤醒该进 程。但这种处理方式会影响应用程序资源调度的性能,并在系统处于过载状态时可能 会引起一些应用层任务的饥饿,降低网络吞吐率,甚至会让系统没有响应。为了解决 这些问题,l r p 的核心思想就是每一个s o c k e t 有一个i p 包的队列,只有当上层应用程 序请求数据时才进行协议处理,同时对协议处理操作以请求数据的应用的优先级进行 显式的调度。通过这种途径增强了资源调度的公平性,能够提供一定程度的流量隔 离,同时能够提高系统过载状态时的吞吐率。 c e l l o 磁盘调度算法能够支持多种应用类别,比如:交互式尽力而为应用、大吞吐 率尽力而为应用、以及软实时应用等类别,并公平地给各个类别的应用分配磁盘访问 王永新:支持q o s 的实时l i n u x 系统q r - l i n u x 带宽。在结构上c e l l o 磁盘调度采用的是一种两级式的调度方式,它由多个与应用类别 相关的调度器以及一个与应用类别无关的调度器组成。 1 4 小结 总结上述的各种实时l i n u x 的实现,它们针对不同的设计目标,从不同的侧重点解决 了通用l i n u x 操作系统对实时性支持的问题。通过对多种实时l i n u x 系统的研究,作者总 结了几个设计实时l i n u x 系统的基本思路: ( 1 1 为了提供对于硬实时的支持,可以通过提高时钟精度,解决中断封闭和内核态不 可抢占问题来实现。代表系统r t - l i n u x 、k u r t - l i m t x 等。 ( 2 ) 设计软实时l i n u x 系统以提供对于实时多媒体应用的支持。这可以通过引入新颖 的调度算法如网络包调度,进程调度,磁盘调度等。代表系统q l i n u x 。 ( 3 ) 为了更好地支持网络系统中的q o s 要求,可以通过引入新颖的调度框架来实现软 实时l i n u x 系统。比如s i l k 中的垂直结构的操作系统调度的思想,q l i n u x 中的分级调度 的思想。 虽然上述几种实时l i n u x 系统都在各自方面提高了l i n u x 系统的实时性能,然而他们 都是基于l i n u x 2 4 内核的。而目前最新的l i n u x 2 6 内核版本对l i n u x 2 4 内核做了很多的改 进,尤其是增强系统实时性方面。尽管l i n u x2 6 还不是一个实时内核,然而这些改进将使 l i n u x 转变为实对操作系统僻r o s ) 成为可能。因此基于l i n u x 2 6 内核设计实时系统将变得 更加简单和规范,尤其是如本文论述的提供实时多媒体应用支持的软实时操作系统。 本文设计并实现的q r - l i n u x 系统借鉴了以上几种实时l i n u x 的设计思想,尤其是 s i l k 和q l i n u x ,给了作者很大的启发,同时,通过对上述几种实时l i n u x 系统的分析, 也侧面的说明了通过修改l i n u x 内核实现q r - l i n u x 系统的可行性和q r - l i n u x 系统的应用 价值。 大连理工大学硕士学位论文 2 网络服务质量概述 以开放性、分布性和综合性为主要特征的下一代网络( n g n ) 技术正在深刻地改变 着传统电信网的观念和体系结构。n g n 采用分层、开放的体系结构,其主要技术优势 是各层阅采用开放的协议或a p i 接口,从面有利于打破传统电信网络封闭的捂局,实 现多种异构网络间的融合。更为准确地说n g n 体系通过将业务与呼叫控制分离。呼叫 控制与承载分离来实现相对独立的业务体系,使得上层业务与底层的异构网络无关, 从而为实现业务提供了更为广阔的空间。然而,虽然n g n 是网络技术和网络融合发展 的趋势,但n g n 本身还有待成熟和完善,特别是在服务质量方面。 总之,下一代网络是以软交换技术为核心的分组网络,而能否有效保证分组网络 承载多类型业务时的服务质量,则是通信网络向下一代网络演进的关键 9 1 。 2 1 网络服务质量的概念 “服务质量( q o s ) ”是一组服务要求,网络必须满足这些要求才能确保数据传输 的适当服务级别。这些服务要求以q o s 功能的行业标准为基础。q o s 使得实时程序 能最有效地利用网络带宽。由于q o s 能为某个保证级别提供充足的网络资源,所以它 为共享网络提供了与专用网络类似的服务级别。q o s 保证是指某个服务级别,该服务 级别可以使程序按照指定的速率并在指定的时间帧肉传输数据。支持q o s 的网络与尽 力而为的网络的比较如图2 1 所示: 图2 1q o s 网络与尽力而为型网络 f i g 2 1q o sn 咖r ka 1 1 d b e ne 助r t n e t w o r k 当前,众多国际标准化组织和研究机构都对如何实现分组网络承载业务的q o s 保 证投入了极大的热情,并已经定义、规范和应用了多种类型的q o s 控制机制,如基于 服务优先级的接入控制、拥塞反馈、流量的计量和测量、q o s 选路和流量工程、q o s 策略及綮略配置、排队和调度、资源预留f 如r s v p ) 、服务等级管理以及服务费率表征 和流量标识等。同时,作为当前通信领域的研究热点,各项新的q o s 保证机制的提出 王永新:支持q o s 的实时l i n u x 系统q r - l i n u x 及对已有技术的改进也层出不穷。熟悉并在网络建设中适当地应用这些技术,对于提 高分组网络的q o s 保证能力是十分有益的【”l 。 然而,由于网络基础设施的庞杂性,实现端到端的q o s 并非易事。影响网络q o s 的因素有许多,网络q o s 控制涉及到构成网络的每一个节点和元素,从网络链路与协 议到路由器、交换机、服务器的硬件以及软件体系结构。计算机互联网络发展至今, 已成为个庞大的非线性复杂巨系统:系统的规模和用户数量巨大且仍在不断增长, 异质异构的网络不断融合发展,网络协议体系庞杂。垂直方向上呈现出多样化的层次 结构,而水平方向上又以地域和功能为标准进一步形成分布且多级的架构,在业务性 质上表现为多种业务的集成与综合,业务量突发性日渐明显,且不同业务要求不同的 q o s 保证。网络节点间,节点与数据分组间由于协议而产生的非线性作用以及用户之 间的合作与竞争,使网络行为呈现出相当的复杂性并且难以预测。因此,要真正实现 针对各类网络用户提供端到端的q o s 保证,仍有很长的路要走。 将用户应用需求的q o s 描述使用统一的参数描述,q o s 描述是和应用层q o s 要 求和管理政策有关的。q o s 描述在每个系统层都是不同的。因此,q o s 描述只表明应 用要求什么,而不是如何去实现这种q o s 机制。下面是一些常用的q o s 描述参数,但 也不仅仅局限于这些: ( 1 ) 分组延迟( p a c k e td e l a y ) :描述了分组从源到目的地传输中所花费的最大时间。 ( 2 ) 延迟抖动( d e l a yj i t t e r ) :描述了连续分组之间延迟的最大变化。延迟抖动的限制 对多媒体实时应用是非常有用的,因为大多数多媒体实时应用希望提供给用户一个稳 定的帧速率。 ( 3 ) 带宽( b a n d w i d t h ) :指的是每时间单位发送到网络上的总的数据量。 “) 分组丢失率( p a c k e tl o s sr a t e ) :指的是每时间单位丢失的最大分组数。 ( 5 ) 吞吐率( a p p l i c a t i o nt h r o u g h p u t ) , 指系统有效的处理信息量。 ( 6 ) 服务代价( c o s to fs e r v i c e ) :它表明用户为得到需要服务级别所付出的代价。服 务代价是个非常重要的要素,因为如果没有服务代价问题,那么用户就没有理由不 去选择最大级别的服务,如保证服务等。 ( 7 ) 复杂度( c o m p l e x i t y ) :通常指有效完成信息传输的难易程度的一个量化级数。 2 2i e t f 的q o s 体系结构 目前互联网工程任务组1 cm 衄n e le n 班煳由蝎t a s kf o r c e ,简称口甜f ) 把q o s 体系划 分为两大类:综合服务体系( h 蝎e r v ) 和区分服务体和m s e r v ) j 。 大连理工大学硕士学位论文 2 2 1in t s o r v 集成业务体系结构 i n t s e 由m t f 的i n t s e r v 工作组于1 9 9 4 年在r f c l 6 3 3 中提出。该集
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国家庭影院音响系统行业市场全景分析及前景机遇研判报告
- 设计单位资质管理制度
- 证书印章专人管理制度
- 试制加工车间管理制度
- 试验检测车间管理制度
- 财务资料调阅管理制度
- 账户中心权限管理制度
- 货款支付预算管理制度
- 货车出厂检查管理制度
- 2025年中国光子脱毛机器行业市场全景分析及前景机遇研判报告
- 光伏发电项目施工组织设计
- 小品剧本最后一堂课
- 现场急救知到章节答案智慧树2023年福建警察学院
- 电子汽车衡作业指导书
- 电缆电缆采购合同范本(汇编6篇)
- 继电保护装置整定记录
- 2022年北京市朝阳区幼儿园教师招聘笔试《幼儿保教知识与能力》试题及答案解析
- 计划保养手册-mrc卡设备ManitowocQ和型号所有制冰机
- 上海高一数学教材电子版
- 数字通信系统课件
- 最新教师培训课件:教师专业发展
评论
0/150
提交评论