操作系统课程设计文件管理系统.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
目 录 一、课程设计题目和目的 错误!未定义书签。 二、开发工具及环境 错误!未定义书签。 三、课程设计要求 错误!未定义书签。 四、程序设计思想 错误!未定义书签。 五、文件系统的实现 错误!未定义书签。 六、操作说明 5 七、程序运行结果 10 八、参考文献 15 九、心得体会 15 一、 课程设计题目和目的 本设计的目的是通过设计和调试一个简单的文件系统,主要是模拟文件操作命令的执行,来模拟文件管理,使学生对主要文件操作命令的实质和执行过程有比较深入的了解,掌握它们的基本实施方法。 二、 开发工具及环境 a)程序设计语言: C++ b)计算机及操作系统: PC机, WindowsXP c)开发平台: Microsoft Visual C++ 6.0 d)运行平台: PC机, WindowsXP 三、 课程设计要求 具体要求如下: ⑴设计一个支持 n 个用户的文件系统,每个用户可拥有多个文件;⑵采用二级或二级以上的多级文件目录管理;⑶对文件应设置存取控制保护方式,如“只能执行” 、“允许读”、“允许写”等;⑷系统的外部特征应接近于真实系统,可设置下述文件操作命令:建立文件、打开文件、关闭文件、删除文件、读文件、写文件、复制文件、查询目录。 ⑸通过键盘使用该文件系统,系统应显示操作命令的执行结果。 四、 程序设计思想 1、在内存中开辟一个虚拟磁盘空间作为文件存储器, 在其上实现一个多用户多 目录的文件系统。 2、文件物理结构可采用显式链接或其他方法。 3、磁盘空闲空间的管理可选择位示图或其他方法。 如果采用位示图来管理文件 存储空间,并采用显式链接分配方式,则可以将位示图合并到 FAT中。 4、文件目录结构采用多用户多级目录结构, 每个目录项包含文件名、 物理地址、长度等信息,还可以通过目录项实现对文件的读和写的保护。 5、对文件或目录的操作采用 windows 系统的 API 函数来实现。 6、设计一个较实用的用户界面,方便用户使用。要求提供以下相关文件操作: (1)用户登录 (3)创建目录 : creatFileDir (4)删除目录 : removeFileDir (5)创建文件 : creatFile (6)删除文件 : deleteFile (7)读文件 : readFile (8)写文件 : writeFile (9)复制文件 : copyFile (10)移动文件 : moveFile (11)返回根目录 (12)退出 五、 文件系统的实现 (1) 系统结构如下图: root 为根结点, root 下有 n 个用户,每个用户有自己的文件夹或文件,用户登录后,系统自动进行初始化,并为每个用户创建一个用户目录。目录内容只有名称和打开标志。文件除了名称和打开标志,还有文件的访问权限,文件类型以及文件长度。其中文件的访问权限、文件类型、文件长度单独作为一个结构体,其它和文件夹结构体相同,也同用一个结构体。 (2) 系统的主要流程图: 主函数开始执行时,先初始化。初始化包括创建 root 根目录,接着进行用户登录,创建用户,为每个用户创建一个用户文件,然后进入操作界面, 用户可根据按钮或提示对目录或文件进行创建、删除、复制、移动等操作。 (3) 对目录或文件的操作利用 windows 的 API 函数实现,本系统将这些操作写在一个类( FileSystemBuild.h )中,方便调用,以下是类的定义: class FileSystemBuild { public: BOOL creatFileDir(CString name); BOOL removeFileDir(CString name); HANDLE creatFile(CString name); BOOL deleteFile(CString name); CString readFile(CString name); CString writeFile(CString name,CString buf); BOOL moveFile(CString source,CString obj); BOOL copyFile(CString source,CString obj); }; (4) 程序功能图: 模拟文件系 统 创 删 创 删 读 写 复 移 返 退 建 除 建 除 文 文 制 动 回 出 目 目 文 文 件 件 文 文 根 录 录 件 件 件 件 目 录 (5)实体关系图: 用 户 命令服务 模拟磁盘 磁盘空间 文件表 打开文件 分配表 表 命令服务使得用户能够输入命令,调用相应的命令模块对模拟磁盘、磁盘空间分配表、文件表、打开文件表进行操作。磁盘空间分配表记录模拟磁盘的使用情况。文件表记录文件的信息和在磁盘里的位置等信息。打开文件表记录已打

文档评论(0)

182****2200 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档