【FSFA 读书笔记】Ch 9 FAT Concepts and Analysis

FAT文件系统有两个重要的数据结构:文件分配表和目录项

There are two important data structures in FAT (the File Allocation Table and directory entries)

FAT文件系统的布局如下图

下面从上一章定义的文件系统的五个范畴来介绍:

文件系统范畴(file system category),主要是保留区的boot sector

1. Reserved area的起始扇区是boot sector(引导扇区,也可称为VBR),其中包含文件系统范畴的数据,比如每簇的大小、保留区的长度、FAT表的个数等。

2. 除了数据,和MBR一样,VBR同样包含boot code,但由于代码较长,因此boot sector只保存了几个字节的跳转指令,引导操作系统跳转到更大的空间执行更长的代码。

(The FAT boot code is called from the boot code in the MBR of the disk, and the FAT boot code locates and loads the appropriate OS files.)

内容范畴(content category)

1. FAT 文件系统的数据单元是“簇(cluster)”,一簇由n个扇区组成,n被定义在文件系统范畴的数据中,并且n是2的幂。

(A FAT file system uses the term cluster for its data units. A cluster is a group of consecutive sectors, and the number of sectors must be a power of 2, such as 1, 2, 4, 8, 16, 32, or 64.)

2. 簇的概念被用于数据区(data area),而保留区和FAT区是不用簇来编址的,因此第一个簇的起始地址应是数据区的起始地址。

“簇”是文件系统层的单位,而“扇区”是卷层的单位,FAT文件系统是一个这两层用不同单位编址的例子。

(The FAT file system is an example where not every logical volume address has a logical file system address.)

3. FAT是用于存放每簇的分配状态的,它的下标隐含为簇号,即FAT的第 i 项记录了第 i 个簇的信息。多簇文件通过FAT来查找下一簇,就像寻宝游戏一样。

(Using the FAT to find cluster addresses is analogous to a treasure hunt. You are given clues about the location of the first site. When you get to the first site, you find a treasure and directions to the second site. This process repeats until you find the final site.)

元数据范畴(metadata category)

1. 目录项相当于更抽象一层的分配表,它记录了每个普通文件或目录文件的一些信息。

(The directory entry is a data structure that is allocated for every file and directory. )

2. 与文件分配表不同的是,目录表的下标并不表示第几个文件或目录。

(Directory entries are not given unique numerical addresses, like clusters are. Instead, the only standard way to address a directory entry is to use the full name of the file or directory that allocated it. )

3. 每个文件通过目录项与文件分配表配合共同找到文件的所有内容。

(The directory entry contains the starting cluster of the file, and the FAT structure is used to find the remaining clusters in the file.)

4. 由于每个目录项可以分给一个普通文件,也可以分给一个目录项,所以类似DOS partition的扩展分区的设计,对目录就也可进行递归展开了。

(Consider a scenario where we want to find all allocated directory entry structures. To do this, we start in the root directory and recursively look in each of the allocated directories. For each directory, we examine each 32-byte structure and skip over the unallocated ones.)

对元数据中时间值的更新规则,以及对文件名范畴的内容会在下一篇介绍

时间: 2024-10-23 16:50:06

【FSFA 读书笔记】Ch 9 FAT Concepts and Analysis的相关文章

【FSFA 读书笔记】Preface & Ch 1 Digital Investigation Foundations

File System Forensic Analysis 这本书的网站:http://www.digital-evidence.org/fsfa/ Preface: 1. 本书主要目标:描述数据如何在硬盘(disk)上存储,介绍管理这些数据所用到的各个层次的数据结构及它们之间的的同步. (describe how data are stored on disk and the various data structures that need to be in sync for you to

【FSFA 读书笔记】Ch 2 Computer Foundatinons(1)

Data Organization 1. 进制转换. 按照正常的书写顺序写一个数字(无论多少进制),其中最左边的列称为“最高有效符号”,最右边的列称为“最低有效符号”. (The right-most column is called the least significant symbol, and the left-most column is called the most significant symbol.) 二进制.十进制与十六进制转换表,学过数电一定对这个很熟悉~ 2. Data

【FSFA 读书笔记】Ch 8 File System Analysis

本书把文件系统中的文件氛围了5个范畴 1. File System Category 文件系统范畴,存储了文件系统的一些控制模块的地址和布局 (The file system category contains the general data that identify how this file system is unique and where other important data are located.) 2. Content Category 内容范畴,存储了具体文件和目录的地

【FSFA 读书笔记】Ch 2 Computer Foundatinons(2)

Hard Disk Technology 1. 机械硬盘内部构造 几个重要概念:Sector(扇区),Head(读写头),Track(磁道),Cylinder(柱面). 如果一个文件比较大,磁盘的写入顺序如下,因此有了后面的CHS地址表示: 写满一个扇区->磁盘旋转,写同磁道的下一个扇区->写满一个磁道 ->电路切换,写下一盘面(下一个读写头)->写满一个柱面 ->动臂径向移动,写下一个柱面->写完整个文件 这是根据旋转等待(latency)时间<<寻道(s

【FSFA 读书笔记】Ch4 Volume Analysis &amp; Cr 5 PC-based Partitions

Volume Analysis 1. “卷”可以理解为从逻辑上对物理存储设备的重新编制,便于操作系统管理. (A volume is a collection of addressable sectors that an Operating System (OS) or application can use for data storage.) 每个卷的第一个扇区通常是它的引导记录(VBR)(可以把整个磁盘看成一个更大的卷),引导记录内应包含对它所管辖范围内的分区表. 分区表记录了下属卷的起始

In-memory Computing with SAP HANA读书笔记 - 第一章:Basic concepts of in-memory

本文为In-memory Computing with SAP HANA on Lenovo X6 Systems第一章Basic concepts of in-memory computing的读书笔记. 作为基础概念,本章非常重要.此Redbook讲得浅显易懂,配图也容易理解.唯一需要深读是DL ACM的那篇论文,后续我会再补充. "卑之,毋甚高论,令今可行也", 本章正符合汉文帝对于张释之的要求. Basic concepts of in-memory computing In-

《30天自制操作系统》读书笔记(2)hello, world

让系统跑起来 要写一个操作系统,我们首先要有一个储存系统的介质,原版书似乎是06年出版的,可惜那时候没有电脑,没想到作者用的还是软盘,现在的电脑谁有软驱?不得已我使用一张128M的SD卡来代替,而事实上你用的是U盘还是软盘对我们的操作系统没有影响,缺点是你的U盘刷入系统后容量只能是1440 MB,即当年流行的3.5英寸软盘的大小,当然不用担心,再格式化一次(用DiskGeniu),就可以恢复. 我做事情的话,总是怕自己的努力的结果白费了,害怕辛辛苦苦看完这本书但是发现做出来的东西现在根本没法用,

Effective Java 读书笔记(2创建和销毁对象)

第一章是引言,所以这里不做笔记,总结一下书中第一章的主要内容是向我们解释了这本书所做的事情:指导Java程序员如何编写出清晰.正确.可用.健壮.灵活和可维护的程序. 2.1考虑用静态工厂方法代替构造器 静态工厂方法与构造器相比有四大优势: (1)静态工厂方法有名称,具有适当名称的静态工厂方法易于使用.易于阅读: (2)不必每次在调用它们的时候都创建一个新的对象: (3)可以返回原返回类型的任何子类型的对象: (4)在创建参数化类型实例的时候,它们使代码变得更加简洁. 同时静态工厂方法也有两大缺点

算法导论读书笔记(15) - 红黑树的具体实现

算法导论读书笔记(15) - 红黑树的具体实现 目录 红黑树的简单Java实现 红黑树的简单Java实现 /** * 红黑树 * * 部分代码参考自TreeMap源码 */ public class RedBlackTree<T> { protected TreeNode<T> root = null; private final Comparator<? super T> comparator; private int size = 0; private static