一、文件系统
不同的操作系统,有不同的文件系统,还可能有多个文件系统。
1. 文件系统与文件
- 文件系统:一种用于持久性存储的系统抽象。
- 在存储器上:组织、控制、导航、访问和检索数据
- 大多数计算机系统包含文件系统
- 文件:文件系统中一个单元的相关数据在操作系统中的抽象。
2. 文件系统的功能
-
分配文件磁盘空间
- 管理文件块(那一块属于哪一个文件)
- 管理空闲空间(哪一块是空闲的)
- 分配算法(策略)
-
管理文件集合
-
定位文件及其内容
用户如何去找到这个文件
-
命名:通过名字找到文件的接口
通过路劲的名字找到这个问价
-
最常见:分层文件系统
文件是否需要分层,一个目录
-
文件系统类型(组织文件的不同方式)
-
-
提供的便利及特征
- 保护:分层来保护数据安全
- 可靠性/持久性:保持文件的持久即使发生奔溃,媒体错误,双击等
3. 文件和块
- 文件属性
- 名称、类型、位置、大小、保护、创建者、创建时间、最近修改时间 …
- 文件头
- 在存储元数据中保存了每个文件的信息
- 保存文件的属性
- 跟踪哪一块存储块属于逻辑上文件结构的哪个偏移
文件的属性一般会包含在文件头或者是文件块上,用以保存基本的属性。
4. 文件描述符
- 文件的使用模式
- 打开这个文件之后,为了更容易的进行读写操作,会返回一个文件描述符。
- 其代表了文件给应用程序做访问和控制。
- 内核跟踪每个进程打开的文件
- 文件描述符不仅仅是一个数据,操作系统对代开的文件会有一个表,称为打开文件表,而返回的文件描述符就是表的索引。
- 文件描述符指出了这个表中的第几项代表了这个文件,里面有很多的文件信息。
- 需要元数据来管理打开文件
- 文件指针:指向当前最近的一次读写的位置
- 文件打开计数:多少个进程打开了这个文件,也就是文件打开的次数,文件是共享资源,允许多个进程打开同一个文件。
- 文件磁盘位置:缓存数据访问信息
- 访问权限:每个程序的访问模式信息
5. 不同角度的文件系统
- 用户视图: