第一范文网 - 专业文章范例文档资料分享平台

操作系统原理实验报告

来源:用户分享 时间:2025/7/24 5:03:14 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

rc=CallNamedPipe(lpName,InBuffer,sizeof(InBuffer),OutBuffer,sizeof(OutBuffer), &BytesRead,NMPWAIT_USE_DEFAULT_WAIT);

rc=strcmp(OutBuffer,\ if (rc==0) break; if (rc==0) {

err=GetLastError();

printf(\ exit(1); }

else printf(\ }

printf(\return nRetCode; }

实验题目:实验五 读者-写者问题

完成人:XXX

报告日期:2018年4月28日 七、

实验容简要描述

a) 创建一个控制台进程,此进程包含n个线程。用这n个线程来表示n个

读者或写者。每个线程按相应测试数据文件的要求进行读写操作。用信号量机制分别实现读者优先和写者优先的读者-写者问题。 b) 读者-写者问题的读写操作限制(包括读者优先和写者优先):

? 写-写互斥,即不能有两个写者同时进行写操作。

? 读-写互斥,即不能同时有一个线程在读,而另一个线程在写。 ? 读-读允许,即可以有一个或多个读者在读。

c) 读者优先的附加限制:如果一个读者申请进行读操作时已有另一个读者

正在进行读操作,则该读者可直接开始读操作。

d) 写者优先的附加限制:如果一个读者申请进行读操作时已有另一写者在

等待访问共享资源,则该读者必须等到没有写者处于等待状态后才能开始读操作。

e) 运行结果显示要求:要求在每个线程创建、发出读写操作申请、开始读

写操作和结束读写操作时分别显示一行提示信息,以确定所有处理都遵守相应的读写操作限制。

八、

程序设计

7、 设计思路

将所有的读者和所有的写者分别放进两个等待队列中,当读允许时就让读者队列释放一个或多个读者,当写允许时,释放第一个写者操作。

读者优先:

如果没有写者正在操作,则读者不需要等待,用一个整型变量readcount记录当前的读者数目,用于确定是否释放写者线程,(当readcout=0 时,说明所有的读者都已经读完,释放一个写者线程),每个 读者开始读之前都要修改readcount,为了互斥的实现对readcount 的修改,需要一个互斥对象Mutex来实现互斥。

另外,为了实现写-写互斥,需要一个临界区对象 write,当写者发出写的请求时,必须先得到临界区对象的所有权。通过这种方法,可以实现读写互斥,当readcount=1 时,(即第一个读者的到来时,),读者线程也必须申请临界区对象的所有权.

当读者拥有临界区的所有权,写者都阻塞在临界区对象write上。当写者拥有临界区对象所有权时,第一个判断完readcount==1 后,其余的读者由于等待对readcount的判断,阻塞在Mutex上!

写者优先:

写者优先和读者优先有相同之处,不同的地方在:一旦有一个写者到来时,应该尽快让写者进行写,如果有一个写者在等待,则新到的读者操作不能读操作,为此添加一个整型变量writecount,记录写者的数目,当writecount=0时才可以释放读者进行读操作!

为了实现对全局变量writecount的互斥访问,设置了一个互斥对象Mutex3。

为了实现写者优先,设置一个临界区对象read,当有写者在写或等待时,读者必须阻塞在临界区对象read上。

读者除了要一个全局变量readcount实现操作上的互斥外,还需要一个互斥对象对阻塞在read这一个过程实现互斥,这两个互斥对象分别为mutex1和mutex2。

8、 主要数据结构

void RP_ReaderThread(void* p) 读者线程信息 void RP_WriterThread(void* p) 写者线程信息 void ReaderPriority(char* file) 读者优先处理函数 void WP_ReaderThread(void* p) 读者线程信息 void WriterPriority(char* file) 写者优先处理函数 三、实验结果 1、测试结果分析 A. 读者优先运行

B. 写者优先运行

四、实验体会 1、实验体会和收获

Windows2000/XP提供了互斥量(mutex)、信号量(semapore)、事件(event)等三

搜索更多关于: 操作系统原理实验报告 的文档
操作系统原理实验报告.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c8vvt84ps8m6d7jn4l8uv58u602x74s012j3_6.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top