24小时热门版块排行榜    

查看: 183  |  回复: 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 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 材料工程专硕283求调剂 5+4 ,!? 2026-03-02 4/200 2026-03-02 10:39 by 北京莱茵润色
[考研] 0854复试调剂 276 +4 wmm9 2026-03-01 6/300 2026-03-02 09:28 by 热情沙漠
[考研] 材料工程269求调剂 +3 白刺玫 2026-03-02 3/150 2026-03-02 09:25 by 一休哥FU
[考研] 085600 英一数二272求调剂 5+3 vida_a 2026-03-01 7/350 2026-03-02 07:51 by ms629
[考研] 高分子化学与物理调剂 +6 好好好1233 2026-02-28 13/650 2026-03-02 07:27 by 好好好1233
[考研] 材料化工调剂 +12 今夏不夏 2026-03-01 13/650 2026-03-01 23:32 by L135790
[考研] 江苏省农科院招调剂1名 +3 Qwertyuop 2026-03-01 3/150 2026-03-01 23:18 by aaadim
[基金申请] 成果系统访问量大,请一小时后再尝试。---NSFC啥时候好哦,已经两天这样了 +4 NSFC2026我来了 2026-02-28 4/200 2026-03-01 22:37 by 铁门栓
[考研] 0856调剂 +5 刘梦微 2026-02-28 5/250 2026-03-01 22:30 by wang_dand
[考研] 298求调剂 +6 axyz3 2026-02-28 6/300 2026-03-01 19:00 by 18137688336
[考研] 一志愿中南大学理学化学 +4 15779376950 2026-03-01 5/250 2026-03-01 19:00 by Fff-1
[考研] 0856材料求调剂 +11 hyf hyf hyf 2026-02-28 12/600 2026-03-01 18:57 by 18137688336
[考博] 26申博 +4 想申博! 2026-02-26 6/300 2026-03-01 17:32 by 想申博!
[考研] 281求调剂 +4 2026计算机_诚心 2026-03-01 7/350 2026-03-01 17:20 by 2026计算机_诚心
[基金申请] 刚录用,没有期刊号,但是在线可看的论文可以放为代表作吗 10+3 arang1 2026-03-01 3/150 2026-03-01 16:43 by babero
[考研] 313求调剂 +3 水流年lc 2026-02-28 3/150 2026-03-01 16:01 by 新能源达人
[考研] 311求调剂 +6 亭亭亭01 2026-03-01 6/300 2026-03-01 15:41 by 324616
[考研] 295复试调剂 +3 简木ChuFront 2026-03-01 3/150 2026-03-01 14:27 by zzxw520th
[考研] 298求调剂 +9 人间唯你是清欢 2026-02-28 12/600 2026-03-01 14:23 by Ducount.Y
[硕博家园] 【博士招生】太原理工大学2026化工博士 +4 N1ce_try 2026-02-24 8/400 2026-02-26 08:40 by N1ce_try
信息提示
请填处理意见