一、吸烟者问题

1、问题描述

假设一个系统有三个抽烟者进程和一个供应者进程。每个抽烟者不停地卷烟并抽掉,但是要卷起并抽掉一支烟,需要三种材料:烟草、纸、胶水。三个抽烟者中,每一个第一个拥有烟草,第二个拥有纸,第三个拥有胶水。供应者无限提供三种材料,供应者每次将两种材料放桌子上,拥有剩下材料的抽烟者卷一支烟并抽掉它,并给供应者一个信号完成了,供应者就会把另外两种材料再放桌子上,这个过程一直重复(三个抽烟者轮流抽烟)

2、问题分析

1、关系分析。

供应者与三个抽烟者分别是同步关系。由于抽烟者无法同时满足两个或以上的抽烟者,三个抽烟者对抽烟这个动作互斥(或由三个抽烟者轮流抽烟得知)

2、整理思路。

四个进程,供应者作为生产者向三个抽烟者提供材料

3、信号量设置

信号量offer1、offer2、offer3分别表示烟草和纸组合,烟草和胶水组合,胶水和纸组合。信号量finish表示抽烟完成信号

3、实现

二、读者-写者问题

建议看视频讲解,容易理解

地址:https://www.bilibili.com/video/av31584226/?p=10   定位50分钟

1、问题描述

有读者和写者两组并发进程,共享一个文件,当两个或两个以上的读进程同时访问共享数据时不会产生副作用,但若某个写进程 和其他进程(写进程或读进程)同时访问共享数据时则可能导致数据不一致的错误。因此要求:

  • 允许多个读者可以同时对文件执行读操作;
  • 只允许一个写者往文件中写信息;
  • 任一写者再完成写操作之前不允许其他读者或写者工作;
  • 写者执行写操作前,应让已有的读者和写者全部退出。

2、问题分析

3、实现

写优先:

操作系统 --经典同步问题之吸烟者问题读者-写者问题(七)相关推荐

  1. (王道408考研操作系统)第二章进程管理-第三节8:经典同步问题之吸烟者问题

    本文接: (王道408考研操作系统)第二章进程管理-第三节6:经典同步问题之生产者与消费者问题 ((王道408考研操作系统)第二章进程管理-第三节7:经典同步问题之多生产者与多消费者问题 文章目录 一 ...

  2. 操作系统-经典同步例题

    目录 1. 生产者/消费者问题 2. 读者和写者问题 3. 理发师睡觉问题 1. 生产者/消费者问题 描述: 一个或多个生产者产生数据并放入缓冲 每次只能有一个消费者从缓冲区取数据(互斥) 每次只能由 ...

  3. 进程、线程知识点总结和同步(消费者生产者,读者写者三类问题)、互斥、异步、并发、并行、死锁、活锁的总结

    转自:http://www.cnblogs.com/kubixuesheng/p/4355786.html 进程:是个动态的概念,指的是一个静态的程序对某个数据集的一次运行活动,而程序是静态的概念,是 ...

  4. 操作系统之进程管理:14、读者-写者问题

    14.读者-写者问题 问题描述 解题思路 注意 问题描述 解题思路 分析: 无论是写写还是读写互斥都是对文件的互斥访问,需要一个互斥信号量rw,在读和写的前后加入互斥访问 问题1:但是这样的话无法实现 ...

  5. 【操作系统/OS笔记14】经典同步问题:读者-写者问题、哲学家就餐问题

    本次笔记内容: 10.6 经典同步问题-1 10.7 经典同步问题-2 10.8 经典同步问题-3 10.9 经典同步问题-4 10.10 经典同步问题-5 10.11 经典同步问题-6 文章目录 读 ...

  6. (王道408考研操作系统)第二章进程管理-第三节10:经典同步问题之哲学家进餐问题

    本文接: (王道408考研操作系统)第二章进程管理-第三节6:经典同步问题之生产者与消费者问题 ((王道408考研操作系统)第二章进程管理-第三节7:经典同步问题之多生产者与多消费者问题 (王道408 ...

  7. 操作系统 | PV操作七大经典问题 生产者消费者 读者写者 哲学家进餐 理发师理发睡觉 和尚打水 吸烟者 吃水果

    一.生产者消费者问题 生产者消费者问题(英语:Producer-consumer problem),也称有限缓冲问题(英语:Bounded-buffer problem),是一个多线程同步问题的经典案 ...

  8. 2.3.6 操作系统之进程同步与互斥经典问题(生产者-消费者问题、多生产者-多消费者问题、吸烟者问题、读者-写者问题、哲学家进餐问题)

    文章目录 0.前言 1.生产者-消费者问题 (1)问题描述 (2)问题分析 (3)如何实现? (4)实现互斥的P操作一定要在实现同步的P操作之后 (5)知识回顾与重要考点 2.多生产者-多消费者问题 ...

  9. 操作系统(四) | 经典进程的同步问题(生产者--消费者问题、哲学家进餐问题、读者--写者问题)

    文章目录 生产者--消费者问题 分析 实现 哲学家进餐问题 方法一:最多4人同时拿左筷子,最终保证一人能进餐 方法二:同时给左右筷子 解法1:AND信号量 解法2:信号量保护机制 方法三:让奇数先左后 ...

最新文章

  1. 基于μC/OS—III的CC1120驱动程序设计
  2. Ubuntu10下MySQL搭建Amoeba系列(文章索引)
  3. @ConditionalOnMissingBean注解理解
  4. (转)使用XmlDocument类完成对XML的查、删、添、改
  5. 一文搞懂物联网Modbus通讯协议
  6. mysqldb mysql config,安装mysqldb python界面时找不到mysql_config
  7. ruby字符串截取字符串_如何在Ruby中附加字符串?
  8. python 导出数据并发邮件_Python 获取zabbix数据图并发邮件
  9. ZOJ 2859 二维RMQ(模板)
  10. 国家计算机房机柜接地图集,中国铁塔机房及室外机柜标准图集.pdf
  11. 《人工智能》机器学习 - 第1章 机器学习简介
  12. 基于高德地图实现热力地图和标记点显示文字
  13. java共享汽车租赁系统
  14. 使用Sbert预训练的TTS模型《Expressive Text-to-Speech using Style Tag》
  15. linux安装rlwrap 解决sqlplus不能上下翻问题
  16. 锁相环(PLL)的工作原理
  17. Android实战:CoolWeather酷欧天气(加强版数据接口)代码详解(上)
  18. SQLmap在进行SQL注入时的整个流程
  19. windows 消息处理
  20. 使用Java实现建造者模式

热门文章

  1. 一个最大化条件概率问题
  2. 后台管理系统-前端2
  3. Spring AOP——Spring 中面向切面编程
  4. python 保障系统(一)
  5. 两台笔记本电脑之间实现屏幕扩展
  6. 【BZOJ4802】【Pollard-Rho模板题】欧拉函数
  7. 游戏感:虚拟感觉的游戏设计师指南——第十三章 超级马里奥兄弟
  8. [搜索引擎友好之路]搜索引擎优化常见问题与回答
  9. 信息论复习—信息论的基本概念
  10. 不忘初心,牢记使命!