操作系统【信号量集机制、“读者-写者”问题】
- 0、信号量机制应用引导篇.flv
- 1、信号量集机制解决读写问题深入分析.flv 03:00
- 2、“读者-写者”问题之“顺序执行”.flv 07:32
- 3、信号量集机制解决读者写者问题分析.flv 12:07
- 4、“读者-写者”问题之“写者优先”.flv 14:54
- 5、信号量机制应用总结.flv
- 6、信号量机制总结.flv
目录
0、信号量机制应用引导篇.flv
例1分析解答
例2分析解答
例3分析解答
1、信号量集机制解决读写问题深入分析.flv
2、“读者-写者”问题之“顺序执行”.flv
3、信号量集机制解决读者写者问题分析.flv
4、“读者-写者”问题之“写者优先”.flv
5、信号量机制应用总结.flv
6、信号量机制总结.flv
0、信号量机制应用引导篇.flv
3个补充例题
- 问题1:严格的互斥问题。——统一资源的不同使用方式问题。
- 问题2:P1、P2之间有合作关系。——统一资源的不同使用方式问题。
- 问题3:在问题2的基础上,增加难度。
例1分析解答
P1、P2都需要使用缓冲区B1,需要分析每一个进程使用缓冲区的前提与结果。
P1使用缓冲区,就是存放临时数据的,P1使用缓冲区前,要先得到缓冲区的使用权,执行后,释放B1的使用权。
两个进程形成各自的前提结果对。只要B1中无数据,就可以被使用。
两个前提结果对 相同,因此只需设置一个信号量s(s代表B1使用权)。
B1一次只能容纳一个暑假,因此将B1初始值设置为1。
P1执行wait(s)通过的时候,进程P1可以使用缓冲区,s的值 将变为0。P2执行wait(s)的时候,s的值 将变为-1,P2陷入阻塞!
P1用完缓冲区,执行signal(s),唤醒进程P2,保证P2能够继续执行。保证临界区的互斥使用。
例2分析解答
P1执行的操作:送数据到B1;P2从B1中取数据。
P1把数据送到B1缓冲区的前提是:B1为空(P1在B1为空的时候,才能送数据!)。执行结果:数据送入B1,B1变为非空(有数据)。
P2从B1中取数据的前提:B1非空且B1有数据。数据被取走后,B1将再次变为空。
前提结果对:绿线、紫线。
初始时,B1为空,s1为真,即:将s1设置为1、s2设置为0。
在严格的互斥问题中,在一个进程实体内部,wait()与signal()是成对出现的;在复杂的进程同步问题中,将使用同一种资源的不同状态——需要为资源的每一种状态单独设置信号量,信号量初值根据题目,只有一种状态为真,剩下为假。
在题目中,最直观的体现是:使用到的是“同一种资源的不同状态”的时候,在同一个进程实体内部,wait()与signal()不会成对出现;在多个进程实体之间,wait()与signal()是成对出现的。
例3分析解答
问题3:问题2的延伸。
存在4个前提结果对。设置4个信号量,每个资源都有2种不同的状态。
s1:空B1; s2:非空B1; s3:空B2; s4:非空B2。
进程C改进——资源什么时候使用,什么时候申请,使用过后,立刻释放!
严格的互斥(对资源设置一个信号量,在进程内部申请/释放资源,前提结果对成对出现)与 复杂的同步(存在次序关系,统一资源使用的是不同的状态,分别设置信号量,在同一个进程实体内部 wait()与signal()不会成对出现),使用过程完全不同。
1、信号量集机制解决读写问题深入分析.flv
2、“读者-写者”问题之“顺序执行”.flv
读者优先的实现:后边的读进程 不需要 申请 文件的使用权,而每一个写进程需要申请文件的使用权,所以读进程越过了写进程来执行。
写进程与其它进程互斥!
3、信号量集机制解决读者写者问题分析.flv
4、“读者-写者”问题之“写者优先”.flv
5、信号量机制应用总结.flv
6、信号量机制总结.flv
操作系统【信号量集机制、“读者-写者”问题】相关推荐
- 操作系统_信号量集机制
目录 1,AND型信号量集机制 基本思想 实现 与记录型信号量对比 应用实例 1,生产者消费者问题 2,哲学家进餐问题 2,一般信号量集机制 基本思想 实现 应用实例 1,读者写者问题 1,AND型信 ...
- 信号量机制——读者-写者问题
信号量机制--读者-写者问题 问题描述 一个共享数据区,有若干个进程负责对其进行读入工作,若干个进程负责对其进行写入工作. 允许多个进程同时读数据 互斥读数据 若有进程写数据,不允许读者读数据 对照生 ...
- 同步机制—读者写者问题
[实验目的] 理解临界区和进程互斥的概念,掌握用信号量和PV操作实现进程互斥的方法. [实验内容] 在windows或者linux环境下编写一个控制台应用程序,该程序运行时能创建N个线程,其中既有读者 ...
- 【操作系统⑧】——信号量与PV操作(下)【哲学家进餐问题 AND型信号量 信号量集机制】
- 【操作系统】Semaphore处理读者-写者问题
"Reader-Writer"问题 问题描述 问题分析 关系分析 求解思路 信号量设置 问题解决 方案一 方案二 对比 问题描述 有读者和写者两组并发进程,共享一个文件,当两个或以 ...
- 操作系统课程设计----读者-写者 问题(c语言)
问题描述: 所谓读者写着问题,是指保证一个writer进程必须与其他进程互斥地访问共享对象的同步问题.读者写者问题可以这样的描述,有一群写者和一群读者,写者在写同一本书,读者也在读这本书,多个读者可以 ...
- java 读者写者_Java实现生产者消费者问题与读者写者问题详解
1.生产者消费者问题 生产者消费者问题是研究多线程程序时绕不开的经典问题之一,它描述是有一块缓冲区作为仓库,生产者可以将产品放入仓库,消费者则可以从仓库中取走产品.解决生产者/消费者问题的方法可分为两 ...
- java实现带界面的生产者消费者_Java实现生产者消费者问题与读者写者问题
1.生产者消费者问题 生产者消费者问题是研究多线程程序时绕不开的经典问题之一,它描述是有一块缓冲区作为仓库,生产者可以将产品放入仓库,消费者则可以从仓库中取走产品.解决生产者/消费者问题的方法可分为两 ...
- Java 5种方法实现生产者消费者问题与2种方法实现读者写者问题
摘要: Java实现生产者消费者问题与读者写者问题 1.生产者消费者问题 生产者消费者问题是研究多线程程序时绕不开的经典问题之一,它描述是有一块缓冲区作为仓库,生产者可以将产品放入仓库,消费者则可以从 ...
最新文章
- panads 访问 csv 数据集
- 宋体字体是什么_Win10 系统替换 macOS 苹方字体 - 瞬间提升文字清晰
- Linux——自定义服务命令
- 干货|机器学习零基础?不要怕,吴恩达机器学习课程笔记2-多元线性回归
- 不显示参数名_第51p,万能参数与返回值,Python中函数的返回值
- git 小乌龟 TortoiseGit 记住账号密码
- Mybatis批量insert报错的解决办法【the right syntax to use near '' at line...】
- Linux支持运行3dmax,Mesa的Panfrost Gallium3D驱动程序现在可以使用新的DRM驱动程序
- java虚拟机内存_java虚拟机内存区域的划分以及作用详解
- 三行代码,教你在python中将MP4转化为GIF,这不完胜迅捷视频转化器?
- Android自定义输入车牌号键盘、车牌简称 | 数字 | 字母键盘
- 免费的html模板开源网站
- O'Stolz 定理及其应用
- PBR 六 材质参数
- java excel换行_java poi出excel换行问题
- 关于浏览器提示“隐私设置错误/证书错误导航已阻止”之 网站证书过期解决方案
- pdf转图片,pdf转高清图片方法
- MySQL中强大的mysqladmin
- matlab三维实心图,matlab画实心散点图
- 为什么我对流程情有独钟?
热门文章
- php 输出excepion内容,带有消息“无法关闭zip文件php://输出”的PHPExcel_Writer_Exception...
- centos dovecot mysql_Centos6.4 配置postfix+dovecot+mysql
- mysql 重启失败,重启MySQL服务失败
- 大工20秋计算机组成原理在线作业2,大工20秋《计算机组成原理》在线作业3
- 交换机配置软件_交换机常见故障分类与排除方法
- 七十六、 数据结构二叉树及其代码实现
- 东北大学java期末试卷,[东北大学]18年6月考试《Java语言程序设计I》考核作业(答案)...
- 直播预告 | AAAI 2022论文解读:基于生成模型的语音/歌声合成与歌声美化
- 低精度神经网络:从数值计算角度优化模型效率
- 对称振子天线matlab程序,对称振子天线详解.ppt