- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第三章进程管理1
第三章 进程管理 重点和难点: 进程的定义和特征 进程的同步和互斥 用信号量机制解决进程同步、互斥、前趋图问题 3.1 进程的基本概念 3.1.1 进程的引入 程序的顺序执行、程序的并发执行特征比较 程序的顺序执行 程序的并发执行 1 顺序性 1 间断性 2 封闭性 2 失去封闭性 3可再现性 3 不可再现性 进程的引入 多道程序系统的特点是并行性。为了充分利用系统资源,在主存中同时存放多道作业运行,所以各作业之间是并行的 各程序由于同时存在于主存中,它们之间必定会存在相互依赖,相互制约的关系。 (间接制约关系、直接制约关系) 在多道程序系统所带来的复杂环境中,程序具有了并行、制约、动态的特性,原来的程序概念,难以刻画系统中的情况了。 程序本身完全是静态的概念 程序概念也反映不了系统中的并行特性 前驱图(Procedence Graph):是一个有向无循环图,图中的每个结点可用于表示一条语句,一个程序段或进程;结点间的有向边则表示在两结点之间存在的偏序或前驱关系。“ ”, ={(pi,pj)} 如果(pi,pj)∈ 可写成pi pj ,称pi是pj 的前驱,而pj是pi的直接后继。 关于前驱图的几个概念: 1 直接前趋 2 直接后继 3 初始结点 4 终止结点 5 结点的重量:该结点所含的程序量或结点的执行时间来计算。 注意:前驱图中不存在循环。 S2 S3 , S3 S2 显然这种前驱关系是不可能满足的,S3的执行要依赖于S2的执行结果,S2的执行结果又要依赖于S3的执行结果,这种程序是不可能执行下去的。 1、程序的顺序执行 一个较大的程序通常都是由若干个程序段组成。在程序执行时,必须按照某种先后次序逐个执行,仅当前一操作执行完后,才能执行后继操作。 例如:在进行计算时,总是先输入用户的程序和数据,然后才能计算,计算完成后再将结果打印出来。 2、??程序顺序执行时的特征 (1)? 顺序性 处理机的操作,严格按照程序所规定的顺序执行,即只有前一操作结束后,才能执行后继操作。 (2) 封闭性(失去交换性) 程序是在封闭的环境下运行的。即程序在运行时,它独占全机资源,因而机内各资源的状态(除初始状态外),只有程序才能改变它。程序一旦开始运行,其执行结果不受外界因素的影响。 (3) 可再现性 只要程序执行时的环境和初始条件都相同,不论它是从头到尾的不停顿的执行,还是“走走停停”地执行,都将获得相同的结果。 3. 多道程序系统中,程序执行环境的变化 计算机能够同时处理多个具有独立功能的程序(批处理系统,分时系统、实时系统、网络与分布式系统)。这样的执行环境具有三个特点: 独立性 随机性 资源共享 硬件资源:CPU、输入输出设备,存储器 软件资源:各种例行程序、各种共享的数据 多道程序环境下执行程序的道数计算机系统中CPU的个数 单CPU中,则由N-1道程序处在等待CPU的状态 输入输出设备有限将导致这些设备被共享、内存有限将导致内存被共享 程序的并发执行 在上图中存在下属的前驱关系: Ii Ci ,Ii Ii+1,Ci Pi,Ci Ci+1, P Pi+1 Ii+1和Ci及Pi-1是可以并发执行的。 例:下述四条语句的程序段画出前驱图 S1: a:=x+2 S2: b:=y+4 S3: c:=a+b S4: d:=c+6 1.程序并发执行可分为两种: 多道程序系统的程序执行环境变化所引起的多道程序的并发执行 由于资源有限,多道程序的并发执行总是伴随着资源的共享与竞争,制约了各道程序的执行速度。 在某道程序段中,包含着一部分可以同时执行或顺序颠倒执行的代码 例如:read(a); read(b); 既可以同时执行,也可以颠倒次序执行,同时执行不会改变顺序程序所具有的逻辑行知,可采用并发执行来充分利用资源。 程序并发执行: 一组逻辑上相互独立的程序或程序段在执行过程中,其执行时间在客观上相互重叠,即一个程序段的执行,尚未结束,另一个程序段的执行已经开始的这种执行方式。 程序并发执行时的特征 间断性、失去封闭性、不可再现性 间断性 程序在并发执行时,由于它们共享资源或为完成某一项任务而合作,致使在并发程序之间存在相互制约的关系。(I、C、P是三个相互合作的程序,当计算程序完成Ci-1的计算后,如果输入程序I尚未完成对Ii的处理,则计算程序无法进行Ci处理,致使计算程序在停运行。) 失
文档评论(0)