- 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节 进程的基本概念
一、程序的顺序执行
程序是一个在时间上有严格次序的指令序列,仅当前一操作(指令)执行完后,才能执行后继操作,如下图b。
如果在单道环境下对用户作业的处理,总须先输入用户的程序和数据,然后进行计算,最后才能打印计算结果,见下图a。
程序顺序执行的前驱图
所以,在单道系统中,程序执行具有以下特征:
(1) 顺序性; (2) 封闭性; (3) 可再现性 ----P33-34
其中最大特征就是程序的顺序执行。
二、前趋图(描述程序执行顺序的工具)
前趋图(Precedence Graph)是一个有向无循环图,记为DAG (Directed Acyclic Graph),用于描述进程之间执行的前后关系。图中的每个结点可用于描述一个进程、一段程序、乃至一条语句;结点间的有向边“→”则用于表示两个结点之间存在的偏序关系(Partial Order)或前趋关系(Precedence Relation)。
如果Pi→Pj,称Pi是Pj的直接前趋,而称Pj是Pi的直接后继。在前趋图中,把没有前趋的结点称为初始结点(Initial Node),把没有后继的结点称为终止结点(Final Node)。每个结点还具有一个重量(Weight),用于表示该结点所含有的程序量或结点的执行时间。
前趋图
对于上图(a)所示的前趋图,存在下述前趋关系:
P1→P2,P1→P3,P1→P4,P2→P5,P3→P5,P4→P6,P4→P7,
P5→P8,P6→P8,P7→P9,P8→P9
对于具有下述四条语句的程序段,可以用右边的前驱图描述语句间的前驱关系: 前趋图:
S1: a∶=x+2
S2: b∶=y+4
S3: c∶=a+b
S4: d∶=c+b
三、程序的并发执行
1、什么是并发执行、并行执行----回顾概念
在下图中,每一个作业由输入程序、计算程序和打印程序组成,以至对一个作业的输入、计算和打印三个操作,必须顺序执行,三操作之间存在着Ii→Ci→Pi这样的前趋关系。
对于同类的四个作业,每个作业的内部操作之间、作业和作业的操作之间存在下图描述的前驱关系:
程序并发执行时的前趋图
讨论:哪些操作的执行必须是顺序的;哪些操作的执行是可以并行的?
在该例中存在下述前趋关系:Ii→Ci,Ci→Pi,Ii→Ii+1,Ci→Ci+1,Pi→Pi+1;
而Ii+1和Ci及Pi-1是重迭的,亦即在Pi-1和Ci以及Ii+1之间,可以并行执行。
多程序并发执行表现为,这些程序的执行在时间上是重叠的,一个程序的执行尚未结束,另一个程序的执行已经开始,即使这种重叠是很小的一部分。前驱图上重叠的部分,是不同程序在不同资源上并行工作形成的。
程序的并发执行可进一步分为:
① 不同程序间的并发执行;
② 同一程序中不同程序段(线程)的并发执行,例如,在一个程序中有5个程序段:上图。
2、程序并发执行带来的影响:(与程序的顺序执行相比较)
(1) 程序运行的间断性、异步性;
(2) 程序的执行失去了封闭性和以此为基础的可再现性;
例如,有两个循环程序A和B,它们共享一个变量n,初值为10。
并发程序相互影响示意图
① n∶=n+1在Print(n)和n∶=0之前,此时得到的n值分别为11,11,0
② n∶=n+1在Print(n)和n∶=0之后,此时得到的n值分别为10,0,1
③ n∶=n+1在Print(n)和n∶=0之间,此时得到的n值分别为10,11,0。
(3) 程序之间由于资源共享与竞争,形成了相互制约。
为了合理管理系统资源、协调各程序间在执行时对资源的竞争,需要一个记录和描述程序执行过程的基本单位,于是引进了“进程”这一概念。
四、进程的定义
1、 较典型的进程定义有:
(1) 进程是一个程序在给定活动空间和初始环境下,在一个处理机上的一次执行过程。
(2) 进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。
2、进程实体:程序段、相关数据、PCB(进程控制块,是管理进程的数据结构)
程序与数据:描述进程本身所应完成的功能;
PCB:记录进程的动态特征,记录进程与其他进程、与系统资源间的关系。
进程
控制块
(PCB) 程序
与
数据 3、进程的特征:
(1) 结构特征 (2) 动态性 (3) 并发性 (4) 独立性 (5) 异步性 ----P36
在引入了进程实体的概念后,我们可以把传统OS中的进程定义为:“进程是进程实体的一次运行过程,是系统进行资源分配和调度的一个独立单位”。
五、进程的三种基本状态
执行状态:进程已获得当前运行所必需的资源,并已获得处理机,它的程序正在处理机上执行
文档评论(0)