- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
华中科技大学操作系统实验报告
华中科技大学电信学院操作系统实验报告电子信息与通信学院班级:电信1202班姓名:XX学号:U2012133XX时间:2014年11月5日实验一 哲学家就餐问题实验目的1.熟悉哲学家就餐问题流程,编译程序,了解程序运行过程。2.理解利用设置信号量及P、V操作解决进程间的互斥这一方法,并了解其代码实现的相关方法,提炼出代码的思想(用伪代码表示)。3.对哲学家就餐问题提出新的解决方式,并简述其实现过程。实验原理1、问题描述有五个哲学家围坐在一圆桌旁,桌中央有一盘通心粉,每人面前有一只空盘子,每两人之间放一只筷子。每个哲学家的行为是思考,感到饥饿,然后吃通心粉。为了吃通心粉,每个哲学家必须拿到两只筷子,并且每个人只能直接从自己的左边或右边去取筷子。2、分配方式方式一(不会进入死锁)仅当一个哲学家左右两边的筷子都可用时,才允许他拿筷子。这样要么一次占有两只筷子(所有线程需要的资源)进行下一步的吃通心粉,然后释放所有的资源;要么不占用资源,这样就不可能产生死锁了。方式二(会进入死锁) 当筷子(资源)可用时,先分配左边的筷子,等待一会后再分配右边的筷子,由于这个过程中,左边的筷子一直没有释放,就有可能产生死锁了。 3、程序运行说明程序运行过程中会弹出一个MessageBox提示操作者操作:1)第一个对话框用于选择运行模式a.选择yes 表示采用的是运行的防止死锁的方式,这样的话整个程序可以一直运行下去,不会产生死锁。b.选择no 表示运行产生死锁的方式会弹出第二个对话框。2)第二个对话框用于选择运行时,线程运行的时间a. 选择 res 线程时间比较短,很快就可以死锁b.选择no 线程时间跟选择yes 时候的时间差不多,产生死锁的时间稍微长一点。实验程序流程及分析PhilosopherThread函数源代码DWORD WINAPI PhilosopherThread(LPVOID pVoid){HANDLE myChopsticks[2];int iPhilosopher = (int) pVoid;int iLeftChopstick = iPhilosopher;int iRightChopstick = iLeftChopstick + 1;DWORD result;if (iRightChopstick PHILOSOPHERS-1) //筷子编号过了5就使它为0iRightChopstick = 0; //Randomize the random number generatorsrand( (unsigned)time( NULL ) * (iPhilosopher + 1) );// remember handles for my chopsticksmyChopsticks[0] = gchopStick[iLeftChopstick]; //定义哲学家的左右筷子myChopsticks[1] = gchopStick[iRightChopstick];gDinerState[iPhilosopher] = RESTING;//wants chopsticks Sleep(P_DELAY);for(;;){if (bWaitMultiple == FALSE){// Wait until both of my chopsticks are availablegDinerState[iPhilosopher] = WAITING;//wants chopsticks PostMessage(hWndMain, WM_FORCE_REPAINT,0 ,0); result = WaitForSingleObject(gchopStick[iLeftChopstick], INFINITE);MTVERIFY(result == WAIT_OBJECT_0);gChopstickState[iLeftChopstick] = iPhilosopher;Sleep(P_DELAY/4);gDinerState[iPhilosopher] = WAITING;//wants chopsticks PostMessage(hWndMain, WM_FORCE_REPAINT,0 ,0);result = WaitForSingleObject(gchopStick[iRightChopstick], INFINITE);MTVERIFY(result == WAIT_OBJECT_0);gChopstickState[iRightChopstick] = iPhilosopher;}else{// Wait until both of my chopsticks are
您可能关注的文档
- 中国地方政府专项债券市场发展研究.docx
- 中国哲学史教案第6章中唐诸儒的理论开掘.doc
- 中小企业财务战略选择研究开题报告.doc
- 中小学课程建设的哲学思考.doc
- 中小型企业存货管理存在的问题及对策.doc
- 中小学教学质量增量评价考核办法.doc
- 中层管理人员述职报告韩××.doc
- 中国移动网上大学无线无线维护爱立信L1题库.docx
- 中班艺术活动《卡通娃娃》教案.doc
- 中班绘本月亮的味道教案.doc
- 2025年AI大模型技术在电力系统中的应用及发展趋势报告-香港中文大学(赵俊华).docx
- 2025年温室气体核查指南-企业可持续发展的绿色基石-ICAS英格尔认证.docx
- 数字员工助力财务管理数字化转型.docx
- DeepSeek完全实用手册(1.5版本).pdf.docx
- 2025年一季度中国消费者消费意愿调查报告-立信数据-202506.docx
- 突发环境污染事件应急管理培训.docx
- 金融-银行行业专题:中国机构配置手册(2025版)之流动性与货币政策篇-“超级央行”时代.docx
- 陈立桅-高比能长循环全固态电池关键材料.docx
- 投资策略专题:从“第四消费时代”看未来消费机遇.docx
- 华为产品战略规划全景训战.docx
最近下载
- 上海市既有建筑改造工程消防技术指南(2024年版).docx VIP
- 网易云音乐UI界面设计案例分析.pptx VIP
- 20220103云南师范大学附属俊发城中学劳动教育评价工作方案.docx
- 2024秋新人教版物理八年级上册教学课件 开学第一课 开启科学探索之旅.pptx VIP
- 不动产登记代理人《地籍调查》近年考试真题题库汇总(200题).docx VIP
- 三面自动切书机设计.doc VIP
- 《世界现代设计史题库》.doc VIP
- 今日头条2013年B轮融资商业计划书.pdf VIP
- 《汽车涂装》2024—2025学年第一学期工学一体化课程教学进度计划表.docx VIP
- 2024年中国产业出海发展研究报告.pdf VIP
文档评论(0)