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

实现文件的创建

内容纲要

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

主要内容

文件创建原理

同文件初次创建时,其内部是没有数据的,所以从实现上来讲,我们只需要在相应的目录中找一个空闲的diritem,往里面填入文件信息,即可创建一个文件。

重点难点

难点在于create_sub_file。

在找空闲的diritem时,会面临几种情况。

  1. 没有空闲项
    即查找到簇链尾部也没有找到,此时就需要给目录簇链扩大,新增一个簇。再在新簇中分配一个新的目录项。注意,在此部分代码中调用allocate_free_cluster()时,一定要记得擦除新簇,避免已有的数据干扰。
  2. 在已有簇链中找到空闲项,利用该空闲项写入即可。

注意事项

获取系统时间的接口

这个接口目前是放在disk层去实现,很明显其不属于disk应有的特性。后续课时扩充时,会考虑将其提取到其它地方。

常见问题

这篇文章对您有用吗?

我们要如何帮助您?

发表评论

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