本科实验报告实验名称 : 操作系统原理实验 ( 读者写者问题) 课程名称: 操作系统原理实 验 时间:201 5、10、30任课老师: 王耀威实 验 地点:10#10 2实验老师: 苏京霞实 验 类型: 原理验证□ 综合设计□ 自主创新学生姓名:孙嘉明学 号 / 班级:1 1 2025 1 474/0561120 2组 号:学 院: 信息与电子学院同 组 搭档:专 业: 信息对抗技术成 绩:实验二:读者写者问题一、实验目得1.通过编写与调试程序以加深对进程、线程管理方案得理解;2.熟悉 Wi n d o ws 多线程程序设计方法;二、实验要求在 W i ndows 环境下,创建一个控制台进程,此进程包含 n 个线程.用这 n 个线程来表示n 个读者或写者。每个线程按相应测试数据文件(后面介绍)得要求进行读写操作.用信号量机制分别实现读者优先与写者优先问题。读者-写者问题得读写操作限制(包括读者优先与写者优先)1) 写—写互斥:不能有两个写者同时进行写操作2) 读-写互斥:不能同时有一个线程在读,而另一个线程在写。3) 读-读允许:可以有一个或多个读者在读.读者优先得附加限制:假如读者申请进行读操作时已有另一个读者正在进行读操作,则该读者可直接开始读操作。运行结果显示要求:要求在每个线程创建、发出读写申请、开始读写操作与结束读写操作时分别显示一行提示信息,以确定所有处理都遵守相应得读写操作限制。测试数据文件包括 n 行测试数据,分别描述创建得n个线程就是读者还就是写者,以及读写操作得开始时间与持续时间。每行测试数据包括四个字段,每个字段间用空格分隔。第 1 个字段为正整数,表示线程得序号。第2个字段表示线程得角色,R 表示读者,W 表示写者。第 3 个字段为一个正数,表示读写开始时间:线程创建后,延迟相应时间(单位为秒)后发出对共享资源得读写申请。第4个字段为一个正数,表示读写操作得延迟时间.当线程读写申请成功后,开始对共享资源进行读写操作,该操作持续相应时间后结束,释放该资源。下面就是一个测试数据文件得例子(在记事本手工录入数据):1 R 3 52 W 4 53 R 5 24 R 6 55 W 5、1 3三、实验环境硬件设备:个人计算机.系统软件:w indows 操作系统,Vi s ua l C++6、0编译环境。四、实验原理读者写者问题,可以这样得描述,有一群写者与一群读者,写者在写同一本书,读者也在读这本书,多个读者可以同时读这本书,但就是,只能有一个写者在写...