• 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. 操作系统_信号量集机制

    目录 1,AND型信号量集机制 基本思想 实现 与记录型信号量对比 应用实例 1,生产者消费者问题 2,哲学家进餐问题 2,一般信号量集机制 基本思想 实现 应用实例 1,读者写者问题 1,AND型信 ...

  2. 信号量机制——读者-写者问题

    信号量机制--读者-写者问题 问题描述 一个共享数据区,有若干个进程负责对其进行读入工作,若干个进程负责对其进行写入工作. 允许多个进程同时读数据 互斥读数据 若有进程写数据,不允许读者读数据 对照生 ...

  3. 同步机制—读者写者问题

    [实验目的] 理解临界区和进程互斥的概念,掌握用信号量和PV操作实现进程互斥的方法. [实验内容] 在windows或者linux环境下编写一个控制台应用程序,该程序运行时能创建N个线程,其中既有读者 ...

  4. 【操作系统⑧】——信号量与PV操作(下)【哲学家进餐问题 AND型信号量 信号量集机制】

  5. 【操作系统】Semaphore处理读者-写者问题

    "Reader-Writer"问题 问题描述 问题分析 关系分析 求解思路 信号量设置 问题解决 方案一 方案二 对比 问题描述 有读者和写者两组并发进程,共享一个文件,当两个或以 ...

  6. 操作系统课程设计----读者-写者 问题(c语言)

    问题描述: 所谓读者写着问题,是指保证一个writer进程必须与其他进程互斥地访问共享对象的同步问题.读者写者问题可以这样的描述,有一群写者和一群读者,写者在写同一本书,读者也在读这本书,多个读者可以 ...

  7. java 读者写者_Java实现生产者消费者问题与读者写者问题详解

    1.生产者消费者问题 生产者消费者问题是研究多线程程序时绕不开的经典问题之一,它描述是有一块缓冲区作为仓库,生产者可以将产品放入仓库,消费者则可以从仓库中取走产品.解决生产者/消费者问题的方法可分为两 ...

  8. java实现带界面的生产者消费者_Java实现生产者消费者问题与读者写者问题

    1.生产者消费者问题 生产者消费者问题是研究多线程程序时绕不开的经典问题之一,它描述是有一块缓冲区作为仓库,生产者可以将产品放入仓库,消费者则可以从仓库中取走产品.解决生产者/消费者问题的方法可分为两 ...

  9. Java 5种方法实现生产者消费者问题与2种方法实现读者写者问题

    摘要: Java实现生产者消费者问题与读者写者问题 1.生产者消费者问题 生产者消费者问题是研究多线程程序时绕不开的经典问题之一,它描述是有一块缓冲区作为仓库,生产者可以将产品放入仓库,消费者则可以从 ...

最新文章

  1. panads 访问 csv 数据集
  2. 宋体字体是什么_Win10 系统替换 macOS 苹方字体 - 瞬间提升文字清晰
  3. Linux——自定义服务命令
  4. 干货|机器学习零基础?不要怕,吴恩达机器学习课程笔记2-多元线性回归
  5. 不显示参数名_第51p,万能参数与返回值,Python中函数的返回值
  6. git 小乌龟 TortoiseGit 记住账号密码
  7. Mybatis批量insert报错的解决办法【the right syntax to use near '' at line...】
  8. Linux支持运行3dmax,Mesa的Panfrost Gallium3D驱动程序现在可以使用新的DRM驱动程序
  9. java虚拟机内存_java虚拟机内存区域的划分以及作用详解
  10. 三行代码,教你在python中将MP4转化为GIF,这不完胜迅捷视频转化器?
  11. Android自定义输入车牌号键盘、车牌简称 | 数字 | 字母键盘
  12. 免费的html模板开源网站
  13. O'Stolz 定理及其应用
  14. PBR 六 材质参数
  15. java excel换行_java poi出excel换行问题
  16. 关于浏览器提示“隐私设置错误/证书错误导航已阻止”之 网站证书过期解决方案
  17. pdf转图片,pdf转高清图片方法
  18. MySQL中强大的mysqladmin
  19. matlab三维实心图,matlab画实心散点图
  20. 为什么我对流程情有独钟?

热门文章

  1. php 输出excepion内容,带有消息“无法关闭zip文件php://输出”的PHPExcel_Writer_Exception...
  2. centos dovecot mysql_Centos6.4 配置postfix+dovecot+mysql
  3. mysql 重启失败,重启MySQL服务失败
  4. 大工20秋计算机组成原理在线作业2,大工20秋《计算机组成原理》在线作业3
  5. 交换机配置软件_交换机常见故障分类与排除方法
  6. 七十六、 数据结构二叉树及其代码实现
  7. 东北大学java期末试卷,[东北大学]18年6月考试《Java语言程序设计I》考核作业(答案)...
  8. 直播预告 | AAAI 2022论文解读:基于生成模型的语音/歌声合成与歌声美化
  9. 低精度神经网络:从数值计算角度优化模型效率
  10. 对称振子天线matlab程序,对称振子天线详解.ppt