版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、linux内核实时性研究及探究摘要:linux技术飞速发展,实时操作系统得到广泛应 用,linux的实时问题受到越来越多的关注。分析和研究 linux内核的作用,内核子系统,和内核在实时性应用方面 的不足之处,及其改善方法。关键词:linux;内核;实时性1 linux内核的位置在整个系统中,linux内核的位置如图1所示。1. 1进程进程是现代操作系统的核心概念,用来描述程序的执行 过程,是实现多道程序操作系统的基础,用户进程是程序的 一次执行,同时也是操作系统进行资源分配的单位。在应用程序中,操作系统调用程序,通过cpu调度,来 完成用户任务。比如,程序中有一条读取数据的系统调用 read
2、 (),但实际上读取操作的是操作系统的内核。故系统 调用是内核代码的一部分。在多道程序设计系统中,系统公式运行的程序共享系统 资源,带来了对系统资源的竞争。操作系统必须对各种资源 进行分配和调度。特别是在某一时刻多个程序同时执行时, 产生了对cpu的竞争,必须进行cpu调度,因而提出了进程 的概念。进程管理是操作系统中十分重要的功能。1.2内核子系统操作系统中最重要的部分就是内核子系统,它直接管理 硬盘文件的打开,关闭,启动,运行,及其在网络上文件的 发送及接受。2 linux内核的作用linux内核是一个抽象了硬件,磁盘及文件系统等的软 件。他提供了了一个虚拟或者扩展的计算机平台,从而使程
3、序员可以避开许多硬件来实现细节。非专业用户可以把操作 系统看成一个资源管理者,在linux系统的帮助下,非专业 用户可以以用自己的方法组织自己的数据,完成自己的工 作,并与其他用户系统资源共享。linux系统支持多任务,而这种方式对用户进程是透明 的。每一个用户进程运行时,好像只有自己的进程在运行并 独享系统资源,同时使得各进程不互相干扰,安全运行。3 linux内核子系统3.1进程的调度在多道程序设计环境中,系统同时创建多个进程。到计 算机只有一个cpu时,每次只能让一个进程运行,其他进程 或处于就绪状态或者阻塞状态。操作系统采用队列的方式管 理这些进程,相同状态进程的pcb通过各自的队列指
4、针链接 在一起。系统为每一个队列设立一个列头指针,他总指向排 在队列之首的进程pcb,排在队尾的进程pce用一个特殊符 号如“-1”来表示。为了执行用户程序,调度过程中不仅既 要考虑用户关心的性能指标,更要考虑系统各部分的效率。 希望处理器调度能使系统的吞吐量尽可能大、cpu利用率高, 资源使用的负荷平衡等。在所有linux内核子系统中,最重 要的是进程调度子系统。由于所有其他子系统工作的完成都 要建立进程,终止进程和恢复进程,因此,必须依靠进程调 度子系统来予与协调。3.2存储管理存储管理是对内存的管理。内存是处理器可以直接存取 指令和数据的存储器,是进程得以运行的重要基础,也是计 算机中的
5、紧缺资源。近年来,随着硬件技术和生产水平的迅 速发展,内存的成本迅速下降,容量不断扩大,但仍不能满 足各种软件急剧增长的对存储空间的需求。因此,内存的有 效管理和使用,仍是现代操作系统中十分重要的问题。3. 3 linux中的虚拟文件系统linux除了支持ext2文件系统外,还可以支持其他文件 系统。为此,必须将各种不同文件系统的操作和管理纳入到 统一的框架中,使用户程序可以通过同一个文件系统界面对 各种不同的文件进行操作。这样,用户可以不必关心不同文 件系统的实现细节,使用系统提供的统一,抽象,虚拟的文 件系统界面。这个统一的框架就是虚拟文件系统vfs。在虚拟文件系统中,所有数据结构都在运行
6、后建立,并 在卸载时删除,只能存在于内存中,磁盘上没有存贮这些数 据结构。如果只有vfs,系统是无法工作的。vfs必须与实 际的文件系统如ext2, msdos, vfat等结合起来。与vfs对 应,称ext2, msdos, vfat等为逻辑文件系统。vfs提供一 个统一的借口,一个逻辑文件系统想得到linux的支持,必 须按照这个接口编写自己的操作函数,而将自己的细节对内 核其他子系统掩藏起来。vfs与逻辑文件之间的关系如图2 所示。vfs只负责与设备无关的操作。虚拟文件系统这种抽象 的功能层次,保证了 linux系统支持多种不同的逻辑文件系 统,使所有文件系统都具有基本相同的外部表现,而
7、且可以 方便地相互访问。vfs对逻辑文件系统的数据结构进行抽象, 以一种统一的数据结构进行处理。接受用户层的系统调用。 支持多种逻辑文件系统之间的互相访问,接受内核其他子系 统的操作请求。3.4输入/输出输入输出子系统与硬件物理设备密切相关,主要包括设 备驱动程序的各种中断机制。3.5进程间通信ipc子系统支持在单个linux系统中多种进程间通信机 制,如信号、管道和共享内存等。3.6网络支持网络子系统提供了对各种网络标准协议和各种网络硬 件的支持。4 linux内核实时性缺陷linux系统最初是芬兰人linus是手动编写的一个类 “minix”系统,那么linux系统自然就是一个分时系统,
8、而针对实时性,linux确有缺陷:1)linux内核本身是非抢占的。linux分为两种模式: 即内核态和用户态,当用户进程运行状态为用户态时,实时 进程进行抢占,优先运行,故能够较好的完成任务。用户进 程运行状态为内核态时,若系统此时调用程序,实时进程不 能抢占进程。当运行的任务通过系统调用进入内核态时,具 有更高优先级的进程却只有等待处于核心态的系统调用返 回后方能执行,这就体现了 linux内核实时性的不足,导致 优先级逆转。任务执行时间的实时性不确定,正是实时应用 的缺陷。因此,从实质上来说,linux内核是非抢占式的。2)定时器方面的不足: 时钟粒度粗糙。 软定时器 数量较多的时候,共
9、享时钟定时器就会产生冲突。linux 虽然具有实时性,但是linux内核的中断机制不能调节,如 果中断可以在一个可调度整体内处理,用户就可以区分实时 任务不同的紧迫度,分配不同的优先级,那就能缓解定时器 的不足。系统负荷不断增加。3)调度机制和调度算法没有高效的实时任务:linux能 够提供较高的优先级给实时进程,但是却没有设置时间限 制。5几种流行的linux实时性能改善技术方案一些程序员对于改进linux内核的实时性做了研究,并 提出了一些改善的技术方案。实时系统最主要的性能指标是 检验操作系统是否可靠,系统必须在一定的时间内,对实时 任务及事件做出响应,速度不是最主要的问题。由于linu
10、x 系统是面向大多数用户的,作为一个通用操作系统,响应时 间自然应该满足任何实时的应用。因此研究linux实时性能 的改善技术很重要。因此,总结了以下几种技术方案进行对 比研究。1)双内核方法。既是说在本来有一个内核的基础上, 再加上一个内核,这样一来,原先的linux内核就让位给新 增的linux内核,让有实时要求的事件都在新增的内核之上 工作。针对于双内核技术,目前,业内比较流行的就是 rt-linuxo为了进一步达到改善linux实时性的效果,让实 时性任务在新增内核上实时工作,达到优先级最高,提供了 以下几种方法: 直接对linux核心进行修改。将linux核心机制与 中断机制失去关联
11、,使核心的一切动作都不能引起中断,这 样就保证了核心部分的硬实时性,这种方法将所有的中断指 令都改为宏指令,保证了核心内部结构的完整。将 rt-linux中断机制改为one-shot模式。使rt-linux的时钟 粒度更细小。 实时调度。调度问题一直以来都是专业人 员研究的焦点问题之一。这种调度算法各有优缺点。而 rt-linux没有使用死板的作法,它因地制宜地编写了自己的 调度算法,将其加入到自己的系统中。 进程通信。在计 算机系统中,由于进程使用的是同一个贮存系统,相互通信 的进程之间设有公共内存。一组进程向该公共内存中写,另 一组进程向该公共内存中读,通过这种方式实现两组进程之 间大量数
12、据量的通信。实时与非实时进程间的通信就是一个 更加亟待的问题。常见的通信方式为信箱通信,消息缓冲通 信以及管道通信。rt-linux采用管道通信,共享内存。管道 连接读进程和写进程以实现它们之间通信的共享文件。2)兼容内核方法。这个方法就是含有一个兼容linux 内核,符合p0six的api层的实时内核。但缺点是价格昂贵。3)内核修改方法。其设计思想修改linux内核源码。6总结与展望本文分析总结linux操作系统内核的实时性特性,分析 了 linux实时性的不足,提出了几种当前计算机领域里流行 的linux实时性能改善技术方案。linux作为免费并且开放 源码的操作系统,还会越来越受到大学和研究机构的青睐。 对于linux实时性问题,应用的需要也会进一步促进linux 技术的发展,来更好地满足大多数用户的需求。参考文献:1 张伟,网络操作系统应用(linux),电子工业出版 社,2007.2 董晓峰、顾新,关于linux内核可抢占性的探究, 人民邮电出版社,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版驾驶员劳动合同解除与再就业服务合同3篇
- 二零二五年度水利工程总承包合同协议3篇
- 二零二五年度体育用品框架采购与市场推广合同3篇
- 二零二五年度建筑钢材现货交易合同3篇
- 2025年度信报箱工程智能报警系统安装合同2篇
- 二零二五年度家用中央空调安全使用与维护合同3篇
- 二零二五年度新能源汽车租赁代理销售合同范本3篇
- 2025年二手房买卖定金合同专项审计服务合同3篇
- 二零二五年度水电工程竣工验收与移交合同
- 海南体育职业技术学院《中国特色社会主义理论与实践》2023-2024学年第一学期期末试卷
- 0的认识和加、减法(说课稿)-2024-2025学年一年级上册数学人教版(2024)001
- 2025年广西旅发南国体育投资集团限公司招聘高频重点提升(共500题)附带答案详解
- 2024-2025学年铜官山区数学三年级第一学期期末调研试题含解析
- ISO 56001-2024《创新管理体系-要求》专业解读与应用实践指导材料之18:“7支持-7.1资源”(雷泽佳编制-2025B0)
- 江西省2023-2024学年高二上学期期末教学检测数学试题 附答案
- 碳汇计量与监测技术智慧树知到期末考试答案章节答案2024年浙江农林大学
- 可用性控制程序
- GB/T 17554.1-2006识别卡测试方法第1部分:一般特性测试
- 横版荣誉证书模板可修改打印 (9)
- 建设银行股份关联交易申报及信息披露系统操作手册新一代
- 建筑工程施工劳务清包工合同
评论
0/150
提交评论