- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
调度算法基础
0、什么是调度? 长期调度:哪一个程序被系统选中并创建进程运行它 中期调度:决定是否将进程调入内存 短期调度:哪个进程获得处理器资源(通常所说调度):单、多、实时处理器调度 一、单处理器进程调度算法 FCFS算法(FIFO算法,抢占式) 循环执行算法(时间片轮转法,抢占式),缺点:I/O操作密集型进程和处理器使用密集型进程时会带来的资源使用不平衡。改进:虚拟循环执行算法,该算法在FCFS基础上加入一个辅助进程队列,一个因I/O操作挂起的进程现在如果它申请的I/O操作已经完成的话,它进入辅助队列,而不是普通队列,新的处理器时间片来临的时候,辅助队列优先获得处理器控制权,而其运行时间不会超过它在上一次自己获取的时间片里剩下来的时间。 SPN算法(非抢占式):运行时间最短的进程优先运行。缺点:时间较长的永远等不到处理器 SRT算法(SPN算法的抢占式版本):总是选择剩余时间最短的进程运行 HRRN算法:选择运行进程时遵循最高响应时间比率原则:R=(w+s)/s,w为等待时间,s获取后的预计运行时间。 反馈算法:过去运行时间最短者优先。编程方法:创建进程并进入最高优先级等待队列;每运行一段时间后,降一级等待下一次运行,如此递推,直到完成。 二、多处理器调度算法 1、多处理器系统分类: 松耦合型:总系统由一些自治子系统组成 紧耦合型:一组处理器共用一个内存,并处于一个操作系统的控制下。又分为:主从型(例如通用ARM+专用DSP);对等型系统 2、多处理器进程调度需要解决的问题: 2.1按处理器分配进程问题 对等型,将多个处理器看成一个处理器资源库,分配方法:静态方法(分配后在进程生命周期内不在更改处理器)和动态方法(允许更改处理器,修正静态方法的处理器负荷不均匀) 考虑到进程地位的不平等性,核心进程一般运行在特定的处理器上,另外的处理器只运行用户进程,这样导致的问题是:单个处理器出现故障将导致整个系统崩溃(创新点:能否实现一种复合调度算法优先采用主/从方式,当单个处理器出现故障时,再采用对等式??),对等式,实现比较复杂,很多系统实现采用这两种方式的折衷。 2.2 单个处理器上的多道程序设计问题 松耦合性的处理器相对独立,应该考虑多道程序设计,紧耦合型则未必,必须考虑系统总体性能,一个多线程程序只有当所有线程都运行时,程序性能才能显著提高。 2.3进程实际分派问题 进程形成若干个队列,按某种调度策略从处理器资源库中获取处理器,研究表明:调度算法的差异所带来的多处理器系统性能上的差异不是明显,这种影响随着处理器数目的增多而淡化。 3 线程调度方案 做为一个研究热点有以下四种方案比较突出: 3.1负荷共同承担法(Load Sharing) 所有等待线程排成队列,空闲处理器按照某种策略选取一个线程运行,而不管它属于哪个进程。优点:1、计算负荷在处理器中实现均匀分布;2、无需中央级调度程序存在,某个处理器空闲时就在其上运行并选择下一个需要运行的线程;3、单处理器算法可以很容易推广到这里来使用。缺点:等待线程队列统一管理,必须要与互斥控制,因此导致一个应用程序的所有线程不大可能同时都获得处理器控制权,从而程序性能不是最佳。 3.2 组调度法(Gang Scheduling) 存在耦合的线程同时一对一地指定同样数目的处理器并运行。优点:减少阻塞同步、减少进程切换、按组调度,降低调度程序执行频度。 3.3 处理器指定分配法(Dedicated Processor Assignment) 处理器指定分配算法是组调度策略的一个极端情况,思想是:一个应用程序的生命周期中,将一组处理器都分配给该程序,每个线程占用一个处理器会因为等待I/O而造成阻塞,但应用程序的性能比单个处理器的利用率更重要,所有这种方法能减少进程切换,提高程序性能,采用这样一种调度方式在多处理器系统中还是不错的。 3.4 动态调度法(Dynamic Scheduling) 进程运行时利用工具实时调整系统负荷,从而使系统资源得到最大限度的利用。 三、实时调度算法 0 实时操作系统基础知识 0.1 实时分类: 硬实时(Hard Real-Time):系统对某个实时任务的处理未能在某个截止时间开始或者结束的话,最终结果将是灾难性的。 软实时(Soft Real-Time):处理任务启动或者结束的截止时间只是一个期望值,即使超过截止时间,计算结果也是有意义的。 0.2 实时系统与普通操作系统的区别: 任务处理的确定性(中断请求到对应任务启动时间)、响应灵敏度(系统响应请求时间)、用户参与控制、可靠性以及故障保护措施。 0.3 目标 尽可能快的中断处理和任务分配速度。 0.4 两个要求: 需要合乎逻辑的计算结果; 需要满足一定的时间
文档评论(0)