- 1、本文档共107页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]操作系统课件2
第二章 进程管理 传统的程序的概念不能体现并发这个动态的含义,因此引入了进程. 2.1 进程的基本概念 为了说明进程这一概念,必须了解为什么要引入这个概念.为此,首先介绍程序的顺序执行,程序的并发执行概念. 2.1.1 程序的顺序执行及其特征 1. 程序的顺序执行 例1. 在处理一个作业时,总是首先输入用户的程序和数据,然后进行计算,最后将所得的结果打印出来.在早期的计算机中,输入,计算,打印这三个程序段的执行只能是一个一个地顺序执行. 2.1.1 程序的顺序执行及其特征 例2. 对于一个程序段中的多条语句来说,也有一个执行顺序问题,如: S1: a:=x+y; S2: b:=a-5; S3: c:=b+1; 2.1.1 程序的顺序执行及其特征 2. 程序顺序执行时的特征 (1) 顺序性: 处理机的操作必须严格按照程序所规定的顺序执行. (2) 封闭性: 程序在执行时独占系统的全部资源,因此,机器资源状态的改变只与执行的程序有关,而与外界环境无关. (3) 可再现性: 只要初始条件相同,一个程序的多次重复执行,将得到相同的结果(不论它是从头到尾不停顿地执行,还是”停停走走”地执行,可再现: 可再次出现,结果重复出现). 2.1.2 前驱图(Precedence Graph) 前驱图: 有向无环图,记作DAG (Directed Acyclic Graph),可用来描述程序段或进程之间执行的先后次序关系,图中的每个结点可以表示一条语句,一个程序段或一个进程,结点间的有向边用来表示两个结点之间存在的偏序或前驱关系” →”,如Pi → Pj表示Pi必须在Pj开始执行之前完成,并称Pi为Pj的直接前驱,Pj为Pi的直接后继,而称没有前驱的结点为初始结点,没有后继的结点为终止结点,此外,每个结点还具有一个重量用于表示该结点所含有的程序量或结点的执行时间. 例子: 1.在前图中分别存在着以下的前驱关系: I1→C1→P1→I2→C2→ P2 ; S1→S2→S3 例子: 例子: 4. 2.1.3 程序的并发执行及其特征 1.程序的并发执行 前面讲述程序的顺序执行时曾举过一个例子:一个作业有三个处理步骤,输入(I),计算(C)和打印(P),它们从逻辑上要求顺序执行,虽然系统具有输入机,中央处理机和打印机这三个物理部件,且它们实际上是可以同时操作的,但由于作业本身的特点,这三个操作还是只能顺序执行,但是,当有一批作业要求处理时,情况会不一样,比如:现有作业1,作业2,…,作业n要求处理,对每个作业的处理都有三个步骤: 对作业1的处理: I1, C1, P1 对作业2的处理: I2, C2, P2 . . 对作业n的处理: In, Cn, Pn 2.1.3 程序的并发执行及其特征 当系统中存在着大量的操作时,就可以进行并发处理 并发执行时的前驱图: 2.1.3 程序的并发执行及其特征 又如: 以下四条语句的程序段: S1: a:=x+2 S2: b:=y+4 S3: c:=a+b S4: d:=c+b 2.1.3 程序的并发执行及其特征 程序的并发执行是指: 若干个程序段同时在系统中运行,这些程序段的执行在时间上是重叠的,一个程序段的执行尚未结束,另一个程序段的执行已经开始,即使这种重叠是很小的一部分,也称这几个程序段是并发执行的. 如: 2. 程序并发执行时的特征: 1)间断性.由于资源共享和相互合作,并发执行的程序间形成了相互制约的关系,导致程序的运行过程出现”执行-暂停-执行”的现象. 比如:I1,C1,和P1之间有一定的逻辑关系,它们必须顺序地执行. I3,C2,P1可以并发执行,当C1完毕后,P1即可开工,此时,I3和C2同时操作虽是可能的,但能否实现,还要看它们和其他程序段之间的相互制约关系,如果此时I2没有结束,则I3和C2不能进行,因为I2和C2有直接的相互制约关系,而I2和I3之间有一种间接的相互制约关系,它们之间是
文档评论(0)