读者写者实验报告

读者写者实验报告

ID:78326536

大小:18.87 KB

页数:4页

时间:2022-02-01

读者写者实验报告_第1页
读者写者实验报告_第2页
读者写者实验报告_第3页
读者写者实验报告_第4页
资源描述:

《读者写者实验报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、本文格式为Word版,下载可任意编辑读者写者实验报告操作系统原理试验报告试验名称::操作系统姓名::XXX学号:xxxxxxxxxxx班级:xxx指导老师:xxx一、试验内容在Windows2021环境下,创建一个掌握台进程,此进程包含n个线程。用这n个线程来表示n个读者或写者。每个线程按相应测试数据文件(后面有介绍)得要求进行读写操作。用信号量机制分别实现读者优先与写者优先得读者写者问题。):)先优者写与先优者读括包(制限作操写读得题问者写者读ﻫ1互写写ﻫ斥,即不能有两个写者同时进行写操作。2)读-写互斥,即不能同时有一个线程在读,而另一个线程在写.,)3允读-读ﻫ许

2、,即可以有一个或多个读者在读.第4页共4页本文格式为Word版,下载可任意编辑读者优先得附加限制:假如一个读者申请进行读操作时已有另一个读者正在进行读操作,则该读者可直接开头读操作。请申者读个一果如:制限加附得先优者写ﻫ进行读操作时已有另一写者在等待访问共享资源,则该读者必需等到没有写者处于等待状态后才能开头读操作。运行结果显示要求:要求在每个线程创建、发出读写操作申请、开头读写操作与结束读写操作时分别显示一行提示信息,以确定全部处理都遵守相应得读写操作限制.二、试验目得在Windows2021环境下,创建一个掌握台进程,此进程包含n个线程。用这n个线程来表示n个读者或

3、写者.每个线程按相应测试数据文件(后面有介绍)得要求进行读写操作。用信号量机制分别实现读者优先与写者优先得读者-写者问题。三、试验原理1)、读者优先读者优先指得就是除非有写者在写文件,否则读者不需要等待.所以可以用一个整型变量read_count记录当前得读者数目,用于确定就是否需要释放正在等待得写者线程(当read_count=O时,表明全部得读者读完,需要释放写者等待队列中得一个写者)。每一个读者开头读文件时,必需修改read_count变量.因此需要一个互斥对象mutex来实现对全局变量read_count修改时得互斥。ﻫ另外,为了实现写写互斥,需要增加一个临界区

4、对象write。当写者发出写恳求时,必需申请临界区对象得全部权。通过这种方法,也可以实现读-写互斥,当read_count=l时(即第一个读者到来时),读者线程也必需申请临界区对象得全部权。当读者拥有临界区得全部权时,写者堵塞在临界区对象write上.当写者拥有临界区得全部权时,第一个读者推断完read_count==1后堵塞在write上,其余得读者由于等待对read_count得推断,堵塞在mutex上。)2ﻫ2)先第4页共4页本文格式为Word版,下载可任意编辑、写者优先它,来到者写个一旦一于在处之同不;似类先优者读与先优者写ﻫ应当尽快对文件进行写操作,假如有一个

5、写者在等待,则新到来得读者不允许进行读操作。为此应当添加一个整型变量write_count,用于记录正在等待得写者得数目,当write_count=O时,才可以释放等待得读者线程队列.全对了为ﻫ局变量write_count实现互斥,必需增加一个互斥对象mutex3.现实了为ﻫ写者优先,应当添加一个临界区对象read,当有写者在写文件或等待时,读者必需堵塞在read上。读者线程除了要对全局变量read_count实现操作上得互斥外,还必需有一个互斥对象对堵塞,read这一过程实现互斥。这两个互斥对象分别命名为mutex1与mutex2。四、试验过程在Windows2000

6、环境下,创建一个掌握台进程。用VC++实现。读者优先指得就是除非有写者在写文件,否则读者不需要等待。所以可以用一个整型变量read_count记录当前得读者数目,用于确定就是否需要释放正在等待得写者线程(当read_count=O时,表明全部得读者读完,需要释放写者等待队列中得一个写者)。每一个读者开头读文件时,必需修改read_count变量.因此需要一个互斥对象mutex来实现对全局变量read_count修改时得互斥。另外,为了实现写写互斥,需要增加一个临界区对象write。当写者发出写恳求时,必需申请临界区对象得全部权。通过这种方法,也可以实现读-写互斥,当re

7、ad_count=l时(即第一个读者到来时),读者线程也必需申请临界区对象得全部权.当读者拥有临界区得全部权时,写者堵塞在临界区对象write上。当写者拥有临界区得全部权时,第一个读者推断完read_count==1'后堵塞在write上,其余得读者由于等待对read_count得推断,堵塞在mutex上。写者优先与读者优先类似;不同之处在于一旦一个写者到来,它应当尽快对文件进行写操作,假如有一个写者在等待,则新到来得读者不允许进行读操作。为此应当添加一个整型变量write_count,用于记录正在等待得写者得数目,当write_coun

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。