【摘要】:本章以FAT32文件系统的原理和实现为例,对操作系统文件系统的实现进行了详细的讲解。虽然大部分代码和实现原理都是来自Hello China的文件系统实现,但这些原理和思想,对任何文件系统都是相同的。读者如果理解了本章内容,那么对任何操作系统的文件系统的理解,将不再困难。本章重点关注了文件系统的实现框架和流程,对于文件系统性能方面的优化没有做过多描述。文件系统同时也是一个非常复杂的课题。图12-7 MS-DOS早期版本的dir命令输出
本章以FAT32文件系统的原理和实现为例,对操作系统文件系统的实现进行了详细的讲解。虽然大部分代码和实现原理都是来自Hello China的文件系统实现,但这些原理和思想,对任何文件系统都是相同的。读者如果理解了本章内容,那么对任何操作系统的文件系统的理解,将不再困难。
文件系统是操作系统的关键功能,尤其是对通用操作系统和输入/输出频繁的应用场合,文件系统是决定整个系统性能的关键。本章重点关注了文件系统的实现框架和流程,对于文件系统性能方面的优化没有做过多描述。读者可在理解本章内容基础上,对现有代码做进一步优化,使其性能能够得到更进一步的提升。当前版本的代码已预留了性能提升的扩展余地,比如针对文件设备对象扩展(__FAT32_FILE)的pFileCache指针,针对文件卷设备对象扩展(__FAT32_FS)的FAT表缓冲等。通过在这些指针上挂接缓冲对象和对应的操作方法,即可对整体性能进行优化。
文件系统同时也是一个非常复杂的课题。虽然我们做了最大可能的简化,但在几十页的篇幅内,把文件系统说清楚也是非常困难的,需要读者自行阅读代码做进一步的理解。阅读代码所用到的一些关键概念和机理,本章都介绍了。
最后贴一张MS-DOS早期版本的dir命令输出图片(如图12-7所示),作为本章的结束。相信任何一个计算机专业的读者,对这个命令都不会陌生。对于像作者这样2000年之前上大学的人来说,dir命令基本等于计算机本身。看到下面这张图,是否会勾起您对大学生活的回忆?(www.xing528.com)
图12-7 MS-DOS早期版本的dir命令输出
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。