网站大量收购独家精品文档,联系QQ:2885784924

第二章--进程管理.pptVIP

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

第二章 进程管理 张 旭 主讲 zhangxu@zzuli.edu.cn 2.1 进程的基本概念 2.2 进程控制 2.3 进程同步 2.4 经典进程的同步问题 2.5 进程通信 2.6 线程 2.1 进程的基本概念 操作系统的四个特性是?(回顾之) 其中就有并发与共享 即在系统中(内存)同时存在几个相互独立的程序,这些程序在系统中既交叉地运行 又要共享系统中的资源,这就会引起一系列的问题,包括:对资源的竞争、运行程序之间的通信、程序之间的合作与协同等。 要解决这些问题,用程序的概念已经不能描述程序在内存中运行的状态,必须引人新的概念--进程。 2.1.1 程序的顺序执行 单个程序有一系列有序的代码和数据构成,必须按照严格的先后次序顺序地执行,即只有当一个操作结束后,才能开始后继操作。 这种程序执行的方式就称为程序的顺序执行。 例:讨论单道系统的工作情况 用户作业的处理,通常分为如下三段: 首先输入用户的程序和数据 然后进行计算 最后打印计算结果 例:讨论单道系统的工作情况 这三个顺序执行的操作分别设为— I:输入操作 C:计算操作 P:输出操作 顺序程序设计的特点 传统的程序设计方法是顺序程序设计(Sequential Programming),即把一个程序设计成一个顺序执行的程序模块。顺序程序设计具有如下的特点: 1.执行的顺序性。 一个程序在顺序处理器上的执行是严格按序的,即每个操作必须在下一个操作开始之前结束。 顺序程序设计的特点 2.环境的封闭性。 程序一旦开始执行,其计算结果不受外界的影响,当程序的初始条件给定之后,其后的状态只能由程序本身确定,即只有本程序才能改变它。 顺序程序设计的特点 3.计算过程的可再现性。 程序执行的结果与初始条件有关,而与执行时间(执行速度)无关。即只要程序的初始条件相同,它的执行结果是相同的,不论它在什么时间执行,也不管计算机的运行速度。 这样当程序中出现了错误时,往往可以重现错误,以便进行分析。 顺序程序设计的特点 顺序程序设计的顺序性、封闭性和再现性给程序的编制、调试带来很大方便,其缺点是计算机系统效率不高。 2.1.2 前趋图 前趋图是一个有向无循环图,记为DAG(Directed Acyclic Graph),用于描述进程之间执行的前后关系。 图中的每个结点可用于描述一个程序段或进程,乃至一个语句;结点间的有向边‘→’则用于表示两个结点之间存在的偏序或前趋关系。 2.1.2 前趋图 →={(Pi,Pj)|Pi must complete before Pj may start},如果( Pi,Pj )∈ →,可写成 Pi → Pj,称为Pi是Pj的直接前趋,而称Pj是Pi的直接后继。 例:见教材P35。 例题:假设某个程序段包含如下语句: int a,b,c,d,e,f; int t1,t2,t3,t4,t5; s1: t1=a+b; s2: t2=c+d; s3: t3=e/f; s4: t4=t1*t2; s5: t5=t4-t3; 2.1.3 程序的并发执行及其特征 例:讨论在多道批处理系统中,对大量作业的处理在系统中有n个作业,每个作业都有三个处理步骤,输入数据、处理、输出,即Ii,Ci,Pi (i=1,2,3,...,n)。对作业1、作业2、…,作业n的处理: ? ? 作业1: I1 C1 P1 ? ? 作业2: I2 C2 P2 ? ? ┇ ┇ ? ? 作业n: In Cn Pn 批量作业执行的先后次序 2.1.3 程序的并发执行及其特征 这些作业系统中执行时是对时间的偏序,有些操作必须在其它操作之前执行,这是有序的,但有些操作是可以同时执行的。 也就是说,I1、C1、P1的执行必须严格按照I1,C1,P1的顺序, I2、C2、P2的执行也必须严格按照I2,C2,P2的顺序,而C1与I2, P1与C2 、I3是可以同时执行的。 讨论 ?(1) 哪些程序段的执行必须是顺序的?为什么? (2) 哪些程序段的执行可以是并行的?为什么? 并发性:程序之间 顺序性:程序之内 程序并发执行(定义) 程序并发执行:若干个程序段同时在系统中运行,这些程序的执行在时间上是重迭的,一个程序段的执行尚未结束,另一个程序段的执行已经开始,即使这种重迭是很小的,也称这几个程序段是并发执行的。 程序并发执行的描述 程序并发执行的描述 cobegin S1;S2;S3;...;SN coend; 其中Si(i=1,2,3,...,n)表示n个语句(程序段),这n个语句用cobegin和coend括

文档评论(0)

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

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

1亿VIP精品文档

相关文档