




已阅读5页,还剩71页未读, 继续免费阅读
(计算机应用技术专业论文)嵌入式linux操作系统实时性研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 随着计算机技术的发展和普及 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 实时性的新方法 通过对最早截止期优先调度算法 e d f 和速率单调调度算法 r m 的可调度性分析以及虚拟内存的改进等方法将 2 6 1 2 内核进行了实时性改造 在此基础上通过对嵌入式工业平台了解分析构建基于 x 8 6 平台的嵌入式实时操作系统 s e r l i n u x 并针对应用需求做进一步优化 使 其得以在实际工程中应用 关键字 嵌入式操作系统 l id i l l 实时性 a b s t r a c t w i t ht h ed e v e l o p m e n ta n dp o p u l a r i t yo fc o m p u t e rt e c h n o l o g y l i n u x w i t ht h e a d v a n t a g eo fo p e nc o d e h i g hs t a b i l i t ya n dn oc h a r g e n o to n l yh a sap l a c ei ns e r v e ra n d d e s k t o ps y s t e mb u ta l s od e v e l o p sf a s ti nt h ea r e ao fe m b e d d i n g l i n u xi sa p p r o p r i a t et ob e a p p l i e di ne m b e d d e do p e r a t i n gs y s t e m e o s w i t hi t ss e l f sc h a r a c t e r i s t i c s h o w e v e ri t l o s e si t sr e a lt i m eo p e r a t i n gf u n c t i o nt op a ye x t r aa t t e n t i o nt ol a r g es e r v e rs y s t e m i n i n d u s t r i a la p p l i c a t i o n o p e r a t i o ns y s t e mp l a t f o r mw i t hr e a lt i m eo p e r a t i o ni sn e e d e d t h e r e f o r e h o wt oi m p r o v et h er e a l t i m ef u n c t i o no fl i n u xo p e r a t i n gs y s t e mh a sb e c o m ea h o tt o p i c t h i ss t u d ya tf i r s td i s c u s s e dt h eb a c k g r o u n da n dk n o w l e d g eo fe m b e d d e do p e r a t i n g s y s t e ma n dr e a lt i m eo p e r a t i n gs y s t e mt oh e l pf u r t h e ru n d e r s t a n dl i n u x t h er e a s o n c a u s i n gl i n u xo p e r a t i n gs y s t e ml a c ko fr e a lt i m ew a sa n a l y z e d a n da f e wf o r e i g np r o j e c t s a n da l g o r i t h m st oe n h a n c el i n u xr e a lt i m ef u n c t i o nw e r es t u d i e d t h e n an e wm e t h o dt o e n h a n c ei t sr e a lt i m ew a sp r o p o s e d i nw h i c h2 6 12d i e k e r n e l w a si m p r o v e di ni t sr e a l t i m ef u n c t i o nt h r o u g ht h ea n a l y s i so fs c h e d u l a b i l i t yo fe d fa n dr ma sw e l la st h em e t h o d t oi m p r o v ev i r t u a lm e m o r y f i n a l l y s e r l i n u x a ne m b e d d e do p e r a t i n gs y s t e mb a s e do n x 8 6 p l a t f o r m w a sb u i l tu pv i at h eu n d e r s t a n d i n go fe m b e d d e di n d u s t r i a lp l a t f o r m i tw a s f u r t h e ri m p r o v e db a s e do nt h er e q u i r e m e n to fa p p l i c a t i o na n dw a sa l s oa p p l i e di nr e a l e n g i n e e r i n gp r o j e c t k e y w o r d e m b e d e do p e r a t i n gs y s t e m l i n u x r e a l t i m e 论文独创性声明 本人声明 本人所呈交的学位论文是在导师的指导下 独立进行研究工 作所取得的成果 除论文中已经注明引用的内容外 对论文的研究做出重要 贡献的个人和集体 均已在文中以明确方式标明 本论文中不包含任何未加 明确注明的其他个人或集体已经公开发表的成果 本声明的法律责任由本人承担 论文作者签名 孝衫移泐7 年 p 月知日 论文知识产权权属声明 本人在导师指导下所完成的论文及相关的职务作品 知识产权归属学 校 学校享有以任何方式发表 复制 公开阅览 借阅以及申请专利等权利 本人离校后发表或使用学位论文或与该论文直接相关的学术论文或成果时 署名单位仍然为长安大学 保密的论文在解密后应遵守此规定 论文作者签名 多岔牺矽7 年f v b3 a 日 导师签名 夕朋弘日 跃安人学硕上 学位论文 1 1 研究背景 第一章绪论 在当前的数字信息技术和网络技术高速发展的后p c p o s t p c 时代 嵌入式系 统已经广泛的渗透到科学研究 工程设计 军事技术 各类产业和商业文化艺术 娱 乐业以及人们的日常生活等方方面面中 随着国内外嵌入式产品如车载电脑 机顶盒 等等的进一步开发和推广 嵌入式技术越来越和人们的生活紧密结合 在p c 时代 可能有人从来没有接触过计算机 但是在p o s t p c 时代 他就不可能会接触不到嵌 入式系统 因为嵌入式系统可能存在于生活的方方面面中 下一代互联网的自主运算趋势 企业对i t 解决方案后台化 简单化的需求和消费 者期待的网络功能强大 简单易用 扩展方便 稳定低耗的下一代手持计算设备这三 方面的需求正在拉动一个以消费电子设备 自主计算网络部件和功能服务器等产品为 代表的全新嵌入式系统及相关产品解决方案市场快速浮出水面 l i n u x 作为一个年轻 的操作系统在这一领域迅速发展 受到越来越多的关注 1 2 国内外研究概况 1 2 1 国外研究进展 从上世纪8 0 年代起 国际上就开始进行一些商业嵌入式系统和专用操作系统的开 发 所以开发嵌入式操作系统已经有二十多年的历程 目前的应用范围比较广泛 目 前国外主流的嵌入式操作系统如下 1 p a l m p a l m 是3 c o m 公司的产品 其操作系统为p a l mo s 是一种3 2 位的嵌入式操作系统 p a l m 提供了串行通信接口和红外线传输接口 利用它可以方便地与其它外部设备通 信 传输数据 拥有开放的o s 应用程序接口 开发商可根据需要自行开发所需的应 用程序 p a l mo s 是一套具有较强开放性的系统 现在有大约数千种专门为p a l mo s 编写的应用程序 从程序内容上看 d n 个人管理 游戏 大到行业解决方案 p a l mo s 无所不包 在丰富的软件支持下 基于p a l mo s 的掌上电脑功能得以不断扩展 p a l mo s 是 套专门为掌上电脑开发的o s 在编写程序时 p a l mo s 充分考虑了 掌上电脑内存相对较小的情况 因此它只占有非常小的内存 由于基于p a l mo s 编写 第一章绪论 的应用程序占用的空间也非常小 通常只有几十k b 所以 基于p a l mo s 的掌上电 脑 虽然只有几m b 的r a m 可以运行众多应用程序 p a l mo s 与同步软件 h o t s y n c 结合可以使掌上电脑与p c 机上的信息实现同步 把台式机的功能扩展到了掌上电脑 p a l m 应用范围相当广泛 如 联络及工作表管理 电子邮件及互联网通信 销售人员及组别自动化等等 p a l m i 围硬件也十分丰富 有 数码相机 g p s 接收器 调制解调器 g s m 无线电话 数码音频播放设备 便携键盘 语音记录器 条码扫描 无线寻呼接收器 探测仪 其中p a l m 与g p s 结合的应用 不 但可以作导航定位 还可以结合g p s 作气候的监测 地名调查等 2 w i n d o w sc e w i n d o w sc e 是微软开发的一个开放的 可升级的3 2 位嵌入式操作系统 是基于 掌上型电脑类的电子设备操作 它是精简的w i n d o w s9 5 操作系统 w i n d o w sc e 的图 形用户界面相当出色 其中c e 中的c 代表袖珍 c o m p a c t 消费 c o n s u m e r 通 信能力 c o n n e c t i v i t y 和伴侣 c o m p a n i o n e 代表电子产品 e l e c t r o n i c s 与 w i n d o w s9 5 9 8 w i n d o w sn t 不同的是 w i n d o w sc e 是所有源代码全部由微软自行 开发的嵌入式新型操作系统 其操作界面虽来源于w i n d o w s9 5 9 8 但w i n d o w sc e 是 基于w i n 3 2a p i 重新开发的 新型的信息设备平台 w i n d o w sc e 具有模块化 结构化 和基于w i n 3 2 应用程序接口以及与处理器无关等特点 w i n d o w sc e 不仅继承了传统的 w i n d o w s 图形界面 并且在w i n d o w sc e 平台上可以使用w i n d o w s9 5 9 8 上的编程工具 j t l v i s u a lb a s i c v i s u a lc 等 使用同样的函数 使用同样的界面网格 使绝大 多数的应用软件只需简单的修改和移植就可以在w i n d o w sc e 平台上继续使用 w i n d o w sc e 的设计目标是 模块化及可伸缩性 实时性能好 通信能力强大 支持多种c p u 它的设计可以满足多种设备的需要 这些设备包括了工业控制器 通 信集线器以及销售终端之类的企业设备 还有像照相机 电话和家用娱乐器材之类的 消费产品 一个典型的基于w i n d o w sc e 的嵌入系统通常为某个特定用途而设计 并 在不联机的情况下工作 它要求所使用的操作系统体积较小 内建有对中断的响应功 能 在掌上型电脑中 w i n d o w sc e 包含如下一些重要组件 p o c k e to u t l o o k 及其组件 语音录音机 移动频道 远程拨号访问 世界时钟 计算器 多种输入法 g b k 字符 集 中文t t f 字库 英汉双向词典 袖珍浏览器 电子邮件 p o c k e to f f i c e 系统设 2 长安人学硕i j 学位论文 置 w i n d o w sc es e r v i c e s 软件 3 l i n u x l i n u x 是一个类u n i x 操作系统 它起源于芬兰一个名为l i n u st o r v a l d s 的业余爱好 但是现在已经是最为流行的一款开放源代码的操作系统 l i n u x 从1 9 9 1 年问世到现在 短短1 0 年的时间内已发展成为一个功能强大 设计完善的操作系统 伴随网络技术进 步而发展起来的l i n u xo s 已成为m i c r o s o f t 公司的d o s 和w i n d o w s9 5 9 8 的强劲对手 l i n u x 系统不仅能够运行于p c 平台 还在嵌入式系统方面大放光芒 在各种嵌入式 l i n u xo s 迅速发展的状况下 l i n u xo s 逐渐形成了可与w i n d o w sc e 等e o s 进行抗衡的 局面 目前正在开发的嵌入式系统中 4 9 的项目选择l i n u x 作为嵌入式操作系统 l i n u x 现已成为嵌入式操作的理想选择 4 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 1b 实时扩展 它提供了一个很小的微内核以及一些可选 的配合进程 其内核仅提供4 种服务 进程调度 进程间通信 底层网络通信和中断 处理 其进程在独立的地址空间运行 所有其它o s n 务 都实现为协作的用户进程 因此q n x i 为核非常小巧 q n x 4 x 大约为1 2k b 而且运行速度很快 这个灵活的结构 可以使用户根据实际的需求将系统配置成微小的嵌入式操作系统或是包括几百个处 理器的超级虚拟机操作系统 1 2 2 国内研究进展 由于国外公司的专用操作系统巨大的市场前景 国内越来越多的研究机构和企业 也开始关注并进军嵌入式操作系统领域 目前国内的l i n u x 嵌入式操作系统厂商队伍 正在逐渐扩大 已形成百家争鸣的局面 在市场上主要有红旗嵌入式l i n u x 博利思 推出的p o c k e ti x 蓝点的嵌入式l i n u x 系统 网虎科技推出的c o v e n t e 和共 创软件联盟推出的c c l i n u x 它们所具备的共同特点是 精简的内核 适用于不同 的c p u x 8 6 s t r o n g a r m a r m m i p s p o w e rp c 等 提供完善的嵌入式g u i 和嵌入式x w i n d o w s 提供嵌入式浏览器 邮件程序 m p 3 播放器 m p e g 播放器和 记事本等应用程序 提供完整的开发工具和s d k 同时提供p c 上的开发版本 用户 可定制 提供图形化的定制和配置工具 常用嵌入式芯片的驱动集 提供实时版本 完善的中文支持等 其中c c l i n u x 对通用的l i n u x 进行了合理的裁剪 实现了 3 第一章绪论 r o m 依a m f l a s h 的文件系统 软实时 能量低中断 电源管理 j 筒舱虚拟机 多 平台和多线程支持 有望成为中国嵌入式操作系统的标准 国内目前最具代表性的嵌入式操作系统如下 1 h o p e no s h o p e no s 是凯思集团自主研制开发的嵌入式操作系统 由一个体积很小的内核 及一些可以根据需要进行定制的系统模块组成 其内核h o p e nk e r n e l 一般为1 0 k b 左右大小 占用空间小 并具有实时 多任务 多线程的系统特征 使用者可以很容 易地对这一操作系统进行定制或作适当开发 该系统不仅可以广泛应用于 移动计算 平台 p d a 家庭信息环境 机顶盒 数字电视 通讯计算平台 媒体手机 车载计算平台 导航器 工业 商业控制 智能工控设备 p o s a t m 机 电子 商务平台 智能卡应用 安全管理 等信息家电上 还可应用于与i n t e m e t 相联接的 一切接入设备 是未来信息家电的核心 该系统目前已能在 x 8 6 p a r i s c p o w e r p c a r m s t r o n ga r m m i p s 6 8 x x x 等多种芯片上运行 2 e e o s e e o s 是中科院计算所组织开发的开放源码的嵌入式操作系统 该嵌入式操作系 统重点支持p j a v a 要求一方面小型化 一方面能复用l i n u x 的驱动和其他模块 研究机构准备将其建立呈扩展能力强 功能完善 且稳定 可靠的嵌入式操作系统平 台 包含e 2 实时操作系统 e 2 工具链及e 2 仿真开发环境的完整环境 e e o s 采 用先进的内核仿真调技术 能够使普通c 程序员能快速熟悉实时系统的结构和开发 过程 大幅度降低学习 研究 开发实时系统的代价 e e o s 专为嵌入式系统设计 代码尺寸小 同时e e o s 结构上考虑了实时需求 很高的实时响应速度 因而能够 在各种环境下工作 具有良好的可伸缩性 3 和欣 嵌入式操作系统 和欣 是8 6 3 计划主题资助的国家重大基础软件项目 它区别于其他传统嵌入式 操作系统的特点 由于它是为网络时代的嵌入式设备 能够更有效地支持w e b 服务 而开发 在体系结构上完全面向构件 中间件技术的网络操作系统 其精髓是科泰世 纪公司原创的e z c o m 构件技术 这不仅可以为 和欣 的应用产品带来新的增值功能 还使各种软件零件可以独立生产 维护 更换 升级 提高软件的整体质量与软件复 用率 缩短软件开发周期 提高嵌入式系统的开发效率 这些技术有效地解决了在下 4 长安人学硕i 学位论文 一代面向网络应用的嵌入式系统中 传统操作系统所面临的问题 和欣 是一个完全 由中国人自行设计开发的 具有完整的自主知识产权的 面向网络应用的嵌入式操作 系统 其体系结构和实施技术有创新性 在嵌入式操作系统达到了国内领先和国际先 进水平 1 3 本文研究目的和内容 l i n u x 升级到2 6 版本内核后 性能大幅提升 这些特性旨在改进高端企业服务 器的性能和支持越来越多的嵌入式设备 对于嵌入式系统领域 添加了针对大量新的 体系结构和嵌入式微处理器类型的支持 包括对那些没有内存管理单元m m u 系 统的支持 由于其兼顾的领域太广 放弃了系统的实时性 而在工业应用中 迫切需 要可靠的具有实时性能的操作系统平台 因此利用l i n u x 操作系统的特性进行实时性 改造成为业界研究的热点 2 6 内核在嵌入式系统方面 由于采用了可抢占式内核 o 1 调度算法以及增强的同步机制三个方面的改进 使它在响应性方面相比以前版本 的内核有了巨大的改善 目前 新推出的l i n u x2 6 版本内核已经成为大部分商业嵌入式操作系统的主流 而开源的实时操作系统仍然沿用2 4 甚至更老的2 2 版本内核 2 6 内核针对嵌入式应 用的新特性无法在实际应用中得到推广 本文通过对l i n u x2 6 内核深入研究 结合 已有的实时化技术方案 提出了一个针对2 6 内核提升实时性的新方法 改进内核后 的系统保留了l i n u x 系统的优势以及2 6 内核的新特性 并且很好的提升了系统的实 时响应能力 使其更适合作为一种方便可行的实时操作系统的解决方案 在实际应用 中推广 第 章嵌入式l i n u x 系统分析 第二章嵌入式l i n u x 系统分析 2 1 嵌入式系统及嵌入式操作系统简介 嵌入式系统被定义为 以应用为中心 以计算机技术为基础 软硬件可裁剪 适 应特定应用系统对功能 可靠性 成本 体积 功耗等严格要求的专用计算机系统 嵌入式系统是将先进的计算机技术 半导体技术和电子技术以及各个行业的具体应用 相结合的产物 广泛地渗透到社会经济 军事 通信等相关行业 而且深入到信息家 电 娱乐 社会文化等各个领域 掀起了一场数字化的技术革命 随着多媒体技术与 i n t e m e t 应用的迅速普及 消费电子 c o n s u m p t i v ee l e c t r o n 计算机 c o m p u t e r 通信 c o m m u n i c a t i o n 等3 c 一体化趋势日趋明显 极大地推进了嵌入式技术的发展 嵌入式操作系统e o s e m b e d d e do p e r a t i n gs y s t e m 是一种用途广泛的系统软件 过去它主要应用于工业控制和国防系统领域 1 e o s 负责嵌入系统的全部软 硬件资 源的分配 调度 控制 协调并发活动 它必须体现其所在系统的特征 能够通过装 卸某些模块来达到系统所要求的功能 目前 已推出一些应用比较成功的e o s 产品 系列 随着i n t e m e t 技术的发展 信息家电的普及应用及e o s 的微型化和专业化 e o s 开始从单一功能向高专业化的方向发展 嵌入式操作系统在系统实时高效性 硬件的 相关依赖性 软件固化以及应用的专用性等方面具有较为突出的特点 e o s 是相对 于一般操作系统而言的 它除具备了一般操作系统最基本的功能 如任务调度 同步 机制 中断处理 文件处理等外 还有以下特点 可装卸性 开放性 可伸缩性的体系结构 强实时性 e o s 实时性一般较强 可用于各种设备控制当中 统一的接口 提供各种设备驱动接口 提供强大的网络功能 支持t c p i p 协议及其它协议 提供t c p 舢 d p 口 p p p 协议支持及统一的m a c 访问层接口 为各种移动计算设备预留接口 强稳定性 弱交互性 嵌入式系统一旦丌始运行就不需要用户过多的干预 这就要负责系统管理的e o s 具有较强的稳定性 嵌入式操作系统的用户接 口一般不提供操作命令 它通过系统的调用命令向用户程序提供服务 更好的硬件适应性 也就是良好的移植性 从某种意义上来说 通用计算机行业的技术是垄断的 占整个计算机行业9 0 6 长安大学硕十学位论文 的p c 产业 8 0 采用i n t e l 的x 8 6 体系结构 芯片基本上出自i n t e l a m d c y r i x 等 几家公司 在几乎每台计算机必备的操作系统和文字处理器方面 m i c r o s o f t 的 w i n d o w s 及w o r d 占8 0 9 0 凭借操作系统还可以搭配其它应用程序 因此当代的 通用计算机工业的基础被认为是由w i n t e l m i c r o s o f t 和i n t e l 在9 0 年代初建立的联盟 垄断的工业 嵌入式系统则不同 它是一个分散的工业 充满了竞争 机遇与创新 没有哪一 个系列的处理器和操作系统能够垄断全部市场 即便在体系结构上存在着主流 但各 不相同的应用领域决定了不可能有少数公司 少数产品垄断全部市场 因此嵌入式系 统领域的产品和技术 必然是高度分散的 留给各个行业的中小规模高技术公司的创 新余地很大 另外 社会上的各个应用领域是在不断向前发展的 要求其中的嵌入式 处理器核心也同步发展 这也构成了推动嵌入式工业发展的强大动力 2 2 实时系统定义 根据i e e e 的定义 ar e a l t i m es y s t e mi sas y s t e mw h o s ec o r r e c t n e s si n c l u d ei t s r e s p o n s et i m ea sw e l la si t sf u n c t i o n a lc o r r e c t n e s s 瞳1 实时系统是那些正确性不仅取决于 计算的逻辑结果也取决于产生结果所花费时间的系统 实时操作系统与分时操作系统 的最大区别在于时限 d e a d l i n e 这个观念 即实时系统不只是要求完成一个工作 并 且要求工作在一定的时限内完成 如果超时的话都算是任务失败 在实时计算中 系 统的j 下确性不仅仅依赖于计算的逻辑结果而且依赖于结果产生的时间 对于实时系统 来说最重要的要求就是实时操作系统必须有满足在一个事先定义好的时间限制中对 外部或内部的事件进行响应和处理的能力 实时系统可以定义为一个能够在事先指定 或确定的时间内完成系统功能和对外部或内部 同步或异步时间做出响应的系统 对操作系统的实时性能衡量标准的指标如下 系统响应时间 s y s t e mr e s p o n s e t i m e 系统在发出处理要求到系统给出应 答信号的时间 上下文切换时f 百 c o n t e x t s w i t c h i n gt i m e 多任务之间进行切换而花费的时 间 中断延迟时f a j i n t e r r u p tl a t e n c yt i m e 从接收到调度信号到操作系统做出响 应 并完成进入中断服务程序的时间 7 第 章嵌入式l i n u x 系统分析 2 3 实时系统分类 实时操作系统的实时功能又可分为硬实时和软实时两种 硬实时和软实时的区别 就在于对外界的事件做出反应的时间 硬实时系统必须是对即时的事件做出反应 绝 对不能错过事件处理时限 d e a d l i n e 在硬实时系统中如果出现了超过时限的情况就 意味着巨大的损失和灾难 软实时系统是指 如果在系统负荷较重的时候 允许发生 错过时限 d e a d l i n e 的情况而且不会造成太大的危害 硬实时系统和软实时系统的 实现区别主要是在选择调度算法上 选择基于优先级调度的算法足以满足软实时系统 的需求 而且可以提供高速的响应和大的系统吞吐率 而对硬实时系统来说 需要使 用的算法就应该是调度方式简单 反应速度快的实时调度算法了 目前世界上比较有影响力的实时操作系统主要有l y n x 实时系统公司的l y n x o s q n x 软件系统有限公司的q n x 以及两种具有代表性的实时l i n u x 一新墨西哥工学院 的r t l i n u x 和堪萨斯大学的k i 瓜t 一 n u x 2 4l i n u x 在嵌入式应用的分析 2 4 1l i n u x 操作系统的优势 与常见的嵌入式操作系统如v x w o r k s q n x w i n d o w sc e p a l mo s 等相比 嵌入 式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 支持多种体系结构 如x 8 6 a r m m i p s a l p h a s p a r c 等 目前 l i n u x 已经被移植到数十种硬件平台上 几乎支持所有流行的c p u l i n u x 自产生之同起就与网络密不可分 具有非常高效强人的网络功能 支持各 种流行的网络协议 网络是l i n u x 的强项 l i n u x 支持大量的外围硬件设备 内核绝大部分代码都是关于设备驱动的 它们 8 长安人学硕 1 学位论文 支持各种主流硬件设备和最新硬件技术 l i n u x 支持多种文件和图形系统 具有良好的兼容性及友好的用户界面 l i n u x 有着非常优秀的完整开发工具链 g n u 开发工具系列一直为人称道 有十 几种集成开发环境 其中很多是免费的 从而降低了开发费用 l i n u x 从1 9 9 1 年问世到现在的短短十几年时间内 己经发展成为功能强大 设 计完善的操作系统之一 可以与各种传统的商业操作系统媲美 同时 由于l i n u x 自 身所具有的优秀特性 及越来越多的科研机构 厂商的不断推动 使得其在新兴的嵌 入式系统领域内也获得了飞速发展 日前j 下在开发的嵌入式系统中 4 9 的项目选择 了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 公司 像r e d h a t v al i n u x 等正在从事嵌入式l i n u x 的研究之外 一批新公司 如l i n e o t i m e s y s 等 和一些传统的大公司 如m m s g i m o t o r o l a i n t e l 等 以及一些开发专有嵌入式操作系统的公司 如l y n x 也j 下在进行嵌入式l i n u x 的研究和 开发 但就目前的技术而言 嵌入式l i n u x 的研究成果与市场的真正需求还有一段差 距 2 4 2l i n u x 实时性不强的原因 高实时性是嵌入式操作系统的基本要求 由于l i n u x 是一种通用操作系统 而不 是一个真正的实时操作系统 内核不支持事件优先级和实时抢占特性 所以 在开发 嵌入式l i n u x 的过程中 首要问题是扩展l i n u x 的实时性能 3 l i n u x 在实时应用中存在局限性 普通l i n u x 或没有在实时性方面做改进的嵌入 式l i n u x 不能直接应用于实时系统中 原因有以下几点 1 调度算法 一般的l i n u x 系统是按照分时系统的目标设计的 以达到系统较好的 平均性能 强调平衡进程之间的响应时间来保证公平的c p u 时间占用 通常采用 固定时间片的分时调度算法 而实时系统的行为更多的取决于复杂的不可预知的 情况 所以不能满足实时系统短的响应时间和确定的执行行为的要求 2 定时机制 时间系统是计算机重要的组成部分 其主要作用是提供系统时间 l i n u x 系统时间依赖于硬件时钟 一般可以认为l i n u x 系统时间是硬件时钟的计 数器 为了提高系统的平均的吞吐率 l i n u x 将时钟中断的周期设置为2 0 毫秒 9 第 章嵌入式l i n u x 系统分析 这个时钟周期不能满足实时系统响应时间的要求 3 中断问题 中断完成外部设备和l i n u x 系统之间的数据通信 可以认为 中断是 实现异步数据系统之间联系的一种重要手段 l i n u x 通过v f s 方式统一管理各种 设备 捕获中断 执行中断服务 l i n u x 的内核进程经常关闭中断以尽快完成自 己的任务 如果低优先级的进程关闭了中断 那么即使有高优先级进程的中断发 生 系统也无法响应 有些系统调用的时间很长 增加了中断延时和调度延时 这种情况在实时系统中是不允许发生的 4 不完全可抢占的系统调用 一般的l i n u x 系统进程运行于内核模式 很多都不能 被抢占 也就是说一个进程一旦进入内核 并且属于不可抢占进程 那么它将运 行直到系统调用结束或者进程被阻塞 这时候一个高优先级的进程只能等待 这 样将严重影响对高优先级用户进程可能提供的服务 对于实时应用来说这样的等 待也是致命的 5 虚拟内存管理 l i n u x 系统采用的虚拟内存技术 对于分时系统来讲这是一个好 的解决办法 而对于实时系统却带来不可忍受的不可预测性 从以上可以看出 单就操作系统服务角度 影响l i n u x 实时化的主要因素包括 调度机制的选择 l i n u x 的时间片粒度 中断处理 内核的非抢占特性等 针对以上 l i n u x 内核实时性能不强的原因 对2 6 内核的实时性进行改造主要从实时调度算法 虚拟内存 减少l i n u x 的调度延时三个方向出发 l o 长安人学硕 仁学位论文 第三章l i n u x 系统实时性优化 l i n u x 应用于嵌入式系统中 实时性是一个大问题 改进l i n u x 实时性能有多种 方法 本章我们将以l i n u x 内核源码2 6 1 2 为基础 通过对l i n u x 内核实时性不强的 原因进行分析研究 并从实时调度算法 虚拟内存 调度延时等方面对l i n u x 内核进 行实时性能的改进 并对改进后的内核实时性能进行验证与分析 3 1 针对嵌入式应用的实时性优化 目前世界上已有几种商业r t o s 如q n x v x w o r k s p s o s 和n u c l e u s 等 它们一般价格昂贵且互不兼容 作为以出卖软件使用许可证为盈利目的商业r t o s 它 们通常严守技术秘密 这同时也限制了它们的发展 与之相反 g p l 协议下的l i n u x 及其相关项目的开放源码特征为我们在前人基础上顺利进行更深入的研究提供了可 行性 目前 引起广泛关注且具代表性的l i n u x 内核实时支持研究项目有 r t l i n u x r t a i r e d l i n u x k u r t 它们各有其独到之处及鲜明的技术特征 3 2 当前l in u x 内核实时改进优化的主流技术 1 r t l i n u x 和r t a i r t l i n u x 将l i n u x 内核设计为可被抢占的 实现硬实时 主要方法是实现一个实 时内核负责处理硬件消息 实时任务可在该内核上直接运行 把l i n u x 内核本身作为 优先级最低的i d l et a s k 运行 该实时内核有自己的基于优先级的调度算法 l i n u x 内 核随时可以被优先级更高的实时任务抢占 如图3 1 所示 实时任务与l i n u x 进程之 间通过特定的通信机制 如f i f o 管道 进行通信 运行在l i n u x 内核之上的进程则可 以完成一些非实时功能 r t a i 的方法与之类似 不同之处在于它定义了一组r t h a l r e a l t i m eh a r d w a r e a b s t r a c t i o nl a y e r r t h a i 将r t a i 需要在l i n u x 中修改的部分定义成一组程序界面 咖只使用这组界面和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 副伊 t l i n u x 内核 实时进程 i 号 ttt 实时内核 ttt 硬中断信 硬件层 图3 1r t l i n u x 的双核解决方案 以上技术开创了l i n u x 的硬实时支持的先河 其硬件中断接管方法对我们有借鉴 意义 然而 它们提供的调度机制还不能满足复杂应用场合的需要 对l i n u x 原有资 源的利用也不够方便 2 r e d l in u x 与上述的可抢占内核不同 r e d l i n u x 通过直接修改l i n u x 内核源码 将内核中 较长的例程剖分分为较小的代码块 即在代码中增加抢占点 p r e e m p t i a np o i n t 导致内 核在抢占点可以被抢占 通过这种方式可以减小内核抢占延迟 另外 r e d l i n u x 的 调度架构使得r e d l i n u x 可以符合多种不同复杂度系统的调度需求 基本上 它分 成调度器 d i s p a t c h e r 和分配器 a 1 1 0 c a t o r 两部分 分配器在用户态执行 而调度器在内 核态执行 分配器可以是中间件的一部分 负责将应用程序的资源请求转换成内核可 以理解的形式 调度器作为一个内核模块存在 可动态加载 由它来最终决定进程的 执行顺序 r e d l i n u x 由于内核不可抢占而只能作为一种软实时方案 但它的调度 架构是扩展r t o s 适用范围的有益尝试 3 k u r t l in u x k a n s a s 大学所研制的k u r t l i n u x 使用不同的内核态控制实时进程的调度 眨3 1 2 长安大学硕上学位论文 1 普通态 内核下提供实时支持 这时与通常的l i n u x 没有区别 2 实时态 内核仅仅调度实时进程 非实时进程全部被挂起 3 混合态 实时进程和非实时进程同时被调度 k u r t 可使用全部l i n u x 原有系统调用 有利于充分利用l i n u x 的软件资源 多 态的实时进程调度方式容易产生的问题是 它的安全性过于依赖于应用程序员 若内 核态之间的切换没有很好地实现 那么由此而带来的实时进程和非实时进程之间的不 正确交替会导致系统崩溃 因此 寻求一种合理的实时和非实时混合调度机制是待解 决的问题 以上方案各有其可借鉴之处 但如果综合考虑任务响应时间 硬中断控制和实时 调度策略等几个影响操作系统实时性能的重要方面 它们还下能很好地满足实时应用 需求 因此借鉴以上方法的优点 进行新的研究 3 3l i n u x2 6 内核的改进 用于移植的l i n u x 内核应该优先选用稳定版的内核 如2 4 x 或2 6 x 版内核 目 前用于嵌入式l i n u x 系统的内核大多数使用2 4 x 版的内核 但是 随着嵌入式微处 理器性能的不断增强及其应用范围的日趋扩大 l i n u x2 6 版内核由于其自身所具有 的针对嵌入式系统应用的显著特点 必将会越来越多的被应用于嵌入式l i n u x 系统之 中 l i n u x2 6 具有强有力的特性 这些特性旨在改进高端企业服务器的性能和支持 越来越多的嵌入式设备 对于嵌入式系统领域 添加了针对大量新的体系结构和嵌入 式微处理器类型的支持 包括对那些没有内存管理单元m m u 系统的支持 在嵌入式系统方面 实时可靠性是嵌入式应用较为普遍的要求 尽管l i n u x 并非 一种真正的实时操作系统 然而由于2 6 版的内核在多个方面的改进 使它在响应性 方面相比以前版本的内核有了巨大的改善 其中 在提高系统中断性能和调度响应时 间方面 主要涉及到内核中三个方面的重大改进 采用可抢占式内核 o 1 调度算法 以及增强的同步机制 1 内核抢占 与大多数通用操作系统一样 包括l i n u x2 4 在内的早期的内核版本 不允许抢 占以核心态运行的任务 例如处于系统调用中的任务 除非它们主动释放c p u 否 第二章l i n u x 系统实时性优化 则将一直控制c p u 资源直到该系统调用返回 在此期间 调度器都将被禁止运行 这必然会会导致重要的任务因为等待系统调用结束而被延迟 一个内核任务可以被抢占 目的是让重要的用户应用程序可以优先执行 这将显 著地降低用户交互式应用程序 多媒体应用程序等类似应用程序的延迟 这一特性对 实时系统和嵌入式系统来说特别有用 为此 2 6 内核中引入了内核抢占点机制 在 内核代码中插入了抢占点 允许调度程序中止当前进程而调用更高优先级的进程 通 过对抢占点的测试避免不合理的系统调用延时 2 6 内核在一定程度上是可抢占的 比2 4 内核具备更好的响应性 但也不是所有的内核代码段都可以被抢占 可以通过 锁定内核代码的关键部分 不允许抢占 锁定可以确保c p u 的数据结构和状态始终 受到保护而不被抢占 2 o 1 调度器 2 6 版本的l i n u x 内核的调度器被完全的重写 使用了由i n g om o l n a r 开发的新 的调度器算法 称为o 1 算法 它在高负载的情况下执行得极其出色 并且当有很 多处理器时也可以很好的扩展 为了决定接下来哪个任务将会运行 早期的调度程序需要查找整个就绪队列 并 且计算它们的重要性以决定下一步调用的任务 需要的时间随就绪任务的数量而改 变 o 1 算法则不再每次扫描所有的任务 调度器使用了两个优先级数组 即活动数 组和过期数组 可以通过指针来访问它们 活动数组中包含了所有映射到某个c p u 而且时间片尚未用尽的任务 过期数组中包含了一个时间片已经用尽的所有任务的有 序列表 当任务就绪时被放入一个活动队列中 调度程序每次从中调度适合的任务运 行 因而每次调度都是个固定的时间 在2 4 版本的调度器中 时间片重算算法要求 在所有的任务都用尽它们的时间片以后 它们的新时间片才会被重新计算 新的调度 器在任务运行时就计算并分配一个时间片 当时间片结束 该任务将放弃处理器并根 据其优先级转到过期队列中 如果所有活动任务的时间片都已用尽 那么指向这两个 数组的指针互换 过期数组 包含了准备运行的任务 成为活动数组 而空的活动数组 成为包含过期任务的新数组 3 增强的同步机制 多进程应用程序需要共享内存和外设资源 为避免竞争采用了互斥的方法保证 资源在同一时刻只被一个任务访问 早期的l i n u x 内核用一个系统调用来决定一个线 1 4 长安人学硕 1 学位论文 程是否应该阻塞或是继续执行来实现互斥 如果是线程继续执行这种情况 这个费时 的系统调用就没有必要了 l i n u x2 6 内核所支持的 f u t e x e s f a s tu s e r s p a c em u t e x e s 同步机制可以从用户空间检测是不是需要阻塞线程 只有在需要时才执行系统调用终 止线程 与传统的线程库所支持的m u t e x 操作不同 这是部分基于内核的 p a r t i a l l y k e m e lb a s e d 同时也支持设置优先级使得高优先级的应用或线程优先获得竞争的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 宁夏海绵钯项目申请报告范文模板
- 2025年汽车修理项目环境影响评价报告表
- 社工技能知识竞赛题库附答案
- 2025年混凝土搅拌站试验员资格考试试题及答案
- 2025乡村医生资格考试题库(含答案)
- 中国聚乙烯纤维项目商业计划书
- 室内给水管道工程施工方案
- 2025铁路技能大赛试题及答案
- 21.三黑和土地 课件
- 外墙面砖脱落维修施工方案
- 2025年兵团线上考试试题及答案
- DeepSeek大模型赋能高校教学和科研建议收藏
- 安全生产法(2025年修订版)
- but~check中考词汇1600一遍过
- 小学数学数与代数全学年复习资料
- 2025-2026学年高二上学期第一次月考英语试卷01(江苏)
- 2025至2030医药级一氧化氮行业产业运行态势及投资规划深度研究报告
- 2025海康威视安检机用户手册
- 医院数据安全培训
- 2025 精神障碍患者暴力行为应对护理课件
- 《物联网技术》课件-第3章 无线传感器网络
评论
0/150
提交评论