- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
操作系统课程设计报告
青岛理工大学
操作系统课程设计报告
院(系): 计算机工程学院
专业: 计算机科学与技术专业
学生姓名: __ 杨晓玉
班级:__ 计算093__学号: 200907195
题目:采用“读写平等”策略演示“读者-写者”问题
起迄日期: 2012-7-2 至 2012-7-13 ___
设计地点: 网络中心计算机学院机房
指导教师: 王金龙
2011—2012年度 第 学期: 2012 年 7 月 13日
课程设计目的
进行操作系统课程设计主要是在学习操作系统课程的基础上,在完成操作系统各部分实验的基础上,对操作系统的整体进行一个模拟,通过实践加深对各个部分的管理功能的认识,还能进一步分析各个部分之间的联系,最后达到对完整系统的理解。同时,可以提高运用操作系统知识解决实际问题的能力;锻炼实际的编程能力、创新能力及团队组织、协作开发软件的能力;还能提高调查研究、查阅技术文献、资料以及编写软件设计文档的能力。
此次实验我选择的是经典的读者写者问题。读写者问题的传统解决方案采用读优先策略,可能会造成后续的写者被随后而来的读者插队而长时间等待,直到全部读者进程运行完毕后,才可进行写操作。为此,选择采用“读写平等策略”解决读写者问题,希望通过此次课程设计实现读写者的公平竞争,加深对线程、进程及同步概念的理解。通过研究经典的进程同步问题,实现对读者-写者问题的并发控制,掌握运用信号量解决。系统系统分析
图 1 主界面设计
读者写者的添加界面主要实现读者写者的信息输入,设计界面如下图:
图 2 添加界面设计
3.2 系统设计:设计:
图 3 系统功能模块图
图 4 系统主要流程图
3.2.2 数据结构说明:
1. 数据库中读者写者的信息:
表 1 读者写者信息表(RaederWriter)
列名 数据类型 可否为空 简介 TypeNo SMALLINT 不可以 主键,读者写者编码 Type VARCHAR(1) 不可以 读者写者类型 Arrivetime SMALLINT 不可以 到达时间 Runtime SMALLINT 不可以 运行时间 Startruntime SMALLINT 默认为0 开始运行时间 Waittime SMALLINT 默认为0 等待时间,动态更新 Flag VARCHAR(10) 默认未到达 状态标志,动态更新
2.程序中的数据定义:
private static boolean flag;//控制定时器的标志
private static boolean pauseflag;//控制定时器的标志
protected static final int Delay=1000;//每秒运行数
static int m_writernumber;//写者总数
static int m_writernumber1;//阅读室中写者总数
protected static int m_readernumber;//阅读室中读者总数
protected static int m_readernumber1;//读者总数
protected String m_type;//读者写者类型R或W
protected int m_typeNo;//进程号
protected int m_arriveTime;//到达时间
protected int m_runTime;//读写时间
protected static String showstring1;//运行状态显示
protected static String showstring2; public volatile static int CurrentTime;// 当前时间
protected int StartRunTime;// 开始运行时间
protected
原创力文档


文档评论(0)