文件管理
约 1663 字大约 6 分钟
2025-02-11
1 文件系统的基本概念
- 源文件属于ASCII文件,经过编译后得到的可执行文件属于普通文件
- 输入输出设备看作是特别文件
- 流式文件:由字符序列组成,文件内信息不再划分结构
- 文件的顺序存取:按文件记录的逻辑序号逐一存取
- 适合于随机存取的文件:一定适合顺序存取,反之不一定
- 文件目录项(文件控制块):文件基本信息、存取控制信息、使用信息组成。基本信息包含文件物理位置
- 目录文件的目录项:文件管理信息、文件逻辑和物理结构信息、文件标识和控制信息、文件结构信息
- 文件管理信息:文件的建立日期、最后修改日期、最近访问日期和记账信息等
- 物理结构信息:文件存取位置信息
- 文件标识和控制信息:文件名、文件存取权限、文件kou ling口令等文件存取控制信息
- 文件目录和索引节点之间存在关系:索引节点中有文件的控制信息
- 目录文件由:文件控制块组成
- 目录文件永远不会为空,至少包含当前目录和父目录
- 文件系统:口令、存取控制、和用户权限表都是常用的文件保护方法,读写之后的关闭命令不属于文件保护
- 文件系统提供:按名存取(主要目的),使用户透明存储访问文件
- 逻辑文件:流式文件,记录式文件
- 文件:顺序存取和随机存取
- 文件系统:为每个文件建立了一个逻辑记录和物理块之间的对应关系的表,这个表文件是目录文件
- 特殊文件:在UNIX系统中,所有I/O设备都看作是特殊文件
- 无结构文件:流式结构,有结构文件 可能是变长记录文件,可能是定长记录文件
2 文件系统实现
- 一个物理块存放一个或多个逻辑记录,多个物理块存放一个逻辑记录
- 文件:若干称为逻辑记录的单位组成,记录 是文件进行存取操作的基本单位
- 文件信息的逻辑块号到磁盘物理块号的变换是由 物理结构 决定的
- 文件的存储方式:依赖于外存的分配方式
- 对顺序文件检索时,先从FCB中读出文件的第一个盘块号,对索引文件检索时,先从FCB中读出文件索引表始址
- 文件记录的成组与分解:是为了提高文件存储器的利用率
- 打开文件操作是把文件目录项(FCB)从磁盘拷贝到内存
- 空闲空间表:属于连续分配方式,仅适用于顺序文件
- 索引结构、链接结构 实现文件长度可变的磁盘文件物理结构
- 文件目录:一般存放在外存
- 磁盘上物理结构为链接结构的文件只能顺序存取;链接文件用顺序存储高效,用随机存取低效
- 索引文件:既适合随机存取,也适合顺序存取
- 成组操作:缓冲区的长度应用最大逻辑记录长度乘成组因子
- FAT16每个簇中盘块数可以为4、8、16、32、64
3 磁盘组织和管理
- 磁盘上的文件以 *盘块* 单位读写
- 磁盘一次的访问时间由:寻道时间、延迟时间(等待时间)、传输时间三部分组成
- 磁盘移臂调度是为了:缩短寻道时间、磁盘旋转调度是为了 缩短延迟时间
- 先来先服务调度算法:未对寻道进行优化,其平均寻道时间较长
- 电梯算法:既考虑减少寻道时间,又不频繁变动臂的移动方向
- 在 冗余磁盘阵列 中,RAID0实现了带区组,数据是分成数据块保存在不同的驱动器上,数据吞吐量提高,负载平衡,缺点是没有数据差错控制,如果一个驱动器上的数据错了,其余驱动器上的数据就算是对的也没用了
- 确定磁盘在物理块上的位置:需要 柱面号、磁头号、扇区号
- 寻道时间:磁头在移动臂的带动下到指定柱面的时间;延迟时间 扇区旋转到 磁头 下所需时间
- 数据不是按照 盘面 顺序存放信息,而是按照 柱面 存放
- 磁盘驱动调度:移臂调度 和 旋转调度 两部分组成
- 移臂调度算法:电梯调度、最短寻道时间优先、先来先服务算法
- 先来先服务算法:平均寻道时间最长
- 旋转调度:移臂后,由延迟时间决定执行次序
- 除去 先来先服务 以外,其余三种算法都是根据访问者的 *柱面位置* 来进行调度的
- CSACN比SCAN要多访问头和尾两个位置
- 旋转调度的原则:让首先到达读写磁头下的扇区先进行传输
- 优化磁盘物理块分布的目的主要是 减少等待(延迟)时间
- 提前读、延迟写:提高磁盘I/O速度
- x表示某个逻辑块号
- n个柱面(0~n-1)a为其中某个柱面
- m个磁( 0~m-1)b为其中某个磁头
- k个信息块-每个磁道(1~k)c为其中某个块号 - 注意这里从1开始编号
- x = mka + k*b + c
- a = (x-1) DIV (k*m)
- b = ((x-1) MOD (k*m)) DIV k
- c = ((x-1) MOD (k*m)) MOD k + 1
- 若磁道的编号从0开始,涉及到信息块的x和c有变化
- x = mka + k*b + c + 1
- c = ((x-1) MOD (k*m)) MOD k
- 没有考虑磁头移动方向:先来先服务、最短寻道时间优先,除非最短寻道出现饥饿现象,否则性能高
- 考虑磁头移动方向:电梯调度和循环扫描算法
- 旋转调度:考虑扇区号,应按照扇区从小到大顺序读写