中北大学操作系统课程设计说明书学院、系: 软件学院专业: 软件工程学生姓名: 学号: 设计题目: 模拟文件系统的设计与实现起迄日期: 201 6年 12月21日- 201 7年1月4日指导教师: 201 6年 12月20日一、需求分析 课程设计题目和目的通过模拟文件系统的实现, 深入理解操作系统中文件系统的理论知识, 加深对教材中的重要算法的理解。同时通过编程实现这些算法,更好地掌握操作系统的原理及实现方法,提高综合运用各专业课知识的力。 课程设计要求通过课程设计,要求学生主要掌握以下内容: a. 文件的物理结构可以选用顺序分配,链表分配或索引分配。 b. 建立文件:从命令中得到文件名,得到该文件的文件长度,建立文件修改目录表。 c. 删除文件:回收文件占用的空间,修改目录表 d. 读文件: read[ 文件名][ 显示开始字节][ 显示的字节数] ,直接显示所需要的字节数。 e. 写文件: write[ 文件名][ 插入的位置][ 插入的内容] f. 查询属性:显示文件属性,文件名,类型,长度,时间等。 程序设计思想此课程设计把 TXT 文件作为研究对象来模拟操作系统的文件系统的文件系统工作过程。所以用一个字符串数组来模拟磁盘空间,顾名思义,模拟磁盘提供字符的存储服务。磁盘空间分配表, 采用链表结构, 每个节点保存模拟磁盘的一个逻辑块的信息, 包括块的最大长度, 文件占用长度, 占用标志。如果占用标志为 0, 即该空间可分配给文件。初始化磁盘空间时, 从头开始遍历, 检查占用位, 如果该块位可分配, 则检查块大小, 若块长度大于或者等于申请空间的大小, 则把块的前一部分( 等于申请大小) 分配给文件, 并置标志位为占用。剩下的大小做来一个新块,做来一个新的节点插入到原节点的后边,标志位为可用。这样就实现了模拟磁盘的线性分配。文件表, 由于模拟文件系统的文件数量不多, 故文件表采用线性表来存储。线性表每个节点存储一个文件的信息。打开文件表, 采用数组形式存储打开的文件, 数组每个元素保存一个打开文件的信息。文件信息和文件表中的文件信息类似。构造这些实体的关系图, 数据流图。程序流程图来进行具体的设计。 实验环境 eclipse+ 二、总体设计 系统流程图 开始输入用户名输入的用户名为空用户登录成功,创建用户根目录用户进行各项操作, 包括目录的创建粘贴和删除以及文件的相用户是否进行注销并切换到其他用户文件夹用户退出结束 Y N YN 文件结构采用类似于树状的结构图 实现操作------------------------- 以下为显示和跳转操作------------------------------ ls 显示文件目录 cd [dirname]: 跳转到指定目录 cd .. 跳转到上层目录--------------------------- 以下为目录操作-------------------------------- mkdir [dirname]: 创建目录 ptdir [dirname]: 粘贴目录 cpdir [dirname]: 拷贝目录 rnmdir [dirname]: 重命名目录 rmdir [dirname]: 删除目录--------------------------- 以下为文件操作-------------------------------- vim [filename]: 创建文件 ptfile [filename]: 粘贴文件 cpfile [filename]: 拷贝文件 rnmfile [filename]: 重命名文件 rmfile [filename]: 删除文件 vi [filename]: 显示文件内容--------------------------- 以下为退出该系统操作---------------------------- exit --------------------------- 以下为用户切换操作------------------------------ logout 注销 login [username] 以该用户的身份登录 add [username] 添加新的用户并登录--------------------------------------------------------------------- 数据结构 Src 文件结构用户一(以用户名命名) 用户二(以用户名命名) 。。。。。。。 Dir1 File11 Dir2 Dir3 Dir4 File2 Dir5 File3 Dir6
操作系统设计说明书概念 来自淘豆网m.daumloan.com转载请标明出处.