当前位置: 首页 > 专利查询>陈思达专利>正文

一种文件目录表的使用方法、文件写入方法及应用的主电路板、CPU和外部存储器技术

技术编号:8387143 阅读:155 留言:0更新日期:2013-03-07 07:48
本发明专利技术涉及计算机和智能终端设备软硬件领域,主要内容是:计算机开机时,将记载外部存储器中所有文件的文件目录表,一次性读入到系统指定的存储装置中;计算机运行中对外部存储器中文件操作时,无需访问外部存储器中内部的文件目录表,而只需对存储装置中的文件目录表进行访问和修改;计算机退出运行时,存储装置中的文件目录表再存回外部存储中。本发明专利技术还创造了一种文件写入的方法,避免了文件的重复写入,节约了外部存储空间、提高了硬盘利用率、延长了硬盘使用寿命。本发明专利技术还设计了具备应急电源供电的功能的主电路板和外部存储器,以及带存储文件目录表芯片的主电路板、外部存储器和CPU。

【技术实现步骤摘要】

本专利技术涉及计算机和智能终端设备软硬件领域,尤其涉及计算机操作系统中对外部存储器中文件目录表的使用方法、文件写入方法,以及计算机硬件中主电路板和外部存储器。
技术介绍
计算机和智能设备在读写和操作硬盘、固态硬盘、U盘、移动硬盘等外部存储器中的文件时,都要经过对外部存储器中文件目录表查询,找到文件的属性及物理位置,进行访 问和操作。由于文件目录表也称文件目录文件存储于外部存储器中,现有的操作系统在运行中,需要经常访问外部存储器,来对文件进行“寻址”,需要花费大量的时间,效率很低,实际运行速度很慢。计算机的内存,也称内部存储器、随机存储器RAM,现在主流为DDR3型,它的存取速度比外部存储器快很多倍。缓存Cache它的存取速度比内存更快,缓存常存在于CPU内部、内存条中、硬盘的电路板上等,需要存放临时数据的地方。内存和缓存在断电时,存储内容便会消失。现有的计算机操作系统在向外部存储器中写入文件时,是不检查外部存储器中非相同目录下是否有相同文件的,这样就造成有大量的重复文件存在。固态硬盘与老式机械硬盘相比有很大的优点,比如读取速度快,体积小容易携带等等,是未来硬盘主要的发展趋向。但是因为固态硬盘的写入需要对FLASH芯片进行擦写,为此造成了固态硬盘的写入次数有限,以及容量小价格高使得固态硬盘不能得以广泛应用。以下是以NTFS格式文件为例,来分析现有外部存储操作系统是如何对外部存储中的文件进行操作的I. NTFS中$MFT的文件解释NTFS中,卷中所有存放的数据均在一个叫$MFT的文件中,叫主文件表(MasterFile Table)。而$MFT则由文件记录(File Record)数组构成。File Record的大小一般是固定的,通常情况下均为1KB,这个概念相当于Linux中的inode。File Record在$MFT文件中物理上是连续的,且从O开始编号。$MFT仅供FileSystem本身组织、架构文件系统使用,这在NTFS中称为元数据(Metadata)。在NTFS文件系统里面,外部存储上的所有东西都以文件的形式出现。即使是元数据也是以一组文件的形式存储的。主文件表(MFT)是这个卷上每一个文件的索引。MFT为每一个文件保存着一组称为“属性”的记录,每个属性存储了不同类型的信息。为主文件表(MFT)保留适当的空间。MFT在NTFS卷中扮演着重要的角色,对其性能的影响很大,系统空间分配、读写外部存储时会频繁地访问MFT,因此MFT对NTFS的卷的性能有着至关重要的影响。NTFS文件系统的开发者在MFT附近预留着一个特定区域,用来减少MFT中的碎片,缺省状态下,这一区域占整个卷大小的12. 5%,尽管这个区域能使得MFT中的碎片最少,但它并非总是合适的。2.文件的读取找某一个文件的内容(如要读取文件F:\WIND0WS\SYSTEM32\abc. exe,具体步骤如下(I)读取分区表/分区链表信息,找到外部存储F的起始扇区。(2)读取F盘的第一个扇区(分区的B00TSET0R)取得分区的每簇大小,MFT表起始簇号等信息。(3)读取MFT表的第五个记录(根目录)找到目录索引所在簇号。 (4)读取根目录索引,查找WINDOWS目录所在的MFT记录号(5)读取WINDOWS目录的MFT记录,找到目录索引所在簇号。(6)读取WINDOWS目录的索引,查找SYTEM32目录所在MFT记录号(7)读取SYTEM32目录的MFT记录,找到目录索引所在簇号。(8)读取SYTEM32目录的索引,查找abc. exe所在MFT记录号(9)读取abc. exe文件的MFT记录,找到它的DATA属性。(10)根据DATA属性中指定的文件数据存放位置读取出abc. exe文件的数据。3. NTFS文件系统中创建一个文件的基本步骤假设我们要在NTFS文件系统下建立一个文件“\子目录txt”,假设目录“子目录I”已经存在于根目录下。要建立的文件大小为7000个字节,每簇大小4096个字节。步骤I :读取文件系统第一个扇区的引导扇区,获取簇大小、MFT起始位置以及每个MFT项的大小。步骤2 :读取第一个MFT项,即$MFT文件的MFT项,由它的$DATA属性获取其他MFT的位置。步骤3 :首先为准备新建的文件建立MFT项——访问$MFT文件的$BITMAP属性,找到一个未分配的项。第一个空闲项为400号,把它分配给新文件,并将$BITMAP中的相应位设置为I。步骤4 :初始化MFT项——跳转到400号MFT项的位置,将其中的内容清除。建立标准信息属性($STANDARD_INF0RMATI0N)和文件名属性[$FILE_NAME),时间值设置为当前时。在MFT项头中设置使用中标记。步骤5 :下面需要从使用6号MFT项的$Bitmap文件中为文件的$DATA属性寻找并分配两个簇,因为文件需要两个簇的空间。使用最佳分配策略找到两个连续的空闲簇722和723号簇,将其相应的bit设置为I。将文件内容写入簇中,更新$DATA属性中的簇地址。修改了 MFT项,所以更新文件的最后修改时间值。步骤6 :下一步为其添加文件名项。访问使用5号MFT项的根目录,定位“子目录I”。读取索引根属性($INDEX_R00T)和索引分配属性($INDEX_ALL0CATI0N),在倒置树中分类寻找,找到“子目录I”的索引项,它的MFT项地址为200,更新目录的最后访问时间。步骤7 :跳转到200号MFT项,访问它的索引根属性($ INDEX_R00T),寻找将为file, txt分配的空间。为其建立一个新的索引项,重新对倒置树进行分类。新索引项的文件参考号地址是400号MFT项。设置相应的时间值和标志。更新目录的最后写入、最后修改、最后访问时间值。步骤8 :在前面的每一步中,在文件系统日志中建立项并将改变记入\$Extend\$Usrjrnl。如果设置了配额管理,新文件的大小将记入用户的配额中(\$Extend\$Quota)。这样就在NTFS文件系统下建立了一个文件。4.在NTFS文件系统下删除一个文件的步骤在NTFS文件系统下要如何删除一个文件呢?我们来看看删除“\子目录l\nle.txt”文件的过程。步骤I :读取文件系统的第一个扇区的引导扇区,获取簇大小、MFT起始位置、每MFT项的大小等信息。 步骤2 :读取$MFT文件的第I项,通过它的$DATA属性得到其他MFT的位置。步骤3 :访问5号MFT项,即根目录,通过索引根属性($INDEX_R00T)和索引分配属性($INDEX-ALL0CATI0N)找到“子目录I”项,它的MFT项为200号,更新目录的最后访问时间。步骤4 :访问200号MFT项的索引根属性($INDEX_R00T)并寻找file,txt的条目,找到它的MFT项为400号。步骤5 :从索引中移除文件的项,移动节点中的项覆盖了原来的项,更新目录的最后与入时间、最后修改时间和最后访问时间。步骤6 :通过清除使用中标志取消400号MFT项的分配。访问$Bitmap文件的$DATA属性,将该项的相应位设置为O。步骤7 :访问400号MFT项的非常驻属性,从$DATA属性中得到数据内容所在簇号,将$Bitmap文件中相应簇的本文档来自技高网...

【技术保护点】
一种文件目录表的使用方法,其特征在于:计算机开机时,将记载外部存储器中,所有文件的名称、物理位置、逻辑位置等信息的文件目录表,一次性读入到系统指定的存储装置中;计算机运行中对外部存储器中文件操作时,无需访问外部存储器中内部的文件目录表,而只需对存储装置中的文件目录表进行访问和修改;计算机退出运行时,存储装置中的文件目录表再存回外部存储中。

【技术特征摘要】

【专利技术属性】
技术研发人员:陈思达
申请(专利权)人:陈思达
类型:发明
国别省市:

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

1