模拟UNIXLinux文件系统.pdf

模拟UNIXLinux文件系统.pdf

ID:57922336

大小:1.27 MB

页数:12页

时间:2020-04-10

模拟UNIXLinux文件系统.pdf_第1页
模拟UNIXLinux文件系统.pdf_第2页
模拟UNIXLinux文件系统.pdf_第3页
模拟UNIXLinux文件系统.pdf_第4页
模拟UNIXLinux文件系统.pdf_第5页
资源描述:

《模拟UNIXLinux文件系统.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、操作系统课程设计学院:信息科学与工程学院专业:计算机科学与技术班级:计算机1112班学号:***********学生姓名:田丰指导教师:韩士元2014年3月10日一、实验内容与要求[题目]模拟UNIX/Linux文件系统[问题描述]在任一OS下,建立一个大文件,把它假象成一张盘,在其中实现一个简单的模拟UNIX文件系统。[基本要求]1.在现有机器硬盘上开辟20M(或自主设定)的硬盘空间,作为设定的硬盘空间。2.编写一管理程序对此空间进行管理,以模拟UNIX文件系统,具体要求如下:(1)要求盘块大小1k正规文件(

2、2)i结点文件类型(共1byte)目录文件物理地址(索引表)共有13个表项,每表项2byte文件长度4byte(3)0号块超级块栈长度50byte空闲盘块的管理:成组链接(UNIX/Linux)(4)每建一个目录,分配4个物理块文件名14byte(5)目录项信息i结点号2byte(6)结构:0#:超级块1#-20#号为结点区21#-30#号为根目录区(7)功能:1、初始化2、建立文件(需给出文件名,文件长度)3、建立子目录4、打开文件(显示文件所占的盘块)5、删除文件6、删除目录7、显示目录(即显示目录下的信息

3、,包括文件、子目录等)8、显示整个系统信息二、数据结构设计1.盘块的设计与实现publicclassFPB{publicstaticfinalintSPACE=1024;//盘块空间大小privatefinalintnumber;//盘块编号(唯一)privatebooleanisEmpty;//盘块使用标识privateArrayListnext;//盘块成组链接表1publicFPB(intnumber)//初始化盘块{this.number=number;this.isEmpty=true;//

4、盘块未使用(空)this.next=null;}}2.物理地址的设计与实现publicclassAddress{publicstaticfinalintSIZE_0=10;//直接地址盘块数publicstaticfinalintSIZE_1=FPB.SPACE/2;//一次间接地址盘块数privateshort[]address_0;//直接地址privateshort[]address_1;//一次间接地址privateshort[][]address_2;//二次间接地址privateshortindex

5、_1;//一次间接地址索引privateshortindex_2;//二次间接地址一次索引privateshort[]index02;//二次间接地址二次索引publicAddress()//分配物理地址{this.address_0=newshort[SIZE_0];this.address_1=newshort[SIZE_1];this.address_2=newshort[SIZE_1][SIZE_1];this.index02=newshort[SIZE_1];}}3.结点文件的设计与实现publicc

6、lassFileDir{publicstaticfinalcharFILF_TYPE='F';//正规文件标识符publicstaticfinalcharDIR_TYPE='D';//目录文件标识符privatefinalchartype;//文件类型(F或者D)privatefinalshortnumber;//结点编号(唯一)privateStringname;//文件名称privateAddressaddress;//存储地址(盘块)privateintlength;//文件大小}4.目录检索的设计与实现

7、2publicclassDIR{privateFileDirfile=null;//结点文件privateArrayList

next=null;//子目录publicDIR(FileDirfile){this.file=file;if(file.getType()==FileDir.DIR_TYPE)//目录文件创建空子目录this.next=newArrayList<>();}}三、算法设计1.空闲盘块管理的设计与实现(成组链接算法)publicclassGroupFPB{publicstaticf

8、inalintALL_SPACE=20*1024*1024;//磁盘空间publicstaticfinalintFPB_NUMBER=ALL_SPACE/FPB.SPACE;//盘块数目privatefinalintLEN_STATIC=50;//栈空间(盘块数)privatefinalintindex=1+10+20;//空闲盘块区首地址(盘块)privateArrayList

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

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

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