网站大量收购独家精品文档,联系QQ:2885784924

操作系统实验1_银行柜员服务问题.pdf

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统实验1 银行柜员服务问题 操作系统实验一 银行柜员服务问题 实验报告 邵鑫 2016011111 2018 年11 月5 日 一、实验目的 1. 通过对进程间通信同步/互斥问题的编程实现,加深理解信号量和P、V 操作的原理; 2. 对Windows 或Linux 涉及的几种互斥、同步机制有更进一步的了解; 3. 熟悉Windows 或Linux 中定义的与互斥、同步有关的函数。 二、实验内容 ·问题描述: 银行有n 个柜员负责为顾客服务,顾客进入银行先取一个号码,然后等着叫号。当某个 柜员空闲下来,就叫下一个号。 编程实现该问题,用P、V 操作实现柜员和顾客的同步。 ·实现要求: 1. 某个号码只能由一名顾客取得; 2. 不能有多于一个柜员叫同一个号; 3. 有顾客的时候,柜员才叫号; 4. 无柜员空闲的时候,顾客需要等待; 5. 无顾客的时候,柜员需要等待。 ·实现提示: 1. 互斥对象:顾客拿号,柜员叫号; 2. 同步对象:顾客和柜员; 3. 等待同步对象的队列:等待的顾客,等待的柜员; 4. 所有数据结构在访问时也需要互斥。 第 1 页 共 9 页 操作系统实验1 银行柜员服务问题 三、设计思路 ①怎样输入输出? 输入输出数据的保存:使用结构体数组,非常方便 ②如何模拟银行排队的过程? 对每一个柜员和顾客创建一个线程来模拟他们的行为。进程间通信使用WINDOWS提供的 同步和互斥量semaphore和Mutex:创建同步信号量sema,确保柜员处于等待状态,创建顾客 互斥量cusmutex,防止多个顾客同时进入银行的时候拿到一样的号。创建柜员互斥量 servermutex,防止一个柜员服务多个顾客。 ③进程间同步与互斥的操作顺序和逻辑关系? ·顾客进程睡眠相应时长模拟不同时间进入银行的过程 ·顾客进入银行: customermutex:P ·顾客取到号码: sema:V ·柜台开始服务时: servermutex:P sema:P ·柜台结束服务: servermutex:V customermutex:V 四、程序结构与主要代码分析 程序结构基本如下 确定参数:最大服务顾客数和柜台数目 初始化 建立核心变量:待服务顾客数、已服务顾客数、顾客柜员编号 定义输入顾客、输出顾客、互斥 同步量数据类型 / 定义柜台服务线程 定义线程 定义顾客排号线程 读入数据

文档评论(0)

我思故我在 + 关注
实名认证
内容提供者

部分用户下载打不开,可能是因为word版本过低,用wps打开,然后另存为一个新的,就可以用word打开了

1亿VIP精品文档

相关文档