第二章进程管理a.pptVIP

  1. 1、本文档共156页,可阅读全部内容。
  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文档。上传文档
查看更多
第二章进程管理a

实时调度算法 实时性要求不太高的实时系统可用的调度算法: 基于时间片轮转调度算法 基于优先级的调度算法 最早截止时间优先调度算法,即优先调度截止时间最近的实时任务。 速度单调调度算法 (Rate Monotonic Scheduling,RMS) 根据任务的周期大小赋予优先级,最短周期的任务具有最高优先级。其中, - 任务周期(period),指一个任务到达至下一任务到达之间的时间范围。 - 任务速度(rate),即周期(以秒计)的倒数,以赫兹为单位。 任务周期的结束,表示任务的硬截止时间。任务的执行时间不应超过任务周期。 速度单调调度算法 (Rate Monotonic Scheduling,RMS) 在RMS调度算法中,如果以任务速度为参数,则优先级函数是一个单调递增的函数,故称为速度单调算法。 该调度算法广泛用于工业实时系统的周期性任务调度。 0 速度 优先级 高 低 小 大 图2.21 任务优先级是速度的单调递增函数 2.5 线程 多线程 操作系统中引入进程的目的是,为了描述和实现多个程序的并发执行,以改善资源利用率及提高系统的吞吐量。 为什么还需要引入线程呢?这是为了减少程序并发执行时系统所付出的额外开销,使操作系统具有更好的并发性。 进程的两个基本属性: (1)进程是一个拥有资源的独立单位; (2)进程同时又是一个可以独立调度的基本单位。 系统为进程进行的操作 创建进程 、撤消进程 、进程切换 进程作为资源的拥有者和系统的调度对象,需要花费系统较大的额外开销。故,系统中同时存在的进程数目不宜过多,进程切换的频率也不宜过高,而这也就限制了并发度的进一步提高。 由进程到线程 目标:既能提高进程并发度,又能降低系统的额外开销。 实现:将进程的资源申请和调度属性分开。即进程作为资源的申请和拥有者,但不作为调度的基本单位。这样,就产生了线程的概念。 线程是进程中的一个实体,是独立调度和分派的基本单位。 线程自身基本上不拥有系统资源,只拥有少许运行中必不可少的私有资源。线程可与同属一个进程的其它线程共享进程的全部资源。 线程的状态 进程中的所有线程共享该进程的状态。 线程具有三种基本状态:就绪、执行和阻塞。 一般不具有挂起状态,因为线程共享进程的资源,包括存储空间,如果挂起一个进程,其所属的全部进程必将被挂起。而单独挂起某进程中的一个线程,必然会影响同一进程中的其它线程的执行,这是没有任何意义的。 对线程的操作 一个进程可以创建和撤消一个或多个线程,同一进程中的多个线程可以并发执行。 对线程的操作包括: 派生(Spawn),当系统创建一个进程时,同时也为该进程派生一个线程,同一进程中的线程可以再派生其它线程。 阻塞(Block),当线程需要等待某事件时,它将被阻塞,释放处理机执行其它线程。 对线程的操作 3.解除阻塞(Unblock),当线程的阻塞事件发生,其状态转换为就绪,并插入到就绪队列,等待调度执行。 4.结束(Finish),当线程执行完毕,释放其私有资源。 注意,线程阻塞不一定会引起整个进程的阻塞,否则,引入线程带来的并发性就不会提高。 进程与线程 传统操作系统中,一个进程可以创建一个线程, 如MS DOS就是一个单用户、单进程、单线程的操作系统,UNIX是一个多用户、多进程、单线程的操作系统。 现代操作系统和软件设计大多支持多线程运行。例如,Java虚拟机是一个单进程、多线程的运行环境,Windows系列操作系统和Linux操作系统都采用了多进程、多线程技术。 进程与线程 - 调度 传统操作系统中,进程既是拥有资源的基本单位,又是独立调度的基本单位。 引入线程的操作系统中,线程是独立调度的基本单位,进程是资源拥有的基本单位,从而可以显著地提高系统的并发程度。 同一进程中的线程间切换不会引起进程切换,但当一个进程中的线程切换到另一进程中的线程时,将会引起进程切换。 进程与线程 -并发 进程之间可以并发执行 同属于一个进程的多个线程之间,亦可并发执行 因而使操作系统具有更好的并发性,从而能更有效地使用系统资源和提高系统吞吐量。 进程与线程 -并发 例如 在一个未引入线程的单处理机操作系统中,若仅设置一个文件服务进程,当它由于某种原因而被阻塞时,便没有其它的文件服务进程来提供服务。 引入线程以后,可以在一个文件服务进程中设置多个服务线程,当第一个线程阻塞时,文件服务进程中的第二个线程可以继续运行;当第二个线程阻塞时,第三个线程可以继续执行,从而显著地提高了文件服务的质量和系统吞吐量。 进程与线程 -拥有资源 进程是拥有资源的独立单位,它有权申请系统的各类资源。 线程除了拥有很少的私有资源以外,不能

文档评论(0)

118books + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档