一种文件目录结构的设想

原创 2004年10月17日 18:50:00
 一种文件目录结构的设想
                                                                                               Fishcat 原创

    1.现存文件系统的一点不足
   
    我们知道,操作系统诞生以来,文件系统经历了好多类型,其中使用最为广泛的就是Dos的FAT和Windows的FAT32以及WindowNT的NTFS,这些文件系统一个共同的特点,就是文件完全的层次性,即访问某一文件时,需要从根目录开始一层一层的进入,从用户的角度来说这是很不方便的。如果一个用户建立的个file1.txt放在c:/windows/profiles/all users/下,那他就得打开这么多层的目录才能访问到他的文件。从现代操作系统所要求的易于操作这一点来说就没有合乎要求。其实,操作系统的设计者没有理由强求用户记住他存放某个文件的路径,大部分的工作应该让计算机来完成。特别是对名称唯一的文件,系统应该做到只要用户给出了文件名就能马上给用户提交这个文件。这个现实的需要对现存的文件目录结构来说要完成是有难度的,实现是可以的,就像查找文件那样。不过那样的话,大家都知道,是很花时间的,基本上不能满足用户的需要。于是我们就需要重新设计一个既合乎需要又能继承以往文件系统优点的新的的文件系统结构。
  
    2.基于文件ID的目录区(文件分配表区)

    要做到对用户的文件与路径的透明性,就必须在目录区表达出来。基于文件ID的目录区的基本思想是对文件名等重要信息进行hash运算。做个最简单的例子来说,在目录区里我们保存的仅仅是文件名的hash值(即文件ID)和文件起始簇信息两个域。通过一个尽量避免冲突的hash运算来生成文件名对应的ID,至于其它的信息我们都可以保存在文件的内容里边.文件内容也做个改变,在内容的头上加上文件的控制信息(如文件名,目录的ID,日期,大小等)和自定义的信息(可以像XML一样,用户自由扩展),在用户界面上显示文件时这些时不显示出来的,而是作为控制信息显示在资源管理器中的。现在我们再来考虑前面提到的获取file1.txt的问题,分几步完成:一.文件系统管理程序通过hash运算,把file1.txt转换成一个数字n;二.在文件分配表里查找这个数字,由于我们每个目录记录只有俩个域的值,所以这个目录区很小,查找很快;由于hash结果不可能避免冲突,所以查找的结果可能不唯一.三.读出查找结果文件的内容,得到文件的真实名称,得到file1.txt;如果有多于一个结果,那就是其他的目录中存在同名文件,询问用户确切的需要;四.提交给用户,完成操作.
    从以上可以看出,基于文件ID的目录区技术很好解决的文件系统目录层次复杂的问题,很大程度上方便了用户的操作,提高了用户的工作效率.同时也带来了额外的好处:
       一.提高了查找速度.有两个原因,一是文件目录区大大减小,减小了读磁盘的负担;二是不用进行费时的文件名字符串的匹配,而是进行简单的数字比较.
       二:通过把文件的控制信息放在文件内容里边,并用XML格式进行存贮,系统和用户可以有完全的灵活性修改文件的控制信息,对文件进行个性化的描述.
       三.文件名长度,文件大小等再也不受限制.因为我们是把文件的控制信息放在文件内容里,所以文件名可以任意长,也不会浪费磁盘空间.文件大小也可以不受限制.
       四.适合检索.文件控制信息以XML格式存贮,应用程序或用户或就可以在里面加入文件的关键字等信息,跟XML的对搜索的考虑是有相同好处的.

      这些只是一个大概的轮廓,在具体实现是可能会有一些另外的问题,那就留给其他人讨论了.
 2002-8-26

一种文件目录结构的设想

                                        一种文件目录结构的设想                                                 ...
  • Fishcat
  • Fishcat
  • 2002年08月28日 08:57
  • 1721

unix树形目录结构

unix操作系统采用树形带沟连的目录结构,如下图所示,在这种结构中,一个文件的名字是由根目录到该文件的路径上所有节点名按顺序构成的,相互之间用“/”分开,如文件pong的全路径名为:/user/smi...
  • zuihoudebingwen
  • zuihoudebingwen
  • 2013年09月19日 14:20
  • 4296

关于人工智能的设想

面对
  • liuqian134
  • liuqian134
  • 2014年10月16日 12:48
  • 601

对理想团队模式的设想

对探讨理想团对模式的设想,首先要了解团队的特点,以及了解团队模式,之后团队如何进行下去。 1,团队的特点:团队要有一致的目标,并且要一起完成这个目标。                       ...
  • yangqq1451403
  • yangqq1451403
  • 2016年03月24日 20:58
  • 1060

一种共享位置服务的设想

共享位置服务是指有一定合作关系的团队,内部每个成员向其它成员提供自己的地理位置信息,以达到合作配合的作用。         一个最简单的例子,我们在玩一些网络游戏(例如魔兽)之类的时候,一般会有个小...
  • linli_lbs
  • linli_lbs
  • 2013年01月26日 22:50
  • 164

嵌入式软件的目录结构安排

arm m3的软件开发,用到协议栈,但不用到操作系统。其目录结构
  • design_logic
  • design_logic
  • 2014年08月28日 22:02
  • 643

关于人工智能研究思路的一点设想

以谷歌百度的深度学习算法为代表的计算机视觉可谓是发展得如火如荼,人们似乎看到了人工智能的一线曙光。深度学习究竟能否担此重任?...
  • mmy1996
  • mmy1996
  • 2015年07月27日 13:40
  • 1710

c/c++程序的文件结构

文件结构:1.c/c++程序分两个文件a.头文件:用于保存程序的声明(“.h”为后缀);b.定义文件:用于保存程序的实现(c以“.c”为后缀,c++以“.cpp”为后缀)。2.为防止头文件被重复引用,...
  • yanxiaolx
  • yanxiaolx
  • 2016年05月29日 13:43
  • 1237

Unix/Linux文件系统的目录结构

完美解读Linux中文件系统的目录结构 ...
  • kobypai
  • kobypai
  • 2007年08月07日 16:16
  • 10709

Android文件目录结构

Android  文件目录
  • class2class
  • class2class
  • 2015年11月18日 23:46
  • 312
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:一种文件目录结构的设想
举报原因:
原因补充:

(最多只允许输入30个字)