网站大量收购独家精品文档,联系QQ:2885784924

文件管理系统(附源代码)(操作系统课程设计说明书).doc

文件管理系统(附源代码)(操作系统课程设计说明书).doc

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE PAGE 21 说明书 设计题目: 简单文件管理系统 系别: 计算机工程系 专业班级: 计071班 学号: 200700401010 姓名: *** 指导老师: *** 日期: 20 设计目的 设计实现一个简单的模拟文件管理系统,包括目录文件、普通文件、i结点和存储区, / (root) A D C B E F 目录 文件 设计内容 构造类似于Linux的的目录结构。目录的层次可适当控制 在此模拟文件管理系统中可以实现的操作有: 改变目录:cd<目录名>,工作目录转移到指定的目录下。目录不存在时,给出错误信息。 创建文件:edit<文件名>,创建一个指定名字的新文件,即在目录中增加一项,不考虑文件的内容。对于重名文件给出错误信息。 删除文件:del<文件名>,当没在用户使用指定文件时,将其删除。文件不存在时给出错误信息。 显示目录:dir<目录名>,显示指定目录下的全部文件和第一级子目录,如果没有指定目录名,则显示当前目录下的相应内容。 创建目录:md<目录名>,在指定路径下创建指定的目录,如没有指定路径,则在当前目录下创建指定的目录。对于重名目录给出错误信息。 删除目录:rd<目录名>,删除指定目录及其下的全部文件和子目录。如果指定目录为空,可直接删除,否则给出用户提示是否删除。 其他说明: <目录名>和<文件名>都支持全路径名和相对路径名。 文件名由目录结构中各级文件名分量排列构成,各分量间用“/”隔开。 输入exit命令可退出此模拟文件管理系统。 系统实现 1.程序框架及相关函数 main() //主函数 bool InitFileSys() //初始化文件树 void Shell() //命令解释函数 void Cd() //处理cd命令 void Create() //处理edit命令 void Delete() //处理del命令 void Mkdir() //处理md命令 void Dir() //处理dir命令 文件系统采用二叉树链表存储结构,结点如下: typedef struct { unsigned Index; //文件元素索引编号 char FileName[NAME_LEN]; //文件元素名 char ParentName[NAME_LEN]; //父节点名 unsigned FileBlockId; //文件元素所在物理块编号 unsigned FileLevel;//文件元素所在层次 unsigned effect; //是否有效,0-无效,1-有效 } FileIndexElement; 4.数据结构 本程序主要用到的数据结构:数据存储利用二叉链表存储文件,输出用二叉树前序遍历和中序遍历,递归检索和二叉树的有关操作:删除,插入,检索等等。本程序的重点是如何将因插入和删除结点后,如何处理文件二叉树的父亲结点与孩子之间的关系。另外,命令解释和文件资源分配也是程序的重点!在时间复杂度上,文件二叉检索树的平均长度为:2log2n。因些,建立文件管理系统能为检索,删除和插入节省操作和时间。 5.核心程序设计 本系统采用二叉链表存储文件。从主函数开始,InitFileSys()初始化文件树, Login()输出提示文字,然后进入系统核心功能:命令解释和文件操作函数shell()。 主函数main()流程图如下: 开始 开始 初始化文件树 输入命令 命令解释shell() 命令是否为exit 命令是否为cd 命令是否为edit 命令是否为del 命令是否为 md 结束 判断命令 N N N N N N N Y Y Y 调用cd () 函数 命令是否为dir 调用 Create () 函数 调用mkdir () 函数 调用delete () 函数 调用dir () 函数 Y Y Y Y Y 6.程序测试 运行后,对各个文件操作功能一一进行重复测试,以下是其中的一个测试结果: 7.程序代码 #include stdio.h #include stdlib.h #include conio.h #include string.h #include time.h const uns

文档评论(0)

yurixiang1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档