嵌入式Linux系统内核结构对其实时性影响.docVIP

嵌入式Linux系统内核结构对其实时性影响.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式Linux系统内核结构对其实时性影响

嵌入式Linux系统内核结构对其实时性影响   摘要:嵌入式Linux内核中影响实时性的因素很多,并且各种因素对实时性的影响程度不一样,因此该文对嵌入式Linux内核影响实时性的因素进行了讨论,并对传统的内核实时性增强方法进行了研究,分析比较了两者的异同。 关键词:嵌入式Linux系统;内核结构;实时性 中图分类号:TP316 文献标识码:A 文章编号:1009-3044(2013)27-6140-03 嵌入式Linux系统以其低廉的价格和强大的功能等诸多优势很快发展起来,成为嵌入式操作系统中的新贵。但是嵌入式Linux是按照分时系统的目标设计的,本身为一个通用的分时操作系统而非真正意义上的实时系统。该文主要从系统内核结构对实时性的影响入手进行研究,并采用一定的策略对其实时性进行了改进,分析比较了两者的异同。 1 Linux系统内核结构 1.1 操作系统内核结构 1)式的单内核 单内核也叫集中式操作系统,整个系统可以分成用户程序、系统调用以及硬件控制三个层次和若干个模块。在核心态运行时每一个模块是一个独立的二进制映像或者进程,并且通过直接调用其它模块中的函数来实现通信。如图1所示。 2)层次式的微内核 微内核模式是面向对象理论在操作系统设计中的产物,通过对系统逻辑功能的划分,把操作系统结构中的处理器管理,存储器管理,设备管理和文件管理等高级功能服务模块尽可能从内核中分离出来,成为在一定的特权方式下运行并且具有独立运行空间的独立进程,同时各个进程之间以消息机制来完成信息交换。在内核中仅仅只保留少量的基本功能,如内核进程调度与通信以及内核的内存管理等,使内核变得更加简洁可靠。如图2所示。 1.2 Linux系统内核结构 由于充分利用了分层结构和模块化的特点,所以实时系统通常多采用微内核的体系结构,非常适合于嵌入式环境中高效、紧凑、简洁、易扩展、易剪裁等要求。Linux系统总体上可以分为进程调度模块、内存管理模块、文件系统模块、进程通信模块以及网络接口模块。各个模块之间的关系如图3所示。 Linux系统采用的是单内核模式,同时在单内核模式设计中引入了许多微内核的思想,实践证明这种单内核模式中吸收某些微内核的设计实现方法,使单内核结构更加紧凑,功能更加强大,执行效率更高,性能更稳定。 2 改进内核实时性的两种方案 2.1 双内核法 双内核法其实就是在保持Linux系统原有内核的同时,在最底层的硬件平台之上再增加一个实时核心层来达到改造系统实时性的目的,即是建立了双内核系统。一方面Linux系统原有内核提供了复杂的非实时性通用功能,另一方面实时内核专门负责接受硬件中断信号以及专门对实时任务进行管理,具备了精确的实时多任务调度执行管理的功能。 由于实时核心层直接与硬件层交互访问,所以在整个系统运行过程中始终接受来自硬件层的中断请求信号。当实时核心层捕获到来自底层硬件的中断请求信号时,实时内核用软件模拟常规Linux系统对底层硬件使用或禁止中断的方法来判断该任务是否直接响应,还是转交给非实时Linux内核处理。一方面如果当中断请求信号来自紧迫的实时任务,需要实时核心层来处理时,将抢占Linux内核及时响应该请求;另一方面当中断请求信号来自普通的非实时任务时,需要Linux系统原内核来处理时,则由实时内核将信号传递给上层的Linux内核并作最终的执行。两者之间通常采用共享内存和FIFO设备接口等方法来相互交换信息。双内核实时系统架构如图4所示。 从上分析不难发现,在双内核结构中,只有在系统没有实时任务可运行时,Linux内核才有可能被调度。同时由于双内核机制保留了常规Linux内核,一方面能够充分利用Linux系统本身提供的诸多强大的功能,如TCP/IP网络协议、中文图形环境(X-Window)以及丰富的编程资源等,另一方面以较小的代价提供了较强的实时性并避免了大规模的结构改造。最重要的一点就在于运行在常规Linux内核上的所有非实时任务必须是可抢占式调度的,这样才能对实时核心提供精确的实时保证而没有任何影响。此外,由于实时核心层非常小巧也不会增加系统额外的负担。典型代表就是RT-Linux系统,与此相类似的还有意大利的RTAI(Real-time Application Interface)系统,但两者不同之处在于RTAI系统在需要修改的部分定义了一个抽象硬件层RTHAL(Real-time Hard Abstraction Layer),实时任务通过该抽象层提供的接口和Linux内核进行交互。 2.2 单内核法 单内核方法就是通过修改Linux内核中部分代码来解决内核不可抢占的缺陷,达到改造内核实时性的目的,其根本原则就是有选

文档评论(0)

docman126 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:7042123103000003

1亿VIP精品文档

相关文档