第3章1进程基本概念、互斥和同步.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
操作系统 主讲:龙法宁 Email:longfaning@163.com 第3章 进程的管理 为了描述程序在并发执行时对系统资源的共享,我们需要一个描述程序执行时动态特征的概念,这就是进程。在本章中,我们将讨论进程概念、进程控制和进程间关系。 3.1 进程的基本概念 程序顺序执行及其特征 前驱图 程序并发执行及其特征 程序的特征与状态 进程控制块 3.1.1 程序顺序执行及其特征 1 程序的顺序执行 程序:源代码程序、目标程序、可执行程序 程序执行:编辑、编译、链接、执行 程序的结构:顺序结构、分支结构、循环结构 例如: s1:a:=x+y; s2:b:=a-5; s3:c:=b+1; 程序按固定的流程执行下去: 3.1.3 程序并发执行及其特征 1.程序的并发执行 三个进行输入﹑计算﹑打印的程序并发执行: 2.1.3 程序并发执行及其特征 s1:a:=x+2; s2:b:=y+4; s3:c:=a+b; s4:d:=c+b; 2.1.3 程序并发执行及其特征 求解:已知一个求值公式 (A×A+3B)/(B+5A) 若A和B已经赋值,试画出该公式求解的前驱图 2. 程序并发执行时的特征 (1) 独立性-可能产生间断性 每道程序都是逻辑上独立的,它们之间不存在逻辑上的制约关系。 (2) 随机性 在多道程序环境下,特别是在多用户环境下,程序和数据的输入与执行开始时间都是随机的。 (3) 资源共享-可能产生不可再现性 资源共享将导致对进程执行速度的制约。可能导致不可再现性。 2. 程序并发执行时引起问题 什么是程序的并发执行?什么是程序的并行执行? 并发:宏观上是同时进行的,但在微观上仍是顺序执行的 并行:不管是宏观还是微观上都是同时执行的。 2. 程序并发执行时引起问题 read (a) ; read (b) ; 它们既可以同时执行,也可颠倒次序执行。对于这样的语句,同时执行不会改变顺序程序所具有的逻辑性质。因此,可以采用并发执行来充分利用系统资源以提高计算机的处理能力。 以上这种情况不会引起任何问题。 例:设有堆栈S,栈指针top,栈中存放内存中相应数据块地址(如图3.1(a))设有两个程序段getaddr(top)和reladdr(blk),其中getaddr(top)从给定的top所指栈中取出相应的内存数据块地址,而reladdr(blk)则将内存数据块地址blk放入堆栈S中。getaddr(top)和reladdr(blk)可分别描述为: procedure getaddr(top) begin local r r ←(top) top ← top-1 return(r) end procedure reladdr(blk) begin top ← top+1 (top)← blk end 显然,如果上例中的getaddr 和 reladdr程序段进行顺序执行,其执行结果具有封闭性和可再现性。但如果对这两个程序段采用并发执行,则在单CPU系统中,将有可能出现下述情况: 图3.1 堆栈的取数和存数过程 程序并发执行的条件 程序并发执行,虽然能有效地提高资源利用率和系统的吞吐量,但必须采取某种措施,以便并发程序能保持其“可再现性”。 定义符号: R(Pi)={a1,a2…,am},用以表示程序A在执行期间所需参考的所有变量的集合,称为“读集“; W(pi)={b1,b2…,bn},是程序pi在执行期间要改变的所有变量的集合,称为“写集”。 若两个程序P1和p2能满足下述条件,它们便能并发执行,且具有可再现性。该条件在1966年首先由Bernstein提出.又称为Bernstein条件: R(p1)∩W(p2)∪R(p2)∩W(p1)∪W(p1)∩W(p2)={ }。 进程的定义--我们肯定看的一头雾水 进程的概念是60年代初期,首先在MIT 的 Multics系统和IBM 的 TSS/360系统中引用的。从那以来,人们对进程下过许多各式各样的定义。 (1) 进程是可以并行执行的计算部分(S.E.Madnick,J.T.Donovan); (2) 进程是一个独立的可以调度的活动(E.Cohen,D.Jofferson); (3) 进程是一抽象实体,当它执行某个任务时,将要分配和释放各种资源(P.Denning); (4) 行为的规则叫程序,程序在处理机上执行时的活动称为进程(E.W.Dijkstra); (5) 一个进程是一系列逐一执行的操作,而操作的确切含义则有赖于以何种详尽程度来描述进程(Brinch Hansen),等等。

文档评论(0)

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

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

1亿VIP精品文档

相关文档