计算机操作系统3进程管理3.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文档。上传文档
查看更多
计算机操作系统 计算机科学与技术系 赵绪营 主 要 内 容 引论 操作系统用户界面 进程管理 处理机调度 存储管理 文件系统 设备管理 第3章 进程管理 3.1 进程的概念 3.2 进程的描述 3.3 进程状态及其转换 3.4 进程控制 3.5 进程互斥 3.6 进程同步 3.7 进程通信 3.8 死锁问题 3.9 线程的概念 3.10 线程分类与执行 3.5 进 程 互 斥 3.5.1 资源共享所引起的制约 进程的并发执行:用户随机性和提高资源利用率的结果,资源的竞争与共享制约所导致。 1. 临界区 赋值语句: X=X+1; 汇编语言: LOAD A,X(A:累加器) ADDI A,1 STORE A,X 为了保证程序执行最终结果的正确性,必须对并发执行的各进程进行制约,以控制它们的执行速度和对资源的竞争。 进程中两相邻语句可并发执行的三个条件? 设有两个计算进程PA,PB共享内存MS。 MS分为三个领域,即系统区、进程工作区和数据区。 数据区被划分大小相等的块, 系统区主要是堆栈S,其中存放那些空数据块的地址。 图3.10 多进程共享内存栈区示例 取出空数据块从堆栈最顶部 释放数据块的地址放入堆栈顶部 过程getspace :取空数据块过程 过程release(ad):释放一个地址为ad的数据块 getspace: begin local g g←stack [ top ] top←top-1 end release(ad): begin top ← top+1 stack [ top ]←ad end 设时刻t0时,top=h0,可能按以下顺序执行: 首先 release(ad)的第一句执行, t0:top ← top+1 → top=h0+1; 接着getspace 执行,得: t1:g ← stack [top] → g=stack [ h0+1]; t2:top ← top-1 → top=h0; 再是 release(ad)的第二句执行,得: t3:stack [top]← ad → stack [ h0 ] ← ad; 结果:调用getspace的进程取到的是h0+1中的一个未定义值,而调用release(ad)的进程把所释放的空块地址ad重复放入了h0中。 正确性保证:把getspace和release(ad)抽象为两个各以一个动作完成的顺序执行单位 临界区:不允许多个并发进程交叉执行的一段程序称为临界部分(critical section )或临界区(critical region)。 临界区是由属于不同并发进程的程序段共享公用数据或公用数据变量而引起的。 临界区不可能用增加硬件的方法来解决。 临界区也可以被称为访问公用数据的那段程序。 2. 间接制约 把那些不允许交叉执行的临界区按不同的公用数据划分为不同的集合。以公用数据栈S划分的临界区集合 {getspace,release}。 把这些集合称为类(class)。 对类给定一个唯一的标识名,系统就会容易地区分它们。 2. 间接制约 用下列标准形式来描述临界区: when〈类名〉do〈临界区〉od 设类 {getspace,release} 的类名为sp,则getspace和release(ad)可重新描述为: getspace: when sp do getspce←stack [ top ] top←top-1 od release(ad): when sp do top← top+1 stack [ top ] ← ad od 由于共享某一公有资源而引起的在临界区内不允许并发进程交叉执行的现象,称为由共享公有资源而造成的对并发进程执行速度的间接制约,简称间接制约。 “间接”二字主要是指各并发进程的速度受公有资源制约,而不是进程间直接制约的意思。 在一组并发执行进程中,除了因为竞争公有资源而引起的间接制约带来进程之间互斥之外,还存在有因为并发进程互相共享对方的私有资源所引起的直接制约。 直接制约将使得各并发进程同步执行。 受间接制约的类中各程序段在执行顺序上是任意的。 对于每一类,系统应有相应的分配和释放相应公有资源的管理办法,以制约并发进程。这就是互斥。 3. 什么是互斥 互斥定义:一组并发进程中的一个或多个

文档评论(0)

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

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

1亿VIP精品文档

相关文档