




已阅读5页,还剩69页未读, 继续免费阅读
(计算机应用技术专业论文)nc操作系统对其上特定应用的支持研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西南科技大学硕士研究生学位论文第1 页 摘要 n c ( 网络计算机) 作为一种终端已经得到越来越广泛的使用,随着n c 应 用的不断扩展,在各种开源嵌入式操作系统的基础之上进行裁剪和修改来定 制n c 操作系统已经成为一种普遍的解决方案。由于n c 系统的资源比较有限, 那么运行应用程序的时候就需要做优化工作,而开源嵌入式操作系统由于源 代码是公开的。可以通过修改源代码来适应某种特定应用,( 例如对于数据 量交换比较大的程序在内核中加入定制的系统调用来完成) 而另一个方面程 序本身也可以按修改后的操作系统特性来编写,使之与操作系统能很好地融 合在一起,达到运行良好的目的。 本课题旨在通过研究在不改变n c 硬件的条件下如何修改n c 操作系统来 更好地支持n c 上的应用。由于在一定应用背景下n c 上的大部分应用程序符 合局部性原理,可以对其操作系统进行修改来吻合这些局部特征。 针对n c 上基于r d p 协议的典型应用,论文从操作系统的角度给出了需 求分析模块结构规划内核足制- - ) 内核修改专分析和修改典型应用专 测试的全过程,根据实验数据,针对上述阶段,有侧重地提出了一些自己的 见解和方法。最终测试数据表明,修改后的操作系缆比n c 机原有操作系统 能够更好地支持n c 典型应用典型应用性能指标有较大程度提高。 本课题中的n c 操作系统选用l i n u x ,而特定应用程序选用r d e s k t o p ( 一 个用r d p 协议来交换数据的程序,全部由c 语言实现) 关键词:嘲络计算机( n c ) 远程桌面协议( r d p ) 嵌入式操作系统 典型应用性能测试 西南科技大学硕士研究生学位论文第1 i 页 a b s tr a c t t h en c ( n e t w o r kc o m p u t e r ) g e tm o r ea n dm o r ee x t e n si v eu s a g ea sa k i n do ft e r m i n a l f o l l o w l n gt h ec o n t i n u o u s ye x p a n da p p l y i n g0 fn c , i th a sb e c o m em o r ep o p u l a ra sas 0 1 u t i o nt h a tc u r t i n go u ta n dm o d i f y in g n c so sf o rs p e c i a lr e q u i r eb a s e do no p e ns o u r c ee m b e d d e do s b e c a u s e t h es y s t e mr e s o u r c e so fn ca r er e l a t i v ei n d i g e n c e ,i tisn e c e s s a r yt 0 o p t i m i z en cs y s t e mw h e nr u n n i n gn c sa p p l i c a t i o n w ec a nm u d i f yt h e s o u r c ec o d et oa d a p tac e r t a i na n dp a r t i c u l a ra p p l i c a t i o nb a s e do nt h e o p e ns o u r c ee m b e d d e d o s f o re x a m p l e ,w ec a nm a k eac u s t o m b u i l t s y s t e mp r o c e d u r e t oa d a p tt h ea p p i c a t i o nr e q u i r e db i g g e r d a t a e x c h a n g er a t i 0 o nt h eo t h e rh a n d ,t h ea p p l i e a t i o ni t s e l fc a nb e w r i t t e na c c o r dw i t ht h em o d i f i e do s sc h a r a c t e r is t i c ,i tc a r lb em a k e d g o o dr e l a t i o n s h i pw i t ho s ,a n da t t a i n e dh i g h e rs p e e d t h isp r o j e c ta i m e dt oi m p r o v en c sa b i l i t yw h i e hs u p p o r tn c s a p p l ic a t i o nb ym o d i f i e dn c so sb u ta d ds o m eh a r d w a r e i nm a n yc a s e s ,t h e r u n n i n gb e h a v eo fn c s m a i na p p l i c a t i o n sc o m p l yw i t ht h ep a r t i a l p r i n c i p l eu n d e rc e r t a i na p p i e db a c k g r o u n d ,w e c a nm o d it yi t s o p e r a t i n gs y s t e m t of i tt h e s ep a r t i a lc h a r a c t e r i s t i e s t o w a r dt h en c st y p i c a la p p l i c a t i o nb a s e do nr d p t h i st h e s i sg i y e s t h ew h o l ep r o c e s sf r o m n e e da n a l y s i st ot e s t i n g a c c o r d i n gt o e x p e r i m e n td a t a w ep u tf o r w a r ds o m eo w nv ie w sa n dm e t h o d sa i ma tt h e e a ch a b o v es t a g e t h et e s t i n gd a t ae x p r e s s e d ,t h em o d i f i e do s s c a p a b i l i t y w h i c hs u p p o r t i n gt y p ic a la p p l i c a t i o nish i g h e rt h a nt h e o r i g i n a l ,t h ep e r f o r m a n c eo ft y p i c a la p p l i c a t i o na c q u i r e db i gd e g r e e i m p r o v e m e n ta l s o t h en c so sa d o p t e dl i n u xa n d t h e s p e c i a la p p l i c a t i o n i s r d e s k t o p ( ap r o g r a mw h i c hc o m m u n ic a t e dt ot h es e r v e rb yr d p ,itw a s i m p l e m e n t e db ycl a n g u a g e ) k e y w o r d s :n e t w o r kc o m p u t e r ( n c ) ;r e m o t ed e s k t o pp r o t o c o l ( r d p ) : e m b e d d e d o p e r a t i n gs y s t e m ;t y p i c a la p p l i c a t i o n ; p e r f o r m a n c et e s t i n g 独创性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他 人已经发表或撰写过的研究成果,也不包含为获得西南科技大学或其它教育机构 的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均 已在论文中作了明确的说明并表示了谢意。 签名:稚 够 日期:加j ,石,占 关于论文使用和授权的说明 本人完全了解西南科技大学有关保留、使用学位论文的规定,即:学校有权 保留学位论文的复印件,允许该论文被查阅和借阅;学校可以公布该论文的全部 或部分内容,可以采用影印、缩印或其他复制手段保存论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:彩 孑筘 导师龆瓿、基 日期:力3 | 西南科技大学硕士研究生学位论文第l 页 1 绪论 1 1 论文研究背景和组织结构 论文研究背景 本课题是针对国家8 6 3 计划缩小数字鸿沟一西部行动专项项目基于国产 软硬件的多通道网络教育关键技术与应用研究的实际问题而提出的。项目 编号为2 0 0 3 a a l l 6 0 6 0 。 国产n c 作为网络教育应用中的客户端,在使用时存在一些问题,主要表 现在作为w i n d o w s 终端登录服务器后; 当浏览的网页包含很多f l a s h 视频文件时会发生内存溢出错误。 登录服务器后,播放视频时不流畅,清晰度和整体效果不好。 打开网页时间较长,全屏和快速测监网页时有轻微抖动,效果较 差。 上面这些问题集中表现为速度慢、屏幕刷新速度跟不上等缺点,这些和 网络有较大的关系,由于这些应用都基于r d p 协议,这样就有必要针对r d p 协议对n c 进行优化。 本课题旨在通过研究在不改变n c 硬件的条件下如何修改n c 操作系统来 更好地支持n c 应用。 论文组织结构 第一章是绪论部分,介绍了课题背景、论文结构、n c 操作系统构建和其 发展,后半部分给说明了课题意义、层次,并阐述了几个概念。 第二章是n c 的需求分析,给出n c 要完成那些功能和满足那些要求;分 为功能性需求和非功能性需求。 第三章在需求分析的基础上规划n c 满足需求所应该具有的内核结构,并 给出了内核裁剪方案。 第四章对内核的网络接口部分进行了分析,为下一步优化打下基础。 第五章对r d p 客户端r d e s k t o p 的整个流程进行了分析,在后半部分结合 第四章网络接口部分讨论了r d p 协议通信的具体实现。 第六章介绍了优化的原则,并从n c 系统、r d e s k t o p 应用程序、外围环 境等几个方面针对r d e s k t o p 客户端的性能特性进行优化。 第七章给出优化前后的性能比较。 最后是结论部分。 西南科技大学硕士研究生学位论文第2 页 1 2 n c 操作系统的构建和其发展方向 目前n c 操作系统主要是基于l i n u x 进行裁剪、修改来构建: ( 1 ) 裁减:n c 设备资源有限,对软件的体积有比较苛刻的要求。由于l i f l u x 是单一模块结构,体积较大,不适合直接在n c 中应用。许多厂商致力于开发符 合原l i f l u x 接口标准的小体积l i n u x 内核,并加强其可裁减性和可配置性”1 。 ( 2 ) 修改:摒弃原l i n t l x 操作系统中n c 所用不到的功能,增加n c 所特有 的一些应用( 如本地播放器) ,集成在操作系统中。 n c 本身有特定的应用环境,如应用在电子政务、远程教育、农业信息化 平台等系统中。不同的平台有不同的应用需求,对n c 及其操作系统也提出了 不同的要求,而现在几乎所有的n c 厂商推出的都是可以应用在不同平台下的 n c ,并没有针对平台的特性来推出n c 。了解不同平台下对n c 的需求,定制 最适合某个平台的n c 和操作系统将是下一步的发展方向。 除此之外,n c 系统的稳定性,界面友好性以及性能上的改进也是顺利推 广n c 所必须考虑的问题。 1 3 课题意义 由于n c 系统资源相对来说总是有限的( 应用需求发展和硬件发展速度之 比) ,那么运行应用程序的时候就需要做优化工作。而n c 操作系统基于开源 操作系统来构建,可以通过修改其源代码来适应某种特定应用。( 例如针对常 用程序的某些特性加入定制的系统调用) 丽另外一个方面应用程序本身也可 以按修改后操作系统的特性要求来编写,使之与操作系统能很好融合在一起, 达到良好运行的目的。 本课题中的n c 操作系统选用l i n u x ( 2 4 1 8 内核) ,而特定的应用程序选 用r d e s k t o p r d p 协议远程连接客户端。 选用l i n u x 和r d e s k t o p 不仅因为它们是项目中n c 所实际使用的操作系 统和r d p 客户端,而且还因为它们具有广泛的使用背景和前景,选用它们来 做优化对其它项目和应用系统有着现实的借鉴意义。另外c 语言实现的应 用程序可直接调用操作系统的某些功能,这样操作系统和应用程序能够更紧 密地接合,修改搡作系统源码带来的效果也能顺利的用应用程序来检验。 1 4 课题研究内容 西南科技大学领士研究生学位论文第3 页 课题对n c 操作系统进行较为详细的研究,并分两个层次来修改、优化 n c 操作系统,支持其上的应用。 ( 1 ) 明确基于特定应用的n c 操作系统需求,裁剪内核”1 在l i n u x 的裁剪方面前人已经做了很多工作,也有很多的经验可以借鉴: 但由于应用是变化的,已有的知识和经验不可能对所有的应用给出解决方案。 所以在具体项目、应用中就要在前人的基础找到的符合自身王:、蚋操作系统 定制、裁剪方案。 这一层次主要体现在第一章、第二章和第三章。 ( 2 ) 分析r d p 客户端与服务器的具体通信过程,源码级修改内核 在分析r d p 客户端- - r d e s k t o p 具体流程和网络通信过程的基础上,调整 内核参数、摒弃或改进内核代码,达到改进性能的目的。 这一层次主要体现在第四章、第五章和第六童。 另外:在对内核进行两个层次的修改后,有必要反过来对应用程序进行 修改来匹配内核的改动,使应用程序和内核较好的吻合起来。 1 。5 几个概念的阐述 - 特定应用: 。 这里解释为系统中经常使用、和系统性能密切相关、只依赖系统提供的 部分服务的应用程序。在n c 中特定应用指r d p 客户端r d e s k t o p 。 修改一修改内核在这里有两层含义: ( 1 ) 只是裁减内核中某些用不到( 或某种特定应用用不到) 的部分,并不涉 及内核程序代码的修改,这种修改可看为结构修改“。 ( 2 ) 在程序代码级进行修改。通过理解程序愿理、调整参数或舍弃源码中 某些应用用不到的部分,来达到提高程序运行效率的目的。这种修改可看为 细节修改。 优化的几个方面: 运算的性能一一哪一个算法的执行性能最好。 内存的分配一程序需要分配多少内存才能使运行时的效率和性能最高。 启动的时间一程序启动需要多少时间。 程序的可伸缩性一应用程序在工作负载和可用处理资源增加时其吞吐量 的表现情况。 性能的体现一用户怎样才毹认识或者感觉到程序性能的提高。 西南科技大学硕士研究生学位论文第4 页 2 n o 机的需求分析 在本项目中n c 作为客户端主要用于在网络教育中组建网络教室,主要用 到n c 系统上的终端模式和本地模式。终端模式主要有三种,由于w i n d o w s 服务器平台其有丰富的应用程序,其中又以w i n d o w s 终端模式的使用最为经 常。除了使用三种终端模式外,本地和b s 模式的一些功能也较常用。 根据项目的实际需求,n c 功能性需求如下: 2 1 硬件要求 c p u : 1 ) 要求国产芯片方舟、龙芯、威盛均可 2 ) 速度应能满足n c 绝大多数应用 注:实际使用时采用是“威盛”c p u ( 5 5 0 m h z ) ( 1 0 0 * 5 5 ) 内存 1 ) 容量、速度应能满足n c 绝大多数应用 注;实际配置是1 2 8 m ( 现代i 三星) 一片上磁盘d o c 1 ) 本地缓存足够 注:实际采用6 4 md o m ( 厂商一t r a n s c e n d 等效于d o c ,均为f 1 a s h 芯片) 一外设接口 1 ) 视频接口:v g a + s v i d e o 2 ) 音频接口:m i c + s p e a k e ro u z 3 ) u s b 接口 4 ) d b g + 并口 5 ) p s 2 接口 注:实际全部采用 2 2 系统要求 - n c 所用操作系统为l i n u x 或基于l if l u x 的裁剪操作系统 _ n c 使用方式需兼顾3 种: 1 ) b s 模式一n c 使用本地浏览器访问w e b 服务器时的工作方式 西南科技大学硕士研究生学位论文第5 页 2 ) 本地模式一n c 使用本地软件( 播放器等) 时的工作方式 3 ) 终端模式一n c 机需要提供的三种终端登录方式 a 、登录w i n d o w sr d p 5 1 以上+ i c a w i n d o w s 终端服务,在w i n d o w s 2 0 0 3 上配置r d p 协议的终端服务, 提供图形,本地资源映射的远程登录。 b 、登录l i n u xx d m c p l i n u x 终端服务,在l i n u x 配置x d m c p 方式的终端用户服务,提 供图形界面的远程登录。 c 、支持i c a 等第三种连接方式,但标准配置可不包含i c a 客户 端( 可定制) 登录后n c 机需要使用的常用软件 1 ) l i n u x 下常用软件的预装 提供r e d o f f i c e 2 0 的网络版安装,提供学生信息化教育的常用软 件、教师办公用到的o f f i c e 套件和其它软件。 2 ) w i n d o w s 下常用软件的预装 提供常用软件的安装和安装指南文档。 一本地软件 1 ) 支持中文显示和输入法 2 ) 浏览器版本足够高,且兼容m o z i l l a 等开源浏览器 3 ) 浏览器支持插件种类足够、版本要高:其中浏览器f l a s h 插件要 求6 0 以上 4 ) 浏览器内应支持部分媒体播放( a s f 、w l l i a 、a v i 等) 5 ) 本地媒体播放器支持常见格式媒体播放 ( m p g 、a s f 、w m a 、w m v 、r m 、a v i 、m p 3 ) - 本地系统的升级与维护 1 ) 具有本地操作系统的升级方案 2 ) 具有本地定制软件的升级方案 3 ) n c 配置密码丢失后处理方案 2 3 、2 。4 、2 5 节的几个表说明了n c 操作系统的非功能性需求。 2 3n c 用户界面需求 西南科技大学硕士研究生学位论文第6 页 表2 - 1n c 用户界面需求 t h er e q uir e m e n to fn c s in t e r f a c e 需求名称 可使用性 灵活性 复杂性 可靠性 详细要求 使用的简单性、术语标准化和致性、有容错能力。 用户可以根据需要制定和修改界面方式、提供不同详细 程度的系统响应信息。 在完成预定功能的前提下,用户界面越简单越好。 应能保证用户正确、可靠地使用系统,保证有关程序和 数据的安全性。 2 4 n c 运行环境需求 表2 - 2n c 运行环境需求 t a bie 2 2t h er e q uir e m e n to fn c sr u n n in ge n vir o n m e n t 需求名称详细要求 服务器同时支持x 终端服务、n a t 、d h c p 、q u o t a 等通用服务, 带3 0 台n cx 终端。 交换机1 0 0 m 以上 终端服务器w i n d o w s 和1 i n u x 并重,并提供r d p 软件下载和其它操作 系统下x s e r v e r 的下载 虚拟拨号服务器w i n d o w s 2 0 0 3 提供 教育卫星接收站提供资源储备,和教育软件的接l i 统调 开发用工作站十为开发人员使用,预装l i n u x 和w i n d o w s 系统 注:带 号的选项为实验室研究时所必须具备 西南科技大学硕士研究生学位论文第7 页 2 5 n c 产品质量需求 表2 - 3n c 产品质量需求 t a b ie 2 3t h eq u a ii t yr e c l u ir e m e n to f n c 主要质量属性 正确性 健壮性 可靠性 性能,效率 易用性 清晰性 安全性 可扩展性 兼容性 可移植性 详细要求 软件具有按照需求正确执行任务的能力 在异常情况下,软件能够具有正常运行的能力 在一定环境下,在给定时间内,系统不发生故障的概率低 “时间一空问”效率,即运行速度高,并且占用资源少 用户使用简单、易学 工作成果易读、易理解 防止系统被非法入侵 软件适应“变化”的能力 不同产品相互交换信息的能力 软件不经修改或稍加修改就可以运行于不同软硬件环境 ( c p u 、o s 和编译器) 的能力,主要体现为代码的可移植性。 西南科技大学硕士研究生学位论文第8 页 3n c 操作系统功能规划及裁剪 3 1n c 操作系统功能规划 根据上面的需求分析,n c 操作系统需要以下的一些功能”1 : ( 1 ) 对硬件设备的支持( 驱动程序) 包括对v g a + s v i d e o 视频显卡的支持,音频接口的驱动程序,u s b 接口 的驱动,并口的驱动,p s 2 接口的驱动。 ( 2 ) 对网络协议的支持 针对b s 模式的使用要求,数据处理主要放在服务器端,客户端从服务 器取得处理后的数据:这就要求底层支持网络协议栈( t c p i p 等) 。 ( 3 ) 对三种终端模式客户端的支持”3 对于终端模式,要求n c 操作系统中含有支持r d p 5 1 的w i n d o w s 客户端 程序:要求有登录l i n u x 服务器的图形界面客户端程序;至少要求n e 可支持 扩展i c a 方式的客户端。 ( 4 ) 对用户界面的支持 能支持终端登录方式,就要求有提供这些登录方式的用户接口;还要求 提供可挂载u s b 的接口。对于普通用户来说,图形化的接口是最简便、最直 接的接1 :3 提供方式。那么,就要求n c 有一个图形界面的解决方案( 简易 x s e r v e r + x c l ie n t + 窗口管理器) 。还有,实现这些蹙录方式要求系统底层支持, 在内核中必须支持这些终端方式所用到的所有底层协议和系统库。 ( 5 ) 本地媒体播放器 对于本地模式使用要求,要求n c 提供本地的媒体播放器。本地媒体播放 器应能支持常见格式媒体播放,( m p g 、a s f 、w m a 、w m v 、f m 、a v i 、m p 3 ) 并目 可以扩展对新格式的支持。 ( 6 ) 本地浏览器 在很多时候,n c 用户只有上删需求,这时本地浏览器的使用频率很高。 这就要求浏览器支持的插件种类足够丰富、版本要高,其中浏览器t la s h 插 件要求6 0 以l :| 司时还能兼容其它些常剧的歼源浏览器。( 如m o z i l l a 等) ( 7 ) 本地中文显示和输入浊 对j 二本地软件的使用,要求提i j f :s 1 ,文显小f 输入往 ( h ) 丹级丰| l 维护 西南科技大学硕士研究生学位论文第9 页 对于本地系统和应用的升级与维护,要求支持通过本地服务器方式可以 升级。 ( 9 ) n c 常用配置 要求提供配置n c 参数( 网络参数、服务器参数、显示模式、密码等) 的接 口。要求有n c 配置密码丢失后的处理方案。 ( 1 0 ) 其它功能 对于n c 的非功能性需求,在定制功能性需求时兼顾满足。 3 2 内核定制 根据上面的功能结构规划,我们对l i 3 u x 进行裁剪和改造工作来构造n c 操作系统,具体分为如下几步”: 3 2 1 选用l i n t l x 发行版 l if l u x 发行版本主要有三大类: 标准化的l if l u x 版本 标准化的l if l u x 版本也就通常所说的发行版,它由l i i u x 发行商参照标准 的l if l u x 内核,加上一些工具和应用程序包,通常以光盘的形式发布。常见的 发行版本有r e dh a t 、s u s e 、1 e b i a n 。 小型化的嵌入式版本 小型化的l i n u x 是指内核经过精简后的l i n u x ,它主要用于条件受限的嵌 入式设备中,其代表有m i n il l n u x 等。 具有实时扩展功能的l if l u x 版本 l if l u x 本身不是一个实时操作系统,为了使其适合实时化场合的应用,人 们对其内核进行改动来提高其实时性,其代表有r t i ,i n u x 等。 这里的标准化、小型化和实时都是针对内核来说的。 在前面的需求分析中,我们看n n c 的硬件条件( c p u5 5 0 m h z ,内存l2 8 m ) 在嵌入式设备中足相当优越的所以我们这里选用标准化的l i n u x 版本。一f :7 实 际裁剪过程中选用r e d l l a t l i n l lx2 4 18 ,它有如f 儿个优势: l ,宽全按照( ;w 的通f f lni ,j 坼议( g p l ) 2 ,r e dh a l 遵循l n ix 车i n 【l x 柄、; f f : : ,r e dh t ! 挺供了- tl ,的、? j 引宁 4 ,r p dh :1 1 长0 啦if h jt f “1 西南科技大学硕士研究生学位论文第1 0 页 3 2 2 确定必须要被编译到内核的部分一定制内核 确定编译的原则: 系统必须的部分( 如象虚拟盘访问等时刻需要的功能) 放入内核。嘲络功 能对n c 来说是时刻需要的,也考虑把它编译到内核里。 模块一般用来支持那些不经常使用的功能。例如,如果通常情况下很少 使用拨号网络,那么就应该使用可装入的模块来提供这个功能。仅在你进行 拨号联接的时候,该模块才被装入。而在你断掉连接的时候它会被自动卸下。 这样会使内核内存使用量最小,减小系统的负荷。 关键的服务和驱动程序被编译到内核中去,较少用到的组件被构建成模 块。一般的规律是,为某一个系统构建的内核往往更少使用模块。为多个系 统构建的内核往往更多地使用模块。 按照以上的规则,首先列出一张清单降”“3 ,看看k e r n e l 中哪些选项 是非有不可的,也就是说,这些东西是必须被编译到内核中的。将那些非必 需的模块剔除到内核以外。 ( 1 ) 选择c p u 类型。确保内核对n cc p u 类型的支持。 ( 2 ) 选择文件系统。l i n u x 默认的文件系统是e x t 2 ,把它标记下来。 注:包含大量t 具的文件系统在n c 中被编译进内核成为b i n 映像文件的一部分。 ( 3 ) 选择l i f l u x 所支持的可执行文件格式。这里有两种格式可供选择: a ) e l f :这是当前l i f l u x 普遍支持的可执行文件格式,必须编译到内 核中。 b ) o u t :这是旧版l i n u x 的可执行文件格式,把它置为模块方式。 ( 4 ) 选择n c 系统所需要的硬件驱动。 ( 5 ) 选择对网络的支持,t c p l pn e t w o r k 一定要编译进内核。 ( 6 ) 选择对鼠标和字符设备的支持。 ( 7 ) 选择对相关总线的支持, 以上这些内容,是必须要编译到内核中的。 另一方面确定可以被裁剪掉的内核部分: ( 1 ) 不需要众多不同类型的终端和非标准设备,大量终端和相应的驱动 程序可以去掉。 r 2 ) 大晕控制台管理的代码世i # j 星夫夫地简化。 ( : ) l 。ij i l l x 布信号量、消息通化利j l 亨内f j 譬lp c 通价机制卜花费r 十h - , q 的代码,i hj - 嵌入式系统应,h 比较翰t - ,这部分j 以人人消减。 1 ) 把系统习j 始化的女杂装哉0 - ll 曳l , j 确! ,j 设管,j - ,电能漩化代码 西南科技大学硕士研究生学位论文第“页 ( 5 ) 嵌入式系统生成方面的相关代码可以去掉。 ( 6 ) 嵌入式系统的安全性要求可以降低,其代码可以消减。 ( 7 ) 去掉系统用不到其它文件系统代码和数据结构。 ( 8 ) 还有一点至关重要,就是去掉l i n u x 内核的虚拟内存管理机制。 a ) 其中最简单的办法就是置s w a p 交换分区为0 ( 但实际上这种做法 还是有一些无必要的系统耗费;虚拟内存机制存在,只是在找的 时候不能被分配) b ) 另一种方法就是根本上从内核源代码去掉虚拟内存管理机制。” 咐琅3 在确定内核必须和可以裁剪的部分后就可以开始编译,编译结束后会生 成两个文件“: s y s t e m m a p 纪录内核里各个符号在内核映像里的位置,b z m a k e 是可以白 解压的压缩内核殃像。 3 2 3 定制内核时应该注意的问题: 一越小越好。一般来说,为某个具体对象编译的内核要比标准内 核体积小。因此运行快,而且在日常操作中更稳定。 i 定制的内核往往使用更少的内存。这将减少i o 开销( 内存中 的内核代码从不被转移到交换区) ,释放系统资源,供其它进程 使用。 _ 在标准内核被发布后,定制内核能够利用改进的代码、新的驱 动程序和错误修正。 _ 从内核中除去没用的驱动程序和功能后,新内核自然要比标准 内核更安全。 把重要的功能和驱动程序构建到内核中去而不是把它们作为模 块装入,这样做能提高系统的响应速度。 3 3 其它部分的定制 3 ,3 1 网络协议栈的定制 符tn ( :系统i 】实吣例络协i z 栈有两种途径。,是利用i i n x 内核; ,味fj 的协议实现代码,以执碍埘ni ,协议栈 乏其它网络协议栈的是十i ; j利 是分析【,t u x 刚宝 m i 蜜跳_ f 1 j 简其代,将网络协议f 1 为内坎 搬务宋【埘 西南科技大学硕士研究生学位论文第l2 页 用。 l i n u x 本身的协议栈相当成熟,在代码效率、兼容性和网络安全方面很 完善;如果在分析其实现的基础上,从结构上修改协议栈来获得对具体应用 的支持,有较大的难度。因为协议栈比较复杂,对协议栈的分析、结构改动 可单独作为一个课题来研究。在本课题中直接使用了l i n u x 内核中原有的协 议棱,但在后面的章节对网络接口部分进行了分析,为非结构性优化奠定了 基础。 3 3 2x s e r v e r 的定制 x s e r v e r 是n c 系统中较耗费资源的部分,在实现图形界面的前提下尽可 能地用简化版的、只实现基本功能的x s e r v e r 。不考虑大型图形库和图形应 用程序编写。q v w m 是一个小型的窗口管理器,它底层的x s e r v e r 也比较精简。 用它来实现n c 图形界面相对于标准l in u x 的g d m + g n o m e + x s e r v e r 来说是个较 理想的选择。 3 3 3 去掉不必要的服务 在完成内核定制后,我们把目光转向系统本身,进行进一步的调整。系 统服务是程序,它们通常的形式是守护程序,由于n c 机是作为客户端来使用 的,通常可禁用几乎所有的守护进程。对于n c 来说,没有必要运行象端口侦 听等那些不是特别需要的服务。 西南科技大学硕士研究生学位论文第1 3 页 4 内核网络接口实现解析 在分析r d e s k t o p 客户端程序详细流程之前,还应先介绍一下l i f l u x 的网 络接口部分,使分析贯穿应用层和系统层,为优化的实现打好基础。 4 1 内核网络接口结构 【if i u x 的刚络接口分为四部份”: ( 1 ) 网络设备接口部份。 网络设各接口部份主要负责从物理介质接收和发送数据。实现的文件在 1 i n u x d r i v e r n e t 目录下面。 ( 2 ) 网络接口核心部份。 网络接口核心部份是搀个网络接口的关键部位,它为网络协议提供统一 的发送接口,屏蔽各种各样的物理介质,同时负责把来自下层的包向合适的 协议配送。它是网络接口的中枢部份。它的主要实现文件在1 i n u x n e t c o r e 目录下,其中1 i n u x n e t c o r e d e v c 为主要管理文件。 ( 3 ) 网络协议族部份。 网络协议族部份是各种具体协议实现的部份。l i n k l x 支持t c p i p 。i p x , x 2 5 ,a p p l e t a l k 等的协议,各种具体协议实现的源码在l i n u x n e t 目录下 相应的名称。在这里主要讨论t c p i p ( i p v 4 ) 协议,实现的源码在 l i n u x n e t i p v 4 ,其中l i n u x n e t i p v 4 a i i n e t c 是主要的管理文件。 ( 4 ) 网络接口s o c k e t 层。 l 】5 4 络接口s o c k e t 层为用户提供的网络服务的编程接口。主要豹源码在 li n u x n e t s o c k e t c 。 下面就网络接口的四个部分分别进行详细分析: 4 2 网络设备接口部份 物理层上有许多不同类型的网络接口设备”“,在文件 i n c l u d e 1 i n u x i f a r p h 的2 8 行里定义了a r p 能处理的各种物理设备的标志 符。网络设备接口要负责具体物理介质的控制,从物理介质接收以及发送数 据,并对物理介质进行诸如最大数据包之类的各种设置。这里以比较简单的 3 c o m 3 c 5 0 1 以太网卡的驱动程序为例,分析这层的工作原理。源码在 i n u x d r i v e t s n e t 3 c 5 0 1 c 。 西南科技大学硕士研究生学位论文第1 4 页 下面开始分析网卡的发送和接收过程: 发送相对来说比较简单,在l i n u x d r i v e r s n e t 3 c 5 0 1 c 的行4 7 5 开始 的e l s t a r t x m i t 0 这个函数就是实际向3 c o m 3 c 5 0 1 以太网卡发送数据的函 数,具体的发送工作就是对一些寄存器的读写,在l i n u x 源码中有非常清楚 的注释。 接收的工作相对来说比较复杂。通常来说,个新的包熨了? 或者一个 包发送完成了,都会产生一个中断。e l r e c e i v e ( ) 负责数据的接收,它首先 检查接收的包是否正确,如果是一个“好”包就会为包分配一个缓冲结构 ( d e v a l l o c s k b 0 ) ,这样驱动程序对包的接收工作就完成了,通过调用上层 的函数n e t i fr x 0 ( n e t c o r e d e v c 1 2 1 4 行) ,把包交给上层。 由下往上的关系,是通过驱动程序调用上层的n e “f r x ( ) 函数实现的, 驱动程序通过这个函数把接到的数据交给上层,所有的网卡驱动程序都需要 调用这个函数,这是网络接口核心层和网络接口设备联系的桥梁。 由上往下的关系要复杂。网络接口核心层需要知道有多少嘲络设备可以 用,每个设备的函数的入口地址等都要知道。网络接口核心层在发送前会探 寻有多少设备可以发送数据包,能发送数据包的将把它们排成队。这一队 就由d e v b a s e 开始,指针s t r u t tn e t d e v i c e * d e v b a s e ( l i n u x in c l u d e 1 i n u x n e t d e v i c e h4 3 6 行) 保存了网络接口饮一u 层所知道 的所有设备。对于网络接口核心层来说,所有的设备都是一个l i e 一d e v i c e 结构,它在i n e l u d e 1 i n u x n e t d e v i c e h ,l i n e2 3 3 里被定义,这是从网络接 口核心层角度看到的一个抽象设备,下面我们看看n e t d e v i c e 结构: s t r u c tn e td e v i c e o p e n 0 s t o p 0 h a r d s t a r t x m i t0 h a r dh e a d e r0 r e b u i ldh e a d e r 0 s e t m a c a d d r e s s0 d oi o c t l ( ) s e t c o n f i g0 h a r dh e a d e rc a c h e0 h e a d e r c a c h e u p d a t e0 西南科技大学硕士研究生学位论文第1 5 页 c h a n g e m t u0 l x t i m e o u t 0 如果网络接口核心层需要由下层发送数据,在d e v b a s e 找到设备以后。 就直接调d e v 一 h a r d s t a r t x m i t 0 的这个函数来让下层发数据包。 驱动程序要让网络接口核心层知道自己的存在,当然要加入d e v b a s e 所指向的指针链,然后把自己的爱数以及各种参数和n e t d e v ic e 里相应的域 对应起来。加入d e v b a s e 所指向的指针链是通过函数 r e g i s t e r n e t d e v ( & d e v 一3 c 5 0 ) ( 1 i n u x d r i v e r s n e t n e t i n i t c ,l i n e5 3 2 ) 建立的。而把自己的函数和n e t d e v i c e 里相应的域对应起来是在 e l lp r o b e l ( ) ( l i n u x d r i v e r s p e t 3 c 5 0 1 c ) 里进行的: 进一步的对应工作在e t h e r s e t u p ( d e v ) ( d r i v e r s n e t n e t i n i t c , l i n e4 0 5 ) 里进行。我们注意到d e v 一 h a r d s t a r t x m i t = e l s t a r t x m i t , 这样发送函数的关系就建立了,上层只知道调用d e v 一 h a r d s t a r t x m i t 来发 送数据,上面的语句就把驱动程序实际的发送函数告诉了上层。 4 3 网络接口核心部分 刚才谈论了驱动程序怎么和网络接口核心层衔接的。网络接口核心层“” 知道驱动程序以及驱动程序的函数入口,它是通过* d e v b a s e 来指向设备链。 而下层是通过调用本层的函数n c t i f r x 0 ( n e t 一f ,1 j v c1 2 1 4 行) 把数据 传递给本层的。 网络接口核心层的上层是具体的网络协议,下层是驱动程序,我们已经 分析了下层的关系,但和上层的关系还不清楚。接下来讨论网络接口核心层 和网络协议族部份的关系。 嘲络协议,例如i p ,a r p 等要发送数据包时会把数据包传递给本层。嘲 络接口核心层通过d e v q u e u e x m i t 0 ( n e t c o r e d e v c ,1 i n e 9 7 5 ) 这个函数 向上层提供统一的发送接口,也就是说无论是i p ,还是a r p 协议,通过这个 函数把要发送的数据传递给这一层,想发送数据时上层就调用这个函数。 d e vq u e u e x m i t ( ) 做的工作最后会落实到d e v 一 h a r d s t a r t x m i t0 ,而 d e v - h a r d s t a r t x m i t 0 会调用实际的驱动程序串字脚步送的任务。例如上 节的例子中,调用d e v - h a r d s t a r t x m i t 0 实际就是调用了 西南科技大学硕士研究生学位论文第1 6 页 e l _ s t a r t x m it ( ) 。 现在讨论接收的情况。网络接口核心层通过函数 n e t i f r x 0 ( n e t c o r e d e v c1 2 1 4 行) 接收了下层驱动发送害的数据,这时 当然要把数据包往上层派送。所有协议族的下层协议都需要接收数据,t c p i p 的i p 协议和a r p 协议,s p x i p x 的i p x 协议,a p p le t a l k 的d d p 和a a r p 协议 等都需要直接从网络接口核心层接收数据。网络接口核心层解决和上层的关 系是通过s t a t i cs t r u c tp a c k e t t y p e * p t y p e b a s e 1 6 :( n e t c o r e d e v c “d e1 6 4 ,定义在n e t d e v i c e hl i n e4 2 1 ) 这个数组解决的。这个数组包含 了需要接收数据包的协议,以及它们的接收函数入口。 s t r u t tp a c k e t t y p e u n s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024中国葛洲坝集团公司招聘发布笔试参考题库附带答案详解
- 一线配电安规标准复习试题及答案
- 大气环境海洋学重点基础知识点
- 【世界银行】有资格入住吗
- 生物DNA的复制第1课时课件-2024-2025学年高一下学期生物人教版必修2
- 料理机器的科技革新
- 《2025年劳动合同续签意向通知》
- 2025网络设备购销合同
- 2025教育机构网站技术支持合同
- 行业数据:中国台面清洁剂市场现状研究分析与发展前景预测报告
- 2025履约类保函担保合同范本
- 2025年03月河北邯郸武安市事业单位春季博硕人才引进55名笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 2025年中国滤波电抗器市场调查研究报告
- DB15-T 3967.2-2025 气候可行性论证技术规范 第2部分:太阳能发电工程
- 日租房协议合同
- 2024年湖南省高等学校对口招生考试英语试卷试题真题
- 公司2025年工会工作要点
- 2025年中国煤炭地质总局社会招聘20人笔试参考题库附带答案详解
- 公共卫生应急管理调研报告范文
- 【9物一模】安徽合肥瑶海区2025年中考物理一模试卷
- 光影中国学习通超星期末考试答案章节答案2024年
评论
0/150
提交评论