操作系统课程设计(设备管理)目录一引言..........................................11.1课程设计题目...................................11.2课程设计的目的.................................11.3小组人数......................................11.4编程语言......................................11.5课程设计内容...................................11.6界面设计如图...................................1二课程设计任务及要求.............................22.1设计任务......................................22.2设计要求......................................2三算法及数据结构................................23.1算法的总体思想(流程)..........................23.2Equipment模块.................................33.2.1功能........................................33.2.2数据结构....................................33.3cpu模块......................................43.3.1功能........................................43.3.2数据结构....................................43.3.3算法........................................43.4form1模块.....................................43.4.1功能........................................43.4.2算法........................................5四程序设计与实现...............................54.1程序流程图....................................54.2基本思想......................................64.3定义的公共变量或数据结构........................74.4实验部分代码..................................74.5运行截图.....................................124.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.13.2Equipment模块3.2.1功能记录设备的状态及相关信息检查设备是否被调用对设备进行分配进程结束对设备进行回收3.2.2数据结构一个DeviceTable类、一个DeviceTable函数。DeviceTable是设备分配表,说明设备的分配状况,是否被占用。Device类说明了设备是如何使用的。每个设备是否被使用,哪个进程在使用该设备,哪些进程在等待使用该设备。3.3cpu模块3.3.1功能进程...