一、文件管理

1. 文件控制块

文件控制块(FCB)是用于描述和控制文件的数据结构,包含以下信息:

  • 文件名
  • 文件物理位置
  • 文件逻辑结构
  • 文件物理结构
  • 文件控制信息(存取权限、建立日期等)

注意: 修改目录文件时发生崩溃,对系统影响最大。

2. 文件目录

文件目录用于管理和检索文件。

3种目录结构:

目录结构 说明
一级目录结构 所有文件都登记在一个目录中,不允许重名
二级目录结构 分为主文件目录(MFD)和用户文件目录(UFD),解决了文件重名问题
多级目录结构 树形目录结构,允许用户创建子目录,是目前最常用的目录结构

3. 多级索引结构

多级索引结构用于管理大文件的存储。

  • 直接索引:索引节点中直接存放数据块的地址
  • 一级间接索引:索引节点中存放指向索引块的指针,索引块中存放数据块的地址
  • 二级间接索引:在一级间接索引的基础上再增加一层索引
  • 三级间接索引:在二级间接索引的基础上再增加一层索引

4. 文件路径

全文件名

从根目录(有盘符也要加上)一直到文件名:

D:\Program\Java-prog\com2.dll

绝对路径

就是全文件名去掉文件名:

D:\Program\Java-prog\

相对路径

从当前工作目录到文件所在的目录,不要文件名:

以下述相对路径以当前工作目录为Program为例,文件改为f1.java:

Program\Java-prog\

注意:

  • 软考中一般把当前路径给省略掉,即去掉上述的Program\
  • 这里的 \ 大家注意也要去掉,如果不去掉就是从根目录开始了

二、位示图

1. 位示图的概念

位示图:用二进制的一位来表示一个物理块的使用情况。

  • 0:表示该物理块空闲
  • 1:表示该物理块已分配

2. 位示图的计算

磁盘容量 / 物理块大小 / 字长 = 位示图的大小(字)

注意:

  • 磁盘容量 / 物理块大小的时候记得转换单位
  • 字号和块号要注意是从0开始还是从1开始

3. 物理块号的定位

物理块号x 在位示图中的第几个字中描述,可以先用:

物理块号x / 字长 = 大致的字号

再根据题目给出的信息判断一下物理块号x是否在这个字的物理块号描述范围中。


三、设备管理

1. 设备管理的功能

  • 缓冲管理
  • 设备分配
  • 设备处理(驱动)
  • 设备独立性

2. 磁盘调度算法

磁盘调度算法用于优化磁盘I/O操作的顺序,减少寻道时间。

先来先服务(FCFS)

  • 按请求访问磁盘的先后次序进行调度
  • 优点:公平、简单
  • 缺点:平均寻道距离大,效率低

最短寻道时间优先(SSTF)

  • 优先满足距当前磁头最近的访问请求
  • 优点:比FCFS有更好的寻道性能
  • 缺点:可能导致某些请求饥饿

扫描(电梯调度)算法(SCAN)

  • 磁头从磁盘的一端向另一端移动,沿途响应访问请求
  • 到达端点后反向移动
  • 优点:避免了饥饿现象
  • 缺点:两端请求的等待时间较长

单向(循环)扫描调度算法(CSCAN)

  • 磁头从磁盘的一端向另一端移动,沿途响应访问请求
  • 到达端点后,直接返回到另一端,不响应沿途请求
  • 优点:等待时间更均匀

旋转调度算法

  • 优化磁盘旋转等待时间
  • 当磁头定位到磁道后,选择最先到达磁头位置的扇区进行读写

四、设备管理要点总结

1. 设备分类

分类方式 类型
按传输速率 低速设备、中速设备、高速设备
按信息交换单位 块设备、字符设备
按共享属性 独占设备、共享设备、虚拟设备

2. 缓冲技术

缓冲技术用于缓解CPU与I/O设备之间速度不匹配的矛盾。

缓冲类型 说明
单缓冲 只有一个缓冲区,处理机和设备轮流使用
双缓冲 有两个缓冲区,处理机和设备可以同时工作
循环缓冲 多个缓冲区组成循环队列
缓冲池 由多个缓冲区组成,供多个进程共享

3. 设备分配

设备分配需要考虑以下因素:

  • 设备的固有属性(独占、共享、虚拟)
  • 设备分配算法(先来先服务、优先级高者优先)
  • 设备分配的安全性(避免死锁)

4. SPOOLing技术

SPOOLing(Simultaneous Peripheral Operations On-Line)技术,即假脱机技术。

原理:

  • 利用磁盘作为缓冲,将独占设备改造为共享设备
  • 提高了设备的利用率

组成:

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