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

实现文件的基本写入

内容纲要

本课时的主要目的是提供一个文件数据的写入接口,但目前的写入简单,不实现文件大小的扩充。

主要内容

文件写入原理

同文件的读,虽然从逻辑上来看,文件是一整块的二进制数据,但是深入其具体的存储,会发现文件数据被划分成多个簇,这些簇通过链接的方式组织起来。

要实现文件的写入,需首先定位到簇链中的某个位置,然后顺着簇链写,写入要求写入的数据量。

写入位置复杂性

同文件的读,写入的起点,结束位置同样要考虑扇区边界不对齐的问题。写入的数据量会使得写入可能跨扇区、跨簇。

课程中对写入简化成两种简单的基本写,如下图所求。

  • 同一扇区内写部分数据:需要从设备读所在扇区到内部缓存,再写数据到缓存,再回写扇区数据到磁盘。这样可使同一扇区其它不需要写的位置,不受当前写入的影响。
  • 同一簇内连续写多个扇区:直接从用户缓存中,写入到相应的多个扇区。

重点难点

代码的实现部分,我觉得实现难度不大。如果你在编写过程中,遇到什么难点,可以向我反馈。我再补充到这里。

注意事项

常见问题

这篇文章对您有用吗?

我们要如何帮助您?

发表评论

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