1、 操作系统课程设计 题目: 操作系统课程设计操作系统课程设计 学 院 工商学院 学 部 信息科学与工程 专 业 计算机类 学 号 姓 名 指导教师 2016 年 6 月 24 日 装 订 线 目目 录录 目 录 . 2 一、引言 1 1.11.1 课程设计目的课程设计目的 1 1 1.21.2 课程设计内容课程设计内容 1 1 1.31.3 小组人数及编程语言小组人数及编程语言 1 1 二、需求分析. 1 设备管理设备管理 2 2 2.1 设计任务2 2.2 设计要求2 三 算法及数据结构 2 3 3.1.1 算法的总体思想(流程)算法的总体思想(流程) 3 3 3.2 Equipment3.
2、2 Equipment 模块模块 3 3 3.2.1 3.2.1 功能功能 3 3 3.2.2 3.2.2 数据结构数据结构 3 3 3.3 cpu3.3 cpu 模块模块 4 4 3.3.1 3.3.1 功能功能 4 4 3.3.2 3.3.2 数据结构数据结构 4 4 3.3.3 3.3.3 算法算法 5 5 3.4 form13.4 form1 模块模块 5 5 3.4.1 3.4.1 功能功能 5 5 3.4.2 3.4.2 算法算法 6 6 四、程序设计及实验 6 五、总结和讨论 . 9 六、 代码10 1 一、引言一、引言 1.1 课程设计目的课程设计目的 通过模拟操作系统的实现,
3、 加深对操作系统工作原理理解, 进一步了解操作系统的实现 方法,并可练习合作完成系统的团队精神和提高程序设计能力。 1.2 课程设计内容课程设计内容 模拟采用多道程序设计方法的单用户操作系统,该操作系统包括进程管理、存储管理、 设备管理、文件管理和用户接口四部分。 1.3 小组人数小组人数 小组人员:赵林华 张铭 二、需求分析二、需求分析 设备管理设备管理 设备管理设备管理主要包括设备的分配和回收。模拟系统中有鼠标、键盘、打印机和视 频四种设备, 采用安全分配方式。 设备采用设备状态的变化还有设备颜色的变化来判断设备 所处的状态, 当创建文件是就指明了要调用的设备, 让后等进程运行时来知道调用
4、的什么设 备,最后颜色和状态的变化来反应调用的设备与每个设备所处的状态。设备用 JButton 图标 显示,通过灰色和可见色判断是否被调用 2.12.1 设计任务设计任务 设计一个设备管理分配程序,按先来先服务的算法,对设备进行分配。 2 2.22.2 设计要求设计要求 设备管理主要包括设备的分配和回收。 (1)模拟系统中有 A、B、C 三种独占型设备,A 设备 3 个,B设备 2 个,C 设备 1 个。 (2)因为模拟系统比较小,因此只要设备表设计合理即可。 (3)采用先来先服务分配策略,采用设备的安全分配方式。 (4)屏幕显示 三、算法及设计结构三、算法及设计结构 3.13.1 算法的总体
5、思想(流程)算法的总体思想(流程) 设备管理的功能是按照设备的类型和系统采用的分配策略,为请求 I/O 进程分 配一条传输信息的完整通路。 合理的控制 I/O 的控制过程, 可最大限度的实现 CPU 与设备、设备与设备之间的并行工作。 1.监视所有设备。为了能对设备实施有效的分配和控制,系统能获取设备的状 态。设备状态保存在设备控制表(DeviceTable)中,并动态的记录状态的变化及有 关信息。 2.制定分配策略。按先来先服务的算法,进行设备分配。 3.设备的分配。把设备分配给进程。 4.设备回收。当进程运行完毕后,要释放设备,则系统必须回收,一边其他进 程使用。 3 图 3.1 3.23
6、.2 EquipmentEquipment 模块模块 3.23.2.1.1 功能功能 记录设备的状态及相关信息 检查设备是否被调用 对设备进行分配 进程结束对设备进行回收 3.3.2.22.2 数据结构数据结构 一个 DeviceTable 类、一个 DeviceTable 函数。 DeviceTable 是设备分配表,说明设备的分配状况,是否被占用。 Device 类说明了设备是如何使用的。每个设备是否被使用, 哪个 进程在使用该设备,哪些进程在等待使用该设备。 4 3.33.3 cpucpu 模块模块 3.33.3.1.1 功能功能 进程对设备的调用,当进程使用设备时,检查设备是否空闲。如果空闲, 则调用该设备;如果设备正被使用,则将该进程阻塞到该设备的阻塞队列中,等 到设备空闲时,再被唤醒,调用设备。 3