笔记目录
1.文件和文件结构
文件
是进程创建的信息逻辑单元,一个磁盘上含有成千上万个文件,每个文件是独立于其它文件的,文件是持久化在硬盘之上,每一个文件对应了磁盘上唯一的地址空间。文件是受到操作系统管理的,有关文件的构造、命名、访问、使用、保护都是通过操作系统管理,其中管理文件的部分称之为文件系统
。
1.1 文件命名
文件
是一种抽象机制,它提供了一种在磁盘上保存信息并且方便后续读取的方式,文件的具体命名规则不同的操作系统规则不尽相同,有些文件系统区分字母大小写,也有不同的位数限制。
1.2 文件结构
文件可以有多种构造方式,常见的有3种:字节序列、记录序列、树
1.3 文件类型
- 普通文件
- 目录
- 字符特殊文件
- 块特殊文件
1.4 文件访问
- 顺序访问
- 随机访问
1.5 文件属性
- 保护:谁可以访问文件
- 口令
- 创建者
- 所有者
- 只读标志
- 隐藏标志
- 系统标志
- 存档标志
- ASCII/二进制标志
- 随机访问标志
- 临时标志
- 加锁标志
- 记录长度
- 最后一次修改时间
- 创建时间
- 当前大小
1.6 文件操作
- `create`:创建一个不包含任何数据的文件
- `delete`:删除文件
- `open`:使用文件之前需要打开文件
- `close`:不需要访问文件时需要关闭文件
- `read`:在文件中读取数据
- `write`:向文件写入数据
- `append`:向文件末尾追加数据
- `seek`:随机指定开始访问点
2.目录
2.1 一级目录系统/根目录
2.2 层次目录系统
绝对路径
、相对路径
3.文件系统的实现
3.1 文件系统的布局
主引导记录
:Master boot record (MBR),用来引导计算机,计算机BIOS系统读入并执行MBR。
超级快
:文件系统的元数据,在系统启动时读入内存,包括文件系统类型、魔数、块数量等。
3.2 文件的实现
3.2.1 连续分配
快捷
、磁盘碎片
3.2.2 磁盘块分配(链表)
额外指针空间
、避免磁盘碎片
3.2.3 文件分配表 FAT(链表)
基于内存
3.2.4 i节点
比FAT小
、超额文件处理复杂
3.3 空闲空间管理
3.3.1 位图法
3.3.2 链表法
3.4 块高速缓存 Block Cache/缓冲区高速缓存 Buffer Cache
操作系统为了减少磁盘的访问次数,在内存汇中有一块缓冲区域保存着磁盘的读取数据
3.4.1 缓冲淘汰
- FIFO算法
- LRU、近似LRU算法
- 第二次机会
3.5 块提前读/预读
局部性原理的应用。
4.虚拟文件系统 Virtual File System(VFS)
(引自 - 图灵课堂的笔记图片)