操作系统 第二章【记录型信号量机制、独木桥问题】【MOOC答案】_简述生产者消费者问题的解决方案,并说明用记录型信号量机制解决生产者消费者-程序员宅基地

技术标签: 生产者消费者问题  记录型信号量机制  独木桥问题  操作系统  哲学家进餐问题  

目录

第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);

}

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_44949135/article/details/115872920

智能推荐

保护眼睛——SecureCTR背景色设置_onctrlcolor更改背景颜色-程序员宅基地

文章浏览阅读1.3k次。面对着电脑干一天活儿--------------眼睛感觉有些累;面对着电脑干一星期活--------------眼睛感觉挺累;面对电脑干一个月的活--------------眼睛有点受不了;工作性质就得必须天天面对电脑,长年累月的眼睛实在是吃不消,从今天开始,把电脑窗_onctrlcolor更改背景颜色

charles设置网络丢包率_charles上下行丢包率-程序员宅基地

文章浏览阅读210次。_charles上下行丢包率

基于单片机的红外报警系统设计-程序员宅基地

文章浏览阅读694次,点赞3次,收藏15次。基于单片机的红外报警系统设计基本要求:通过红外传感器探测可疑入侵,通过声光报警。创新:能够区分人和动物。任务区分:A——通过播放蜂鸣声音报警。B——通过灯光闪烁报警。根据设计任务,分析设计系统的组成,给出实现设计任务的几种方案,分析比较几种设计方案的优略,本着尽量以软件代替硬件,同时力求电路简单,工作可靠的原则,确定总体设计方案。根据系统设计方案进行软、硬件的分配,软、硬件设计分别进行。_基于单片机的红外报警系统

PaddlePaddle飞桨之深度学习7日入门 总结_def data_reader-程序员宅基地

文章浏览阅读1.7k次。目录Day01 新冠疫情可视化第一天的任务主要有两个,第一个是飞桨的本地安装,以及新冠疫情可视化。作业1:飞桨本地安装这门课程我感觉首先是可以给大家普及cv方面的知识,另一方面也是为了普及飞桨这个框架的使用。所以飞桨的本地安装。飞桨的官网:https://www.paddlepaddle.org.cn/documentation/docs/zh/install/index_cn..._def data_reader

基于 HTML5 WebGL 的 3D 机房数据中心可视化展示-程序员宅基地

文章浏览阅读798次,点赞20次,收藏22次。前言在 3D 机房数据中心可视化应用中,随着视频监控联网系统的不断普及和发展, 网络摄像机更多的应用于监控系统中,尤其是高清时代的来临,更加快了网络摄像机的发展和应用。在监控摄像机数量的不断庞大的同时,在监控系统中面临着严峻的现状问题:海量视频分散、孤立、视角不完整、位置不明确等问题,始终围绕着使用者。因此,如何更直观、更明确的管理摄像机和掌控视频动态,已成为提升视频应用价值的重要..._webgl 机房

请思考遥感解译数据应用于金融投资领域的其他方面的场景,简述其中两例,并给出原因。...-程序员宅基地

文章浏览阅读119次。遥感解译数据可用于金融投资领域的其他方面有:基础设施投资: 遥感数据可用于评估基础设施项目的可行性和潜在收益,例如通过监测城市扩张和人口增长来评估投资交通基础设施的可行性。农业投资: 遥感数据可用于评估农业投资的可行性和潜在收益,例如通过监测土壤湿度和作物生长状况来评估投资农田开发的可行性。原因: 遥感数据提供了客观、全面和近实时的地理信息,可用于评估项目的可行性和潜在收益,帮助金融投资者..._遥感信息解译经济意义

随便推点

C程序设计内容与例题讲解 -- 第四章--选择结构程序设计第二部分(第五版)谭浩强_c语言选择结构程序设计教案及答案-程序员宅基地

文章浏览阅读298次,点赞18次,收藏10次。在前面我们学习了选择结构和条件判断,用if语句实现选择结构,关系运算符和关系表达式,逻辑运算符和逻辑表达式等知识。今天我们将接着上一篇未讲完的继续讲解。鸡汤:种一棵树最好的时间是十年前,其次是现在!加油各位一起努力!_c语言选择结构程序设计教案及答案

【图像分类】实战——AlexNet实现图像分类(pytroch)_alexnet优化器是adam还是sgd-程序员宅基地

文章浏览阅读731次,点赞8次,收藏15次。label = 1 if ‘dog’ in img_path.split(‘/’)[-1] else 0data = Image.open(img_path)data = self.transforms(data)return data, labeldef len(self):return len(self.imgs)然后我们在train.py调用DogCat读取数据dataset_train = DogCat(‘data/train’, transforms=transform, train=True)d_alexnet优化器是adam还是sgd

弹出模态窗体的应用程序隐藏和恢复显示的问题解决_qt模态对话框无法隐藏-程序员宅基地

文章浏览阅读2.5k次。 主程序是MDI风格的,在弹出很多子窗体并同时有个模态窗体的情况下,实现定时锁屏功能,锁屏后,要使得整个应用程序都最小化,当输入所凭密码后再恢复显示成最初的状态。这个过程会有几个问题点需要解决:1、主窗体包括子窗体可以用frmMain.Hide来隐藏2、是否有弹出来模态窗体需要进行检测,如果有则需要抓出模态窗体的句柄Handle,通过对模态窗体的发消息,隐藏模态窗体3、恢复主窗体用frmMa_qt模态对话框无法隐藏

Keil开发环境与虚拟串口绑定调试[F1单片亲测可行]_keil5虚拟串口-程序员宅基地

文章浏览阅读237次。Keil开发环境与虚拟串口绑定调试_keil5虚拟串口

plugins的介绍使用-程序员宅基地

文章浏览阅读4.3k次。Plugins扩张webpack本身的一些功能,他们会允许在各种模块解析完成以后的打包编译阶段,比如对解析后的模块文件进行压缩等。HtmlwebpackPlugin在打包结束后,自动生成一个html文件,并把打包生成的js抹开引入到该html中npm install --save-dev html -webpack-plugin// webpack.config.jsconst HtmlWebpackPlugin = require("html-webpack-plugin");module_plugins

推荐文章

热门文章

相关标签