虚拟FAT文件系统的创建及读取方法以及装置制造方法及图纸

技术编号:3846567 阅读:319 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种虚拟FAT文件系统的创建及读取方法以及装置,其中的创建方法包括创建虚拟目录以及创建虚拟文件的步骤,其中,所述创建虚拟文件的步骤包括:在目标分区的目标目录下创建目录项,修改目录向属性文件名为B;根据真实文件A的大小在目标分区的FAT表中分配连续的簇,构成虚拟文件B的簇链。采用本发明专利技术,可通过虚拟FAT文件系统访问巨大容量的磁盘空间。

【技术实现步骤摘要】

本专利技术涉及计算机
,尤其涉及一种虚拟FAT (File AllocationTable,文 件分配表)文件系统的创建及读取方法以及装置。
技术介绍
FAT文件系统是微软在20世纪70年代末到80年代初发布的,由微软的MS-DOS操 作系统支持。在FAT文件系统发展的过程中,出现了 FAT12、FAT16和FAT32三个版本,其中, FAT12文件系统由于具有一些致命的缺点,很早就被FAT16取代了,而FAT16和FAT32目前 还在广泛使用,特别是针对小容量的存储设备,例如USB盘、SD卡等。FAT文件系统的原理可以简单地描述为把存储空间分块映射到一个表中,从而实 现对存储空间的灵活支配。存储空间中的每一个块被称为簇,存储空间的映射表被称作FAT 表。三种FAT文件系统的一个明显区别就是FAT表中表示一个簇所用的位数不同,分别是 12、16和32文件的存储是不必连续的,但在FAT表中可用链表的形式把文件联系在一起。由于FAT16文件系统在大容量分区管理方面的效率急剧下降,而FAT32文件系统 却很好地解决了这个文件,所以在大分区管理方面,FAT32是理想的文件系统。参见图1,为FAT32文件系统基本结构示意图。可见,FAT32文件系统在结构上延 续了 FAT文件系统的基本结构,主要由以下三部分组成· DBR (Dos Boot Record,操作系统引导记录区),包括跳转指令、厂商标志、OS版 本号、BPB(Bios Parameter Block)、扩展BPB、引导程序和结束符;· FAT表,实际数据存储空间的映射表,FATl和FAT2完全一致,FAT2为FATl的备 份;·数据区,即实际数据的存储空间,相比于FAT16,从簇2不再有专门的根目录空 间,而是把根目录也当作一个特殊的文件来处理,起始簇是2。另外,FAT32文件系统还包括FDT (目录项),图1中未示出。下面介绍FAT32文件系统对文件的管理。除了根目录的所有文件(子目录也作为一种特殊的文件存在)都对应一组数据作 为文件来描述,被称为文件目录项。每个文件目录项内的所有文件和子目录的文件目录项 都存储在这个目录对应的存储空间内,每一个文件目录项有32个字节,主要包括文件名、 文件属性、文件大小、文件存储位置以及一系列的时间描述等。把文件路径、文件目录项和 FAT表联系在一起就可以完全把握一个文件在硬盘的存储情况,通过下面的步骤可定位出 文件的所有内容(1)通过路径找到文件所在目录的簇;(2)在目录对应的空间内比对文件名,找到文件对应的文件目录项;(3)通过文件目录项确定文件的起始簇和文件大小;(4)根据FAT表内的簇链确定文件的存储空间。
技术实现思路
本专利技术以标准FAT文件系统为基础,提供一种虚拟FAT文件系统的创建及读取方 法以及装置,从而可以实现通过虚拟FAT文件系统访问巨大容量的磁盘空间。为此,本专利技术实施例采用如下技术方案一种虚拟FAT文件系统的创建方法,为真实文件在目标分区的目标目录下创建其 对应的虚拟文件,该方法包括创建虚拟目录以及创建虚拟文件的步骤,其中,所述创建虚拟 文件的步骤包括在目标分区的目标目录下创建目录项,修改目录项属性文件名为虚拟文 件的名称;根据真实文件的大小在目标分区的FAT表中分配连续的簇,构成虚拟文件的簇 链。在创建虚拟目录之前还包括将虚拟FAT文件系统所在设备格式化为FAT32系统 后,在FAT32系统的数据区仅保存目录。所述将虚拟FAT文件系统所在设备格式化为FAT32系统还包括修改文件系统引 导扇区的FAT表个数为1。 在将虚拟FAT文件系统所在设备格式化为FAT32系统之前,还包括修改虚拟FAT 文件系统所在设备的驱动程序向访问虚拟FAT文件系统的设备的注册参数。优选地,该方法还包括创建包括簇链号、簇链尺寸以及真实文件全路径名的对应 关系的虚拟簇链号和真实文件对照表。其中,所述创建虚拟目录的步骤是在预先指定的磁盘空间进行的。一种虚拟FAT文件系统的读取方法,通过读取虚拟FAT文件系统中的虚拟文件访 问真实文件,该方法包括接收虚拟文件的读操作请求,该请求中包括扇区号和尺寸;根据 所述扇区号以及查找所述虚拟FAT系统获得的参数,计算得到虚拟文件的簇链号;根据所 述簇链号和所述读操作请求中的尺寸查找预先生成的虚拟文件簇链和真实文件对照表,得 到真实文件的全路径名和位置信息;根据真实文件全路径名和位置信息以及所述读操作请 求中的尺寸,确定真实文件的访问路径信息;根据所述访问路径信息访问真实文件。其中,所述根据所述扇区号以及查找所述虚拟FAT系统获得的参数,计算得到虚 拟文件的簇链号的具体过程为查找虚拟FAT系统的DBR,得到保留扇区数、FAT表扇区数和 扇区每簇数;利用所述扇区号、所述保留扇区数、FAT表扇区数和扇区每簇数计算得到虚拟 文件的簇链号。通过以下公式计算得到虚拟文件的簇链号簇链号=(扇区号-保留扇区数-FAT 表扇区数)/扇区每簇数+2。其中,所述根据所述簇链号和所述尺寸查找预先生成的虚拟文件簇链和真实文件 对照表,得到真实文件全路径名和位置信息的具体过程为根据所述簇链号和尺寸查找虚 拟文件簇链和真实文件对照表,确定所述簇链号和尺寸在起始簇链号和簇链尺寸所确定的 空间中,匹配出真实文件的全路径名;根据所述保留扇区数、FAT表扇区数、扇区每簇数和 起始簇链号计算得到起始簇链号对应的扇区号,根据所述读操作请求中的扇区号、起始簇 链号对应的扇区号计算得到真实文件的位置信息。一种虚拟FAT文件系统的创建装置,为真实文件在目标分区的目标目录下创建其 对应的虚拟文件,该装置包括虚拟目录创建单元以及虚拟文件创建单元,其中,所述虚拟文 件创建单元包括目录项创建子单元,用于在目标分区的目标目录下创建目录项,并修改目录项属性文件名为虚拟文件的名称;簇链创建子单元,用于根据真实文件的大小在目标分 区的FAT表中分配连续的簇,构成虚拟文件的簇链。一种虚拟FAT文件系统的读取装置,通过虚拟FAT文件系统中的虚拟文件读取真 实文件,该装置包括读操作请求接收单元,用于接收虚拟文件的读操作请求,该请求中包 括扇区号和尺寸;簇链号确定单元,用于根据所述扇区号以及查找所述虚拟FAT系统获得 的参数,计算得到虚拟文件的簇链号;真实文件路径确定单元,用于根据所述簇链号和所述 尺寸查找预先生成的虚拟文件簇链和真实文件对照表,得到真实文件的全路径名和位置信 息,并根据真实文件全路径名和位置信息以及所述读操作请求中的尺寸,确定真实文件的 访问路径信息;真实文件访问单元,用于根据所述访问路径信息访问真实文件。通过一些网络技术,例如网络存储协议(ISCSI),可以实现一台机器A的某个或某 些磁盘分区映射为机器B的某个分区,机器A的文件系统通常是完整的文件系统,包含文件 系统的元数据,目录和文件数据。本专利技术实现的虚拟FAT文件系统(FictFAT32)仅包含文 件系统的元数据和目录,文件数据存放于其它分区。FictFAT32需要很小的磁盘空间,通常 在16M容量的空间就可映射32G物理磁盘上的文件。通过网络协议可把它完全映射到某个 嵌入式设备的内存空间中,而嵌入式设备的内存空间可被别的主机作为USB存储设备来访 问。通过本专利技术本文档来自技高网
...

【技术保护点】
一种虚拟FAT文件系统的创建方法,其特征在于,为真实文件在目标分区的目标目录下创建其对应的虚拟文件,该方法包括创建虚拟目录以及创建虚拟文件的步骤,其中,所述创建虚拟文件的步骤包括:在目标分区的目标目录下创建目录项,修改目录项属性文件名为虚拟文件的名称;根据真实文件的大小在目标分区的FAT表中分配连续的簇,构成虚拟文件的簇链。

【技术特征摘要】

【专利技术属性】
技术研发人员:谢军
申请(专利权)人:深圳市闪联信息技术有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1