第3章操作系统《进程管理》习题.ppt

第3章操作系统《进程管理》习题.ppt

  1. 1、本文档共264页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3.1.1 从顺序程序设计谈起   自从计算机问世以来,人们广泛地使用“程序”这一概念。在多道程序设计出现以前,“程序”的最大特征是它的顺序性,即顺序执行。实际上应把它称为“顺序程序”,但是因为这一性质是不言而喻的,所以就简称为“程序”。下面我们用一个简单的例子来说明顺序程序的某些重要特性。   我们假设有n个作业,而每个作业Ji都由三个程序段Ii、 Ci、Pi组成。其中,Ii表示从输入机上读入第i个作业的信息; Ci表示执行第i个作业的计算;Pi表示在打印机上印出第i个作业的计算结果。在早期的计算机中,每一作业的这三个程序只能是一个接一个地顺序执行。也就是输入、计算和打印三者串行工作,并且前一个作业结束后,才能执行下一个作业,见图 3.1。   显然,程序的顺序执行具有如下特性:   (1) 当顺序程序在处理机上执行时,处理机严格地顺序执行程序规定的动作。每个动作都必须在前一动作结束后才能开始。除了人为的干预造成机器暂时停顿外,前一动作的结束就意味着后一动作的开始。程序和机器执行程序的活动严格一一对应。   (2) 一个程序在机器中执行时,它独占全机资源,除了初始状态外,只有程序本身规定的动作才能改变这些资源的状态。   (3) 程序的执行结果与其执行速度无关。也就是说,处理机在执行程序的两个动作之间如有停顿时,不会影响程序的执行结果。   上述特点概括起来就是程序的封闭性和可再现性。所谓封闭性指的是程序一旦开始执行,其计算结果就只取决于程序本身,除了人为改变机器运行状态或机器故障外,不受外界因素的影响。所谓可再现性是指当该程序重复执行时,必将获得相同的结果。这给程序的调试带来了很大的方便。 3.1.2 程序的并发执行和资源共享   1. 程序的并发执行 采用多道程序设计技术后,系统中各个部分不再以单纯的串行方式工作。换句话说,在任一时刻,系统中不再只有一个活动,而是存在着许多并行的活动。从硬件方面看,处理机、各种外设、存储部件常常并行地工作着;从程序活动方面看,则可能有若干个作业程序或者同时,或者相互穿插地在系统中被执行。这就是说,有很多程序段是可以并发(Concurrent)执行的。所谓并发执行是指两个程序的执行在时间上是重叠的,即使这种重叠只有很小的一部分,我们也称这两个程序是并发执行的。程序的并发执行已成为现代操作系统的一个基本特征。   现在我们回到图 3.1 的例子。对于任何一个作业i,其输入操作Ii、计算操作Ci、打印操作Pi这三者必须顺序执行,但对n个作业来说,则有可能并发执行。例如,输入程序在输入完第i个作业程序后,计算程序在对第i个作业进行计算的同时,再启动输入程序,输入第i+1 个作业程序,这就使得第i+1个作业的输入和第i个作业的计算能并发执行。图 3.2 给出了输入、计算、打印程序对一批作业进行处理的执行顺序。   在该例中:    I1先于C1和I2;    C1先于P1和C2;    P1先于P2;    I2先于C2和I3。 说明了某些程序段必须在其它程序段之前完成。此外从图中可以看出:    I2和C1;    I3、C2和P1;    I4、C3和P2; 是重叠的。   2. 资源共享   资源共享是现代操作系统另一基本特性。所谓资源共享是指系统中的硬件资源和软件资源不再为单个用户程序所独占,而由几道用户程序共同使用。于是,这些资源的状态不再取决于一道程序,而是由多道程序的活动所决定。这就从根本上打破了一道程序封闭于一个系统中执行的局面。   程序并发执行和资源共享之间互为依存条件。一方面,资源共享是以程序并发执行为条件的,因为若系统不允许程序并发,也就不存在资源共享问题;另一方面,若系统不能对共享资源进行有效的管理,也就降低了程序并发执行的效果。 3.1.3 程序并发执行的特性   程序并发执行虽然卓有成效地增加了系统的处理能力,提高了系统资源的利用率,但也带来了一些新问题,也就是产生了与顺序程序不同的新特性,这些新特性是:   1. 失去了程序的封闭性   设有观察者和报告者并行工作。在一条单向行驶的公路上经常有卡车通过。观察者不断观察并对通过的卡车计数。报告者定时地将观察者的计数值打印出来,然后将计数器重新清“0”。此时我们可以写出如下程序(其中Cobegin和Coend表示它们之间的程序可以并发执行):    begin      count∶integer;      count∶=0;   cobegin      observer       begin       L1;……        observe next car;        count∶=count+1;        

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档