五, I/O 软件原理
输入输出软件的总体目标是将软件组织成一种层次结构
低层软件用来屏蔽硬件的具体细节
高层软件则主要是为用户提供一个简洁, 规范的界面
设备管理的 4 个层次:
用户层软件 -》向系统发出 I/O 请求, 显示 I/O 操作的结果, 提供户与设备的接
与设备无关的软件层 -》完成设备命名, 设备分配, 设备独性和缓冲管理等功能
设备驱动程序 -》与硬件关系最密切, 包括设备服务程序和中断处理程序
中断处理程序 (底层)-》
设备管理软件的功能:
(1) 实现 I/O 设备的独性
(2) 错误处理
(3) 异步传输
(4) 缓冲管理
(5) 设备的分配和释放
(6) 实现 I/O 控制式
中断处理程序
中断处理程序的作: I/O 中断处理程序的作是将发出 I/O 请求被阻塞的进程唤醒
设备驱动程序:
与硬件关的 I/O 软件:
与设备关的 I/O 软件的功能如下:
(1) 设备命名
(2) 设备保护
(3) 提供独于设备的块
(4) 为块设备和字符设备提供必要的缓冲技术
(5) 块设备的存储分配
(6) 分配和释放独设备
(7) 错误处理
六, 磁盘管理
磁盘存储器容量, 存取速度快, 且可以实现随机存取, 是存放量程序和数据的理想设备;
磁盘管理的重要标是提磁盘空间利率和磁盘访问速度
磁盘结构:
个物理记录存储在个扇区上, 磁盘存储的物理记录数是由扇区数, 磁道数及 磁盘数决定的.
磁盘类型:
固定头磁盘 在每条磁道上都有读 / 写磁头
活动头磁盘 (移动头): 每个盘仅配有个磁头
磁盘访问时间:
磁盘调度
磁盘调度的一个重要目标是使磁盘的平均寻道时间最少
磁盘调度算法
先来先服务 (First Come First Served, FCFS)
最简单的磁盘调度算法 根据进程请求访问磁盘的先后顺序进调度
优点: 公平, 简单, 且每个进程的请求都能依次得到处理, 不会出现某 进程的请求期得不到满的情况
缺点: 平均寻道时间较
最短寻道时间优先 (Shortest Seek Time First, SSTF)
该算法选择的进程: 其要求访问的磁道与当前磁头所在的磁道距离最近, 以使每次的寻道时间最短.
优点: 每次的寻道时间最短, 较之 FCFS 有更好的寻道性能
缺点: 可能导致某个进程发 "饥饿" 现象
扫描算法 (SCAN)
不仅考虑到要访问的磁道与当前磁道的距离, 更优先考虑磁头当前的移动向.
优点: 有较好的寻道性能, 防 "饥饿" 现象
缺点: 有时候进程请求被推迟
循环扫描算法 (CSCAN)
在扫描算法的基础上, 规定磁头是单向移动的. 将最磁道号紧接着最磁道号构成循环, 进循环扫描.
NStepSCAN 和 FSCAN 调度算法
这两种算法可以避免磁臂粘着
计算题
假设磁盘有 1000 个磁道, 若磁盘请求是一些随机请求, 它们按照到达的次序分别处于 811, 348,153,968,407,580,233,679,801,121 磁道. 当前磁头在 656 号 磁道上, 并且读写磁头正在向磁道号增加的方向移动.
要求: 1. 给出用 FCFS 算法进行磁盘调度时满足请求的次序, 并计算出它们的平均寻道长度.
2. 给出用 SSTF 算法进行磁盘调度时满足请求的次序, 并计算出它们的平均寻道长度.
假设磁盘有 1000 个磁道, 若磁盘请求是一些随机请求, 它们按照到达的次序分别处于 150, 160, 184,90,58,55,39,38,18 磁道. 当前磁头 100 号磁道上, 并且读写磁头正在向磁道号增 加的方向移动.
要求: 1. 给出用 SCAN 算法进行磁盘调度时满足请求的次序, 并计算出它们的平均寻道长度.
2. 给出用 CSCAN 算法进行磁盘调度时满足请求的次序, 并计算出它们的平均寻道长度.
提磁盘 I/O 速度的法
为了提高磁盘 I/O 速度, 用来暂存从磁盘中读出的一系列盘块中的信息的方 法是磁盘高速缓存
来源: https://www.cnblogs.com/jalja/p/11537890.html