- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE
PAGE 11
目录 TOC \o 1-2 \h \z \u
HYPERLINK \l _Toc312534838 1.需求分析 PAGEREF _Toc312534838 \h 2
HYPERLINK \l _Toc312534839 1.1实验目的 PAGEREF _Toc312534839 \h 2
HYPERLINK \l _Toc312534840 1.2设计要求 PAGEREF _Toc312534840 \h 2
HYPERLINK \l _Toc312534841 2. 功能设计 PAGEREF _Toc312534841 \h 2
HYPERLINK \l _Toc312534842 2.1流程图 PAGEREF _Toc312534842 \h 2
HYPERLINK \l _Toc312534843 2.2数据结构 PAGEREF _Toc312534843 \h 3
HYPERLINK \l _Toc312534844 3.开发平台及源程序代码 PAGEREF _Toc312534844 \h 4
HYPERLINK \l _Toc312534845 3.1开发环境与工具 PAGEREF _Toc312534845 \h 4
HYPERLINK \l _Toc312534846 3.2源代码 PAGEREF _Toc312534846 \h 4
HYPERLINK \l _Toc312534847 4.测试及结果 PAGEREF _Toc312534847 \h 7
HYPERLINK \l _Toc312534848 5.自我评价与总结 PAGEREF _Toc312534848 \h 10
HYPERLINK \l _Toc312534849 6.参考书目 PAGEREF _Toc312534849 \h 12
1.需求分析
1.1实验目的
掌握信号的使用方法和PV操作的定义,掌握使用PV操作实现进程之间同步和互斥的方法,加深对进程同步互斥概念的理解。
1.2设计要求
设计程序模拟在公共汽车上,司机和售票员操作的同步。司机:启动车辆,正常行车,到站停车。售票员:上乘客,关车门,售票,开车门,下乘客。用PV操作对其控制。
2. 功能设计
本程序的设计原理比较简单,就是两大部分,一是司机的行车操作过程,另一个是售票员的开车门和关车门(以及售票,本程序不讨论售票过程)的过程。
现在来说明如何具体实现司机开车和售票员售票的相关过程。首先,设置2个私有信号量,分别是司机和售票员的。其中,司机的私有信号量设置为sj,其初始值为0;售票员的私有信号量为spy,其初始值为1;以上的初值表示的是司机和售票员的行车和开关车门的一个具体初始状态,具体的说也就是当车子停着,车门开着的时候的状态,此时,司机不能开车,只有当售票员售完票之后,通知司机才可以。
2.1流程图
用操作系统书上的方法写出的流程图如下:
启动汽车
启动汽车
到站停车
正常行驶
关车门
开车门
售票
司 机
售票员
(a)司机的工作流程 (b)售票员的工作流程
2.2数据结构
这样一来的话,仿照书上的P,V操作,实现司机和售票员之间的同步的过程如下:
begin
sj,spy;semaphore //设置司机和售票员的私有信号量;
sj=0;spy=1; //设置初始值;
cobegin
process 司机 //司机的操作过程;
begin
L1:P(sj);
启动车辆;
正常行驶;
到站停车;
V(spy);
goto L1;
end;
process 售票员 //售票员的操作过程;
begin
L2:P(spy);
开车门;
关车门;
V(sj);
售票;
goto L2;
end;
coend;
end;
3.开发平台及源程序代码
3.1开发环境与工具
系统平台:WINDOW环境
实现语言:C++
开发工具:VC++6.0
3.2源代码
目的:掌握信号的使用方法和PV操作的定义,掌握使用PV操作实现进程之间同步和互斥的方法,加深对进程同步互斥概念的理解。
设计要求:设计程序模拟在公共汽车上,司机和售票员操作的同步。司机:启动车辆,正常行车,到站停车。售票员:上乘客,关车门,售票,开车门,下乘客。用PV操作对其控制。
其中源程序的代码如下:
#includeiostream
using namespac
您可能关注的文档
- 蜀乡生态农业观光园项目可行性研究报告.doc
- 鼠标市场调研.ppt
- 曙光幼儿园成本核算、收费申请.doc
- 数电VHDL实验报告.doc
- 数电课程设计__智力抢答器.doc
- 数据采集与处理技术.doc
- 数据结构报告 停车场问题.doc
- 数据结构课程设计报告约瑟夫环完整版.doc
- 数据结构—运动会分数统计.doc
- 数据库课程设计 教材征订管理系统.doc
- 6.2+民族区域自治制度+课件高中政治统编版必修三政治与法治.pptx
- 第四课 准确把握概念 课件高考政治一轮复习统编版选择性必修三逻辑与思维.pptx
- 5.1中国外交政策的形成与发展课件高中政治统编版选择性必修一当代国际政治与经济.pptx
- 6.2 夫妻地位平等 课件高中政治统编版选择性必修二法律与生活(2).pptx
- 4.2 权利行使 注意界限 课件-高中政治统编版选择性必修二法律与生活(3).pptx
- 5.2构建人类命运共同体课件-高中政治统编版选择性必修一当代国际政治与经济.pptx
- 10.2 严格遵守诉讼程序 课件高中政治统编版选择性必修二法律与生活(3).pptx
- 7.2心中有数上职场课件-高中政治统编版选择性必修二法律与生活.pptx
- 第三课 领会科学思维 课件高考政治一轮复习统编版选择性必修三逻辑与思维.pptx
- 1.2+中国共产党领导人民站起来、富起来、强起来高中政治统编版必修三政治与法治.pptx
最近下载
- 不规范用字ppt.ppt
- 议论文开头十大技巧(上篇)(讲义)-备战2025年高考语文议论文写作秘籍(原卷版).docx
- 幼儿创意手工-培养创造力与动手能力.pptx
- 2025年铁岭卫生职业学院单招(语文)测试题库最新.docx VIP
- 班会主题:体谅他人.pptx VIP
- 高处作业个人防护用品及基本知识安全培训课件.pptx
- 汽车行业的合规制度培训指南.pptx
- 中考道德与法治没复习研讨会发言材料:明确策略,提高复习效率 夯实基础,构建知识网络.pdf
- 哈尔滨工业大学课件.pptx
- 《高速铁路通信工程细部设计和工艺质量标准(图例部分)》报批修改稿3.0版(2018.1.17)上交稿(1).pdf VIP
文档评论(0)