作者:阿穆尔湾的阿娜莎 | 来源:互联网 | 2024-11-02 09:08
文件系统管理与设计涉及众多内容,课堂讲解较为简略。本章主要介绍了以下几点:1.基本概念-文件系统:一种用于实现数据持久性存储的系统抽象。-文件:文件系统中的基本存储单元,包含一组相关数据。文件系统通过文件组织和管理数据,提供高效的数据访问和管理机制。此外,还涵盖了文件的属性、类型和操作方法。
文件系统
内容比较多,老师讲得比较浅。
1. 基本概念
- 文件系统和文件
- 文件系统:一种用于持久性存储的系统抽象
- 文件:文件系统中一个单元的相关数据在操作系统中抽象
- 文件系统的功能:
- 分配文件磁盘空间(管理文件块;管理空闲空间;分配算法)
- 管理文件集合(定位;命名;最常见的是分层文件系统)
- 提供便利及特征(保护;可靠性/持久性)
- 文件和块:文件属性,存储在文件块中,表示文件的表征属性
- 文件描述符:【内容较多,只记录部分】(用户角度)需要元数据数据来管理打开文件
- 文件指针:指向最近的一次读写文职,每个打开了这个文件的进程都这个指针
- 文件打开计数:记录文件打开的次数。当最后一个进程关闭了文件时,允许将其从打开文件表中移除
- 文件磁盘位置:缓存数据访问信息
- 访问权限:每个程序访问模式信息
- 目录
- 文件以目录的方式组织起来。目录是一类特殊的文件。早期的文件系统是扁平的,只有一层目录。采用目录可以建立层次结构。目录是文件名的线性表,包含了指向数据块的指针。
- 典型操作:搜索、拆功能键、删除、重命名文件;枚举目录;在文件系统中遍历一个路径。
- 操作系统应该只允许内核模式修改目录:确保映射的完整性;应用系统可以读目录(例如ls)
- 文件别名
- 多个文件名关联同一个文件。有两种实现方式:硬链接(多个文件项指向一个文件);软链接(以“快捷方式”指向其他文件)。
- 文件系统种类
- 磁盘文件系统
- 数据库文件系统
- 日志文件系统
- 网络/分布式文件系统
- 特殊/虚拟文件系统
2. 虚拟文件系统
- 目的:将复杂的不同类型的系统抽象,通过建立虚拟文件系统,提供文件系统API,屏蔽底层系统的差异性,使得系统应用层面更广。
- 功能:
- 提供相同的文件和文件系统接口
- 管理所有文件和文件系统关联的数据结构
- 高效查询例程,遍历文件系统
- 与特定文件系统模块的交互
- 基本文件系统包括:卷控制块 superblock;文件控制块 vnode/inode;目录节点 dentry
3. 数据缓存
- 数据块按需读入内存
- 数据块使用后被缓存
- 两种数据块缓存方式
- 普通缓冲区缓存
- 页缓存:统一缓存数据块和内存页
4. 打开文件的数据结构
存在锁机制
5. 文件分配
对文件的管理。即如何为一个文件分配数据块
分配方式
指标:
- 高效:如存储利用
- 表现:如访问速度
6. 空闲空间列表
主要体现在磁盘管理。用位图/链式管理空闲空间。
7. 多次盘管理 - RAID
通常磁盘通过分区来最大限度减小寻道时间。
文件系统由分区组成。分区即为硬件磁盘的一种适合操作系统指定格式的划分
卷:一个拥有一个文件系统实例的可访问的存储空间,通常常驻在磁盘的单个分区上。
使用多个并行磁盘来增加吞吐量,通过冗余的方式提高可靠性和可用性。由此产生 冗余磁盘阵列RAID的概念。
8. 磁盘调度
算法与进程调度相似,执行对象为磁盘检索。
电梯算法、SSTF\SCAN\CSCAN\FSCAN\N-Step-SCAN等算法