一、文件管理
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)技术,即假脱机技术。
原理:
- 利用磁盘作为缓冲,将独占设备改造为共享设备
- 提高了设备的利用率
组成:
- 输入井和输出井
- 输入缓冲区和输出缓冲区
- 输入进程和输出进程
评论