您的位置:首页 > 其它

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

2012-10-07 22:25 232 查看

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

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

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



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: