linux嵌入式系统算法,嵌入式Linux操作系统调度算法研究

摘要:

嵌入式操作系统在互联网时代的今天得到广泛应用.Linux系统本身并不是严格的实时操作系统.为了提高它对实时任务的处理能力,国内外对Linux进行了不断的实时性能的改造.主要的方法有:对内核的改造,如双内核途径和抢占内核途径,细化内核的时钟粒度.另一种改造的主要途径是内核的调度策略.进程调度算法优劣决定系统的实时性.本文就是通过改善Linux的调度算法来提升Linux内核的实时性能. 本文研究了当前流行的Linux2.6内核的调度算法,对O(1)调度算法的原理和程序代码进行了分析.总结出了Linux2.6内核在实时性能上的改进.在紧接着的关于调度算法的研究里,本文选择了基于优先级的调度算法进行研究.EDF调度算法是使用最多的一种动态优先级调度算法,该算法给就绪队列中的各个进程根据它们的截止期限(Deadline)来分配优先级,但是这个算法不能解决过载问题,发生过载时,导致CPU时间大量的花费在调度上,性能退化很快. 针对上述出现的问题,本文引入基于ISM(Isolation Server Method)隔离服务思路进行研究.SLAD (SLACK Donation)算法和BACKSLASH(BACK SLACK Donation)算法是最近由Lin和Brandt提出的算法,是基于ISM思想的比较优秀的改进算法.其算法主要在于改进EDF对空闲时间(slack time)的利用来减小截止期错失率DMR,该算法不牺牲overrun的任务,并能够极大减小任务间的"多米诺"效应,能够较好的减小DMR.很好的解决了任务过载问题.但是在正常调度时这两种调度算法并不比EDF调度算法好.在本课题的研究中提出了一种新的动态优先级调度算法.在参考处理器二级缓存的思想下,设计一个调度计数环节.采用一个缓存记录下任务发生的次数,对于一段时间内频繁发生的任务给予高的优先级并且记录到缓存.对于一段时间内很少发生的实时任务清理出缓存.这样就能灵活的调度EDF算法和SLAD调度算法,解决过载和正常调度问题,并通过实验环节验证了设计的合理性.

展开

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值