第2章处理器管理及并发进程.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 处理器管理及并发进程 本章学习任务 进程与线程 进程调度 进程互斥与同步 管程 进程通信 死锁 2.1.1 程序的顺序执行 示意图 特点 简单、方便,容易理解; 确定性; 封闭性; 可再现性。 顺序程序设计的四个特点,使得编程和调试很方便,缺点就是计算机资源使用效率不高。我们知道,操作系统是管理和控制计算机系统资源并方便用户使用的一种最重要的系统软件,提高资源的使用效率是操作系统设计的主要目标之一。因此,必须要提出一种程序的执行方式,提高系统的效率,这就是程序的并发执行。 2.1.2 程序的并发执行 并发(Concurrency):一个程序的执行还没有结束,另一个程序就已经开始。因此,从某个宏观时间段来考察,在这段时间内,“同时”完成了几个程序,这就叫并发,但从微观某个时刻来看,任何时刻却只有一个程序在运行。 并发性有两层含义: ①内部顺序性,对于一个程序而言,它的所有指令是按序执行的; ②外部的并发性,对于多个程序而言,它们是交叉运行的。 并行(Parallel):若干个程序在微观上也是同时执行的,当然,对于程序的并行执行,需要多个处理器。 本书中,主要讨论单CPU的情况,因此,程序的执行是并发执行。 现代计算机系统由于采用了通道等技术,使得处理器与外围设备能够并行工作。 并发执行示意图 并发执行的特点 程序运行“走走停停,停停走走”;由于在并发环境下,各个程序不再独立,破坏了顺序程序的确定性、封闭性和可再现性。 2.1.3 多道程序设计 主存中每次只存在一个程序,该程序运行时独占整个计算机系统资源,这种程序设计方式就是“单道程序设计”,而让多个程序同时进入一个计算机系统的主存储器并发执行,这种程序设计方式就是“多道程序设计”。 具有多道程序设计能力的计算机系统称为多道程序设计系统。 采用多道程序设计的好处是:充分发挥了计算机硬件的并行性,消除了处理器和外围设备的互相等待现象,大大提高了系统的效率。 从总体上看,采用多道程序设计技术可以增加单位时间内执行的作业数,但是,对于某一个作业而言,它的执行时间可能会延长。 【例2-1】在一个单处理器的系统中,假设有两道作业,一道单纯计算11分钟,另一道先计算3分钟,再打印6分钟。请问在单道程序设计系统中,两道作业的执行总时间至少为多少分钟?而在多道程序设计系统中,这一时间又至少为多少分钟? 解答:在单道系统中,两道作业必须顺序运行,因此执行的总时间是11+(3+6)=20(分钟)。而在多道程序设计系统中,可以让第二道作业先进行执行,计算3分钟后,进行打印,接下去第一道作业进行计算,这时处理器和打印机真正并行工作,因此,这时,两道作业的执行总时间是3+11=14(分钟)。 【例2-2】在一个单处理器的多道程序设计系统中,现在有两道作业将要同时执行,一道作业以计算为主,一道作业以I/O操作(输入输出)为主,请问,先调度哪个作业进程?为什么?   解答:在现代计算机系统中,处理器可以和外部设备真正并行工作。因此,本题中,应该先调度I/O型的作业进程,赋予I/O型的作业进程更高的优先级,这样做的好处是可以提高系统资源的使用效率。这是因为,将I/O型的作业进程先调度运行,利用CPU进行运算,完成后让出CPU处理器,进行输入输出处理,而此时可以调度计算型作业进程到处理器上运行,这样做到CPU与外部设备并行工作,提高了资源利用率。例2-1用到了这一思想。 【例2-3】有一台计算机,配置有1MB主存,操作系统占用200KB,每个用户进程各占用200KB,如果用户进程等待I/O的时间为70%,若增加1MB主存,则CPU的利用率提高多少?再增加1MB主存,则CPU的利用率比只有1MB主存时又提高多少? 解答:当只有1MB主存时,除了操作系统占用的200KB,则其余的800KB主存可以容纳4个用户进程。由于每个进程等待I/O的时间为70%,那么只有四个进程都同时等待时,CPU才是空闲的,那么CPU的利用率是1-(0.7)4= 0.7599 ≈ 0.76;假如再增加1MB主存,则主存中的用户进程共4+5=9个,CPU的利用率是1-(0.7)9 ≈ 0.9596 ≈ 0.96,那么CPU的利用率提高了(0.96-0.76)/0.76×100% ≈ 26%。若再增加1MB主存,则CPU的利用率是1-(0.7)14 ≈ 0.99,CPU的利用率又提高了(0.99-0.76)/0.76×100% ≈ 30%。 2.1.4 并发程序执行的条件 具有何种特性的两个程序并发执行呢?关于这个问题,Bernstein作过研究,并于1966年提出了两个程序并发执行的条件,故又称之为Bernst

文档评论(0)

339910001 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档