第二章进程管理第二部分.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文档。上传文档
查看更多
第二章 进程管理 回顾进程的概念 进程是在多道程序环境下为了描述动态性和共享性提出的新概念,主要为了提高资源的利用率 进程是一个可并发执行的具有独立功能的程序关于某个数据集合的一次执行过程,也是操作系统进行资源分配和保护的基本单位。 特征:结构性,共享性,动态性,独立性,制约性,并发性 有了进程,程序与程序的执行不再一一对应 回顾进程的概念 进程和程序 : 进程更能真实地描述并发,而程序不能 进程是由程序、数据和PCB等组成?? 程序是静态的,进程是动态的?? 进程有生命周期,有诞生有消亡,短暂的;而程序是相对长久的 一个程序可对应多个进程,反之亦然 进程具有创建其他进程的功能,而程序没有 回顾程序的顺序执行 在早期单道操作系统中,所有的程序只能顺序执行,即在计算机系统中只有一个程序在运行,这个程序独占系统中所有资源,其执行不受外界影响。一道程序执行完后另一道才能开始。 顺序程序设计:将一个程序设计成为一个顺序执行的程序模块,不同的程序也是按顺序执行。 顺序程序设计举例 某程序需要循环执行输入、计算、输出三个过程 while(TRUE) {input; process; output;} input 78ms, process 52ms, output 20ms while(1) { input,process,output } 顺序程序设计的主要特性 执行的顺序性 环境的封闭性:环境是由程序本身决定的 执行结果的确定性 计算过程的可再现性 回顾进程的并发性 并发性(Concurrency):一组进程的执行在时间上是重叠的。即一个进程执行第一条指令是在另一个进程执行的最后一条指令完成之前开始的。 宏观:一个时间段中几个进程都在同一处理器上,处于运行还未运行结束状态; 微观:任一时刻仅有一个进程在处理器上运行。 实质是时分复用CPU 如何充分发挥设备之间的并行工作能力? 现代计算机硬部件能同时进行工作,但怎样才能充分发挥它们的并行工作能力还取决于程序的编制方法。 通常将一个程序分成若干个可同时执行的程序模块,每个程序模块和它执行时所处理的数据就组成了一个进程,它们可以并发执行。 并发性程序设计举例一(相关进程) 某程序需要循环执行输入、计算、输出三个过程,设计为三个可并行执行的程序模块 设计时可以分为三个可并行执行的程序模块 并发性程序设计举例一(相关进程) 并发程序设计举例二(无关进程) 进程A,由指令a1, a2, a3组成; 进程B,由指令b1, b2, b3组成。 A与B并发执行,则实际的指令执行序列? 并发进程之间的关系 无关 一组并发进程分别在不同的变量集合上操作,一个进程的执行与其他并发进程的执行进度无关 交互 一组并发进程共享某些变量,一个进程的执行可能影响其他并发进程的结果 无关的并发进程判断 并发进程的无关性是进程的执行与时间无关的一个充分条件,又称为Bernstein条件 R(Pi) = {a1, a2, …, an}, 指进程Pi在执行期间引用的变量集 W(Pi) = {b1, b2, …, bm}, 指进程Pi在执行期间改变的变量集 若两个进程的上述变量集合满足下列条件: (R(P1)∩W(P2)) ∪ (R(P2) ∩W(P1)) ∪ (W(P1) ∩W(P2)) = { } 则并发进程的执行与时间无关 无关的并发进程判断举例 有如下四个进程:P1: a = x + y; P2: b = z + 1; P3: c = a – b; P4: w = c + 1;判断哪两个进程可并发执行? 解: R(P1) = {x, y}, R(P2) = {z}, R(P3) = {a, b}, R(P4) = {c} W(P1) = {a}, W(P2) = {b}, W(P3) = {c}, W(P4) = {w} P1和P2的上述集合满足Bernstein条件,可并发执行。 第一种交互——竞争 竞争关系(间接制约关系):若干个进程要访问同一共享资源时,任何时刻最多允许一个进程访问,其他进程必须等待,直到占有资源的进程释放该资源 解决手段:进程互斥访问 第二种交互——协作 协作关系(直接制约关系):两个以上的进程基于某个条件来协调它们的活动。一个进程的执行依赖于其协作进程的消息或信号,当没有得到该消息或信号时需要等待,直到消息或信号到达时被唤醒 解决手段:进程同步 关于同步与互斥 同步:完成共同任务的并发进程基于某个条件来协调其活动,因为需要在某些位置上排定执行的先后次序而等待、传递信号或消息所产生的协作制约关系 互斥:若干进程因相互争夺独占型资源而产生的竞争制约关系 同步的例子2 谁买面包? 同步的例子3 司机P1

文档评论(0)

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

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

1亿VIP精品文档

相关文档