习题课_互斥同步通信ppt课件.ppt

习题课_互斥同步通信ppt课件.ppt

ID:59389652

大小:199.50 KB

页数:35页

时间:2020-09-20

习题课_互斥同步通信ppt课件.ppt_第1页
习题课_互斥同步通信ppt课件.ppt_第2页
习题课_互斥同步通信ppt课件.ppt_第3页
习题课_互斥同步通信ppt课件.ppt_第4页
习题课_互斥同步通信ppt课件.ppt_第5页
资源描述:

《习题课_互斥同步通信ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、习题课_进程互斥、同步与通信基本概念临界资源、临界区同步与互斥软件、硬件方法解决互斥问题信号量机制结构型信号量经典进程同步问题管程进程通信在操作系统中,PV操作是一种()机器指令系统调用命令作业控制命令低级进程通信原语答案:D临界区是()一个缓冲区一段共享数据区一段程序一个互斥资源答案:C若信号量S的初值为2,当前值为-1,则表示有()个等待进程0123答案:B下面描述中,()是正确的进程执行的速度不能由进程自己来控制PV操作都是原语操作利用信号量的pv操作可以交换大量信息同步是指并发进程之间存在的一种制约关系答案:ABD下面哪个选项体现了原语

2、的主要特点?()并发性异步性共享性不可分割性答案:D下面哪个选项不是管程的组成部分()局部于管程的共享数据结构对管程内数据结构进程操作的一组过程管程外过程调用管程内数据结构的说明对局部于管程的数据结构设置初始值的语句答案:C信箱通信是一种()通信方式。直接间接低级会合答案:B有三个进程A,B,C协作解决文件打印问题。A将文件记录从磁盘读入内存的缓冲区1,每执行一次读一个记录;B将缓冲区1的内容复制到缓冲区2,每执行一次复制一个记录;C将缓冲区2的内容打印,每执行一次打印一个记录。缓冲区的大小和一个记录大小一样。使用PV操作来保证文件的正确打印。

3、练习1缓冲区1缓冲区2PAPBPC从磁盘读入复制打印Pa与pb共用一个缓冲区1;Pb与pc共用一个缓冲区2;当缓冲区1为空时,PA可将一个记录读入其中若缓冲区1有数据,缓冲区2为空时,PB可将记录从缓冲区1复制到缓冲区2若缓冲区2有数据,PC可以打印记录其他条件下,相应进程必须等待设置如下信号量S1,s2为互斥信号量,初值为1,分别用于对缓冲区1,2的互斥访问Full1,full2为同步信号量,初值为0,分别表示缓冲区1,2还没有被取用的记录Empty1,empty2为同步信号量,初值为1,分别表示缓冲区1,2空闲,可以存放记录PB() { w

4、hile(true) {从1取记录将记录存入2} }PA() { while(true) {从磁盘读一个记录将记录存入1} }PC() { while(true) {从2取记录打印记录} }PB() { while(true) {P(full1)从1取记录V(empty1)P(empty2)将记录存入2V(full2)} }PA() { while(true) {P(empty1)从磁盘读一个记录将记录存入1V(full1)} }PC() { while(true) {P(full2)从2取记录v(empty2)打印记录} }PB既是生产者又是

5、消费者注意:自行添加互斥代码PB() { while(true) {P(full1)P(S1)从1取记录V(S1)V(empty1)P(empty2)P(S2)将记录存入2V(S2)V(full2)} }PA() { while(true) {P(empty1)从磁盘读一个记录P(S1)将记录存入1V(S1)V(full1)} }PC() { while(true) {P(full2)P(S2)从2取记录V(S2)v(empty2)打印记录} }PB() { while(true) {P(full1)从1取记录将记录存入2} }PA() { w

6、hile(true) {从磁盘读一个记录将记录存入1V(full1)} }PC() { while(true) {从2取记录打印记录} }PB() { while(true) {P(full1)从1取记录V(empty1)将记录存入2} }PA() { while(true) {P(empty1)从磁盘读一个记录将记录存入1V(full1)} }PC() { while(true) {从2取记录打印记录} }PB() { while(true) {P(full1)从1取记录V(empty1)将记录存入2} }PA() { while(true)

7、 {P(empty1)从磁盘读一个记录将记录存入1V(full1)} }PC() { while(true) {从2取记录打印记录} }PB() { while(true) {P(full1)从1取记录V(empty1)将记录存入2V(full2)} }PA() { while(true) {P(empty1)从磁盘读一个记录将记录存入1V(full1)} }PC() { while(true) {P(full2)从2取记录打印记录} }PB() { while(true) {P(full1)从1取记录V(empty1)P(empty2)将记录

8、存入2V(full2)} }PA() { while(true) {P(empty1)从磁盘读一个记录将记录存入1V(full1)} }PC() {

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。