目录

第1题

第2题

第3题

第4题


第1题

1( 30分 )

简述生产者消费者问题的解决方案,并说明用记录型信号量机制解决生产者消费者问题时Wait()操作的次序不当会在什么情况下引发死锁。

得分指导:

关键点:wait(  )次序不当时,mutex.value=1,empty.value=n,full.value=0时,先调度消费者,再调度生产者死锁;mutex.value=1,empty.value=0,full.value=n时,先调度生产者,再调度消费者死锁。

问题描述15分;死锁情况15分。

第2题

2( 30分 )

讨论用记录型信号量机制实现的不会出现死锁的哲学家进餐问题的解决关键,并给出一种解决方案。

得分指导:

答案提示:

问题解决的关键在于如何通过直接或间接的方式让申请并得到第一根筷子的哲学家的人数<=4。

解决关键:10分

实现方案:20分

第3题

3( 30分 )    

独木桥问题:有一座东西方向的独木桥(W-E),若桥有一定的承载能力,允许同方向的行人同时通过桥,如何用信号量机制实现东西两个方向上两类行人PWEi(  )和 PEWj(  )对桥的使用?

得分指导:

答案提示:

就是读者写者问题的同类问题,每个方向上第一个上桥的人申请桥的使用权,最后一个下桥的人释放桥的使用权。为了判断谁是行走方向上的第一个和最后一个,为每个方向设置一个计数器,但对每个方向的行人而言,计数器需要互斥访问,因此,需要为每个方向的计数器再设置信号量。信号量共有3个。

信号量设置5分,计数器设置3分,每个方向的实现代码11分。

第4题

4( 10分 )

一个最多可以同时容纳N名顾客同时购物的超市有一个出口和一个入口,若出口和入口一次均只能允许一名顾客出入。如何用信号量机制实现顾客进程之间的同步?

得分指导:

答案提示:

三个信号量:进入的名额s,入口in,出口out,初始值分别为n、1、1;

Pi( ){

P(s);

P(in);

通过入口;

V(in);

购物……;

P(out);

通过出口;

V(out);

V(s);

}

操作系统 第二章【记录型信号量机制、独木桥问题】【MOOC答案】相关推荐

  1. 8 操作系统第二章 进程管理 信号量 PV操作 用信号量机制实现 进程互斥、同 步、前驱关系

    文章目录 1 信号量机制 1.1 整形信号量 1.2 记录形信号量 1.3 信号量机制小结 2 用信号量机制实现进程互斥.同 步.前驱关系 2.1 信号量机制实现进程互斥 2.2 信号量机制实现进程同 ...

  2. 利用记录型信号量机制: wait(s), signal(s)解决进程同步问题

    wait(s) 等价与P操作, signal(s)等价于V操作 生产者-消费者问题 int in = 0, out = 0; item buffer[n]; semaphore mutex = 1, ...

  3. 操作系统 第二章 进程的描述与控制(4)进程同步(重点)

    计算机操作系统 读书笔记 第二章 进程的描述与控制 进程同步(重点) 计算机操作系统 前言 进程同步 一.进程同步的基本概念 1.1 两种形式的制约关系 1.2 临界资源(Critical Resou ...

  4. 笔记篇:操作系统第二章 进程管理

    笔记篇:操作系统第二章 进程管理 目录 笔记篇:操作系统第二章 进程管理 2.1 进程的基本概念 2.1.1 程序的顺序执行及其特征 2.1.2 前驱图 2.1.3 程序的并发执行及其特征 2.1.4 ...

  5. (王道408考研操作系统)第二章进程管理-第三节4:信号量机制(整型、记录型信号量和P、V操作)

    文章目录 一:信号量是什么 二:整型信号量 三:记录型信号量 可以看出,不管是进程互斥的软件实现方法还是硬件实现方法,他们都无法解决"让权等待"这个问题,也即处理会处于会处于忙等状 ...

  6. 2.3.4 操作系统之信号量机制(整型信号量、记录型信号量P、V)

    文章目录 0.思维导图 1.为什么引入信号量机制? 2.什么是信号量机制? 3.整型信号量 4.记录型信号量 (1)举一个生动形象的例子了解记录型信号量 (2)梳理一下记录型信号量的知识点(P.V) ...

  7. 模拟进程创建、终止、阻塞、唤醒原语_操作系统第二章--进程的描述与控制

    操作系统第二章--进程的描述与控制 前趋图和程序执行 前趋图 前趋图是一个有向无循环图DAG,用来描述进程之间执行的前后关系 初始结点:没有前趋的结点 终止结点:没有后继的结点 重量:表示该结点所含有 ...

  8. 操作系统 第二章 进程管理

    2.1 进程与线程 第一节零碎知识比较多,关键在于进程状态的切换.进程线程的关系. 第一章中提到过的多道程序环境,由于程序的特点,不能让程序并发,所以引入了进程的概念,让进程来并发,从而实现了多道程序 ...

  9. 操作系统第二章进程的描述与控制

    第二章进程的描述与控制 前驱图和程序执行 程序并发执行 程序的并发执行 程序并发执行时的特征 间断性 失去封闭性 不可再现性 进程的描述 进程的定义 进程是程序的一次执行 进程是一个程序及其数据在处理 ...

最新文章

  1. python怎么读取txt文件并统计其字数-python计算文件的行数和读取某一行内容的实现方法...
  2. react更改路由入参_react怎么路由传参?
  3. 1.1.4 错题知识整理(机器语言、汇编语言、正则语言、解释程序、编译、汇编)
  4. boost::filesystem::equivalent的用法测试程序
  5. 进程间通信管道进阶篇:linux下dup/dup2函数的用法
  6. 网站为什么 JS 调用尽量放到网页底部?
  7. sky下载 star_star sky五军之战高清无损下载 star sky 高清mv下载
  8. linux批量做信任,Linux 批量建立信任关系,实现ssh无password登陆的脚本
  9. cuSPARSE库:(六)cusparseMatrixType_t的说明
  10. ros开发增加clion常用模板及初始化配置(六)
  11. java ftp取远程服务器时间_在 Java 中如何获取 FTP 服务器上的文件修改时间
  12. 饿了么是视障者非常喜欢的APP,你们要加油哦!
  13. AT24C02跨页写数据
  14. 破解密码很难?利用Python自动编写暴力破解字典,黑客必学技能!
  15. 用树莓派搭建全功能NAS服务器(01):树莓派基础操作OMV搭建
  16. dB单位与放大倍数关系
  17. 对于跳过Google应用SetupWizard.apk以及其他设备软件包名
  18. php redis获取incr的值,Redis Incr命令
  19. 将c语言程序转化成伪代码,怎么把伪代码变成源代码
  20. 批处理经典入门教程!(从不懂到高手)

热门文章

  1. springmvc提供RestController方法接口返回json数据中文乱码
  2. 多个安卓设备投屏到电脑_辅助多手机同时直播控场 TotalControl手机投屏软件
  3. chrome webdriver_网络爬虫之使用pyppeteer替代selenium完美绕过webdriver检测 阅读目录
  4. oracle节点1关闭节点2的集群,[Oracle] Oracle两个节点分裂,识别不到对方节点的状态...
  5. php隐藏表单提交表单提交表单_表单提交及php处理表单数据的实例
  6. 鸿蒙密视视频加密软件,鸿蒙密视视频加密软件
  7. pytorch 和nltk 结合训练的例子
  8. 安装face_recognition
  9. libsvm matlab 调参数,matlab – 使用libsvm调整svm
  10. ICML 2021文章引发热议:矩阵乘法无需相乘,速度提升100倍