开发操作系统实践(四)——对文件系统的修改

        我对LinDos的文件系统进行了下修改,改变了文件名的长度,缩短为19字节。在文件系统中,每个目录项长度增加为64字节。其中前32个字节分别被文件名(19字节)、文件长度(4字节)、创建日期(4字节)、最后修改日期(4字节)、及文件属性(1字节)、占用。最后32个字节是文件占用的簇列表。簇列表反映文件在磁盘上的存储位置。对于软盘来说,每个簇号占用1.5个字节,所以簇列表最多可以存储21个簇号。这时文件的长度只有21*512=10.5KB。为了存储更大的文件,需要更多的簇号,所以,规定最后一个簇号不是文件占用的簇号,而是表示下一个簇列表占用的簇号。这样通过级联的形式来表示更大的文件。

        因为有了簇列表,就没必要在簇的分配表中关联簇号,所以只需要标明该簇是否被文件占用即可。

      对于根目录表,软盘中首张根目录表占用2个扇区,可以存储512*2/64=16个目录项。也就是说最多磁盘上只能有16个文件存储。为了存储更多的文件,根目录表也采用级联的形式。规定最后一个目录项指向下一张根目录表的存放位置。

 

发布了13 篇原创文章 · 获赞 5 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/xsff1024/article/details/8046405
今日推荐