欢迎光临112期刊网!
网站首页 > 论文范文 > 计算机论文 > 软件技术 > 嵌入式Linux系统内核结构对其实时性的技术性研究

嵌入式Linux系统内核结构对其实时性的技术性研究

日期:2023-01-24 阅读量:0 所属栏目:软件技术


 嵌入式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内核中部分代码来解决内核不可抢占的缺陷,达到改造内核实时性的目的,其根本原则就是有选择的改动而非对整个核心彻底地改变,具体地讲就是在遵循POSIX标准和GPL协议的前提下通过对进程调度与通信模块和内存管理模块以及中断处理机制等部分的修改,使修改后的内核具备基于优先级驱动的完全可抢占式实时调度的性能,缩短系统在关中断条件下的响应时间。典型的例子就是RED-Linux系统和Monta Vista公司的MontaVista Linux系统。RED-Linux一方面采用了独特灵活的内核通用框架GSF(General Scheduling Framework),使得能够满足各种不同复杂场合实时性的需要,另一方面通过在内核代码块中增加抢占点(Preemtion point)的方法来减少内核抢占的延迟。MontaVista Linux系统修改后提供了基于优先级驱动的实时调度器,对无实时需求的普通进程,仍按Linux系统原来进程调度策略进行调度,对于实时进程,则按照基于优先级驱动方式进行调度。
  3 两种改进方案的比较
 基于双内核法和单内核法的两种不同策略都在一定程度上提高了系统的实时性能,但是两者在内核的实时性和内核代码的可维护性,重用性以及编程模式等方面表现出一些不同。
  1)内核的实时性
  采用单内核方法,实现了Linux内核的可抢占性调度,提高了内核响应的及时性,但是难以确保实时响应的可靠性。因此这种方法主要应用于软实时系统。而采用双内核方法,由于实时内核基本上独立于Linux内核,所以实时性能具有很高的预测性和可靠性,广泛应用于硬实时系统上。
  2)内核代码的可维护性
  采用单内核方法对内核代码进行修改时,不仅要保证原有代码在进行修改后仍然支持可抢占性,而且要保证对新加入的代码也要支持可抢占性。其次还需要对修改后的内核进行严格的性能测试以保证有较好的实时性能,显然这一切都使内核的可维护性难度大大增加。而采用双内核方法,原Linux内核代码与实时内核代码基本上是独立的,相互之间基本不影响,这样就大大降低了整个系统核心代码维护的难度。
  3)内核代码的可重用性
  采用单内核方法主要集中在内核调度代码的修改上,修改后的系统仍然只有一个内核并且内 核的系统功能不会发生较大的变化,所以进行其它应用开发时内核代码具有了较好的可重用性。而采用双内核方法进行修改后,增加一个实时内核,针对实时内核的一些系统功能应用开发要从头做起,工作量大大增加。
  4)实时任务的编程模式
  采用单内核方法只对内核进行了一些与应用程序无关的修改,所以实时任务的编程模式不会发生较大的变化。与此相反,采用双内核方法对内核进行修改后,增加了一个实时内核,而一般情况下实时内核不允许使用Linux系统的内核调用与函数,所以实时任务的编程模式发生了较大的变化。
  通过上述两种方案的比较,不难发现第一种方法并没有对Linux内核本身做任何实时性较大的改进,而是避开Linux内核本身,重新设计和实现了新的实时内核。第二种方法则主要集中在对Linux内核本身的修改,但在实际操作上,由于修改系统内核的难度比较大,对于内核不可抢占性的改进也是很有限的,还存在着巨大的改进空间。
  4 小结
  本文首先介绍了Linux系统的体系结构,分析了内核结构对系统实时性的影响,并讨论了采用双内核法和单内核法对内核实时性改进两种方法的异同。
  参考文献:
  [1] 赵慧斌,李小群.改善Linux核心可抢占性方法研究与实现[J].计算机学报,2004(27):240-250.
  [2] 苏曙光,刘云生.基于RTHAL的Linux研究与实现[J].计算机科学,2009(7):143-148.
  [3] 顾胜元,杨丹.嵌入式实时动态内存管理机制[J].计算机工程,2009(20):250-257.
  [4] 刘文峰,李程远.嵌入式Linux操作系统的研究[J].浙江大学学报,2009,38(4):447-452.
  [5] 赵明富.Linux嵌入式系统实时性分析与实时化改进[J].计算机应用研究,2009(4).
  [6] 厉海燕,李新明.Linux抢占式内核的研究与实现[J].计算机工程与设计,2005,26(9).

本文链接:http://www.qk112.com/lwfw/jsjlw/ruanjianjishu/229666.html

论文中心更多

发表指导
期刊知识
职称指导
论文百科
写作指导
论文指导
论文格式 论文题目 论文开题 参考文献 论文致谢 论文前言
教育论文
美术教育 小学教育 学前教育 高等教育 职业教育 体育教育 英语教育 数学教育 初等教育 音乐教育 幼儿园教育 中教教育 教育理论 教育管理 中等教育 教育教学 成人教育 艺术教育 影视教育 特殊教育 心理学教育 师范教育 语文教育 研究生论文 化学教育 图书馆论文 文教资料 其他教育
医学论文
医学护理 医学检验 药学论文 畜牧兽医 中医学 临床医学 外科学 内科学 生物制药 基础医学 预防卫生 肿瘤论文 儿科学论文 妇产科 遗传学 其他医学
经济论文
国际贸易 市场营销 财政金融 农业经济 工业经济 财务审计 产业经济 交通运输 房地产经济 微观经济学 政治经济学 宏观经济学 西方经济学 其他经济 发展战略论文 国际经济 行业经济 证券投资论文 保险经济论文
法学论文
民法 国际法 刑法 行政法 经济法 宪法 司法制度 法学理论 其他法学
计算机论文
计算机网络 软件技术 计算机应用 信息安全 信息管理 智能科技 应用电子技术 通讯论文
会计论文
预算会计 财务会计 成本会计 会计电算化 管理会计 国际会计 会计理论 会计控制 审计会计
文学论文
中国哲学 艺术理论 心理学 伦理学 新闻 美学 逻辑学 音乐舞蹈 喜剧表演 广告学 电视电影 哲学理论 世界哲学 文史论文 美术论文
管理论文
行政管理论文 工商管理论文 市场营销论文 企业管理论文 成本管理论文 人力资源论文 项目管理论文 旅游管理论文 电子商务管理论文 公共管理论文 质量管理论文 物流管理论文 经济管理论文 财务管理论文 管理学论文 秘书文秘 档案管理
社科论文
三农问题 环境保护 伦理道德 城镇建设 人口生育 资本主义 科技论文 社会论文 工程论文 环境科学