- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
电梯模拟——操作系统报告-Read
电梯模拟
实现目标某一层楼20层,有五部的电梯,请编写一个电梯调度程序Microsoft Visual C++ 6.0
实现模式:窗口模式仿真
演示方法:动态演示
二、分析
1、每个电梯又自己的调度方法相对独立,同时接受一个总控中心的调度。
2、通过类来实现各部分的功能,将楼层数与电梯数定义为宏,可以方便的进行增减
3、总控中心接受各层上行与下行的请求并进行调度,将请求分发给各电梯执行
4、电梯的实现为电梯对话框类的相同复制,为五个线程。
5、每个电梯设有状态显示模块(上行、下行、空闲、开门、关门、电梯中人数),控制模块(进人、出人、产生故障、解除故障),楼层请求模块(楼层数字按钮),动态演示模块实现可视化的动态演示
6、总控中心和各电梯的各行为受时钟控制
7、电梯在请求的状态下停留在某层不动,且在运行时不运行至楼顶和楼底
8、电梯中无人时并处于空闲状态时才能产生故障,电梯中有人时“楼层数字按钮”才能有效
9、建立一个自定义的对列类实现请求对列
10、总控中心和各电梯通过消息机制进行通信
三、逻辑结构
四、实现
1、自定义等待队列(链表实现)
接口
2、宏定义
3、总控中心
⑴、数据
⑵、内部调用函数
⑶、外部接口
⑷、外部消息映射
⑸、接受请求
⑹、调度算法
一次循环遍历所有电梯
LOOP:①不处于故障状态和特别请求状态(k==-1)
②电梯状态和请求的状态相同且(电梯当前楼层-请求楼层)*请求状态0
如果(电梯当前楼层-请求楼层)的绝对值小于记录的值,记录电梯号,更新记录并将优先级置3;如果等于记录的值只有在当前电梯等待队列的元素个数小于记录的电梯的时候才进行上述更新记录操作
③电梯处于空闲状态且(电梯当前楼层-请求楼层)*请求状态=0
如果(电梯当前楼层-请求楼层)的绝对值小于等于记录的值,更新记录并将优先级置3
④当前优先级小于3
如果电梯当前状态为空闲状态且(电梯当前楼层-请求楼层)的绝对值小于记录的值更新记录
⑤执行LOOP
如果找到电梯并且(电梯当前楼层-请求楼层)*请求状态0将k置为-1(执行特殊调度)
返回电梯号 未找到返回-1。
⑺、调度过程
⑻、时间函数
4、电梯
⑴、数据
⑵、内部调用函数
⑶、外部接口
⑷、调度
⑸、映射函数
五、测试及使用说明
⑴、面板
⑵、说明
主控中心为右侧38个按钮,按下后会执行调度程序并变成不可使用状态,请求满足后恢复。被调度后,会在上边显示接受请求的电梯名称。
电梯模块上部的状态区反映电梯当前所处的状态;下部的按钮为电梯内部请求按钮,只有在电梯有人的时候才是可选的,按下后会执行调度程序并变成不可使用状态,请求满足后恢复;下部为控制区,在电梯到达某层后电梯开门,此时可以控制进人和出人,人数上限是16人,故障按钮可以使此电梯退出调度,但只有电梯中无人且电梯不处于运行状态的时候才能产生故障状态。
⑶、演示
六、开发情况
文件 作者 功能 ElevatorDlg.cpp/.h 王鹏程 生成主窗口及实现主控中心 ElevatorBox.cpp/.h 王鹏程 生成电梯对话框及电梯调度 Elevator.cpp/.h 自动生成 无 Resource.h 自动生成(有修改) 各种控件资源的定义 StdAfx.cpp/.h 自动生成(有修改) 加入宏定义 Queue.cpp/.h 张凯 等待队列类的实现 ColorStaticST.cpp/.h 已封装好的类 实现电梯的图形化 七、源文件
Elevator
Elevator.exe
西安电子科技大学软件学院130413班 作者: 王鹏程 张凯 周静
第 - 6 - 页 共 7 页
总控中心
接受楼层请求
调度
发送调度消息
接受返回信息
电梯4
接受楼层请求
接受总控中心请求
自我调度
运行
返回运行结果
电梯1
接受楼层请求
接受总控中心请求
自我调度
运行
返回运行结果
电梯2
接受楼层请求
接受总控中心请求
自我调度
运行
返回运行结果
电梯0
接受楼层请求
接受总控中心请求
自我调度
运行
返回运行结果
电梯3
接受楼层请求
接受总控中心请求
自我调度
运行
返回运行结果
您可能关注的文档
- 欢迎于办公时间内致电25956966或25956969预约面试或亲临招聘.DOC
- 武汉科技学院朱海亮教授2003年被SCI收录论文-南京农业大学图书馆.PPT
- 正方形圆锥圆柱探索新知课件.PPT
- 比率分析与因素分析.PPT
- 毕业实习学生转实习单位申请书及附表-山东医学高等专科学校.DOC
- 母线底面侧面圆锥的结构特征直角三角形SAO.PPT
- 民航三亚空管站2015年招聘单位名称中国民用航空三亚空中.DOC
- 永州模范职工小家考核验收评分细则-永州职业技术学院.DOC
- 江苏常熟农村商业银行股份有限公司统一收费平台招标-常熟农商银行.DOC
- 江苏师范大学全自动堆垛机Flexsim仿真软件物流企业经营管理推演.DOC
最近下载
- 植物根的生长苏教版.pptx VIP
- 2026年普法学法知识竞赛题库200道【学生专用】.docx VIP
- 国家安全教育大学生读本高教2024版课件第一章完全准确领会总体国家安全观.pptx VIP
- 人工智能:模型与算法(浙江大学)中国大学MOOC(慕课)章节测验试题(答案).pdf
- 化妆品法规专业考试题目及答案.docx VIP
- 中职英语高教版(2023修订版)基础模块3三单元《Artificial+Intelligence》单词讲解课件.pptx VIP
- 2026年大学生计算机考试题库200道带答案(基础题).docx VIP
- 文化遗产教育跨学科融合课程设计探析.docx VIP
- 低代码开发师(中级)考试题库.docx VIP
- 高中历史教学中家国情怀教育的策略与评价体系教学研究课题报告.docx
文档评论(0)