欢迎来到天天文库
浏览记录
ID:57922336
大小:1.27 MB
页数:12页
时间:2020-04-10
《模拟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
8、inalintALL_SPACE=20*1024*1024;//磁盘空间publicstaticfinalintFPB_NUMBER=ALL_SPACE/FPB.SPACE;//盘块数目privatefinalintLEN_STATIC=50;//栈空间(盘块数)privatefinalintindex=1+10+20;//空闲盘块区首地址(盘块)privateArrayList
此文档下载收益归作者所有