欢迎来到天天文库
浏览记录
ID:31433744
大小:104.50 KB
页数:5页
时间:2019-01-09
《linux 操作系统内核问题的探讨》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、Linux操作系统内核问题的探讨 摘要:Linux操作系统具有其他操作系统所不具备的优势,但是,在系统内核方面还存在一定的不足,其中包括系统内核调度算法问题和系统内核中基于优先级的可抢占式调度策略问题。针对这两个问题,该文提出了一些个人的建议。 关键词:Linux操作系统;内核;调度 中图分类号:TP316文献标识码:A文章编号:1009-3044(2016)13-0071-02 Linux操作系统在某些因素上面优越于其他的操作系统,例如Linux操作系统能够被免费试用。这些都给了用户很
2、大的便利性,同时,也为赋予了自身很大的提升空间。为了能够对Linux操作系统内核问题有一个清晰的了解,本文主要是以黄义文的《Linux操作系统内核裁剪的分析》和杨瑞的《Linux操作系统内核分析与研究》为基础,在两篇文献当中,都对Linux操作系统内核问题进行了探讨,下边将以此为基础,本文将会对Linux操作系统的内核问题做一些探讨。5 根据两篇文献来看,在这个操作系统当中,其最为核心的部分其实就是内核部分,从Linux操作系统的内核构成来看,主要是包括CPU、网络通信、文件系统等多个部分的内
3、容。Linux操作系统包括多个子系统,而且,所有子系统的运作,都与Linux操作系统中的内核有一定的联系。因此,内核是整个Linux操作系统中最为关键的组成部分。Linux操作系统内核与其他的微内核系统有着很多的差异性,用户服务是微内核最为关注的内容,用户服务要求内核能够提供更加简洁和更高频率的服务,但是,这些服务的完成都需要微内核的支持。在Linux操作系统不断发展的情况下,微内核也随之不断地发展,从实际效果来看,Linux操作系统得到了不断地完善,在这样的情况下,微内核的应用效率得到了有效的
4、提升。另外,Linux操作系统易于移植是其一个重要的特性,将Linux操作系统进行不同的内核编译,然后其就能够被用于各类系统当中,而且能够正常的运行。 目前来讲,Linux操作系统的内核主要有四个部分的内容:1)用户应用程序。这是Linux操作系统当中所有软件的一种集合。2)系统调用库,这是用户应用程序能够实现的唯一途径。3)Linux操作系统的内核。内核是一个系统的核心,主要是对硬件资源的访问,在系统启动并且运行的时候,可以对磁盘和内存中的文件进行有效的处理;4)硬件。这主要是指系统当中的物
5、理设备。Linux操作系统能否被正常的运行,其实与系统本身有着重要的联系,而内核的扩展,系统调用接口的扩展等都是系统内核生存的重要内容。 从分析研究来看,Linux操作系统内核有这个几个方面的优势:1)抢占内核;2)能够更加有效的调度程序,在Linux2.6版本当中,就采用了O(1)算法,能够满足在高负荷工作条件下完成程序的调度。3)同步原型与共享内存。Linux系统内核采用互斥方法来实现资源任务的针对性,线程在继续执行时,就会丢掉消耗时间的系统程序调用。5 针对Linux操作系统内核调度算
6、法问题,在Linux2.6版当中,其采用了O(1)调度器,其的目的是为了能够提高Linux内核的实时性能,并且扩展CPU处理器的并行性。从实际的效果来看,保留了2.4版本中的给予优先级的调度、调度的公平性等优点,而且还呈现出很多其他优点:提高了SMP可扩展性、提高了SMP亲和度、优化计算密集型的批处理任务调度等。不过从实际的应用情况来看,其还存在着一定的问题。在Linux操作系统系统当中,其会将进程自动划分为进程和普通进程两类,然后通过多级轮转调度的算法,按照优先级的方式,逐步的实现这些进程的运
7、行。Linux的优先级分配根据的是进程的价值,而不是进程的响应最终期限和资源占用时间,根本不能满足实时任务的要求。在本文的研究中,认为内核的调度算法是综合考虑最终期限、任务频率等在内的一种调度算法,其能够提升Linux内核的实用性。在算法应用方面,可以以EDF算法作为基础,其中最重要的一个环节是在相同优先级的进程当中,建立散列表,在这个表当中,可以根据程序的应用频率,做一个降序处理,在整个散列表当中,那些在第一位的进程,就是系统当中所有程序应用频率最高的程序,因此,在就要求在优先级层面,应当建立
8、更多的进程。另外,在对这些优先级的程序做出处理的时候,首先就是查看是否存在这些进程,然后再根据散列表中的进程排序进行实时的调度。5 针对Linux操作系统内核中基于优先级的可抢占式调度策略问题,在实际应用的调度过程中,有时可能会出现一种比较奇怪的情况:由于所有程序共用所有的资源,那些高优先级的任务可能会被低优先级的任务堵塞,反而让中优先级任务在高优先级任务之前得到执行,从而导致许多严重后果。这通常被称为优先级反转问题。在新的Linux的内核设计当中,并没有采用可抢占实时调度,因此,这并不能够对
此文档下载收益归作者所有