开发操作系统实践(四)——对文件系统的修改
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个文件存储。为了存储更多的文件,根目录表也采用级联的形式。规定最后一个目录项指向下一张根目录表的存放位置。
相关文章推荐
- 开发操作系统实践(二)——LinDos文件系统
- adb shell获取root权限 因为开发需要,我经常会用到adb这个工具(Android Debug Bridge),我们都知道adb shell默认是没有root权限的,修改系统文件就很不方便
- Atitit.软件开发概念说明--io系统区--特殊文件名称保存最佳实践文件名称编码...filenameEncode
- Atitit.软件开发概念说明--io系统区--特殊文件名称保存最佳实践文件名称编码...filenameEncode
- 开发操作系统实践 (一)——写给LinDos系统开发的前言
- iOS开发技巧--禁止系统头文件被不小心修改
- VxWorks嵌入式操作系统的TrueFFS文件系统驱动开发
- [C#.net]操作系统作业-模拟二级文件系统-开发日志
- [置顶] [操作系统实践][简单的文件系统]
- 如果不小心修改了系统SDK文件,编译无法通过改怎么办?(iOS开发)
- 操作系统原理与实践10--proc文件系统实现
- Android系统开发(7)——标准I/O与文件锁
- 在虚拟机LINUX操作系统中修改文件内容
- win10系统修改hosts文件无法保存
- 搜索引擎系统学习与开发实践总结
- Linux系统下文件权限查看及修改方法
- fuse开发文件系统
- Parallels 修改系统文件 hdd
- 操作系统学习(九)-- 操作系统之文件系统(目录)
- 操作系统实践之开发环境