虚拟文件系统的实现.doc

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
虚拟文件系统的实现

渤海大学 操作系统课程设计 实验报告书 题 目: 虚拟文件系统的实现 题目编号: 院 系: 软件服务与外包学院 班 级: 小组成员: 2015-07-30 目 录 一、基本原理 1 1.1主要操作函数 1 1.2数据结构 1 1.3算法流程图 3 二、基本思路 4 2.1 设计简介 4 2.2 设计方案论述 4 2.3 文件基本操作 4 三、调试及实验结果 5 运行结果分析 7 四、个人体会 9 一、基本原理 1.1主要操作函数 int create(char *name); int open(char *name); int close(char *name); int write(int fd,char *buf,int len); int read(int fd,char *buf); int del(char *name); int mkdir(char *name); int rmdir(char *name); void dir(); int cd(char *name); void print(); void show(); 1.2数据结构 struct fatitem /* size 8*/ { int item; /*存放文件下一个磁盘的指针*/ char em_disk; /*磁盘块是否空闲标志位0 空闲*/ }; struct direct { /*-----文件控制快信息-----*/ struct FCB { char name[9]; /*文件/目录名8位*/ char property; /*属性1位目录0位普通文件*/ int size; /*文件/目录字节数、盘块数)*/ int firstdisk; /*文件/目录起始盘块号*/ int next; /*子目录起始盘块号*/ int sign; /*1是根目录0不是根目录*/ }directitem[MSD+2]; }; struct opentable { struct openttableitem { char name[9]; /*文件名*/ int firstdisk; /*起始盘块号*/ int size; /*文件的大小*/ }openitem[MOFN]; int cur_size; /*当前打文件的数目*/ }; 1.3算法流程图 二、基本思路 2.1 设计简介 本系统是模拟实现多用户多目录的文件系统,在系统出现登录后 ,输入用户与口令,在用户登录系统后,可建立文件卷,将用户输入的文件保存在指定的文件中。系统的命令与其命令的具体实现此模拟系统共提供了上述命令,并根据命令的含义与要求,用C++编程来完成所有具体操作。该系统可以模拟完成用户的登陆和验证,列出文件和目录,新建目录,改变目录,创立和编写文件,删除文件和退出系统等功能 本文件系统采用两目录,其中第一对应于用户,第二对应于用户帐号下的文件。另外,为了简便文件系统未考虑文件共享,文件系统安全以及管道文件与设备文件等特殊内容。login 用户登录 (3)cd进出目录 (4)create创建文件 close关闭文件 open打开文件 write写文件 read读文件 dir列目录 delete删除文件 运行结果分析 从上述运行过程可以看出,用户登录系统后,界面将显示文件或目录的基本操作,然后根据相应操作,完成系统的基本要求。 本次程序的运行结果与预期结果最终达到了一致。自运行阶段,虽然每次都能得到运行结果,但是操作界面有时不是很完美,于是通过修改程序代码,不断执行程序,进行完善,直到得出满意的操作界面为止。在该过程中,验证了本次课程设计所要求的基本功能,虽然有些操作不是很完善,但大体上都能实现。其中最令我不满意的是dir功能。该功能只是列出目录名,不能显示目录其他信息,是本次课程设计最大败笔。 四、个人体会 课程设计是对我们平时学习的一种考察,我们要正确地对待。不断地锻炼自己动手动脑的能力、把知识赋予实践就是我们学习的目标! 既然学校给我们这么好的机会,让我们自己在实验室作操作,我们应该好好抓住机会,把我们平时学习的东西用自己的作品展现出来。这次,给了我们充分锻炼的机会。我们会用自己学到的东西的设计出一副好的作品。 而对于我们来说,这种最灵活的知识却是最难掌握的。也因为对其基本知识掌握的不好,在这一次的设计过程中遇到很多的困难,特别是物理盘块和逻辑文件之间的对应。在经过与同学进行沟通和交流并反复的测试之后,才明白了设计的函数,而且完

文档评论(0)

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

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

1亿VIP精品文档

相关文档