文件管理

3/7/2024 OperatingSystem

文件管理

用户的输入输出以文件为基本单位

文件存储管理

文件的逻辑结构、物理结构

存储逻辑结构:逻辑结构是为了方便用户而设计

  • 流式文件:以字节 B 为单位
  • 记录式文件
    • 连续文件
    • 链接文件
    • 索引文件
    • 散列文件

存储物理结构:文件实际存储在磁盘中的结构

  • 连续分配:支持随机访问,不易于扩展,存在外部碎片
  • 链式分配:分为隐式和显式(链接表 FAT,不支持重名),无外部碎片
  • 索引分配:既支持随机访问,也易于扩展

文件控制块:FCB,类似于 PCB,一个文件对应一个

索引节点:FCB 的简化版本,为了减少内存占用(当文件打开后,其 FCB 将被复制到内存中的文件打开表),同样每个文件对应一个索引结点

在索引结构下,每个文件都有一张索引表,记录其每个索引记录的逻辑地址,注意是逻辑地址,物理地址的转换涉及存储管理和硬件(上一章的内容)

  • 且索引结构下索引结点的地址项记录的是该文件索引表的始地址

文件的硬链接、软链接

  • 软链接的计数器单独存在,初始化为 1,原文件删除后不影响软链接计数器
  • 硬链接的计数器初始化为 n+1,n 为建立连接前原文件计数器 count 的取值,当硬链接的文件被删除一份时,count 减一

文件的数量上限,和页面数量上限类似,与地址编码有关,如若记录索引结点的地址位数为 4B,即 32 位,则文件最多有 2^32 个

目录管理

文件目录:用于存放各文件的 FCB 或索引结点信息,同时也是一个文件,叫做目录文件

二级目录:允许重名,但不能对文件分类,缺乏灵活性

树形目录:会增加访问磁盘的次数

文件系统

用户权限文件权限共同实现对文件的保护功能

从用户角度看,操作系统引入文件系统的目的是:实现对文件按名存取

外存空间管理:空闲磁盘管理

  • 空闲表法
  • 空闲链表法
  • 位示图:位示图法只能用在空闲磁盘空间的管理
  • 成组链接法:UNIX

注意 FAT(文件分配表)也可以用于管理空闲和非空闲的磁盘空间,但不允许同名文件

  • 记得吗,在文件的逻辑结构中,显式链接文件(静态链表)结构,next 指向下一个空闲块,若 next < 0 则说明块被占用

动态分区存储管理(上一章的),最佳适应算法那里,记得不,为什么我会写在这?

虚拟文件系统:VFS

  • 超级块对象
  • 索引结点对象
  • 目录项对象
  • 文件对象

外设管理

I/O 管理

I/O 设备实际上属于一种特殊的文件管理,OS 将其作为文件进行管理

缓冲技术:为了解决 CPU 和设备速度不匹配问题

  • 单缓冲区
  • 双缓冲区
  • 缓冲池

计算任务最快时间,类似流水线的计算方法,着眼于当前状态到下一同一状态所经时间

设备独立性软件

设备无关性:用户在编程时使用的设备和实际的物理设备无关(设备无关性和设备独立性是一个东西)

SPOOLing 技术

  • 输入输出井
  • 输入输出缓冲区
  • 输入输出进程

SPOOLing 的特点

  • 加快作业执行速度
  • 使独占设备虚拟为共享设备
  • 无需独占设备

但注意,虽然是使成为共享设备,但实际上实现的是物理设备的虚拟分配

文件系统和设备驱动程序之间的接口:设备开关表

磁盘管理

磁盘调度算法

  • 先来先服务:FCFS
  • 最短寻道时间优先:SSTF
  • 电梯调度算法:SCAN
  • 优化的电梯调度算法:C-SCAN

读写磁盘最重要的耗时:寻道时间

分布式和网络操作系统

什么是分布式 OS:指把多个处理机通过线路互联而构成的统一的系统,该系统的处理和控制分布在各个处理机上

主要特点:分布性、自治性、模块性、并行性

主要功能:数据迁移、分布式进程同步、任务分配、资源管理

分布式 OS 和网络 OS 的主要区别

  • 通信和资源方面:分布式 OS 透明性强,系统中节点无主从之分,都可以共享系统中全部资源,多个节点间共同协作完成同一任务;而网络 OS 共享同一个服务器资源
  • 故障处理方面:当分布式 OS 单节点机出现故障时,系统仍可使用
Last Updated: 9/13/2024, 1:34:55 AM
妖风过海
刘森