写优先读写者问题

写优先读写者问题

ID:27798773

大小:288.71 KB

页数:23页

时间:2018-12-06

写优先读写者问题_第1页
写优先读写者问题_第2页
写优先读写者问题_第3页
写优先读写者问题_第4页
写优先读写者问题_第5页
资源描述:

《写优先读写者问题》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、采用“写优先”策略的“读者-写者”问题学号:姓名:专业:指导教师:日期:2014年3月18日第1部分课设简介031.1课程设计题0031.2课程设计目的031.3课程设计内容031.4时间安排03第2部分实验要求04第3部分主要思想043.1基本思想043.2主要功能模块流程图063.3测试用例及运行结果07第4部分源代码10第5部分总结及参考文献235.1总结235.2参考文献23第1部分课设简介1.1课程设计题目采用“写优先”策略的“读者一写者”问题1.2课程设计目的操作系统课程设计是计算机专业重要的教学环节,它

2、为学生提供了一个既动手又动脑,将课本上的理论知识和实际有机的结合起来,独立分析和解决实际问题的机会。1)进一步巩固和复>」操作系统的基础知识。2)培养学生结构化程序、模块化程序设计的方法和能力。3)提高学生调试程序的技巧和软件设计的能力。4)提高学生分析fuj题、解决W题以及综合利用C语言进行程序设计的能力。1.3课程设计内容用高级语言编写和调试一个采用写优先策略的读者写者问题的模拟程序。1.4时间安排1)分析设计贮备阶段(1天)2)编程调试阶段(7天)3)写课程设计报告、考核(2天)第2部分实验要求1.读者与写者至

3、少包括ID、进入内存时间、读写时间三项内容,可在界面上进行输入。2.读者与写者均有两个以上,可在程序运行期间进行动态增加读者与写者。3.可读取样例数据(要求存放在外部文件中),进行读者/写者、进入内存时间、读写时间的初始化。4.要求将运行过程用可视化界面动态显示,可随时料停,查看阅览室中读者/写者数目、读者等待队列、读写时间、等待时间。5.读写策略:读写互斥、写写互斥、写优先(只要写者到达,就阻塞后续的所有读者,一旦阅览室无人,写者能最快进入阅览室;在写者未岀阅读室之前,又有新的读者与写者到达,仍然是写者排在前面)第

4、3部分主要思想3.1基本思想进程结构体:structprocessintname;//进程序号chartype;//进程类别(判断是读者还是写者线程)intstarttime;//进程开始时间intneedtime;//进程读写需要的时间intruntime;//进程在内存中已运行的时间structprocess氺next;};创建三个链表,分别为process!.、process2、process3。processl存储各个进程的信息,process2存储就绪队列的进程信息,process3存储正在执行的进程的信息

5、。用整形数i模拟时间片,每次时间片开始时先将需要进入就绪队列的进程用ready()函数拉入就绪队列。判断就绪队列的开头是读者还是写者,然后调用相应的函数Reader()或Writer()o如若调用的是Writer(),还要调用sort()函数对就绪队列进程排序,将写者排在写者前面。时间片结束时,对各个进程的rimtime++,并判断进程是否执行完平,如果完平•就其离开process3链表。最后将时间片i++,反复循环,直到所有进程执行完毕。3.2.主要功能模块流程图开始采用“写优先“策略的”“读者一写者”问题3.3测

6、试用例及运行结果2罘遍呈廣;2淫)时间:2程序运行实例如下:1.选择1,运行界面如下:#写优先的读者写者问题《**=遷黼醤編toid:1障)Crife时间I、+'r,_,m_L-以下输出各时间片进程状态2.选择2,运行界面如不:tt写优先的读者写者冋题tt程程进进入取盘件出键畜■■■1234J-选<1r謬鱷■1T04空:<程:进列正就43:2程:进列正就21:3程:进列正就21:3程:进列正就1.在执行过程中动态暂停时间2时间3灑程:3(=□.在进程暫停的情况下,按下A可以增加进程。*D:llDebugll.e

7、xe1i已暂停i«i}h需添加进程请:A进程序号:4延近时间:1陵加元成?2空:<•程:-进列毕.霞讓籍猛正就I:程意9进任间嘉时所请盘件出键畜■■讎123进进5.选择3,退出界而如下S3•D:llDebugll.exe"

8、□回X请选择:3Pressanykeytocontinue第4部分源代码^include^include#include"windows,h"#includeintmutex=l;intreadcount=0;structprocess

9、{intname;chartype;intstarttime;intneedtime;intruntime;//互斥读写的信号量//用readcount变量來记录读者数//进程序号//进程类别(判断是读者还是写者)//进程开始吋间//进程读写需要的吋间//进程在内存中已运行的吋间structprocess氺next;};process氺proc

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

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

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