1、 1 操作系统课程设计报告操作系统课程设计报告 目录 项目概述项目概述3 基本概念和原理基本概念和原理5 详细设计详细设计.6 总结和心得总结和心得.24 参考文献参考文献.25 参考代码参考代码25 2 磁盘管理概要说明磁盘管理概要说明 一、引言 目的:确定磁盘管理模块的总体结构、与其他模块之间的接口和总体流程。 使用者:软件开发人员和维护人员。 本模块是操作系统模拟软件中的演示磁盘管理的模块, 主要来展示文件在磁盘上的存储 情况,因此和文件管理模块联系最为紧密。磁盘调度算法是一个专门的演示模块,与磁盘管 理模块物理相似,和其他模块无实际联系。 二、总体设计 采用 java 语言,使用图形化
2、界面工具 swing,以表格的形式来模拟磁盘存储结构。一行 代表一个磁道,每一行的一个小格代表一个盘块。总体采用 C/S 模式,由文件系统发送消息 过来,本模块经过相应的处理后,再返回给文件管理模块其需要的信息。 磁盘管理模块与文件管理模块本来是一个完整过程, 有了磁盘的存储, 才有文件的生成。 这两个模块之间要能够进行顺畅的消息传递。 三、模块设计 模块功能:磁盘管理 1)接收信息 接收从文件管理系统发送过来的信息。 2)处理信息 对信息进行识别和处理,转交响应的模块功能。 3)改变磁盘 对磁盘进行增、删、改、查并返回新的信息 4)返回信息 把新生成的信息返回给文件管理系统 磁盘调度: 1)
3、 FCFS 算法 2) SSTF 算法 3)SCAN 算法 4) cscan 算法 5) NStepSCAN 算法 6)FSCAN 算法 性能要求:要求磁盘管理模块的实时性非常好,能够迅速对文件管理模块的请求作出 响应。并且需要有统一的消息格式,以便取得一致性。最后还要有较好的容错性能,当磁盘 模块出现异常或消息出现某些特殊情况是, 要能给出错误提示。 磁盘调度模块需要友好的界 面。让使用者输入数据,观察各种磁盘调度算法,保证算法的正确性。 磁盘管理模块和文件管理模块的接口使用 Socket 来实现,接收一个专门的文件消息对 象,处理完毕后,返回给文件管理模块结果。结果也是一个文件消息对象。
4、四、数据结构设计 磁盘管理中,采用二维表来存储每一个盘块。磁盘中文件存放形式有链式和索引, 单独的文件采用链式存储,文件夹中的文件采用索引节点存储。使用对象来存储数据,进行 信息转移。 磁盘调度算法演示中,采用一维数组来存放所有磁道。左边用一系列磁道号静态显 示磁道的访问过程,右边就是动态变化。用不同的颜色来区分,将要访问磁道、已访问的磁 道和新的磁道访问请求。 3 五、运行设计 磁盘管理模块 Message Message 读取磁盘信息 修改磁盘信息 初始数据 改变 返回 存储 结果 用户界面: 0| file1 |2 2|file1 |-1 磁盘大小:128KB 已用空间:32KB 可用空间:36KB 当前文件:file1 磁盘调度管理 选择数据 性能结果 用户界面 总磁道数:100 原始请求数据:4,20,44,8,78 添加磁道请求: 添加 其实磁道: 初始方向: 六、故障处理说明 出现故障,磁盘会产生一个 Message