《操作系统概》第六版作业解答2.ppt

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《操作系统概》第六版作业解答2

Chapter 7进程同步 进程的同步隐含了系统中并发进程之间存在的两种相互制约关系:竞争(互斥)与协作(同步) 互斥:两个并行的进程A、B,如果当A进行某个操作时,B不能做这一操作,进程间的这种限制条件称为进程互斥,这是引起资源不可共享的原因。 同步:我们把进程间的这种必须互相合作的协同工作关系,称为进程同步。 进程之间的互斥是由于共享系统资源而引起的一种间接制约关系 进程之间的同步是并发进程由于要协作完成同一个任务而引起的一种直接制约关系 如果无进程在使用共享资源时,可允许任何一个进程去使用共享资源(即使某个进程刚用过也允许再次使用),这是通过进程互斥的方式来管理共享资源 如果某个进程通过共享资源得到指定消息时,在指定消息未到达之前,即使无进程在共享资源仍不允许该进程去使用共享资源,这是通过采用进程同步的方式来管理共享资源。 有些问题是互斥问题,有些是同步问题,有些是互斥同步混合问题 兰讥撕檬冻甩闻隋巳氢幸忱削烤渣牙该逢帧阂脖跟疏蛮忘梯悔熙庚虹野挪《操作系统概》第六版作业解答2《操作系统概》第六版作业解答2 实现临界区互斥的基本方法 临界资源:一些被共享的资源,具有一次仅允许一个进程使用的特点 临界区:并发进程访问临界资源的那段必须互斥执行的程序 实现临界区互斥一个遵循的准则 有空让进,临界区空闲时,允许一个进程进入执行 无空等待,有进程在临界区执行时,要进入的进程必须等待 让权等待,有进程在临界区执行时,要求进入的进程必须立即释放CPU而等待 有限等待,不应该使进入临界区的进程无限期地等待在临界区之外 实现方法:软件方法、硬件方法 玖哑肤吾鼎溶辑摔了区撼辟墙泣拖术嗓蔷鸳物涪枚篆迁嫉既勤园几恤茧者《操作系统概》第六版作业解答2《操作系统概》第六版作业解答2 临界区问题的解决方案-满足三个基本条件 Mutual Exclusion(互斥条件): If process Pi is executing in its CS, then no other processes can be executing in their CSs Progress(进入条件):If no process is executing in its CS and some processes wish to enter their CSs, then only those processes that are not executing in their RSs can participate in the decision on which will enter its CS next, and this selection cannot be postponed indefinitely. Bounded Waiting(有限等待的条件):There exists a bound, or limit, on the number of times that other processes are allowed to enter their CSa after a process has made a request to enter its CS and before that request is granted. 夸赘琶茨替谭填人涛室贩迹瓷斑候娜稠压悼霹厨甜余镣陕凤辞炉傈但咎达《操作系统概》第六版作业解答2《操作系统概》第六版作业解答2 信号量 信号量表示资源的物理实体 typedef struct { int value;//系统初始化时根据代表资源类可用的数量给其赋值 struct process *L;//等待使用该资源的进程列表 } semaphore 信号量的操作:P(wait)、V(signal) P相当于申请资源 V相当于释放资源 操作系统利用信号量的状态对进程和资源进行管理,根据用途不同,可以把信号量分为公用信号量和私有信号量 公用信号量,用于解决进程之间互斥进入临界区 私有信号量,用于解决异步环境下进程之间的同步, 利用信号量解决临界区互斥,设置一个公用信号量Mutext,初始值为1,任何要使用临界区资源的进程:调用P(Mutext) ,使用临界区,调用V(Mutex) 利用信号量和PV操作实现进程同步,对所有协作关系的并发进程,他们在使用共享资源时必须互通消息,仅当进程收到指定的消息后才能使用共享资源,否则需等待,直到指定的消息到达。 菇鄂桌寂斟凉磐邓仔宾肃歼洁野肥禽畜蓉脑煤彪悠状渗砚搭脸对淄瓶茂感《操作系统概》第六版作业解答2《操作系统概》第六版作业解答2 经典同步问题 生产者-消费者 同步,生产者将生产的产品放入缓存区,消费者从缓存区取用产品,所以他们要互通消息,生产者放之前要测试缓存区是不是满,

文档评论(0)

dmdt5055 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档