• 大小: 306KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-01-07
  • 语言: 其他
  • 标签: 文件管理  C++  FAT  FCB  

资源简介

在内存中开辟一个虚拟磁盘空间作为文件存储分区,在其上实现一个简单的基于多级目录的单用户单任务系统中的文件系统。在退出该文件系统的使用时,应将该虚拟文件系统以一个Windows 文件的方式保存到磁盘上,以便下次可以再将它恢复到内存的虚拟磁盘空间中。 文件存储空间的分配可采用显式链接分配或其他的办法。 空闲磁盘空间的管理可选择位示图或其他的办法。如果采用位示图来管理文件存储空间,并采用显式链接分配方式,那么可以将位示图合并到FAT中。 文件目录结构采用多级目录结构。为了简单起见,可以不使用索引结点,其中的每个目录项应包含文件名、物理地址、长度等信息,还可以通过目录项实现对文件的读和写的保护。 要求

资源截图

代码片段和文件信息

#include 
#include 
#include 
#include 
#include 
#include 

#define  BLOCKSIZE  1024      //磁盘块大小
#define  SIZE         1024000   //虚拟磁盘空间大小
#define  END         65535     //FAT中的文件结束标志
#define  FREE        0         //FAT中盘块空闲标志
#define  ROOTBLOCKNUM  2   //根目录区所占盘块总数
#define  MAXOPENFILE    10   //最多同时打开文件个数
#define  MAXFCB 32  //在一磁盘块种最多的文件控制块数

typedef struct FCB //仿照FAT16设置的 占32位
{
char filename[11]; //文件名

unsigned long  time; //文件创建时间
unsigned long  data; //文件创建日期
unsigned short first; //文件起始盘块号
unsigned long length; //文件长度(字节数)
char attribute; //文件属性字段:为简单起见,我们只为文件设置了两种属性:
//值为0时表示目录文件,值为1时表示数据文件
char nextdirectory; //表示目录项是否为空,若值为-1,表示空,值为不为-1,表示已分配
char nextfile; //-1表结束文件链表,不为-1,表下一个文

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2012-12-26 14:35  NTFS_t\
     目录           0  2013-01-04 12:35  NTFS_t\Debug\
     文件       74752  2012-12-26 14:35  NTFS_t\Debug\NTFS_t.bsc
     文件      213055  2012-12-26 14:35  NTFS_t\Debug\NTFS_t.exe
     文件      213684  2012-12-26 14:35  NTFS_t\Debug\NTFS_t.ilk
     文件      233904  2012-12-23 19:48  NTFS_t\Debug\NTFS_t.pch
     文件      508928  2012-12-26 14:35  NTFS_t\Debug\NTFS_t.pdb
     文件       54501  2012-12-26 14:35  NTFS_t\Debug\main.obj
     文件           0  2012-12-26 14:35  NTFS_t\Debug\main.sbr
     文件     1024008  2013-01-04 12:35  NTFS_t\Debug\myfsys.dat
     文件       41984  2012-12-30 19:07  NTFS_t\Debug\vc60.idb
     文件       53248  2012-12-26 14:35  NTFS_t\Debug\vc60.pdb
     文件        4286  2012-12-15 22:41  NTFS_t\NTFS_t.dsp
     文件         246  2012-12-30 19:07  NTFS_t\NTFS_t.plg
     文件     1024008  2012-12-26 14:34  NTFS_t\disk.dat
     文件       29636  2012-12-26 14:35  NTFS_t\main.cpp
     文件       22487  2012-12-23 22:53  NTFS_t\mainddd.cpp
     文件     1024008  2012-12-26 14:35  NTFS_t\myfsys.dat

评论

共有 条评论