- 1、本文档共21页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章进程同步通信2
3.4.3 进程同步的实现 实现:在临界区前后加上一段控制代码(互斥机构)。 设计原则 若有多个进程同时要求进入它们的临界段时,每次最多只允许一个进程处于临界段之中 具体实现方法 软件方法;硬件指令;信号量机制(课程介绍) 信号量与PV操作 信号量机构组成 信号量 P,V操作:两个对信号量S的操作(原子操作) 信号量S(Semaphore) : 操作系统中提供的记录型结构。包括一个整型变量和对应信号量的一个PCB队列指针。 Struct Semaphore ( int count; struct PCB * L; ); P(S)操作 操作定义(S为一信号量) 1)S.count=S.count-1 2)S.count = 0 进程 继续执行 3) S.count 0 阻塞 自己,插入阻塞队列, 意义:申请一份与S有关的资源。 将 S的资源数减 1,当信号量S.count0时,已无资源可分配。进程进入等待队列,直到其它进程对S进行V操作。 P (s)算法描述 Struct Semaphor s { s.count -- ; //表示申请一个资源; if (s.count 0) //表示没有空闲资源; { Block (s. L) //调用进程进入等待队列s.L; 阻塞调用进程; } } V(S)操作 操作定义 1)S.count=S.count+1 2)S.count0 进程 继续执行 3)S.count=0 唤醒阻塞进程,插入就绪队列 意义:释放一份与S有关的资源。 将S资源数加1,当信号量S.count=0时, 等待队列非空。说明有进程因等待该资源而阻塞,唤醒第一个等待进程。 V (s)算法描述 Struct Semaphor s { s.count ++; //表示释放一个资源; if (s.count = 0) //表示有进程处于阻塞状态; { Wakeup (s. L) //从等待队列s.L中取出一个进程; 进程P进入就绪队列; } } 用PV操作实现进程的互斥 方法:为临界资源设置一个互斥信号量S,在每个进程中将临界区代码置于P(S)和V(S)原语之间 信号量初值,为1或N; 互斥实现举例 用PV操作实现简单同步 方法:需先运行的进程在执行临界段后做V操作(释放资源),需后运行的进程在执行临界段前做P操作。 信号量S,其初值为1 用PV操作实现同步 经典进程同步问题 用PV原语描述阅览室阅读的控制算法 用PV原语描述阅览室阅读的控制算法 3.5 进程通信 进程通信类型 低级通信方式(如信号量机制)。 高级通信方式 共享存储器方式 消息缓冲方式 管道通信方式 共享存储器方式 基于共享数据结构的通信方式: 各进程公用某种数据结构,通过其进行通信。 基于共享存储区的通信方式: 各进程通过对一共享存储区中的数据进行读写实现通信。 管道通信方式 一个用于进程间通信的共享文件(pipe),它把一个进程与另一个进程联接进来,是一个通信通道。 管道类型:无名管道、有名管道。 消息系统 消息系统中,进程间数据交换以消息(message)为单位进行传送,用户可直接利用系统提供的一组通信命令来实现通信。主要通信方式。 实现方式 直接通信:一个进程直接发送消息给接受者进程 间接通信:进程通过一个“信箱”来传递消息 进程调度 任务:根据一定的策略动态地将处理机分配给处于就绪队列的一个进程。 多级调度:高级(作业)、低级(进程)、中级(交换)调度 进程调度方式:非剥夺方式、剥夺(抢先)方式 进程调度算法:FCFS,SPF,时间片轮转法,优先级 第3章 教学要求(2) 掌握: P 、V操作及物理意义,进程的简单同步及互斥实现方法,高级通信方式类型, 了解:各高级通信方式 * * 信号量 P(S) V(S) P(S); V(S); P(S); V(S); V(S) P(S) V(S) P(S) p(S) V(S) 1. 生产者-消费者问题 问题描述:若干进程通过N个共享缓冲区交换数据。其中,“生产者”进程不断写入,而“消费者”进程不断读出; 同步:buf满时,Pi必须等待; buf空时, Ci必须等待。 设信号量Full表示buf中数据的个数;设信号量 Empty表示buf中空白格子的个数 互斥: Pi 、Ci必须互斥使用buf。
您可能关注的文档
- 第26课《天鹅的故事》课件.ppt
- 第28讲常见的酸和碱.pptx
- 第2单元牛顿第二定律.ppt
- 第25课《词五首》黄雪梅.ppt
- 第27课《一个小村庄的故事》课件第二课时简版.ppt
- 第2章3受力分析物体的平衡.ppt
- 第2章FoxPro数据及其.ppt
- 第2单元加减混合运算:解决问题.ppt
- 第2章《声现象测试》.ppt
- 第2章不同文化下的消费者行为.ppt
- 土地产值赔偿协议书范本.docx
- 土地交换协议书范本.docx
- 土地交换协议书范本格式.docx
- 2023年乌海市公务员考试行测试卷历年真题附答案详解(黄金题型).docx
- 人教版高中英语选择性必修第3册全册教学课件(2025年7月修订).pptx
- 陕西省农业农村厅直属事业单位招聘考试真题2024.docx
- 2023年乌鲁木齐市公务员考试行测试卷历年真题及答案详解(各地真题).docx
- 2023年乌鲁木齐市公务员考试行测试卷历年真题及答案详解(夺冠系列).docx
- 2023年乌鲁木齐市公务员考试行测试卷历年真题及答案详解(新).docx
- 2023年乌鲁木齐市公务员考试行测试卷历年真题及答案详解(典优).docx
最近下载
- 项目一集控运行职业岗位认知课件.pptx VIP
- Nordic 系列:nRF52840 (基于 Cortex-M4)_(25).nRF52840的硬件测试.docx VIP
- Nordic 系列:nRF52840 (基于 Cortex-M4)_(16).nRF52840的硬件设计指南.docx VIP
- 医疗器械说明书:迈瑞麻醉机WATO+EX-55,65_使用说明书V_1.1中文.pdf
- GMC96B钢轨打磨列车手册.pdf VIP
- 南京三合宅课件.ppt VIP
- 猩红热护理查房.pptx VIP
- 中国肺血栓栓塞症诊治、预防和管理指南(2025版).pptx
- 2025年高考数学全国新课标Ⅰ卷试卷评析及备考策略(课件).pptx VIP
- 医疗器械 质量手册 ISO 13485 QRS 820 (通过FDA、NMPA、CE的审批 版.pdf VIP
文档评论(0)