1. 为什么需要文件系统?


磁盘需要支持数据的持久化,而应用需要共享磁盘

所以将磁盘抽象成多个虚拟磁盘,每个进程管理自己的磁盘

1.1 文件系统:虚拟磁盘

<aside> 💡 涉及目标

  1. 提供合理的API使得多应用程序可以共享数据
  2. 提供隔离,防止伤害任意扩大 </aside>

“存储设备 (字节序列) 的虚拟化”

2. 虚拟磁盘:命名管理


<aside> 💡 CRUX: 利用信息的局部性组织虚拟磁盘

</aside>

采用目录树管理文件系统

2.1 文件系统的根

2.2 Unix 目录树

<aside> 💡 UNIX允许任意目录挂载 (mount)一个设备代表的目录树

可以把设备挂载到任何想要的位置

</aside>

int mount( const char *source, const char *target,
						const char *filesystemtype, unsigned long mountflags,
						const void *data);