本科实验报告实验名称 : 操作系统原理实验 ( 读者写者问题) 课程名称: 操作系统原理实 验 时间: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个字段为一个正数,表示