[术语表] 文件系统
文件系统相关工作术语表
在
我意识到,在我目前的工作中,我对基础术语的了解还有些欠缺,因此我决定做一点研究,并将我所知道的术语做一个简要总结。
文件描述符
在 Linux 和类 Unix 系统中 进程处理文件时使用的一种类型的值
当进程打开一个文件时,内核会为其分配处理器文件描述符编号中最小的未使用值,以便后续使用系统调用访问打开的文件时可以使用描述符值来引用该文件。
默认分配的描述符
- 标准输入(标准输入) 标准输出 标准错误
Inode
索引节点的简称,是快速定位文件的节点。
Inode 是一个节点,它为 Linux 中的所有文件编制索引,并保存这些文件的元数据。Inode 保存着 list 命令输出的元数据。
符号链接
带有指向源文件 inode 信息的文件。
-
在内部,通过 inode 号访问文件
-
有一个新的 inode,其中不包含任何有关原始文件的信息
cf) 硬链接
-
具有新 inode 的文件,而不是具有新 inode 的文件,只是逐字复制了 inode
-
与真正拷贝的区别在于没有写入额外的数据,与复制不同
块设备和字符设备
-
根据数据传输方法的不同对设备进行分类
-
块:以块或扇区等量化单位传输数据,IO 传输速度快
-
字符:以字节为单位传输数据,IO 传输速度可能稍慢,但通过应用阶段的缓冲控制,性能会有差异。
###原始设备
未设置文件系统的设备
-
操作系统内核没有缓冲,数据直接从设备传输,如果设备有自己的缓存系统,则使用此方法
-
磁盘 IO 性能好,CPU 开销低。
-
避免操作系统文件系统开销,并可减少操作系统缓冲区大小。
-
作为原始设备使用,因为在系统中配置为共享磁盘时,无法进行并发访问。
IO 调度器
系统中负责排序、合并和确定请求处理顺序的部分,以提高磁盘 I/O 效率。
-
对硬盘等设备特别有用,因为在这些设备上,寻道时间很昂贵,合并同一位置的请求很有效;在固态硬盘上,效率减半。
-
类型
-
noop:无操作,用于高性能磁盘
-
cfq (完全公平队列):给每个进程一个 IO 队列,并尽可能均匀地调度,用于大量进程产生细粒度 IO 的情况
-
deadline:优先处理更接近阈值的进程,优化延迟,平衡所有 I/O,适用于少数进程产生大量 I/O 的环境。
-
预期性:预测未来 I/O 请求的位置,并优先处理最近的 I/O 请求;传统硬盘采用的结构是输入和输出汇总,可能会增加延迟。
-
댓글 작성
게시글에 대한 의견을 남겨 주세요.