24小时热门版块排行榜    

查看: 210  |  回复: 1
当前主题已经存档。

zsglly

木虫 (著名写手)

[交流] 一种文件目录结构的设想

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

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

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

[ Last edited by 幻影无痕 on 2006-11-17 at 08:24 ]
回复此楼
做人要厚道啊!厚道啊!
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wswswws

银虫 (正式写手)

系统应该做到只要用户给出了文件名就能马上给用户提交这个文件。
你以为用户能记住所有文件的文件名吗?
2楼2006-01-04 10:41:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 zsglly 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 基金未中,这种答复是模板吗? +6 zhaosm1982 2026-08-27 7/350 2026-08-31 21:18 by qdxxmc
[基金申请] 哪位高人中了,把查询到的截图贴出来让我看看,让我长长见识 +6 yuleib84 2026-08-26 7/350 2026-08-31 19:46 by 鱼翔浅底1
[基金申请] 面上意见出来了 +12 黄鸟于飞Chao 2026-08-29 23/1150 2026-08-31 18:57 by 黄鸟于飞Chao
[基金申请] 能否申诉? +7 echo8914667 2026-08-30 8/400 2026-08-31 17:00 by yihongxu
[基金申请] 29号明天会评吗 +4 笨笨唐 2026-08-28 4/200 2026-08-31 09:30 by huixian257
[基金申请] 为什么到现在没收到通知? +5 tannykie 2026-08-29 5/250 2026-08-30 21:05 by purplejack
[考博] 找导师 +6 yuanjiabao 2026-08-29 7/350 2026-08-30 14:40 by 生科新手
[基金申请] 麻烦专家们看看评委们的意见(F口面上) +6 gdd2018 2026-08-28 11/550 2026-08-30 08:58 by 超级无敌华子
[基金申请] 国自然评审意见 +13 wangmingqi 2026-08-28 19/950 2026-08-29 10:22 by Poppy1104
[基金申请] 为什么资助数各大高校都创新高,自己申请怎么就这么难 +12 Kittylucky 2026-08-27 13/650 2026-08-29 00:04 by superceng
[基金申请] 系统查不到 +11 董八千 2026-08-26 11/550 2026-08-28 18:06 by Leogzhya
[基金申请] 基金系统什么内容也没有 30+4 winsaint 2026-08-27 9/450 2026-08-28 11:06 by maolC
[基金申请] 面上合作单位盖章 +5 ssyjh 2026-08-27 5/250 2026-08-27 20:50 by gdfollow
[基金申请] 看板上这么多中的,有点像50人群里49个人都是骗子的那种感觉…… +5 a089 2026-08-26 6/300 2026-08-27 14:05 by jonewore
[基金申请] 我不理解! +15 Edward_pc 2026-08-26 23/1150 2026-08-26 20:34 by zzuzxg
[基金申请] 出来了 +9 trojank 2026-08-26 9/450 2026-08-26 14:25 by 宝贝虫子
[基金申请] 国际合作可查了,中了面上 (EPI+1)(金币+50) +18 Ldrop2023 2026-08-26 18/900 2026-08-26 11:15 by cmrandy
[基金申请] 系统进不去 +4 yanglien 2026-08-26 5/250 2026-08-26 11:10 by wenfengw83
[基金申请] 国合可查了 +3 paperzjh 2026-08-26 3/150 2026-08-26 10:41 by LemmonTr
[基金申请] 在坚冰还盖着北海的时候,我看到了怒放的梅花。 (金币+10) +6 ziyangfang 2026-08-25 9/450 2026-08-25 20:26 by huagongfeihu
信息提示
请填处理意见