一、吸烟者问题

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. PHP登录状态判定的思路
  2. 老王学linux-ftp
  3. Redis:03---Redis的启动与配置参数大全
  4. 右边菜单_AI基础教程65:使用文字菜单编辑文字(七)查找字体
  5. 955. 删列造序 II
  6. ThinkPHP5.0中Request请求对象的使用和常用的操作
  7. [转载] Python format()格式:中文对齐问题
  8. 腾讯地图api_为你的小程序插上地图的“翅膀”,腾讯位置服务亮相阿拉丁大会...
  9. c语言编程怎么记,新手如何学习c语言
  10. 【高质量分享】Axure组件库_含大厂和个人博主
  11. Java中序列化和打印流
  12. kaggle数据集下载-搜狐浏览器
  13. 逆向分析 工具、加壳、安全防护篇
  14. 用FastStone Capture录屏如何发声
  15. 常用IP扫描工具整理一下
  16. 锦绣金秋,共荟未来——荟语酒店投资人沙龙活动
  17. http://localhost:15672无妨访问(两种情况)
  18. 大学计算机系的电视剧,陈若轩成肖奈之后又一个计算机系校草!合作徐娇和最美学姐...
  19. Chrome浏览器内置截图工具(不需要安装插件)
  20. c200系列服务器主板,主板厂商的曲线救主,E3-1230 v5/技嘉X150-PLUS WS主板评测

热门文章

  1. 如何添加JavaScript代码
  2. 2020前端开发者的面试(2),不定时更新
  3. 数据分析之股票市场价格分析
  4. js-只能输入数字(正则)
  5. 糖基化(glycosylation)
  6. 基于51单片机的智能遥控晾衣架温度湿度光强检测proteus仿真原理图PCB
  7. 布局数据存储,中国电子云意在何为?
  8. 医疗机构如何确保符合HIPAA标准 保障网络安全
  9. python 外星人入侵游戏 学习总结 以及完整代码
  10. java 2 实用教程(第五版)第六章课后编程题:设计一个动物声音模拟器,希望模拟器可以模拟许多的动物的叫声。