第二章进程描述与控制.pptVIP

  1. 1、本文档共41页,可阅读全部内容。
  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文档。上传文档
查看更多
第二章进程描述与控制

第二章 进程描述与控制 Process Concept Process Control 进程的基本概念 Process Concept 进程的引入 进程的定义和特征 进程的基本状态及其转换 具有挂起功能的进程状态及其转换 进程的引入 多道程序系统的特点是并行性。为了充分利用系统资源,在主存中同时存放多道作业运行,所以各作业之间是并行的 各程序由于同时存在于主存中,它们之间必定会存在相互依赖,相互制约的关系。 (间接制约关系、直接制约关系) 在多道程序系统所带来的复杂环境中,程序具有了并行、制约、动态的特性,原来的程序概念,难以刻画系统中的情况。 程序本身完全是静态的概念 程序概念也反映不了系统中的并行特性 1、程序的顺序执行 一个较大的程序通常都是由若干个程序段组成。在程序执行时,必须按照某种先后次序逐个执行,仅当前一操作执行完后,才能执行后继操作。 例如:在进行计算时,总是先输入用户的程序和数据,然后才能计算,计算完成后再将结果打印出来。 2、??程序顺序执行时的特征 顺序性 处理机的操作,严格按照程序所规定的顺序执行,即只有前一操作结束后,才能执行后继操作。 封闭性(失去交换性) 程序是在封闭的环境下运行的。即程序在运行时,它独占全机资源,因而机内各资源的状态(除初始状态外),只有程序才能改变它。程序一旦开始运行,其执行结果不受外界因素的影响。 可再现性 只要程序执行时的环境和初始条件都相同,不论它是从头到尾的不停顿的执行,还是“走走停停”地执行,都将获得相同的结果。 3. 多道程序的并发执行 计算机能够同时处理多个具有独立功能的程序(批处理系统,分时系统、实时系统、网络与分布式系统)。这样的执行环境具有三个特点: 独立性 随机性 资源共享 硬件资源:CPU、输入输出设备,存储器 软件资源:各种例行程序、各种共享的数据 多道程序环境下执行程序的道数计算机系统中CPU的个数 单CPU中,则由N-1道程序处在等待CPU的状态 输入输出设备有限将导致这些设备被共享、内存有限将导致内存被共享 程序并发执行可分为两种: 多道程序系统的程序执行环境变化所引起的多道程序的并发执行 由于资源有限,多道程序的并发执行总是伴随着资源的共享与竞争,制约了各道程序的执行速度。 在某道程序段中,包含着一部分可以同时执行或顺序颠倒执行的代码 例如:read(a); read(b); 既可以同时执行,也可以颠倒次序执行,同时执行不会改变顺序程序所具有的逻辑行为,可采用并发执行来充分利用资源。 程序并发执行 一组逻辑上相互独立的程序或程序段在执行过程中,其执行时间在客观上相互重叠,即一个程序段的执行尚未结束,另一个程序段的执行已经开始的这种执行方式。 程序的并发执行 4.程序并发执行时的特征 间断性 程序在并发执行时,由于它们共享资源或为完成某一项任务而合作,致使在并发程序之间存在相互制约的关系。(I、C、P是三个相互合作的程序,当计算程序完成Ci-1的计算后,如果输入程序I尚未完成对Ii的处理,则计算程序无法进行Ci处理,致使计算程序在停运行。) 失去封闭性 程序在并发执行时,是多个程序共享系统中的各种资源,因而这些资源的状态将由多个程序来改变,致使程序的运行失去了封闭性。 4.程序并发执行时的特征(续) 不可再现性 程序在并发执行时,由于失去了封闭性,也导致失去了可再现性。 例如:有两个循环程序A和B,它们共享一个变量N。程序A每执行一次时都要做N=N+1操作;程序B每执行一次时,都要做print(N)操作,然后再将N置成“0”,程序A和B以不同的速度运行。(假定某时刻变量N的值为k) (1)N=N+1在print(N)和N=0之前,此时得到的N值分别为 (2)N=N+1在print(N)和N=0之后,此时得到的N值分别为 (3)N=N+1在 print(N)和N=0之间,此时得到的N值分别为 5.程序并发执行的条件 1966年,Bernstein(伯恩斯坦)提出了相邻语句P1,P2可以并发执行的条件。 如果并发执行的各程序段中语句或指令满足Bernstein的条件,则认为并发执行不会对执行结果的封闭性和可再现性产生影响。 定义程序读集与写集符号 R(Pi)={a1,a2,···,am} 表示程序Pi在执行期间需引用的变量的集合,称Pi的读集; W(Pi)={b1,b2,···,bm} 表示程序Pi在执行期间需改变的变量的集合,称Pi的写集; 若有两条语名P1: c=a+b; P2:x=x+1; 则它们的读集与写为: R(P1)={ a, b } W(P1)={ c } R(P2)={ x } W(P2)={

文档评论(0)

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

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

1亿VIP精品文档

相关文档