操作系统课程设计--二级文件系统(java)

ID:863698

大小:185.53 KB

页数:21页

时间:2017-09-21

操作系统课程设计--二级文件系统(java)_第1页
操作系统课程设计--二级文件系统(java)_第2页
操作系统课程设计--二级文件系统(java)_第3页
操作系统课程设计--二级文件系统(java)_第4页
操作系统课程设计--二级文件系统(java)_第5页
资源描述:

《操作系统课程设计--二级文件系统(java)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、操作系统课程设计报告二级文件系统(java)姓名:李爱军班级:计091-2学号:200925501211指导教师:翟一鸣日期:2012-08-30目录一、实验目的3二、实验内容3三、实验过程3四、设计思路4五、实现的功能5六、实验感悟5附录:程序主要代码5一、实验目的通过一个简单多用户文件系统的设计,加深理解文件系统的内部功能及内部实现。二、实验内容为linux系统设计一个简单的二级文件系统。要求做到以下几点:1、可以实现下列几条命令(至少4条);login用户登陆dir列文件目录create创建文件delete删除文件open打开文件close关闭文件read读文件write写文件2、列目

2、录时要列出文件名、物理地址、保护码和文件长度;3、源文件可以进行读写保护。三、实验过程1、程序流程登录输入用户名用户存在进入目录管理注册登陆完成否是用户登录流程列出目录文件读取文件展示文件完成是否当前用户文件否是列文件目录流程1、主要类介绍(1)、publicclassSystems文件系统的主类(2)、publicclassMyFile自定义的文件结构体类(3)、publicclassMyDirectory自定义的目录的结构体类(4)、publicclassSuperBlockimplementsSerializable超级快结构体类(5)、publicclassINodeimplemen

3、tsSerializable,Comparable自定义INode节点实体类(6)、publicclassFileTools自定义数据文件的读写工具类四、设计思路1、一个磁盘的有扇区(超级块)、索引块区(Inode节点区)、存储区(数据块区)2、扇区中主要是存储磁盘的总大小、空闲Inode节点、使用的Inode节点、已使用空间、空闲空间。3、Inode节点主要存储:当前的地址、文件的长度、用户名、读写的权限、文件是否打开、文件的类型(0代表目录,1代表普通文件)、对应文件块的地址(即序号)、父节点块号、自己的当前节点的序号。4、自定义目录:文件对应Inode的索引、文件的名字、

4、当前目录下的Inode和文件的对应关系(privateTreeMaptree)5、自定应文件:文件对应Inode的索引、文件名字、/数据内容。6、控制类:得到用户的输入操作调用相应的操作。五、实现的功能1、用户的注册和登陆2、dir列文件目录3、create创建文件4、delete删除文件5、read读文件6、write写文件7、cd更改目录8、rename重命名文件名六、实验感悟首先想说一句话:“没被逼着是不会出大力的”。解释一下,看到同学们用的都是以前的C或者是C++的文件代码。我自己考来一份,这个悲催啊,自己的CC++的功底实在是太差劲的,直接看不懂

5、,也没那耐心烦。从网上down了几份java的代码。其中有一份写的不错,很巧妙的实现了老师的要求。可是以真正的课程设计的原理真是风马牛不相及啊。怕老师不让过,于是下决心自己写一下(觉得自己对相应的原理还是知道一些的)。我的痛苦的过程也就开始了。我真的有一次体味到写程序最难得不是代码的编写,而是思路、思路、思路。前一天很容易的就实现了用户登录相应的操作。同时数据读写的工具类和项目的框架也算是粗糙的完成了。可是接下来就写不下去了,原因是Inode和file或者directory之间是如何关联的。这三个类的属性是如何定义和分配的。自己拿笔也在纸上画,又和舍友李新等同学探讨。有思考了一天多,模模糊糊

6、的开始写,又改有写。就这样一点一点的写着改着,痛苦着并高兴着。终于粗糙的写完了。时间太短啊,还有许多可以优化的地方还没来得修改。周五下午,怀着一颗忐忑的心找老师验程序。当听到老师的一句:“写的还不错么!”那种高兴无法用言语来形容!这几天的痛苦、熬夜都值了。谢谢老师的夸奖!附录:程序主要代码1.Systems.javaimportjava.util.ArrayList;importjava.util.Iterator;importjava.util.Scanner;importjava.util.Set;importjava.util.StringTokenizer;/***文件管理系统主类*

7、*@authorliaijun**/publicclassSystems{Scannersc=newScanner(System.in);//从控制台读取数据publicstaticSuperBlocksb=null;//超级块记录虚拟磁盘的总信息publicstaticArrayListusers;//用户名数组;publicstaticINode[]inodes=newINode[100]

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
正文描述:

《操作系统课程设计--二级文件系统(java)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、操作系统课程设计报告二级文件系统(java)姓名:李爱军班级:计091-2学号:200925501211指导教师:翟一鸣日期:2012-08-30目录一、实验目的3二、实验内容3三、实验过程3四、设计思路4五、实现的功能5六、实验感悟5附录:程序主要代码5一、实验目的通过一个简单多用户文件系统的设计,加深理解文件系统的内部功能及内部实现。二、实验内容为linux系统设计一个简单的二级文件系统。要求做到以下几点:1、可以实现下列几条命令(至少4条);login用户登陆dir列文件目录create创建文件delete删除文件open打开文件close关闭文件read读文件write写文件2、列目

2、录时要列出文件名、物理地址、保护码和文件长度;3、源文件可以进行读写保护。三、实验过程1、程序流程登录输入用户名用户存在进入目录管理注册登陆完成否是用户登录流程列出目录文件读取文件展示文件完成是否当前用户文件否是列文件目录流程1、主要类介绍(1)、publicclassSystems文件系统的主类(2)、publicclassMyFile自定义的文件结构体类(3)、publicclassMyDirectory自定义的目录的结构体类(4)、publicclassSuperBlockimplementsSerializable超级快结构体类(5)、publicclassINodeimplemen

3、tsSerializable,Comparable自定义INode节点实体类(6)、publicclassFileTools自定义数据文件的读写工具类四、设计思路1、一个磁盘的有扇区(超级块)、索引块区(Inode节点区)、存储区(数据块区)2、扇区中主要是存储磁盘的总大小、空闲Inode节点、使用的Inode节点、已使用空间、空闲空间。3、Inode节点主要存储:当前的地址、文件的长度、用户名、读写的权限、文件是否打开、文件的类型(0代表目录,1代表普通文件)、对应文件块的地址(即序号)、父节点块号、自己的当前节点的序号。4、自定义目录:文件对应Inode的索引、文件的名字、

4、当前目录下的Inode和文件的对应关系(privateTreeMaptree)5、自定应文件:文件对应Inode的索引、文件名字、/数据内容。6、控制类:得到用户的输入操作调用相应的操作。五、实现的功能1、用户的注册和登陆2、dir列文件目录3、create创建文件4、delete删除文件5、read读文件6、write写文件7、cd更改目录8、rename重命名文件名六、实验感悟首先想说一句话:“没被逼着是不会出大力的”。解释一下,看到同学们用的都是以前的C或者是C++的文件代码。我自己考来一份,这个悲催啊,自己的CC++的功底实在是太差劲的,直接看不懂

5、,也没那耐心烦。从网上down了几份java的代码。其中有一份写的不错,很巧妙的实现了老师的要求。可是以真正的课程设计的原理真是风马牛不相及啊。怕老师不让过,于是下决心自己写一下(觉得自己对相应的原理还是知道一些的)。我的痛苦的过程也就开始了。我真的有一次体味到写程序最难得不是代码的编写,而是思路、思路、思路。前一天很容易的就实现了用户登录相应的操作。同时数据读写的工具类和项目的框架也算是粗糙的完成了。可是接下来就写不下去了,原因是Inode和file或者directory之间是如何关联的。这三个类的属性是如何定义和分配的。自己拿笔也在纸上画,又和舍友李新等同学探讨。有思考了一天多,模模糊糊

6、的开始写,又改有写。就这样一点一点的写着改着,痛苦着并高兴着。终于粗糙的写完了。时间太短啊,还有许多可以优化的地方还没来得修改。周五下午,怀着一颗忐忑的心找老师验程序。当听到老师的一句:“写的还不错么!”那种高兴无法用言语来形容!这几天的痛苦、熬夜都值了。谢谢老师的夸奖!附录:程序主要代码1.Systems.javaimportjava.util.ArrayList;importjava.util.Iterator;importjava.util.Scanner;importjava.util.Set;importjava.util.StringTokenizer;/***文件管理系统主类*

7、*@authorliaijun**/publicclassSystems{Scannersc=newScanner(System.in);//从控制台读取数据publicstaticSuperBlocksb=null;//超级块记录虚拟磁盘的总信息publicstaticArrayListusers;//用户名数组;publicstaticINode[]inodes=newINode[100]

显示全部收起
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭