浅尝辄止47-FAT32创建文件

当我把学习资料放到优盘里时,发生了什么?

创建文件

在大学期间的某一天,一个小伙伴色眯眯地跟我打招呼。

小伙伴:“阿棍儿,有没有新的学习资料分享啊?”
我:“没有,我刚听说分享学习资料是犯法的哦。”
小伙伴:“啥?分享老师的《信号与系统》PPT也犯法?我看你找老师拷来着。”
我:“原来你说的是老师的讲义啊!”
小伙伴:“你以为呢?”
我:“哦……,我……我也以为是《信号与系统》PPT呢。”
我和小伙伴:“嘿嘿……”

我拿到了小伙伴的优盘,插到我的电脑上,找到了我的学习资料,点击右键,再发送到列表中选中优盘,左键单击它,随着一个进度条窗口的出现与消失,拷贝完成了……
从计算机角度来理解一下这个过程——我们要求资源管理器把这个文件创建在优盘的根目录

根目录

上面的过程出现了一个新概念——根目录。平常对盘的根目录的理解就是对一个盘符双击后的所在位置。对于FAT32文件系统来说,根目录很重要,因为要找到其它目录来操作的话,就要从根目录开始,一层一层地向下找。
也就是说,FAT32的根目录在一个分区里是唯一的,并且是第一个能被定位的目录。
上面说的目录的找到定位是什么意思?
这两个动词说明,目录是有内容的,这些内容要放到优盘上某个位置的。
目录的内容是什么呢?
目录的内容就是目录下文件或子目录的元数据。如果把目录当作一个普通文件来看,内容有目录下的子目录(不包括子目录下的内容,子目录下的东西归子目录管)或文件的名字、创建时间、存储位置、大小之类的元数据。

Do it

创建的过程大概就是这样的了

  1. 读取优盘第一个扇区,获取分区表,表中有一个FAT32文件系统的分区,系统会构造一个盘符来表示这个分区。这就是优盘刚插电脑上发生的事;
  2. 由分区表查到FAT32分区的起始扇区,假设是1024扇区吧;
  3. 1024扇区解读FAT32分区的内容(具体怎么解读以后也许会讲),很容易推测,这个内容里应该有根目录的位置,即根目录存放在哪个
  4. 在FAT表中,找到一些空闲簇,把要创建的文件的内容写入这些簇中,同时,在根目录的内容中写入这个文件的元数据信息。

以上过程结束后,进度条窗口会消失,我就可以进入拔出优盘,先跟小伙伴讨价还价,再交付学习资料给小伙伴的步骤了。

你可能感兴趣的:(浅尝辄止47-FAT32创建文件)