Linux系统下提高进程实时性的调度策略研究

来源 :安徽大学 | 被引量 : 0次 | 上传用户:ppaann850729
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
现今,信息技术高度发达,伴随经济工业对计算机智能控制要求的不断提高,嵌入式系统的应用需求越来越大,尤其在经济工业各个重要领域都要求使用时间控制严格的实时系统。虽然市场上已经有许多实时操作系统广泛应用于通信,航空等高精度技术领域,可是这些实时操作系统都是从国外引进,价格昂贵,技术核心也无法被我国自己掌握,而Linux系统的出现改变了这种现状。  Linux作为一个免费的,开放源代码、协作开发的操作系统,它允许每个用户根据自己的实际需要对它本身的内核进行修改以及裁减。人们也越来越多的将Linux用到嵌入式实时系统中去。然而正如我们所知,Linux并不是一个真正的实时系统,它本身只是一个分时系统,在实时性方面存在较大的不足,这对于实时性要求很高的实时系统来说,是个需要解决的问题。因此,改善Linux的实时缺陷,提高Linux的实时性能成为人们热衷的研究题目。  本文以Linux内核2.6为基础,先对Linux内核进行了分析,描述了其中的核心结构和几个重要的与进程调度相关的管理模块。然后针对Linux实时性提高的问题展开了讨论。Linux内核2.6相对以前的内核版,在实时性方面做了较大的改善。在Linux2.6内核中添加了新的O(1)调度器,并且增加可运行队列runqueue,把就绪队列变成active活动队列和expired过期队列两个队列,改进进程的数据结构task_struct,优化了优先级和时间片的计算方法,将进程的操作时间复杂度从以前的O(n)降低到O(1)。保证了调度时间的确定性,提高了调度的实时性。然而Linux内核2.6调度策略的实时性仍然存在缺陷,仍然需要对它的实时性进行改造和提高。  因此本文针对Linux进程实时性不强的问题,提出了一种多调度策略的调度器模型。在此模型中,先用分类器把进程分成三种类别:硬实时进程,软实时进程和非实时进程,然后通过调度策略选择器根据进程类别的不同选择不同的调度策略。我们将这三类进程分别设置级别为0,1,2,根据级别不同,修改各类进程时间片;按照进程级别的不同,硬实时进程选择LLF调度算法,软实时进程时间要求相对宽松,选择RM调度算法。非实时进程因为不受实时性的影响,所以仍然采用Linux内核中的SCHED_NORMAL调度算法。  最后本文用测试工具Linux Trace Toolkit进行Linux系统的实时性能测试,从进程平均响应时间和上下文切换时间两个方面分析实时性能。测试表明提出的多调度策略调度器确实提高了进程实时性,达到了本文提高进程实时性的目的。
其他文献
随着信息技术的发展,数据挖掘技术在一些深层次的应用中发挥了积极的作用。与此同时,也带来隐私保护方面的问题。如何在数据挖掘过程中解决好隐私保护问题,成为数据挖掘领域
网格计算是构筑在互联网基础之上的新兴分布式计算技术。它通过整合分布在各地的资源,为动态变化的虚拟组织成员提供更为广泛的资源共享。国内外纷纷开展了网格技术的研究,而
随着移动互联网等技术的飞速发展,手机、平板电脑等智能移动设备的迅速普及,以智能移动设备为平台的数据信息展示与交互问题逐渐走入人们的视野,备受各行各业相关人士的关注,以提
随着社会的发展,传统的身份认证方法已不能满足人们的需要,对快速有效的自动身份验证的要求日益迫切。生物特征是人的内在属性,因此成为身份验证的最理想依据。人脸识别与其
非结构化P2P网络和结构化P2P网络是两种典型的P2P拓扑结构,非结构化P2P网络使用洪泛方法,具有较好的稳定性,但是可扩展性和查询效率较差。结构化P2P网络使用分布式哈希表方法
海马区域作为哺乳动物和人类大脑组成中的一部分,属于边缘系统并且在从短期记忆到长期记忆的信息合并和空间导航功能中扮演着重要的角色。近十几年来,对大脑海马区的研究取得了
为了更好地满足市场和顾客的需要,印刷电路板(PCB)的生产方式往往以小批量多品种为主。利用传统的统计过程控制(SPC)方法,很难保证统计所需的样本容量,而当采集到了足够的样
随着中国互联网产业的发展,出现了大量的像淘宝、京东这样拥有海量图片的网站,并且图片的数量还在以指数级别的规模增长。当用户在访问这些网站时,页面中图片流量能占到页面总流
由于在商业领域的巨大成功,以数据库、面向对象、网络等技术的综合为主要依托的信息技术(IT)是计算机科学技术中发展最快的领域之一,也是应用最广的技术之一。面向文本、数据
随着生物信息学的发展,大量的蛋白质需要进行分析。但对于许多蛋白质序列,人类并不清楚它们之间的进化关系,也不清楚它们所具有的生物学功能。这就需要对蛋白质进行序列比对