已阅读5页,还剩54页未读, 继续免费阅读
(计算机软件与理论专业论文)嵌入式实时操作系统的网络技术研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华中科技大学硕士学位论文 摘要 随着互联网应用的飞速发展和嵌入式微处理器应用的日益广泛,作为嵌入式系 统软件核心的嵌入式实时操作系统的研究与发展显得尤为重要。传统操作系统的网 络系统实现对实时应用支持不够并且灵活性欠缺,其设计思想并不适合嵌入式实时 操作系统,从而无法为嵌入式实时应用提供有效的网络支持。 a r t s o s 作为一个自主开发的采用现代微内核结构的嵌入式实时操作系统,其 网络系统是基于多线程并可动态加载的独立服务进程,同时运行于内核空间之外。 在充分利用系统本身实时性与灵活性以及分析其他操作系统网络实现优缺点的基础 上,a r t s o s 网络构建基于静态多服务线程模型的体系结构,设计相应的数据处理 策略,并且从数据队列管理和网络内存管理两个方面进行了针对性的性能优化,具 备了灵活的动态可加载能力与高质量的实时性能。 由于网络数据处理流程已经作为成熟的标准而存在,a r t s o s 网络设计主要工 作集中在体系结构的构建以及由此产生的优化问题上。首先引入了多服务线程处理 模型的思想,并解决了优先级排队与任务抢占之间的矛盾;其次结合系统内核的特 点与网络应用的实际,对网络内存管理作了一定的改进,使其更符合嵌入式微内核 实时应用环境。 通过对a r t s o s 网络的协议功能模块的测试结果及部分性能指标的分析,表明 a r t s o s 网络体系结构与处理策略的设计满足了嵌入式实时应用的网络数据处理需 求。 关键词:嵌入式实时操作系统,微内核,线程,网络,优先级排队,任务抢占 华中科技大学硕士学位论文 a b s t r a c t w i t ht h e d e v e l o p m e n t o fi n t e r n e t a p p l i a n c e a n dt h e p o p u l a r i t y o fe m b e d d e d m i c r o c o n t r o l l e r ,r e s e a r c ha n dd e v e l o p m e n to fe m b e d d e dr e a l t i m eo p e r a t i n gs y s t e m , w h i c hi st h ec o r eo fe m b e d d e ds y s t e m s ,b e c o m em o r ea n dm o r ei m p o r t a n t n e t w o r k i m p l e m e n to f t r a d i t i o n a lo p e r a t i n gs y s t e m sl a c k sh i g hr e a l t i m ec a p a b i l i t ya n df l e x i b i l i t y , a n dd o e s n tf i te m b e d d e dr e a l t i m eo p e r a t i n gs y s t e mi nt h ec a s eo fd e s i g ni d e a ,s oi tc a l l t s u p p o r te m b e d d e d r e a l t i m ea p p l i c a t i o ne f f e c t i v e l y b e i n g a n o p e r a t i n gs y s t e md e v e l o p e di n d e p e n d e n t l y , a r t s o sa d o p t m o d e m m i c r o k e r n e ls t r u c t u r e i t sn e t w o r ki m p l e m e n ti si n d e p e n d e n ta n dd y n a m i c l o a d e ds e r v e r p r o c e s s ,w h i c h i s r u n n i n go u to fm i c r o k e r n e l ,b a s e do nm u l t i t h r e a d u s i n gs y s t e m r e a l t i m e c a p a b i l i t y a n d f l e x i b i l i t y a n da n a l y z i n gt h e i m p l e m e n t o fo t h e r s s y s t e m s n e t w o r k ,a r t s o sc o n s t r u c t si t sn e t w o r ka r c h i t e c t u r eb a s e d o ns t a t i cs e r v e rt h r e a dm o d e l , a n dp l a nc o r r e s p o n d i n gd a t ad e a l i n gp o l i c y , t h e no p t i m i z e st h em a n a g e m e n to fd a t aa r r a y a n dn e t w o r km e m o r y s o ,a r t s o sh a st h e c a p a b i l i t y o ff l e x i b l e l o a d i n g a n dh i g h r e a l t i m eq u a l i t y b e c a u s et h ep r o c e s so fn e t w o r kd a t ad i s p o s a la l r e a d ye x i s t sa sam a t u r es t a n d a r d , a r t s o sn e t w o r k d e s i g n f o c u s e so nt h ec o n s t r u c t i o no fs y s t e ma r c h i t e c t u r ea n d o p t i m i z a t i o n f i r s t l y , t h ei d e ao fs e r v e rm u l t i t h r e a dd i s p o s a lm o d e li s i n t r o d u c e da n d c o n t r a d i c t i o nb e t w e e n p r i o r i t yq u e u ea n d t a s ko c c u p yi ss o l v e d t h e nt h en e t w o r k m e m o r y m a n a g e m e n ti si m p r o v e da c c o r d i n gt o t h e s p e c i a l t yo fs y s t e mk e r n e la n dt h ef a c to f n e t w o r ka p p l i c a t i o nt om a k ei tm o r es u i t a b l ef o rt h ea p p l i c a t i o ne n v i r o n m e n to fe m b e d d e d m i c r o k e r n e l b ya n a l y z i n g t h et e s t i n gr e s u l to f a r t s o sn e t w o r k p r o t o c o lu s a g em o d u l e a n ds o m e o fp e r f o r m a n c ed a t a ,t h i se s s a yt r i e st op r o v et h a tt h ed e s i g no fa r t s o sn e t w o r ks y s t e m a r c h i t e c t u r ea n dd i s p o s a l p o l i c y m e e t st h e r e q u i r e m e n t o fn e t w o r kd a t a d i s p o s a l o f e m b e d d e dr e a l t i m ea p p l i c a t i o n k e y w o r d s :e m b e d d e dr e a l - t i m eo p e r a t i n gs y s t e m ,m i c r o - k e r n e l ,t h r e a d ,n e t w o r k ,p r i o r i t y q u e u e ,t a s ko c c u p y 一 j i 独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得 的研究成果。尽我所知,除文中已经标明引用的内容外,本论文不包含任何其他 个人或集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体, 均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。 学位论文作者签名 日期:m 年牟月;c 日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校 有权保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅 和借阅。本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数 据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 保密口,在年解密后适用本授权书。 本论文属于, 不保密酣。 ( 请在以上方框内打“”) 学位论文作者签名:粗 同期:如年月p 日 一弛粥 日期:0 q 9 午年午月专。日 华中科技大学硕士学位论文 1 1研究背景 1绪论 研究课题是十五国防科技预研项目( 0 0 j 1 5 3 3 j w 0 5 2 9 ) 和华祥软件研究开发中 心项目嵌入式实时操作系统产品开发的核心子课题,主要涉及嵌入式实时操作 系统网络协议栈的理论设计和实现,为操作系统产品以及相关应用系统产品的开发 提供理论基础和技术支持。 1 2 嵌入式实时操作系统的概况 嵌入式实时操作系统( e m b e d d e dr e a l t i m eo p e r a t i n gs y s t e m ,e r t o s ,下同) 是传统的嵌入式操作系统与实时操作系统相结合的产物,它既是嵌入式操作系统, 又是实时操作系统 1 ”。在功能上,它能够支持多任务模型下的任务管理、内存管理、 同步通信和中断时钟管理等功能;在系统性能上,它具备了一定的可预测性、较强 的外部响应能力和较高的时间精度;而在体积上,具有体积小、可配置、能适用于 不同的嵌入式环境等特点。 1 - 2 1 嵌入式系统 嵌入式系统( e m b e d d e ds y s t e m ) 是指操作系统和功能软件集成于计算机硬件系 统之中3 1 4 1 ,简单的说就是系统的应用软件与系统的硬件一体化,类似与b 1 0 s 的工 作方式。具有软件代码小,高度自动化,响应速度快等特点,特别适合于要求实时 的和多任务的体系。 1 2 2 实时多任务操作系统 实时多任务操作系统( r e a lt i m eo p e r a t i n gs y s t e m ) 是指具有实时性、能支持实 时控制系统工作的操作系统 5 1 ,其首要任务是调度一切可利用的资源完成实时控制任 _ _ 一 华中科技大学硕士学位论文 务,其次才着眼于提高计算机系统的使用效率,重要特点是要满足对时间的限制和 要求。实时多任务操作系统根据各个任务的要求,进行资源( 包括存储器、外设等) 管理、消息管理、任务调度、异常处理等工作。在系统中每个任务均有一个优先级, 系统根据各个任务的优先级,动态地切换各个任务,保证对实时性的要求。有了实 时操作系统的支持,应用设计人员在编写程序时,可以分别编写各个任务,不必同 时牢记任务运行的各种可能情况,从而大大减小了程序编写的工作量,也减小了出 错的可能,保证最终程序具有高可靠性。 1 2 3 实时多任务操作系统与分时多任务操作系统 它们有明显的区别:对于分时操作系统,软件的执行在时间上的要求并不严格, 时间上的错误一般不会造成灾难性的后果【6 】;而对于实时操作系统,主要任务是对事 件进行实时的处理,虽然事件可能在无法预知的时刻到达,但是软件上必须在事件 发生时能够在严格的时限内作出响应( 系统响应时间) ,即使是在尖峰负荷下,也应 如此,系统时间响应的超时就意味着致命的失败f ”。另外,实时操作系统的重要特点 是具有系统的可确定性,即系统能对运行情况的最好和最坏等的情况能做出精确的 估计。分时多任务操作系统以对间片轮转的方式运行多个任务,看上去好象是多个 任务“同时”运行;实时操作系统中各任务之间的切换则以优先级为根据,只有优 先服务方式的系统才。是真正的实时操作系统,仅具有时间分片方式和协作方式并不 是真正的“实时”。 1 3 国内外研究现状 目前,国内外的嵌入式实时操作系统产品有形形色色上百个,有的开发得很早; 有的非常流行;有的是中国自己设计开发的。下面是几个具有代表性的嵌入式和实 时操作系统: p s o s 是一个完全可扩展的嵌入式实时操作系统喁1 ,它包含单处理器支持模块 ( p s o s + ) ,多处理器支持模块( p s o s + m ) ,文件管理器模块( p h i l e ) ,t c p i p 通讯包 ( p n a ) ,流式通讯模块( o p e n ) ,图形界面,j a v a ,h t t p 等。功能模块完全独立,开 华中科技大学硕士学位论文 发者可根据应用要求扩展系统功能和存储容量。其主要缺点在于其上下文切换时间 长,实时性不强,采用的集成开发环境s n i f f + 与产品兼容性不好,部分关键功能无法 使用。 w i n d o w s c e 是一个简洁的,高效率的多平台操作系统9 1 ,是从整体上为有限资 源的平台设计的多线程、完整优先级、多任务的操作系统。在技术角度上,它并不 算是一个优秀的实时操作系统,首先它很难实现产品的定制,其次它占用过多的内 存,同时基本内核需要至少2 0 0 k 的r o m ( r e a do n l ym e m o r y ) ,而且不具备真一 的实时性能,没有足够的多任务支持能力。 h o p e n o s 是由国内的凯思集团自主研制开发的嵌入式操作系统l ,它由一个体 积很小的内核以及一些可以根据需要进行定制的系统模块组成。其核一t l , h o d e nk e m e l 大小约为1 0 k b 左右,占用空间小,并具有实时、多任务、多线程的系统特征,使 用者可以很容易地对这一操作系统进行自我定制和适当丌发。h o p e n 操作系统是一 种运行在3 2 位微处理器上的实时多任务操作系统,它采用与众不同的设计思路实现 了一个极为灵活方便、可按照需要随意裁剪或作适当开发的系统。 q n x 是一个实时、可扩充的嵌入式操作系统,它遵循p o s i x 1 ( 程序接口1 和 p o s i x 2 ( s h e l l 和工具) 、部分遵循p o s i x 1 b ( 实时扩展) 1 2 1 。它提供了一个很小的微 内核以及一些可选的配合进程。其内核仅提供4 种服务:进程调度、进程间通信、 底层网络通信和中断处理。所有其它的操作系统服务,都实现为协作的用户态服务 进程,因此q n x 内核非常小巧( q n x 4 x 大约为1 2 k b ) 而且运行速度极快。这个灵活 的结构可以使用户根据实际的需求将系统配置成微小的嵌入式操作系统或是包括几 百个处理器的超级虚拟机操作系统。 v x w o r k s 是目前嵌入式实时系统领域中使用最广泛,市场占有率最高的系统m , 1 4 1 0 v x w o r k s 有如下特点:高性能的实时核心,微内核结构( 最小结构 0 0 1 商霹回债额申i # p o o l 池虢首地址 5 查找p o 。l 池中第一个空阁n e t 8 u f 内存块,将“e t e h j f 蓄地址赋值给内存分醣存 谵地址? d 褙p o o l 中u s e d 字段相对应b i t 位赋值为使甬状态 华中科技大学硕士学位论文 6 j 检查p o o i 池是否全部分配如果是全部分配。群g p o o l 趱a p 0 0 2 空阑队确中摘 豫 7 。释放嘲络内存锁的控锻权 毽初始化分配出t 9 9 y n e t b u z , 返酉内存的实际分配大小 算法4 2网络内存释放算法 输入:待释放内存首地址 输出:内存释放的结果 步骤! 、。取褥网络内存锁的控镪 2 。根撼n e l b 可结构中记录的所属p o o l 池,将菇p o o l 对应s e d 字段b 讧位复位为 未使甬状态 3 。粕果释放z 后p o 。l 池所有h e t b u f 内存块处子未使焉状态商时辐应的p o 。1 队 确尹p o o :数目大f 2 直接调焉v m f r e e 释放该p 0 。l 池,如商必要还需扶p o o ) 倒勋中摘 除该p 0 0 1 :转步骤5 4 j 如采释放z 裁p 0 0 1 池 7 慈- p o o l 空阕队确中甄将该p o o l 加入空阑队确 s j 释放内存锁的控翩权 6 j 返固释放结果 4 3小结 在本章中,结合内存申请和内存释放系统调用对系统微内核的影响,在介绍了类 u n i x 操作系统对于网络内存的分配方案之后,提出了内存缓存池的概念以解决系统 有限资源与实时应用需求之间的矛盾,并为此设计了内存自治管理的模型和处理策 略算法,以减小系统内核开销与内存碎片的产生。 内存缓存池的实现思想是:每次通过内存申请函数向内核系统申请4 0 9 6 字节的 空间,并依据网络实际的应用需求,将该内存区划分成6 种大小不等的内存可分配 区,网络线程生成相对应的内存队列来管理分配到的缓存池;每次网络进程产生内 存申请需求时,根据申请内存的大小找到与之相匹配的空闲缓存池而不需要调用系 华中科技大学硕士学位论文 统内存分配函数,从而减小了内核的运行开销;相应每次产生内存释放需求时,只 需要将待分配的内存区交还给缓存池即可。 为了适应有限系统资源的环境,a r t s o s 网络内存管理通过一定量的内存保有 量来平衡实时应用与系统资源之f 司的矛盾,具体设计中每类型空闲缓存池的保有量 为2 。 3 8 华中科技大学硕士学位论文 5a r t s 0 s 的网络系统测试 5 1系统测试的概念 1 9 8 3 年i e e e 提出的软件工程标准术语中给软件测试下的定义是:使用人工或 自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或 是弄清与其结果与实际结果之间的差别 3 ”。 测试是检验设计与开发工作的成果是否符合要求,保证软件质量的重要手段。 通常测试工作分为三步,即: 1 单元测试 单独检验各模块的工作 2 集成测试 将已测试的模块组装起来进行检验 3 确认测试 按照规定的需求,逐项进行有效性测试,以决定开发的软件是否合格,能否交 付用户使用 测试的方法从不同的观点分类有静态测试和动态测试;黑盒方法和白盒方法: 自顶向下测试和自底向上测试等( 3 8 3 9 】。测试与软件开发各阶段的关系如图5 1 所示。 图5 1 测试与软件开发关系图 5 11 单元测试 单元测试是要检验程序最小单位有无错误,它是在编码完成后,首先要施行的 3 9 华中科技大学硕士学位论文 测试工作,通常由编码设计人员自己来完成【4 0 】。正式测试之前必须先通过编译程序 检查并且改正所有语法错误,然后用详细设计描述作指南,对重要的执行通路进行 测试,以便发现模块内部的错误。单元测试大多从程序底内部结构出发设计测试用 例,即采用白盒测试方法。单元测试针对每个功能模块,解决以下的问题: 1 模块接口:对被测试的模块,信息能否正常无误地流入和流出。 2 局部数据结构:在模块工作过程中,其内部的数据能否保持完整性。 3 边界条件:在为限制数据加工而设置的边界处,模块是否能够正常工作。 4 覆盖条件:模块的运行能否做到满足特定的逻辑覆盖。 5 出错处理通路:模块工作中发生了错误,其中的出错处理措施是否有效。 5 1 2 集成测试 在每个模块完成单元测试之后,需要按照设计结构图,把它们连接起来,进行 集成测试。集成测试可以采用非渐增式测试和渐增式测试。 非渐增式测试方法是在配备辅助模块的基础上,对所有模块进行个别的单元测 试,最后集中起来一次完成集成测试;而渐增式测试的集成是逐步实现的,它把单 元测试与集成测试结合起来进行。 a r t s o s 网络系统集成测试采用的是自底向上非渐增式测试方法。 5 ,1 3 确认测试 确认测试是测试工作的最后阶段,它是检验所开发的软件是否符合软件规格说 明书中确定的软件功能和技术指标。 5 2 网络测试内容与测试环境 5 2 1 测试内容 根据a r t s o s 网络总体设计方案与t c p i p 协议层的具体功能实现,测试的内 容包括: 4 0 华中科技大学硕士学位论文 a r p 功能测试 口功能测试 i c m p 功能测试 t c p 功能测试 u d p 功能测试 库函数功能测试 5 2 2 测试环境 a r t s o s 网络测试环境如图5 2 所示,其中网络物理介质采用1 0 b a s e t 非屏蔽 五类双绞线,各主机通过i o m i o o m 自适应集线器接入校园网。目标主机配置为x 8 6 系列主机板、p e n f i t t t n1 6 6c p u 、3 2 m 内存、r e a l t e k8 1 3 9 c 网卡;开发主机配置为 r e d h a tl i n u x 6 2 、p i i l 8 0 0c p u 、编译器g c c2 9 5 ;测试主机配置为p h l 7 3 3c p u 、 w i n d o w s 2 0 0 0 系统、s n i f f e r 4 6 截包软件、r e a l t e k8 1 3 9 c 网卡。 图5 2a r t s o s 网络测试环境 当a r t s o s 系统可执行文件在r e d h a tl i n u x 开发主机上编译完成之后,通过串 口通信加载到目标主机上执行,然后再次利用串口加载网络执行文件,从而完成网 络系统服务的启动。集线器的工作特点决定了可以使用第三方主机( 测试主机) 柬 监视所有流经集线器的数据包,包括目标主机的数据包,因此在测试主机上运行 华中科技大学硕士学位论文 s n i f f e r 4 6 可以轻松得知a r t s o s 网络的运行情况和性能指标。 5 3 功能模块测试 5 31a r p 功能测试 a r p ( a d d r e s s r e s o l u t i o np r o t o c o l ,地址解析协议) 为口地址到对应的硬件地址之 间提供动态的映射【4 ”。a r p 发现数据包被发送至广播m a c 地址,所以,网络上的 每台设备都可以接收到它,在数据包中是一个对p 地址的所有者的请求。当拥有陔 i p 地址的接收端计算机收到发现数据包后,就使用自身物理m a c 地址答复发送源 端。a r p 保存有一个i p 地址和m a c 地址的列表,这样就不需要每次进行通信的时 候都发送a r p 请求包。 测试方法与步骤: 1 开发主机向目标机发送a r p 请求报文,然后对比开发主机接收到的目标机 m a c 地址与实际m a c 地址。 2 ,目标主机向开发主机发送a r p 请求报文,然后对比目标主机接收到的开发 主机m a c 地址与实际m a c 地址。 测试模型:如图5 3 所示。 开发主机 目标主机 图5 3a r p 模块测试模型 测试结果:开发主机与目标主机均正确接收到对方所回复的a r p 应答数据包 同时测试主机的监视结果证实测试成功。 4 2 华中科技大学硕士学位论文 5 3 2i p 及i c m p 功能测试 i p ( i n t e m e tp r o t o c o l ,网际协议) 是一种无连接协议,相对应o s i 参考模型中的网 络层。1 2 协泌的任务是对数据包进行相应的寻址和路由,使之通过网络。d 报头 附加在每个数据包上,并加入源地址、目标地址和接收主机使用的其他信息。口协 议的另一项工作是分段和重编那些在传输层被分割的数据包。一些类型的网络比另 一些类型的网络支持较大的数据包,数据包被传送到不支持当前数据包大小的网络, 可以被分段。数据包被分割后每一段都得到一个新的口报头并被传送至最终目的地。 终端主机收到数据包后,d 协议将所有的分段组合起来形成原始的数据。 i c m p ( i n t e m e tc o n t r o lm e s s a g ep r o t o c o l ,网际控制报文协议) 为球协议提供差错 报告川。出于p 是无连接的,且不进行差错检验,当网络上发生错误时它不能检测 错误。向发送p 数据包的主机汇报错误就是i c m p 的责任。i c m p 报头类型包括: 目标不可达、阻塞、回声请求、应答、重定向等,p i n g 程序就是使用的i c m p 报文。 因为i c m p 报文的发送是需要口协议进行数据封装的,因此如果测试i c m p 成功 也即意味着p 功能模块也是正常的,所以将i p 模块测试与i c m p 模块测试同时进行。 测试方法与步骤: 1 测试主机通过p i n g 程序向目标主机发送i c m p 数据包,也就是在 w i n d o w s 2 0 0 0 下运行p i n g 命令。 2 测试主机接收目标主机的应答包。 测试模型:如图5 4 所示。 测试主机 目标主机 图5 4 i p i c m p 模块测试模型 4 3 华中科技大学硕士学位论文 测试结果:在测试主机的终端上正确地显示了目标主机发给测试主机的应答数 据包,包括报文的字节数、响应时间等,说明i c m p 和i p 协议模块都能够正常的运 行。 5 3 3t c p 与库函数模块功能测试 t c p ( t r a n s m i s s i o nc o n t r o lp r o t o c o l ,传输控制协议) 是一种面向连接的协议,对应 于o s t 模型的传输层【4 ”。t c p 打开并维护网络上两个通信主机间的连接。当两者之 间传送毋数据包时,一个包含流量控制、排序和差错校验的t c p 报头被附加在数据 包上。到主机的每一个虚拟连接都被赋予一个端口号,使发送至主机的数据包能够 传送至正确的虚拟连接。 库函数模块提供一套符合p o s i x 标准的用户接口函数,其实现上比较简单,主 要利用消息机制将用户进程的需求传递给网络进程去执行,接收处理结果后通知调 用的用户进程。 由于t c p 模块的测试是基于应用程序,需要库函数的支持,因此t c p 与库函数 部分可以同时进行模块测试。 测试方法与步骤: 1 t c p 数据接收 首先在目标主机上运行s e r v e r 应用程序,建立测试服务器绑定端口,并使其处 于l i s t e n 状态:然后在开发主机上运行c l i e n t 客户端测试程序,与目标主机上的服务 器建立t c p 连接,发送数据到目标主机:客户端测试程序完成发送后退出。 2 t c p 数据发送 和t c p 数据接收测试步骤恰好相反,首先在开发主机上运行s e r v e r 应用程序, 建立测试服务器绑定端口,并使其处于l i s t e n 状态:然后在目标主机上运行c l i e n t 客 户端测试程序,与开发主机上的服务器建立t c p 连接,发送数据到丌发主机:客户 端测试程序完成发送后退出。 测试模型:如图5 5 所示。 4 4 华中科技大学硕士学位论文 开发主机目标主机 图5 5t c p 车函数模块测试模型 测试结果:通过对测试程序中打印的结果和测试主机监视的数据的分析知道, 无论是作为服务器还是客户端,a r t s o s 网络的t c p 协议均能够正常执行,包括t c p 连接的建立、数据的收发、连接的关闭等。 534u d p 模块测试 u d p ( u s e r d a t a g r a m p r o t o c o l ,用户数据报协议) 是- 7 0 0 无连接传输协议,在无需 可靠性与有保证需求的时候可以使用u d p 协议 4 ”。u d p 仅负责数据包的传送,它不 需要对应一个虚拟连接,而只是对应其他主机的一个进程。 测试方法与步骤: 1 在测试主机上开发出u d p 应用程序( 俄罗斯方块游戏) ,程序等待目标主机发 送用于游戏控制的u d p 数据报。 2 人工控制键盘,目标主机将控制字符通过u d p 发送至测试主机以控制游戏的 执行。 测试模型:如图5 6 所示。 测试结果:可以通过目标主机上的键盘终端控制位于测试主机上的游戏的正常 执行,说明u d p 数据报被正确地发送,u d p 协议模块功能测试通过。 4 5 华中科技大学硕士学位论文 目标主机 图5 6u d p 模块测试模型 5 4 a r t s o s 网络性能分析 5 4 1 测试模型与结果 由于a r t s - o s 系统尚处于原型阶段,众多网络测试应用程序无法提供,因此采 用5 3 ,2 节所用的p 及i c m p 功能测试方法作为分析的模型。 由于w i n d o w s 2 0 0 0 操作系统p i n g 命令结果无法显示高精度的测试结果,因此改 在开发主机的l i n u x 平台上运行p i n g 命令,运行结果如下: z h u x i a o s e r v e r la r t s o s $ p i n g1 9 2 1 6 8 8 1 9 9 p i n g1 9 21 6 8 8 1 9 9 ( t 9 2 1 6 88 1 9 9 ) f r o m1 9 2 1 6 8 8 2 5 3 :5 6 ( 8 4 ) b y t e so f d a t a 6 4b y t e sf r o m1 9 2 1 6 8 8 1 9 9 :i c m p s e q = o t t l = 1 2 8t i m e = o 3m s 6 4b y t e sf r o m1 9 2 1 6 8 8 1 9 9 :i c m p s e q = lt t l = 1 2 8t i m e = o 2m s 6 4 b y t e sf r o m1 9 2 1 6 8 8 1 9 9 :i c m p s e q = 2t t l = 1 2 8t i m e = o 2m s 6 4b y t e sf r o m1 9 2 1 6 8 ,8 1 9 9 :i c m p s e q = 3t t l = 1 2 8t i m e = o 2m s 6 4 b y t e sf r o m1 9 2 1 6 8 8 1 9 9 :i c m ps e q = 4t t l = 1 2 8t i m e = 0 2m s 6 4 b y t e sf r o m1 9 2 t 6 8 8 1 9 9 :i c m ps e q = 5t t l = 1 2 8t i m e = 0 2m s 6 4 b y t e sf r o m1 9 2 1 6 8 8 1 9 9 :i c m p s e q = 6t t l = 1 2 8t i m e = o 3m s 6 4 b y t e sf r o m1 9 2 1 6 8 8 1 9 9 :i c m p s e q = 7t t l = t 2 8t i m e = 0 2m s 6 4b y t e sf r o m1 9 2 1 6 8 8 1 9 9 :i c m p s e q = 8t t l = 1 2 8t i m e = 0 2m s 一。一 4 6 华中科技大学硕士学位论文 6 4 b y t e sf r o m1 9 2 1 6 8 8 1 9 9 :i c m p s e q = 9t t t 。1 2 8t i m e 2 0 2m s 1 9 21 6 8 8 1 9 9p i n gs t a t i s t i c s 10p a c k e t st r a n s m i t t e d ,10p a c k e t sr e c e i v e d ,0 p a c k e tl o s s r o u n d t r i pm i n a v g m a x = o 2 0 2 2 1 0 3m s 5 4 2 测试陛能分析 为了分析整个a r t s o s 网络系统协议栈的工作性能情况,选择发送i c m pe c h o r e q u e s t 至目标主机,并接收由a r t s o s 网络返回的i c m p e c h or e p l y 数据包, 同时测试采用了标准的5 6 字节载荷。 a r t s o s 系统提供了一套专门用于测试运行时间的函数,采用插桩的思想在各 个功能模块的进口与出口统计系统时钟跳数,以提高测试的精度。 表51 给出了测试的具体结果: 表5 1a r t s o s 测试数据分析 5 6 字节p i n g 功能模块时钟跳数百分比 设备读写 1 1 5 98 2 8 中断例程 9 1o6 5 消息传递与调度 5 8 2 44 1 5 8 内存管理8 2 35 8 8 协议处理3 6 7 1 2 6 2 1 其他2 4 3 81 7 4 0 为了处理每个e c h o 请求并产生相应回复,大部分处理时间花费在线程调度和 消息传递上。尽管有些调度是多线程网络体系结构必需的( 内核i s r 通知网络进程 对物理设备进行读写操作等) ,经过进一步研究还是可以减小这部分工作的开销的。 设备的读写时间耗费比较大的是对设备中断的管理,为了避免读写冲突的产生,有 必要在对设备进行访问的时候进行临界区保护。 从数据上看来,内存部分的自治管理工作还是起到了一定的作用,但是由于测 4 7 华中科技大学硕士学位论文 试模型本身的限制,还是无法体现出自治管理相对于内核内存函数直接调用的优势。 协、议处理部分占用了接近三分之一的处理时间,传统的协议处理流程相对比较成熟, 也比较固定,从协议处理架构本身还可以作一定的工作,最大程度地减少协议处理 所需的指令数量,从而减小协议处理的时间开销。 5 5小结 本章介绍了软件测试的基本概念以及相关的单元测试、集成测试和确认测试, 并给出了a r t s o s 网络测试的内容和测试环境。a r t s o s 网络测试利用第三方主机 将自身的网卡设为混杂模式来侦听处于同一局域网的所有流经目标主机的数据包。 本章对a r p 、i p 、i c m p 、t c p 、u d p 、库函数等功能模块单独进行了测试,测 试结果表明前面对于a r t s o s 网络的整体设计和实现具有可参考性和可行性,符合 微内核嵌入式实时操作系统的系统环境与实时应用的需求。 最后对p i n g 程序的运行过程进行了系统测试,得到了协议栈运行期间各个功能 模块的运行丌销,并分析了测试的结果。 华中科技大学硕士学位论文 6 结束语 网络系统的研究工作对于扩展嵌入式实时操作系统的网络功能和应用具有重要 的现实意义。目前现有的大多数嵌入式实时操作系统的网络服务实现于系统内核之 内,这种实现思想并不适用于具有微内核结构的a r t s o s 操作系统,特别是需要将 网络系统作为动态可加载模块并以网络进程的形式运行于微内核之外。论文对 a r t s ,o s 体系结构和内核结构以及网络o s i 参考模型进行了分析,进一步提出了具 有实时性能的网络实现模型,并结合网络实际应用的具体需求对优先级队列的管理 和网络内存的自治管理进行了研究。本文的主要工作可以总结为以下几个方面: 1 分析了嵌入式实时操作系统的几种内核实现模型和工作原理。 2 分析了a r t s o s 操作系统的系统结构和内核模型。 3 讨论了o s i 网络参考模型和t c p i p 体系结构的实现,并有针对性地分析了 q n x 网络实现和l i n u x 网络实现思想。 4 结合a r t s o s 系统的实际情况和网络应用的具体需求,设计了a r t s o s 刚 络的具体实现架构,迸一步引入了扩展的静态优先级处理机模型机制以平衡优先级 排队和任务抢占之间的矛盾。 5 为了解决优先级排队的问题,在分析f i f o 排队法、公平排队法、优先级排 队法的优缺点的基础上,提出了带加权调整的公平排队法,同时给出了相应可兼容 的碑选项结构。 6 为减小系统内核的运行开销和内存碎片的产生,引入了网络内存缓存池的处 理模型,并设计了内存核外自治管理的思想和策略。 7 对a r t s o s 网络的实际运行情况进行了测试,并对部分测试结果进行性能分 析。 以上的工作为a r t s o s 网络系统的进一步完善打下了结实的基础,并且大部分 的设计思想和方法都在系统原型中得到实现,而且最后的测试结果也表明这些方法 的可行性。但是目鲋的工作还无法涉及全部的方面,许多功能还需要进一步的完善, 华中科技大学硕士学位论文 结合微内核和实时应用的需求,对于嵌入式实时系统的网络的研究还有许多领域有 待延伸: 1 网络协议模块对于实时应用需求的支持。 2 网络实现的代码的精简。 3 网络线程间的通信与同步对实时需求的支持。 数据吞吐量是操作系统网络的重要性能指标,由于a r t s o s 系统目前处于原型 阶段,网络测试所需众多应用程序尚未提供,因此本文无法对吞吐量的性能参数给 出测试结果。 由于时间仓促,加之笔者水平有限,论文中难免会出现各种各样的问题与错误, 恳请各位老师和同学不吝批评指正。 5 0 华中科技大学硕士学位论文 致谢 时光如逝,转眼间三年研究生生涯即将结束,回想这三年来所走过的路、所经 历的风风雨雨,依然无法忘却的是成长的烦恼。风雨过后,彩云依旧,仅靠一己之 力是无法拨云见日的,在这里我要感谢所有曾经帮助和关心过我的老师、同学、朋 友,真的谢谢他们。 首先我要感谢我的导师张文彬、龙玉国老师。三年来他们给了我太多太多的帮 助和关怀,有了他们无私的支持,无论是学习、工作上,还是生活中,我都能够非 常顺利地处理所碰到的困惑,战胜一个又一个告勺难题。他们以宽厚的胸怀、无私的 敬业精神、慈父慈母般的爱鼓励着我一直向前,也使我能够以最乐观的态度去迎接 新的挑战。 衷心感谢刘云生教授。刘老师渊博的知识、严谨的治学态度、为人师表的作风 给我留下了深刻的印象,也为我指明了前进的道路和奋斗的目标,同时在这三年中 在学习和生活上对我无微不至的关怀使我获益非浅。最令我佩服的是刘老师刻苦的 奋斗精神和战胜困难的坚强决心,以及支持实验室运作的毅力。 特别感谢项目组许贵平老师和钟吴博士在课题研究的过程中给我的帮助和众多 启发与建议,无论是理论上还是技术上,我都学到了很多书本上难以学到、不可多 得的知识。 同时感谢同项目组的同学何冰、徐超、方丹、胡吴明、刘明、汪磊、张锐、吕 志华、涂咏秋,还有已经毕业的师兄师姐梁爽、严昌浩、吴飞、李少华、陈怡、徐 媛媛、郭元苏。尽管项目开发的过程中碰到了很多问题,甚至很多时候都想到了要 放弃,是大家的团结协作和共同努力才使得项目能够持续进行从而不断发展,和他 们朝夕相处使我感到了集体的温暖和大家庭的快乐,特别是能够感受到共同解决学 术问题后无比的畅快。这个项目设计开发过程伴随了我整个研究生三年的时i b j ,可 以说正是项目培养了我整体的设计能力和开发能力,也在我日后的工作学习打下了 不可抹去的印记。感谢所有在这个项目的不断运作与发展过程中作出贡献的老师和 华中科技大学硕士学位论文 同学。 感谢同实验室的刘方方、迟岩、耿协坚、何君辉、陈世俊、樊继方、谤 西庭给 我的支持和关心。三年前大家从天涯海角汇聚在同一个屋檐下,分享了所有的荣辱, 经历了无数风雨;三年后大家又从这个屋檐飞向祖国四方,不知道何时刁能再次相 聚。 感谢同寝室的罗炜、邓磊、易j i f 江。和他们一起度过了研究生的三年,有福同 事、相互支持帮助的快乐日子真的令人难以忘怀,与他们的相识和交往令我倍感快 乐。 感谢所有在论文写作阶段给我提供帮助的老师和同学。 最后,深深感谢我的父母、哥哥、姐姐以及女友。他们的爱与支持一直是我不 断前进的动力源泉。 5 2 华中科技大学硕士学位论文 参考文献 1 1 k h a w a rm z u b e f i r e a l t i m eo p e r a t i n gs y s t e ms e r v i c e sf o rn e t w o r k e de m b e d d e d s y s t e m s :p h d t h e s i s u s a :u n i v e r s i t yo f m i c h i g a n ,1 9 9 8 2 mc h i o d o ,pg i u s t o ,hh s i e he ta l a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 冷冻肉购销合同范本
- 山东微山县事业单位2025年下半年招考人才易考易错模拟试题(共500题)试卷后附参考答案
- 宜昌市人力资源和社会保障局所属事业单位2025年下半年急需紧缺人才引进【2人】易考易错模拟试题(共500题)试卷后附参考答案
- 供电合同解除协议书
- 公司宽带安装协议书
- 出售储能电合同范本
- 桂圆买卖合同协议书
- 框架协议框架协议书
- 桌椅板凳租赁协议书
- 元件备货协议书范本
- 外国语学校文化建设方案
- 穿越机组装教学课件
- 大国兵器(中北大学)学习通网课章节测试答案
- 大唐集团招聘笔试试题及答案
- 个税申报培训课件
- 电车考试试题及答案
- 电流互感器知识培训
- 2025年银行信贷审批员招录笔试题目及专业解答公开
- (2025年标准)工程资料外包协议书
- 2025年危险品押运员从业资格证考试题库及答案
- 谷歌2023年度环境、社会与公司治理报告:为NGO与学术机构提供可持续发展数据
评论
0/150
提交评论