进程同步(添加).ppt_第1页
进程同步(添加).ppt_第2页
进程同步(添加).ppt_第3页
进程同步(添加).ppt_第4页
进程同步(添加).ppt_第5页
已阅读5页,还剩23页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

进程同步 补充 练习 在具有N个进程的系统中 允许M个进程 N M 1 同时进入它们的共享区 其信号量S的值的变化范围是 处于等待状态的进程数最多是 个 问题 Pi Do while turn i Criticalsection turn j remaindersection while 1 问题 Pj do while turn j criticalsection turn i remaindersection TheSleepingBarberProblem 代码 Barber while 1 wait ready barbering signal finish 代码 Customer while 1 wait mutex if count 4 signal mutex leave 代码 Else count signal mutex Wait wait chair Wait barber chair Signal wait chair 代码 Signal ready Bebarbered Wait finish Signal barber chair Wait mutex Count Signal mutex 用P V原语实现进程同步 例 设公共汽车上 司机和售票员的活动如下 在汽车不断到站停车 行驶过程中 这两个活动有什么同步关系 用P V原语实现他们的同步 司机P1 售票员P2 启动关门正常运行售票到站停开门 用P V原语实现进程同步 解 1 设close为进程P1的私有信号量 表示售票员是否关门 stop为进程P2的私有信号量 表示车辆是否停止到站 2 设初始值close 1 stop 0 表示车正在运行 3 描述 用P V原语实现进程同步 P1 A P close 启动行车停车V stop GotoA P2 B P stop 开门关门V close 售票GotoB 2009研究生考试题目 三个进程P1 P2 P3互斥使用一个包含N N 0 的单元的缓冲区 P1每次用produce 生成一个正整数并用put 送入缓冲区某一空单元中 P2每次用getodd 从该缓冲区中取出一个奇数并用countodd 统计奇数个数 P3每次用geteven 从该缓冲区取出一个偶数并用counteven 统计奇数个数 请用信号量机制实现这3个过程的同步与互斥活动 并说明说定义信号量的含义 要求用伪代码描述 答案 Semaphoremutex 1 Semaphoreodd 0 even 0 Semaphoreempty N main Cobegin 答案 ProcessP1While true number produce P empty P mutex put V mutex ifnumber 2 0V even elseV odd 答案 ProessP2While true P odd P mutex getodd V mutex V empty countodd 答案 ProessP2While true P even P mutex geteven V mutex V empty counteven coend 某寺庙 有小和尚 老和尚若干 有一水缸 由小和尚提水入缸供老和尚饮用 水缸可容10桶水 水取自井中 水井径窄 每次只能容一个水桶取水 水桶总数为3个 每次入 取缸仅为一桶 且不可同时进行 试给出取水 入水的算法描述 在一个仓库中可以存放A和B两种产品 但要求 1 每次只能存入一种产品 A或B 2 A产品数量 B产品数量 M 3 B产品数量 A产品数量 N期中M N是正整数 试用P V操作描述产品A和B的入库过程 代码 Semaphore sa sb mutex sa m 1 sb n 1 mutex 1 代码 Process A While 1 P sa p mutex A产品入库 V mutex V sb 代码 Process B while 1 P sb P mutex B产品入库 V mutex V sa 有桥如图所示 车流如箭头所示 桥上不允许两车交汇 但允许同一方向多辆车依次通行 即桥上可以有多个同方向的车 用P V操作实现交通管理以防止桥上堵塞 有座东西方向架设 可双向通行的单车道简易桥 最大载重负荷为4辆汽车 请定义合适的信号量 正确使用P V操作 实现双向车辆的过桥过程 假定一个阅览室最多可容纳100人 读者进入和离开阅览室时都必须在阅览室门口的一个登记表上进行登记 而且每次只允许一人进行登记操作 试用信号量实现该过程 设自行车生产线上有一只箱子 其中有n个位置 n 3 其中每个位置可以存放一个车架或一个车轮 又设有3个工人 其活动分别如下 工人1的活动 Do 加工一个车架 将车架放入箱子中 while 1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论