- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
操作系统课程设计(设备管理)
目 录 TOC \o 1-3 \h \z \u
一 引言 1
1.1课程设计题目 1
1.2课程设计的目的 1
1.3小组人数 1
1.4编程语言 1
1.5课程设计内容 1
1.6界面设计如图 1
二 课程设计任务及要求 2
2.1设计任务 2
2.2设计要求 2
三 算法及数据结构 2
3.1算法的总体思想(流程) 2
3.2 Equipment模块 3
3.2.1 功能 3
3.2.2 数据结构 3
3.3 cpu模块 4
3.3.1 功能 4
3.3.2 数据结构 4
3.3.3 算法 4
3.4 form1模块 4
3.4.1 功能 4
3.4.2 算法 5
四 程序设计与实现 5
4.1 程序流程图 5
4.2 基本思想 6
4.3 定义的公共变量或数据结构 7
4.4 实验部分代码 7
4.5 运行截图 12
4.6 使用说明 15
五 总结 15
六 参考文献 15
一 引言
1.1课程设计题目
实现一个模拟操作系统。
1.2课程设计的目的
通过模拟操作系统原理的实现,加深对操作系统工作原理理解,进一步了解操作系统的实现方法,并可练习合作完成系统的团队精神和提高程序设计能力。
1.3小组人数
建议3~4人一组共同完成模拟系统的实现。
1.4编程语言
建议使用VC、VB、C#、Java等Windows环境下的程序设计语言,以借助这些语言环境来模拟硬件的一些并行工作。
1.5课程设计内容
模拟采用多道程序设计方法的单用户操作系统,该操作系统包括进程管理、存储管理、设备管理、文件管理和用户接口四部分。
1.6界面设计如图
图1.1
二 课程设计任务及要求
2.1设计任务
设计一个设备管理分配程序,按先来先服务的算法,对设备进行分配。
2.2设计要求
设备管理主要包括设备的分配和回收。
(1)模拟系统中有A、B、C三种独占型设备,A设备3个,B设备2个,C设备1个。
(2)因为模拟系统比较小,因此只要设备表设计合理即可。
(3)采用先来先服务分配策略,采用设备的安全分配方式。
(4)屏幕显示
每个设备是否被使用,哪个进程在使用该设备,哪些进程在等待使用该设备。
三 算法及数据结构
3.1算法的总体思想(流程)
设备管理的功能是按照设备的类型和系统采用的分配策略,为请求I/O进程分配一条传输信息的完整通路。合理的控制I/O的控制过程,可最大限度的实现CPU与设备、设备与设备之间的并行工作。
1.监视所有设备。为了能对设备实施有效的分配和控制,系统能获取设备的状态。设备状态保存在设备控制表(DeviceTable)中,并动态的记录状态的变化及有关信息。
2.制定分配策略。按先来先服务的算法,进行设备分配。
3.设备的分配。把设备分配给进程。
4.设备回收。当进程运行完毕后,要释放设备,则系统必须回收,一边其他进程使用。
图3.1
3.2 Equipment模块
3.2.1 功能
记录设备的状态及相关信息
检查设备是否被调用
对设备进行分配
进程结束对设备进行回收
3.2.2 数据结构
一个DeviceTable类、一个DeviceTable函数。
DeviceTable是设备分配表,说明设备的分配状况,是否被占用。
Device类说明了设备是如何使用的。每个设备是否被使用,哪个进程在使用该设备,哪些进程在等待使用该设备。
3.3 cpu模块
3.3.1 功能
进程对设备的调用,当进程使用设备时,检查设备是否空闲。如果空闲,则调用该设备;如果设备正被使用,则将该进程阻塞到该设备的阻塞队列中,等到设备空闲时,再被唤醒,调用设备。
3.3.2 数据结构
一个设备的枚举类型DeviceType,一个cpu函数。
Cpu函数中调用Equipment模块中的函数对设备进行检测。如果设备空闲,就调用该设备;如果设备真在被使用,则该进程被阻塞到该设备的阻塞队列中。
3.3.3 算法
通过调用Equipment模块中的函数对设背进行检测:如果设备空闲,则使用该设备;如果设备正在工作,则进程被阻塞。
3.4 form1模块
3.4.1 功能
界面管理
图3-2
启动进程,如果要使用设备,按先来先服务的算法调用设备。此模块中有一个设备调用函数public int Allocate(DeviceType type),根据设备的物理名调用设备,并将信息显示显示到界面中。
3.4.2 算法
先来先服务(FCFS, First Come First Service)分配算法:
每一设备有一队列管理,当多个作业或任务对同一设备提出I/O请求时,该算
您可能关注的文档
最近下载
- 2024年12月浙江省大学英语三级考试真题试卷.doc VIP
- 2025年江苏省各地中考作文分析与指导(附满分作文).pdf VIP
- 2025宁波城建投资集团旗下地产板块招聘18人笔试模拟试题及答案解析.docx VIP
- 实施指南《GB_T19077 - 2024粒度分析激光衍射法》实施指南.docx VIP
- 剧本杀完整剧本 致命喷泉(4人封闭).docx VIP
- 基于核心素养的初中数学与物理学科融合的主题教学案例论文.docx
- 小学至高中语文古诗文整理(五四学制).pdf VIP
- 人教A版高中数学选择性必修第三册同步教材习题答案.doc VIP
- 胸腔闭式引流术操作流程及评分细则.pdf VIP
- 电子线路_非线性部分习题答案解析.pdf
文档评论(0)