(2012-9-28修订)计算机操作系统03-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文档。上传文档
查看更多
(2012-9-28修订)计算机操作系统03-1

计算机操作系统 第三章 进程管理 本章主要内容: 3.1进程的概念 3.2进程的描述 3.3进程状态及其转换 3.4进程控制 3.5进程互斥 3.6进程同步 3.1进程的概念 3.1.1程序的并发执行 3.1.2进程的定义 3.1.3进程与作业 3.1.1程序的并发执行 1.前驱图 前驱图是一个有向无循环图,图中的每个结点可以表示一条语句、一个程序段或一个进程,结点间的有向边表示两个结点之间存在的偏序或前驱关系“→”: →={(Pi,Pj)| Pi必须在Pj 开始之前完成} 前驱图 如果(Pi,Pj)∈→(也可以写成Pi→Pj),则称为Pi是Pj 的直接前驱,而Pj 是Pi 的直接后继。若存在一个序列Pi→Pj→…→Pk ,则称Pi是Pk 的前驱,而Pk 是Pi 的后继。在前驱图中,没有前驱的结点称为初始结点,没有后继的结点称为终止结点。 前驱图示例 2.程序的顺序执行 把一个具有独立功能的程序独占处理机直至最终结束的过程称为程序的顺序执行。 程序顺序执行的特点: 顺序性 封闭性:结果由初始条件决定,不受外界因素影响。 可再现性:初始条件相同则结果相同。 3.多道程序系统中程序执行环境的特点 独立性——逻辑独立,无相互制约 随机性——程序和数据的输入与执行开始时间都是随机的 资源共享性——硬件和软件。如单CPU系统中,N道程序运行时必然在同一时刻有N-1道程序处于等待CPU的状态 4.程序的并发执行 分类 多道程序并发执行 同一程序中的几个程序段包含可以同时或颠倒顺序执行的代码 如:read(a); read(b); 4.程序的并发执行 定义:一组逻辑上相互独立的程序或程序段在执行的过程中,其执行时间在客观上互相重叠,即一个程序(段)的执行尚未结束,另一个程序(段)的执行已经开始的这种执行方式。 目的: 增强系统处理能力,提高资源利用率 并发执行与并行执行的区别 并行:无论微观上还是宏观上,程序都是以独立的、异步的速度同时执行。需要多个CPU。 并发:宏观上并行,微观上串行,只是把时间分成若干段,使多个程序(段)交替的执行。 表示并发执行的语句 S0; Cobegin S1;S2;…;Sn Coend Sn+1 两相邻语句S1、S2可以并发执行的条件 1966 Bernstein R( Si )表示语句Si执行期间必须进行读的变量集合 i=1,2 W( Si )表示语句Si执行期间必须进行写的变量集合 i=1,2 并发条件 R( S1 )∩ W( S2 )= ∮ W( S1)∩ R( S2 )= ∮ W( S1)∩ W( S2)=∮ 注 满足Bernstein的三个条件,则并发执行不会影响执行结果的封闭性和可在现性 Bernstein的三个条件很难验证 并发执行的实例——誊写 用卡片输入机尽快地把一个文本复写(誊抄)到行式打印机上。 用f表示输入机上的记录序列,用g表示经誊抄程序处理后在打印机上的输出序列。 并发执行的实例——誊写 当程序并发执行时,系统处于一个复杂的动态组合状态,各程序执行的相对速度不定,程序员极不容易看到两个同样的结果,且在众多的结果中应该只有一个是正确的答案,而其他则是错误的。 为了保证得到唯一正确的结果,需要实现并发程序执行时的同步。 例 堆栈S,栈指针top,栈中存放内存中相应数据块的地址,两个程序段getaddr(top)和relaaddr(blk) 例 结论:某些情况下,程序的并发执行使得其结果不再具有封闭性和可再现性,而且可能造成程序出现错误—与时间有关的错误。 原因:并发执行的程序段共享软、硬件资源。上面两个例子分别共享了缓冲单元和堆栈S。 解决方案: 采用一定的措施来控制并发执行程序段到执行速度 需要引入一个能描述程序段执行过程并且能用来共享资源的基本单位—进程 3.1.2进程的定义 进程是可以并发执行的计算部分; 进程是一个独立的可以调度的活动; 进程是一抽象实体,当它执行某个任务时,将要分配和释放各种资源; 行为的规则叫程序,程序在处理机上执行时的活动称为进程; 一个进程是一系列逐一执行的操作 进程的定义 以上进程的定义,尽管各有侧重,但在本质上是相同的。即主要注重进程是一个动态的执行过程这一概念。 也可以这样定义进程:并发执行的程序在执行过程中分配了管理资源的基本单位。 进程与程序的区别与联系 进程是一个动态概念,而程序则是一个静态概念。 程序是指令的有序集合,没有任何执行的含义。而进程则强调执行的过程。 进程具有并发特征,而程序没有。 进程与程序 进程是竞争计算机系统资源的基本单位,从而其并发性受到系统自己的制约。这里,制约就是对

文档评论(0)

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

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

1亿VIP精品文档

相关文档