电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

东华大学操作系统读者写者实验报告

东华大学操作系统读者写者实验报告_第1页
1/11
东华大学操作系统读者写者实验报告_第2页
2/11
东华大学操作系统读者写者实验报告_第3页
3/11
东华大学计算机学院 操作系统实验报告 实验名称: 读者写者问题 姓 名: 姜元杰 学 号: 111310228 班 级: 计算机1102 指导老师: 李继云 报告日期: 2013/10/12 航空售票信息管理系统 - 1 - 一 、 实 验 概 述 1 . 实验目标 在Window s 系统平台下,了解Window s 编程基本知识,通过创建线程等一系列操作实现进程同步经典问题——读者写者问题。 2 . 实验要求 在Window s7 环境下,创建一个控制台进程,此进程包含 n 个线程。用这 n个线程来表示 n 个读者或写者。每个线程按相应测试数据文件(后面有介绍)的要求进行读写操作。用信号量机制分别实现读者优先和写者优先的读者-写者问题。 读者-写者问题的读写操作限制(包括读者优先和写者优先): 1 ) 写-写互斥,即不能有两个写者同时进行写操作。 2 ) 读-写互斥,即不能同时有一个线程在读,而另一个线程在写。, 3 ) 读-读允许,即可以有一个或多个读者在读。 读者优先的附加限制:如果一个读者申请进行读操作时已有另一个读者正在进行读操作,则该读者可直接开始读操作。 写者优先的附加限制:如果一个读者申请进行读操作时已有另一写者在等待访问共享资源,则该读者必须等到没有写者处于等待状态后才能开始读操作。 运行结果显示要求:要求在每个线程创建、发出读写操作申请、开始读写操作和结束读写操作时分别显示一行提示信息,以确定所有处理都遵守相应的读写操作限制。 二 、 实 验 内 容 1 . 设计思路 通过仔细分析问题,实验实现内容分别为读者优先部 分与 写者优先部 分。通过建立 统一的线程数组 存 储 所有待创建线程,并 在系统后台分别存 于可以将 所有读者和所有写者分别存 于一个读者等待队 列和一个写者等待队 列中 ,每当 读允许 航空售票信息管理系统 - 2 - 时,就从读者队列中释放一个或多个读者线程进行读操作;每当写允许时,就从写者队列中释放一个写者进行写操作。通过程序代码实现读读允许,读写互斥,写写互斥。 对于读者优先部分,引入 Mutex信号量和临界区对象 RP_Writer 实现。读者优先指的是除非有写者在写文件,否则读者不需要等待。所以可以用一个整型变量 read_Count 记录当前的读者数目,用于确定是否需要释放正在等待的写者线程(当read_Count=O 时,表明所有的读者读完,需要释放写者等待队列中的一个写者)。每一个读者开始读文件时,必须修改 read_Count 变量...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

东华大学操作系统读者写者实验报告

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部