1. 主页
  2. 自己动手从0到1学写FAT32文件系统
  3. 第3章 文件操作
  4. 实现目录的创建

实现目录的创建

内容纲要

本课时的主要目的是提供一个目录创建的接口。

主要内容

目录创建原理

目录创建的原理很大一部分同文件写入原理,因为前面课时已经讲过,目录也是一种特殊的文件。

不过不同于普通文件,在创建目录时,还需要往向分配两个特殊的目录项:.和..。

重点难点

本课时的重点在于理解.和..两个目录项的用途和创建原理。

.和..的用途

[过滤特定类型的目录项]课时中,已经简要简介了.和..两个目录的使用,其分别用于表示当前目录和上一级目录。给的例子如下:

给定一个包含.和..的路径,无论是创建还是删除、打开,在解析路径时,不必将路径中的.和..部分当成特殊的特殊串处理,例如:

打开一个文件,其实现逐个解析路径中的组成部分,得到层次的路径,当遇到.或..时,直接在当前的目录中查找目录项即可,就可以顺利地定位到当前目录或上一级目录。这样代码不需要针对.和..做特殊的处理。

特别是遇到类似 A/../../../../B这种一连串的..时,解析过程也很简单,直接在当前目录查找..目录项,即可找到上一级目录。如果在目录下没有..,那么就需要文件解析代码要依次保存 A, .., .., 等相关的信息,这样才能在遇到..时知道怎样切换回上一级路径。 这会导致代码处理复杂,也浪费内存空间。

以上是我个人的理解。如果看不懂也没关系,知道下面有这两个目录即可。如果有更好的理解,也欢迎提出。

注意事项

常见问题

这篇文章对您有用吗?

我们要如何帮助您?

发表评论

电子邮件地址不会被公开。 必填项已用*标注