版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
操作系统概念
第四讲进程互斥与同步OperatingSystemConceptionDavidfu上章回顾进程与程序的区别?什么是PCB?与进程上下文的区别?OperatingSystemConceptionDavidfu本课总体纲要进程互斥(MutualExclusiononProcesses)临界区准则(CriticalSectionRule)加锁实现互斥(MutualExclusion)信号量实现互斥(semaphore)两种互斥方式的区别进程同步(Synchronization)P,V原语实现同步生产者消费者问题读-写问题哲学家就餐问题OperatingSystemConceptionDavidfu并发进程互斥协调准则不能假设各并发程序的相对执行速度,各并发进程享有平等、独立的竞争公共资源的权利并发进程中某个进程不在临界区时,它不阻止其他进程进入临界区并发进程中的若干各进程申请进入临界区时,只能允许一个进程进入并发进程中某个进程申请进入临界区,应该在有限的时间内进入OperatingSystemConceptionDavidfu本课总体纲要进程互斥(MutualExclusiononProcesses)临界区准则(CriticalSectionRule)加锁实现互斥(MutualExclusion)信号量实现互斥(semaphore)两种互斥方式的区别进程同步(Synchronization)P,V原语实现同步生产者消费者问题读-写问题哲学家就餐问题OperatingSystemConceptionDavidfu加锁实现互斥(1)-单标志法P0:Whileturn!=0do{nothing}<临界区>Turn:=1P1:Whileturn!=1do{nothing}<临界区>Turn:=0OperatingSystemConceptionDavidfu加锁实现互斥(3)-双标志法改进版P0:Flag[0]:=true;Whileflag[1]do{nothing}<临界区>Flag[0]:=false;P1:Flag[1]:=true;Whileflag[0]do{nothing}<临界区>Flag[1]:=false;OperatingSystemConceptionDavidfu加锁实现互斥(4)-双标志法改进版P0:Flag[0]:=true;WhileFlag[1]do{Flag[0]:=false;<延迟一段时间>Flag[0]:=true;}<临界区>Flag[0]:=false;P1:Flag[1]:=true;WhileFlag[0]do{Flag[1]:=false;<延迟一段时间>Flag[1]:=true;}<临界区>Flag[1]:=false;OperatingSystemConceptionDavidfu本课总体纲要进程互斥(MutualExclusiononProcesses)临界区准则(CriticalSectionRule)加锁实现互斥(MutualExclusion)信号量实现互斥(semaphore)两种互斥方式的区别进程同步(Synchronization)P,V原语实现同步生产者消费者问题读-写问题哲学家就餐问题OperatingSystemConceptionDavidfuP,V原语P原语操作V原语操作入口sem=sem-1sem>=0调用进程入等待队列转进程调度返回入口sem=sem+1sem<=0唤醒等待队列中的进程转进程调度返回是否是否OperatingSystemConceptionDavidfuP,V原语实现进程互斥描述P0,P1并发进程互斥:设sem取值(1,0,-1)Sem=1表示p0,p1都未进入临界区sem=0表示p0或p1进入临界区Sem=-1表示在p0和p1进程中,一个进程已经进入临界区,另一个处于等待进入临界区状态。P0:P(sem)<CS>V(sem)P1:P(sem)<CS>V(sem)…OperatingSystemConceptionDavidfu本课总体纲要进程互斥(MutualExclusiononProcesses)临界区准则(CriticalSectionRule)加锁实现互斥(MutualExclusion)信号量实现互斥(semaphore)两种互斥方式的区别进程同步(Synchronization)P,V原语实现同步生产者消费者问题读-写问题哲学家就餐问题OperatingSystemConceptionDavidfu本课总体纲要进程互斥(MutualExclusiononProcesses)临界区准则(CriticalSectionRule)加锁实现互斥(MutualExclusion)信号量实现互斥(semaphore)两种互斥方式的区别进程同步(Synchronization)P,V原语实现同步生产者消费者问题读-写问题哲学家就餐问题OperatingSystemConceptionDavidfu进程同步进程同步:把异步环境下的一组并发进程,因直接制约并互相发送消息而进行的相互合作、相互等待,并使进程按照一定的顺序和速度执行的过程。合作进程:具有同步关系的一组进程消息:合作进程互相发送的信号。则可使用以下过程:Wait(消息名):表示进程等待合作进程发来消息Signal(消息名):表示向合作进程发送消息。OperatingSystemConceptionDavidfu信号量分类私用信号量:也可以把各进程之间发送的消息作为信号量看待。公用信号量:互斥时使用的信号量称为公用信号量OperatingSystemConceptionDavidfu生产者消费者问题
生产者和消费者之间满足的条件:消费者接收数据时,有界缓冲区中至少有一个是满的生产者发送数据时,有界缓冲区中至少有一个是空的生产者进程与消费者进程必须互斥OperatingSystemConceptionDavidfuP,V原语实现同步Producer(data)BeginP(available)P(mutex)送数据进入缓冲区某单元V(full)V(mutex)EndConsumer(data)BeginP(full)P(mutex)送数据进入缓冲区某单元V(available)V(mutex)End公用信号量:mutex生产者私用信号量:available,消费者私用信号量:fullOperatingSystemConceptionDavidfu读者-写者问题
读者-写者问题必须保证一个写者与其他进程互斥的访问共享数据的同步问题。加锁实现同步信号量实现同步OperatingSystemConceptionDavidfu哲学家就餐问题
就餐条件:哲学家想吃饭,先提出吃饭要求提出吃饭要求后,并拿到两双筷子后,方可吃饭。如果筷子被他人获得,则必须等待此人吃完后,才能获取筷子对于已经申请吃饭的任一个哲学家在自己未拿到两只筷子吃饭之前,不放下自己的筷子刚开始就餐时,只允许两个哲学家请求吃饭OperatingSystemConceptionDavidfu不相邻的哲学家同时要求吃饭信号量S[i]来互斥两两相邻哲学家的吃饭请求。信号量chopstick[i]来互斥筷子的使
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026四川九州光电子技术有限公司招聘研发助理工程师1人备考题库含答案详解(新)
- 排水管道通球试验专项施工方案
- 2026浙江温州大学招聘辅导员岗位7人备考题库附答案详解(黄金题型)
- 2026-2026年人音版小学第三册音乐教学计划-人音版小学二年级
- 标识标牌安装项目施工组织计划方案
- 2026广东广州医科大学校本部第二次招聘3人备考题库及一套答案详解
- 航天工程施工难点管理措施他
- 2026年4月广东广州市天河区体育西幼儿园编外教辅人员招聘1人备考题库含答案详解(预热题)
- 2026云南省房物业管理有限公司招聘7人备考题库含答案详解(精练)
- 2026福建泉州市晋江市中医院医共体编外人员招聘6人备考题库(一)及答案详解(历年真题)
- 2026年中国邮政储蓄银行招聘真题
- 北京市燕山区2026年中考一模英语试题(含答案)
- 2026年执业医师考试综合考试题库试题附答案完整版
- 2025年东莞市网格员笔试试题及答案
- 2026年及未来5年市场数据中国消防火灾报警系统行业市场竞争格局及投资前景展望报告
- 2026年统编版小学道德与法治四年级下册《我们当地的风俗》教学课件
- 防灾减灾知识竞赛课件
- 2026五年高考英语真题高频800核心词汇(完整版可直接打印背诵)
- (一模)惠州市2026届高三4月模拟考试英语试卷(含答案详解)
- 国家义务教育质量监测四年级科学质量检测试题
- 小学信息技术课堂中STEAM教育模式研究教学研究课题报告
评论
0/150
提交评论