嵌入式Linux操作系统的实时性研究

嵌入式Linux操作系统的实时性研究

论文摘要

实时操作系统已广泛应用于国防、工业自动控制、通信等嵌入式领域。与通用的操作系统相比,实时操作系统的主要任务是对事件进行及时的处理,当随机事件发生时必须能够在严格的时限内做出响应,即使系统处于高负荷的情况也是如此,否则就会导致严重的后果。Linux 2.6内核在2003年底发布以来,已经被证明是一个高效稳定的内核。相比2.4内核,虽然2.6采用了一些新技术使得实时性有了很大提高,如可抢占式内核、新的O(1)调度算法等,但是内核中仍有大量的不可抢占区域影响着系统的实时性能。另外,2.6内核采用的是基于优先级抢占的O(1)调度器,而优先级抢占必然会导致优先级反转(Priority Inversion)问题,造成任务调度的不确定性,严重的影响着系统的实时性能。因此,为了满足嵌入式系统对实时性的苛刻要求,针对Linux 2.6内核的实时优化就成为迫切需要解决的问题。本文在对Linux2 .6内核进行深入研究的基础上,借鉴Ingo Molnar的实时改造思想,采用直接修改内核的方式,对Linux2.6内核进行了修改。由于在Linux2.6内核中大量地使用了自旋锁spinlock,致使有大量的临界区存在,它们将严重地影响着系统的实时性。将mutex互拆锁引入到spinlock自旋锁中使自旋锁可抢占,巧妙地实现了新的锁机制,提高了Linux2.6的实时性能。针对Linux 2.6内核的中断不可抢占引发的实时问题,采用中断线程化的方法。中断线程化之后,中断将作为内核线程运行而且赋予不同的实时优先级,实时任务可以有比中断线程更高的优先级,这样,实时任务就可以作为最高优先级的执行单元来运行,即使在严重负载下仍有实时性保证。针对Linux2.6的O(1)调度器所带来的优先级反转问题,为了保证系统的实时性,本文提出了用优先级继承协议和优先级置顶协议两种方法来解决,并具体分析了优先级继承协议在Linux2.6内核上的实现方法。最后,使用LMbench测试软件对系统上下文切换时间进行测试,结果表明,改进后的Linux2.6内核在实时性能上较原Linux2.6和Linux2.4内核有了进一步的提高,更加适用于嵌入式实时应用。

论文目录

  • 摘要
  • ABSTRACT
  • 第一章 绪论
  • 1.1 研究背景及意义
  • 1.2 国内外的研究现状
  • 1.3 本文的主要工作
  • 第二章 嵌入式实时操作系统概述
  • 2.1 实时操作系统
  • 2.1.1 实时操作系统定义
  • 2.1.2 实时操作系统特点
  • 2.2 嵌入式实时操作系统
  • 2.2.1 嵌入式实时操作系统的体系结构
  • 2.2.2 嵌入式实时操作系统的分类
  • 2.2.3 嵌入式实时操作系统的发展方向
  • 2.3 几种流行的嵌入式RTOS
  • 2.3.1 UC/OS II
  • 2.3.2 eCos
  • 2.3.3 VxWorks
  • 2.3.4 Nucleus Plus
  • 第三章 嵌入式Linux 操作系统及其实时化
  • 3.1 嵌入式Linux 操作系统概述
  • 3.2 嵌入式Linux 操作系统的实时性问题
  • 3.2.1 Linux2.4 内核制约实时性的因素
  • 3.2.2 Linux2.6 内核制约实时性的因素
  • 3.3 Linux 内核实时化方法
  • 3.3.1 直接修改内核方法
  • 3.3.2 双内核方法
  • 3.3.3 资源核方法
  • 第四章 Linux2.6 内核分析
  • 4.1 O(1)调度算法
  • 4.1.1 O(1)调度算法的特性
  • 4.1.2 新的数据结构runqueue
  • 4.1.3 改进的task struct 数据结构
  • 4.1.4 调度函数schedule()
  • 4.2 自旋锁spinlock
  • 4.2.1 自旋锁介绍
  • 4.2.2 自旋锁的API
  • 4.3 Linux 2.6 内核的新特性
  • 4.3.1 可抢占内核
  • 4.3.2 有效的调度程序
  • 4.3.3 共享内存的改进
  • 4.3.4 对64 位处理器的支持
  • 4.3.5 POSIX 线程、信号和计时器
  • 4.3.6 微控制器的支持
  • 第五章Linux2.6 内核的实时优化
  • 5.1 用互拆锁替换自旋锁
  • 5.1.1 spinlock 失效抢占的目的
  • 5.1.2 spinlock 的修改
  • 5.1.3 大内核锁可抢占
  • 5.2 中断线程化
  • 5.2.1 中断线程化的原因
  • 5.2.2 中断线程化的实现方法
  • 5.3 优先级反转
  • 5.3.1 优先级反转的原因
  • 5.3.2 优先级反转的理论解决
  • 5.3.3 优先级继承协议的实现
  • 5.4 Linux 内核开发与测试
  • 5.4.1 编译内核与内核模块
  • 5.4.2 衡量操作系统实时性能的几个重要指标
  • 5.4.3 测试与分析
  • 第六章 总结与展望
  • 参考文献
  • 攻读硕士期间发表的论文
  • 致谢
  • 作者简介
  • 相关论文文献

    • [1].思政教育融入《Linux基础》课程的探索[J]. 武汉工程职业技术学院学报 2019(04)
    • [2].基于Linux的智能家居控制系统综合实验设计[J]. 实验技术与管理 2020(01)
    • [3].Linux系统教学中关于命名管道文件的解析[J]. 软件 2020(02)
    • [4].基于嵌入式Linux的多关节机器人通信系统设计[J]. 通信电源技术 2020(04)
    • [5].嵌入式Linux下内存泄漏的检查和解决[J]. 现代计算机 2020(11)
    • [6].基于“Linux集群和自动化运维”课程规划与设计[J]. 数字通信世界 2020(04)
    • [7].基于Linux系统服务器网络安全机制[J]. 电子技术与软件工程 2020(09)
    • [8].基于嵌入式Linux系统的电力监控系统优化[J]. 舰船科学技术 2020(14)
    • [9].探析大数据时代的Linux平台网络安全及防范措施[J]. 科技传播 2020(12)
    • [10].Linux操作系统项目情境教学研究[J]. 福建电脑 2020(09)
    • [11].Linux操作系统探讨[J]. 计算机产品与流通 2019(12)
    • [12].基于Linux的可信计算系统的设计与实现[J]. 电子设计工程 2019(22)
    • [13].Linux系统调用劫持的检测方法[J]. 信息安全与技术 2015(11)
    • [14].混合教学模式在Linux网络编程中的应用[J]. 亚太教育 2016(23)
    • [15].网络计算机嵌入式Linux系统结构与研究[J]. 电子技术与软件工程 2016(17)
    • [16].基于嵌入式Linux系统的无线路由器设计[J]. 科技与创新 2016(21)
    • [17].浅析Linux下的链接文件[J]. 科技视界 2016(26)
    • [18].linux下多值信号量的操作探讨[J]. 数字技术与应用 2016(10)
    • [19].Linux系统中的垃圾文件清理[J]. 黑龙江科技信息 2014(31)
    • [20].基于Linux的步进电机嵌入式控制系统[J]. 仪表技术与传感器 2015(01)
    • [21].基于嵌入式Linux的根文件系统制作与移植[J]. 自动化技术与应用 2014(12)
    • [22].Linux访问控制机制的优化设计[J]. 计算机时代 2015(03)
    • [23].嵌入式Linux根文件系统的构建与分析[J]. 计算机测量与控制 2015(02)
    • [24].linux集群技术及应用探讨[J]. 信息与电脑(理论版) 2015(02)
    • [25].基于实时Linux的网络化开放式运动控制器研究[J]. 制造业自动化 2015(10)
    • [26].基于嵌入式Linux的有序用电台变终端设计[J]. 电测与仪表 2015(16)
    • [27].浅析高职院校“Linux系统管理”课程理实一体化教学设计与实现[J]. 发明与创新(职业教育) 2020(08)
    • [28].网络计算机中嵌入式Linux操作系统研究[J]. 电脑迷 2017(06)
    • [29].网络计算机嵌入式Linux系统结构与方向[J]. 电脑迷 2017(08)
    • [30].基于Linux的嵌入式实时操作系统[J]. 中国信息技术教育 2011(02)

    标签:;  ;  ;  ;  

    嵌入式Linux操作系统的实时性研究
    下载Doc文档

    猜你喜欢