设备管理 - 软考备战(十九)
操作系统四参考资料计算机操作系统学习笔记四设备管理 — I/O 管理 - 知乎设备管理设备管理概念、设备驱动程序-腾讯云开发者社区-腾讯云操作系统15-----I/O设备管理(万字总结~)(1)-阿里云开发者社区史上最全计算机操作系统详解赶紧收藏 - 知乎目录操作系统四3.4 设备管理3.4.1 设备管理概述1. I/O设备的分类按传输速率分类按信息交换单位分类按共享属性分类2. I/O软件层次结构用户层软件设备独立性软件逻辑I/O设备驱动程序中断处理程序3. I/O控制方式程序直接控制方式轮询中断驱动方式DMA方式直接存储器访问通道方式3.4.2 I/O核心子系统1. 缓冲管理2. 设备分配与回收3.4.3 磁盘存储器管理1. 磁盘结构2. 磁盘访问时间3. 磁盘调度算法先来先服务 (FCFS)最短寻道时间优先 (SSTF)扫描算法 (SCAN / 电梯算法)循环扫描算法 (CSCAN)3.4.4 虚拟设备与SPOOLing技术1. SPOOLing技术原理2. 实现设备虚拟化3.4 设备管理3.4.1 设备管理概述1. I/O设备的分类按传输速率分类低速设备键盘、鼠标。中速设备打印机。高速设备磁盘、磁带。按信息交换单位分类块设备以数据块为单位传输可寻址如磁盘传输速率高随机访问。字符设备以字符为单位传输不可寻址如键盘、打印机传输速率低常采用中断方式。按共享属性分类独占设备一段时间内只允许一个进程访问如打印机。共享设备一段时间内允许多个进程交替访问如磁盘。虚拟设备通过SPOOLing技术将独占设备变为逻辑上的共享设备。2. I/O软件层次结构用户层软件产生I/O请求解析用户命令如C语言的printf库函数。设备独立性软件逻辑I/O实现“设备独立性”将逻辑设备名映射为物理设备名进行差错控制提供统一的系统调用接口。设备驱动程序直接与硬件相关将上层命令转换为设备控制器能理解的具体操作如将“读扇区”转为寄存器读写。中断处理程序最底层软件当I/O完成时被唤醒进行善后处理。3. I/O控制方式程序直接控制方式轮询CPU不断查询设备状态。缺点CPU与设备串行工作CPU利用率极低“忙等”。中断驱动方式CPU发出命令后做其他事I/O完成后发中断信号。优点实现了CPU与I/O并行。缺点数据传输单位小字/字节频繁中断消耗CPU时间。DMA方式直接存储器访问数据传输单位为数据块数据直接在内存与设备间传输无需CPU干预。仅在传输开始和结束时需要CPU干预。通道方式独立的I/O处理器可执行通道程序。一个通道可控制多台设备。优点CPU负担最轻并行性最高。3.4.2 I/O核心子系统1. 缓冲管理目的缓和CPU与I/O设备速度不匹配的矛盾减少对CPU的中断频率解决数据粒度不匹配问题。单缓冲设一个缓冲区CPU处理数据时设备只能等待。处理时间约 T CT为设备输入时间C为CPU处理时间。双缓冲设两个缓冲区交替使用。若 T C处理时间约 C若 T C处理时间约 T。循环缓冲多个缓冲区链接成环适用于输入/输出速度相差不大的情况。缓冲池公用缓冲区集合由OS管理既可输入也可输出利用率最高。2. 设备分配与回收设备分配的数据结构DCT设备控制表记录设备状态忙/闲、等待队列指针。COCT控制器控制表。CHCT通道控制表。SDT系统设备表系统范围内的设备资源表。设备分配策略先来先服务。优先级高者优先。设备独立性应用程序使用逻辑设备名请求设备系统在运行时将其映射为物理设备名。好处是提高了程序的适应性不依赖于具体物理设备。3.4.3 磁盘存储器管理1. 磁盘结构磁盘由多个盘片组成每面有磁道多个盘面对应磁道形成柱面。扇区磁盘物理块最小的读写单位。2. 磁盘访问时间3. 磁盘调度算法先来先服务 (FCFS)按请求到达顺序服务。公平简单但寻道距离长效率低。最短寻道时间优先 (SSTF)选择距离当前磁头最近的请求。性能优于FCFS但可能导致“饥饿”现象远端请求长时间得不到服务。扫描算法 (SCAN / 电梯算法)磁头沿一个方向移动到底途中服务所有请求然后反向移动。消除了饥饿性能较好。循环扫描算法 (CSCAN)单向移动如从外向内到达边缘后直接跳回起点不服务重新开始扫描。消除了SCAN算法中边缘请求响应时间变化大的问题响应时间更均匀。3.4.4 虚拟设备与SPOOLing技术1. SPOOLing技术原理定义在磁盘上开辟“输入井”和“输出井”利用外围处理机实际上是预输入程序和缓输出程序实现I/O。组成输入井/输出井磁盘上的缓冲区模拟物理设备。输入缓冲区/输出缓冲区内存缓冲区。预输入程序/缓输出程序负责将数据从设备读到井或从井写到设备。2. 实现设备虚拟化工作流程核心优势将独占设备如打印机改造为共享设备。实现了I/O操作的“脱机”处理提高了I/O速度。