资源简介

共两个不同设计例子,都含详细的文档资料。 任务2.设计一个简单的二级文件系统 设计要求: 在任一OS下,建立一个大文件,把它假象成硬盘,在其中实现一个简单的模拟文件系统。 编写一管理程序对此空间进行管理,要求: 1. 实现盘块管理 2. 实现文件的读写操作 3. 每组最多2人,小组内要有明确分工,课程设计报告中设计部分可以相同,个人实现部分不同 参考建议: 将模拟硬盘的文件空间划分为目录区,文件区;采用位示图进行空间管理,盘块的分配使用显示链接(FAT表)的方式。 设计技术参数(数据结构)参考: #define MaxSize 100 #define Disk 512 //每个盘块大小为512bit #define NumDisk 2048 //有2048个盘块,既可分配空间为 1M /*************目录和文件的结构定义***********************/ struct DirectoryNode { char name[9]; /*目录或文件的名字*/ int type; /*0代表目录,1代表普通文件*/ struct DirectoryNode *next; /*指向下一个兄弟结点的指针*/ struct DirectoryNode *preDirFile; /*指向父结点的指针*/ struct DirectoryNode *subFile; /*指向第一个子结点的指针*/ int size; /*如果是文件则表示文件的大小*/ int first; /*起始盘块号*/ int last; /*末尾盘块号*/ int order; /*备用*/ }; //连续分配 struct FileSys { int VacTable[NumDisk]; //空闲表,0为空闲,1为被用 struct DirectoryNode root; //根目录 struct DirectoryNode Directory[NumDisk]; } *filesys; typedef struct { struct DirectoryNode *DirFile; char name[9]; }DataType; //包含一个指向目录的指针和名字 typedef struct { //队列结构的实现 DataType data[MaxSize]; int front,rear; //分别表示队列的头结点和尾结点 }Tp; void InitQueue(Tp *sq) //队列初始化 int EnAddQueue(Tp *sq,DataType data) //在队列中增加元素 DataType EnDelQueue(Tp *sq) //从队列中删除一个元素 int Empty(Tp *sq) //判断队列是否为空,返回0表示队列为空 ①.Dir:显示目录内容命令,显示当前目录下的文件和子目录。 ②.Md:创建目录操作。 ③.Create:创建文件,在当前目录下创建一个文件。 ④. all:显示从根目录开始的所有目录和文件及其层次结点。 ⑤.Cd:改变目录。 ⑥.Del:删除文件操作。 ⑦. Rd:删除目录操作,删除当前目录下的子目录。 ⑧. Ren:重命名函数 ⑨. Exit:退出命令

资源截图

代码片段和文件信息

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       3197  2011-12-20 13:39  IGETPUT.C

     文件       3184  2011-12-20 13:39  IALLFRE.C

     文件        693  2011-12-20 13:39  HALTIT.C

     文件       4245  2011-12-20 13:39  FORMATIT.C

     文件       7139  2011-12-20 13:38  FILSYS.H

     文件       1744  2011-12-20 13:38  DIRGETT.C

     文件       4007  2011-12-20 13:38  DIR.C

     文件       2611  2011-12-20 13:38  CREATDE.C

     文件     238592  2012-01-12 16:36  MAIN.NCB

     文件      52736  2012-01-12 16:36  MAIN.OPT

     文件       4467  2011-12-20 13:39  MAIN.DSP

     文件        533  2011-12-20 13:39  MAIN.DSW

    .......    729088  2011-12-20 13:38  报告.doc

     文件       1079  2011-12-20 13:38  ACCESS.C

     文件       1768  2011-12-20 13:38  BALLFRE.C

     文件        556  2011-12-20 13:38  BRDWT.C

     文件       5915  2011-12-20 13:38  CMDEXP.C

     文件       2848  2011-12-20 13:39  REG.C

     文件       5479  2011-12-20 13:39  READWE.C

     文件       2079  2011-12-20 13:39  OPENCLO.C

     文件        933  2011-12-20 13:39  NAME.C

     文件       2950  2011-12-20 13:39  MAIN.C

     文件       2635  2011-12-20 13:39  LOG.C

     文件        924  2011-12-20 13:39  INIT.C

     文件     102113  2012-01-12 16:32  二级文件系统2.rar

----------- ---------  ---------- -----  ----

              1181515                    25


评论

共有 条评论