File & File System | 文件系统
In computing, a file system (or filesystem) is used to control how data is stored and retrieved. Without a file system, information placed in a storage area would be one large body of data with no way to tell where one piece of information stops and the next begins. By separating the data into pieces and giving each piece a name, the information is easily isolated and identified. Taking its name from the way paper-based information systems are named, each group of data is called a "file". The structure and logic rules used to manage the groups of information and their names is called a "file system".
File:进程创建的信息逻辑单元。
File System: 操作系统中处理文件的部分。[文件的构造 命名 存取 使用]
文件系统分类
You can access files on external devices connected to your Chromebook if they use the following types of filesystems:
FAT (FAT16, FAT32, exFAT)
HFS+ (read-only on journaled HFS+)
ISO9660 (read-only)
MTP
NTFS
UDF (read-only)
文件系统布局
Boot Block 引导块
Super Block 超级块
Virtual File System |VFS| 虚拟文件系统
Some file systems are "virtual", meaning that the supplied "files" (called virtual files) are computed on request (e.g. procfs) or are merely a mapping into a different file system used as a backing store.
即使在同一台计算机上同一个操作系统下,也会使用很多不同的文件系统。
现代的UNIX 系统做了一个认真的尝试:即将不同类型的文件系统整合为统一的结构中。
关键思想:抽象出所有文件系统共有的部分,并且将这部分代码放在单独的一层,该层调用最底层的实际文件系统来管理数据。
Metadata = Attribute | 文件属性
[Metatdata存放在inode中..]
those characters might be used to indicate a device, device type, directory prefix, file path separator, or file type.
文件的附加信息: 文件创建的日期,文件大小等。
Magic Number | 魔数
很多类型的文件,其起始的几个字节的内容是固定的(或是有意填充,或是本就如此)。因此这几个字节的内容也被称为魔数 (magic number),因为根据这几个字节的内容就可以确定文件类型。
例如
1)FreeBSD 上 ELF 文件的 magic number 就是文件的前四个字节依次为"7f 45 4c 46",对应的ascii字符串即 "^?ELF"。
2)tar 文件的 magic number 是从第257个字节起为 "ustar"。
3)PE文件中,在DOS-根之后是一个32位的签名以及魔数0x00004550 (IMAGE_NT_SIGNATURE)(意为“NT签名”,也就是PE签名;十六进制数45和50分别代表ASCII码字母P和E,它使任何PE文件都是一个有效的MS-DOS可执行文件。
Unix 命令 "file" 应该就是利用这个原理工作的。
百度百科
FAT | File Allocation Table | 文件配置表
FAT1 FAT2
[详情看课程指导书 - 待完成]
FCB | File Control Block | 文件控制块
[详情看课程指导书 - 待完成]
User Open File Table
[详情看课程指导书 - 待完成]
文件类型
Regular File
普通文件用于存储用户信息 又分为ASCLL文件和二进制文件
Directory File
目录文件是用于管理文件系统的系统文件
[细分]
Chracter Special File
字符特殊文件,用于IO操作,例如打印机等设备。
Block Special File
块特殊文件,作用于磁盘类设备
目录结构-Unix
目录项 Directory Entry
目录项是用来描述文件或文件夹的属性、大小、创建时间、修改时间等信息。
在FAT文件系统中,根据结构不同可以讲目录项分为四种:卷标目录项、“.”目录项和“..”目录项、短文件名目录项和长文件名目录项。短文件名目录项是最重要的数据结构,其中存放着有关子目录或文件的短文件名、属性、起始簇号、时间值以及内容大小等信息。