网站大量收购独家精品文档,联系QQ:2885784924

《线程调度》课件.pptVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

《线程调度》PPT课件

什么是线程?回顾线程的概念线程定义线程是进程中一个单一的顺序控制流,是程序执行的最小单元。一个进程可以拥有多个线程,它们共享进程的资源,如内存空间和文件句柄。线程与进程的区别进程是资源分配的基本单位,而线程是CPU调度的基本单位。线程比进程更轻量级,创建和切换的开销更小,因此可以更高效地并发执行任务。线程的优势

线程调度的重要性:提高系统性能1提高CPU利用率线程调度允许操作系统在多个线程之间快速切换,使得CPU始终处于忙碌状态,从而提高CPU的利用率。避免CPU因为等待I/O操作而空闲。2提高系统吞吐量通过并发执行多个线程,系统可以在单位时间内完成更多的任务,从而提高系统的吞吐量。特别是在多核处理器上,多线程可以充分利用并行计算能力。改善用户体验

线程调度的目标:公平性、效率、响应性公平性每个线程都应该获得合理的CPU时间,避免某些线程长时间得不到执行,造成“饥饿”现象。不同的调度算法在公平性方面表现各异。效率线程调度应该尽可能减少上下文切换的开销,提高CPU的有效工作时间。选择合适的调度算法可以降低系统开销,提高整体效率。响应性对于交互式应用,线程调度应该保证用户界面的快速响应,避免出现延迟。实时调度算法更加注重响应时间,适用于对时间要求严格的应用。

线程调度器:操作系统的核心组件时间管理负责分配CPU时间片给不同的线程,决定每个线程的执行时间长短。队列管理维护就绪队列、阻塞队列等,管理线程的状态转换。算法选择根据不同的调度算法,决定下一个要执行的线程。

调度算法的分类:抢占式与非抢占式抢占式调度操作系统可以强制暂停正在运行的线程,将CPU分配给另一个线程。常见的抢占式调度算法包括时间片轮转、优先级调度和多级反馈队列。这种方式能够更好地保证高优先级任务的执行,提高系统的响应速度。非抢占式调度线程必须主动放弃CPU,操作系统才能将CPU分配给另一个线程。常见的非抢占式调度算法包括先来先服务和短作业优先。这种方式实现简单,但是可能导致某些线程长时间占用CPU,影响系统的公平性和响应速度。

抢占式调度:时间片轮转时间片分配每个线程被分配一个固定的时间片,当时间片用完后,线程被暂停,CPU分配给下一个线程。就绪队列所有就绪线程按照先进先出的原则排列在就绪队列中。循环执行线程调度器按照队列顺序,循环执行每个线程,保证每个线程都能获得CPU时间。

时间片大小的影响:过大与过小时间片过大如果时间片过大,时间片轮转调度算法会退化为先来先服务调度算法,导致响应时间变长,用户体验下降。某些线程可能会长时间占用CPU,影响其他线程的执行。时间片过小如果时间片过小,线程切换的频率过高,导致上下文切换的开销增加,CPU的有效工作时间减少,系统效率降低。频繁的切换还会影响缓存的命中率。

抢占式调度:优先级调度1优先级分配每个线程被赋予一个优先级,优先级高的线程优先获得CPU时间。2优先级队列就绪线程按照优先级排列在优先级队列中,优先级最高的线程位于队列头部。3动态调整线程的优先级可以动态调整,例如,长时间等待的线程可以提高优先级,避免“饥饿”现象。

优先级反转问题:解决方法优先级反转当一个低优先级线程持有一个被高优先级线程需要的资源时,高优先级线程会被阻塞,导致低优先级线程间接获得了更高的优先级,这就是优先级反转问题。这会严重影响实时系统的性能和可靠性。解决方法:优先级继承当低优先级线程持有被高优先级线程需要的资源时,将低优先级线程的优先级提升到高优先级线程的优先级,直到低优先级线程释放资源。这样可以避免高优先级线程长时间等待。解决方法:优先级天花板将每个资源都赋予一个优先级天花板,等于可能访问该资源的所有线程的最高优先级。当线程尝试获取资源时,如果其优先级低于资源的天花板优先级,则提升到天花板优先级。

抢占式调度:多级反馈队列多个队列设置多个就绪队列,每个队列的优先级不同,时间片大小也不同。1动态调整线程根据其行为在不同队列之间移动,例如,长时间占用CPU的线程会被降低优先级。2综合调度高优先级队列采用时间片轮转调度,低优先级队列采用先来先服务调度。3

多级反馈队列的优势与劣势优势能够兼顾公平性和响应性,既能保证高优先级线程的快速响应,又能避免低优先级线程的“饥饿”现象。能够根据线程的行为动态调整其优先级,更加灵活。劣势算法实现较为复杂,需要维护多个队列,并根据线程的行为动态调整其优先级。参数设置较为困难,需要根据实际应用场景进行调整,例如,队列数量、时间片大小等。

非抢占式调度:先来先服务队列等待线程按照到达的先后顺序排队。依次执行CPU按照队列顺序,依次执行每个线程,直到线程完成或主动放弃CPU。简单实现实现简单,易于理解和维护。

先来先服务算法的优缺点优点实现简单,易于理解和维护,不会导致“饥饿”现象,因为每个线程都会

文档评论(0)

136****3519 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档