- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机与信息学院
操作系统课程设计报告
开题报告
该项课程设计的意义;
更加深入的了解读者写者问题的算法;
加深对线程,进程的理解;
加深对“线程同步”概念的理解,理解并应用“信号量机制”;
熟悉计算机对处理机的管理,了解临界资源的访问方式;
了解C++中线程的实现方式,研读API。
课程设计的任务
多进程/线程编程:读者-写者问题。
设置两类进程/线程,一类为读者,一类为写者;
随机启动读者或写者;
显示读者或写者执行状态;
随着进程/线程的执行,更新显示;
相关原理及算法描述;
整体概况:
该程序从大体上来分只有两个模块,即“读者优先”和“写者优先”模块.
读者优先:
如果没有写者正在操作,则读者不需要等待,用一个整型变量readcount记录读者数目,用于确定是否释放读者线程,readcount的初值为0.当线程开始调入时.每个读者准备读. 等待互斥信号,保证对readcount 的访问,修改互斥.即readcount++.而当读者线程进行读操作时,则读者数目减少(readcount--).当readcout=0 时,说明所有的读者都已经读完,离开临界区唤醒写者(LeaveCriticalSection(RP_Write);), 释放互斥信号(ReleaseMutex(h_Mutex)).
还需要一个互斥对象mutex来实现对全局变量Read_count修改时的互斥. 另外,为了实现写-写互斥,需要增加一个临界区对象Write。当写者发出写请求时,必须申请临界区对象的所有权。通过这种方法,可以实现读-写互斥,当Read_count=1时(即第一个读者到来时),读者线程也必须申请临界区对象的所有权
写者优先:
写者优先与读者不同之处在于一旦一个写者到来,它应该尽快对文件进行写操作,如果有一个写者在等待,则新到来的读者不允许进行读操作。为此应当填加一个整形变量write_count,用于记录正在等待的写者的数目,write_count的初值为0.当线程开始调入时.只允许一个写者准备读. 等待互斥信号,保证对write_count 的访问,修改互斥.即write_count++.而当写者线程进行读操作时,则相应写者数目减少(write_count--).当write_count=0 时,说明所有的读者都已经读完,离开临界区唤醒读者,释放互斥信号.
为了实现写者优先,应当填加一个临界区对象read,当有写者在写文件或等待时,读者必须阻塞在read上。
开发环境;
VC++6.0
预期设计目标;
读者-写者问题的读写操作限制(包括读者优先和写者优先)
1.写-写互斥:不能有两个写者同时进行写操作
2.读-写互斥:不能同时有一个线程在读,而另一个线程在写。
3.读-读允许:可以有一个或多个读者在读。
若读者的优先权比写者高, 如果读者申请进行读操作时已有另一个读者正在进行读操作,则该读者可直接开始读操作.不必经过别的操件
若读者的优先权比写者高,如果第一个写者已经占有了文件的时候.则别的读者必需等待该操作完成后.才能开始读操作.
若写者的优先权比读者高, 在一个写者提出要访问文件时,就必须使其尽可能的得到文件,而且不用调配。
完成课程设计的任务,实现读者写者问题的全部要求,同时可以实现“读者优先”和“写者优先”两种情况,有时间的话,争取实现可视化图形界面。
课程设计报告
课程设计任务、要求、目的;
任务和要求:
多进程/线程编程:读者-写者问题。
设置两类进程/线程,一类为读者,一类为写者;
随机启动读者或写者;
显示读者或写者执行状态;
随着进程/线程的执行,更新显示;
目的:
1 更加深入的了解读者写者问题的算法;
2 加深对线程,进程的理解;
3 加深对“线程同步”概念的理解,理解并应用“信号量机制”;
4 熟悉计算机对处理机的管理,了解临界资源的访问方式;
5 了解C++中线程的实现方式,研读API。
原理及算法描述;
写者优先原理图:
读者优先原理图:
算法描述:
读者优先的附加限制:如果读者申请进行读操作时已有另一个读者正在进行读操作,则该读者可直接开始读操作。
写者优先的附加限制:如果一个读者申请进行读操作时已有另一个写者在等待访问共享资源,则该读者必须等到没有写者处于等待状态后才能开始读操作。
开发环境;
VC++6.0
重要算法和设计思路描述;
整体概况:
该程序从大体上来分只有两个模块,即“读者优先”和“写者优先”模块.
读者优先:
如果没有写者正在操作,则读者不需要等待,用一个整型变量readcount记录读者数目,用于确定是否释放读者线程,readcount的初值为0.当线程开始调入时.每个读者准备
您可能关注的文档
- 电气控制与PLC课程设计--自动洗车机控制设计.doc
- 电气自动化技术毕业论文--模拟交通灯设计.doc
- 电气自动化技术专业毕业论文--直流大电机控制器毕业设计.doc
- 电气自动化专业毕业论文--.doc
- 电气自动化专业毕业论文--LED照明恒流驱动电源的设计.doc
- 电气自动化专业毕业论文---LED照明恒流驱动电源的设计.doc
- 电气自动化专业毕业论文--PLC在风淋控制系统中的应用.doc
- 电气自动化专业毕业论文--Z3040摇臂钻床的继电器控制电路设计及PLC控制设计.doc
- 电气自动化专业毕业论文--单片机在城市智能交通灯中的控制设计.doc
- 电气自动化专业毕业论文--单片开关电源及PCB设计.doc
最近下载
- 特种作业与特种设备作业人员培训课件.pptx VIP
- 22G101 三维彩色立体图集.docx VIP
- DK-金检机说明书(20110823HJ)-2.doc VIP
- SHT 3178-2015- 加油站用埋地钢-玻璃纤维增强塑料双层油罐工程技术规范.pdf VIP
- 特种设备典型事故案例.ppt VIP
- 2025-2026学年鲁科版(五四学制)(三起)(2024)英语四年级上册教学计划及进度表.pdf VIP
- 机器人行业深度报告:行星滚柱丝杠——高精技术集成之作,人形机器人线性关节 -2024-.pdf VIP
- JEDEC JESD47L(中英文对照版).pdf VIP
- 9 天上有颗南仁东星 课件(共28张PPT) 2025-2026统编版八年级语文上册.pptx VIP
- 科普版英语五年级上册单词默写表.docx VIP
文档评论(0)