操作系统
第五章 I/O管理
author:slightwjq
2023年1月2日
5.1 I/O管理概述
I/O接口位于CPU与设备之间,主要有三部分组成。
- 设备控制器与CPU接口:该接口有三类信号线:数据线、地址线和控制线。
- 设备控制器与设备的接口:一个控制器可以连接一个或多个设备。
- I/O逻辑:用于实现对设备的控制。通过一组控制线与CPU交互,对从CPU收到的I/O命令进行译码。
I/O端口是指设备寄存器中可以被CPU直接访问的寄存器。主要包括:数据寄存器、状态寄存器、控制寄存器。
I/O控制方式
程序直接控制方式:计算机从外部设备读取的每个字,CPU需要对外设状态进行循环检查,直到确定该字已经在I/O控制器的数据寄存器中。
中断驱动方式:允许I/O设备主动打断CPU的运行并请求服务,从而解放CPU,使得其向I/O控制器发送读命令后可以继续做其他有用的工作。在每个指令周期的末尾,CPU检测中断,每次传送一个字。
DMA方式:基本思想是在I/O设备和内存之间开辟直接的数据通路,解放CPU。数据交换的基本单位是数据块,数据是从设备直接送入内存,仅在传送一个或多个数据块的开始和结束时才需要CPU干预。
4.2 设备独立性软件
缓冲区:引入缓冲区的目的是缓和CPU与I/O设备之间速度不匹配、减少对CPU的中断频率、解决数据粒度不匹配问题、提高CPU与I/O的并行性。
缓冲技术可分为:单缓冲、双缓冲、循环缓冲。
设备分配与回收
设备分配是指根据用户的I/O请求分配所需的设备。根据设备特性分为独占设备、共享设备、虚拟设备。
SPOOLing技术(假脱机技术):空间换时间,利用专门的外围控制机,将低速I/O设备上的数据传送到高速磁盘上,或者相反。
4.3 磁盘和固态硬盘
磁盘Disk是物理盘片,磁盘盘面上的数据在一组同心圆中,称为磁道。磁道又划分成几百个扇区,每个扇区固定存储大小,一个扇区称为一个盘块。所以密度从最外道向里道增加,磁盘的存储性能受限于最内道的最大记录密度。
磁盘地址用柱面号·盘面号·扇区号表示。
磁盘的管理
在磁盘可以存储数据之前,必须将其划分成扇区,这个过程称为低级格式化(物理格式化)。
在可以使用磁盘存储文件之前,操作系统还要将自己的数据结构记录到磁盘上,第一步是分区,第二步是逻辑格式化(创建文件系统)。
计算机启动时需要运行一个初始化程序,称为自举程序。通常存放在ROM,通常只在ROM中保留很小的自举装入程序,而将完整功能的引导程序保存在磁盘的启动块上。
磁盘调度算法
先来先服务算法FIFO。
最短寻找时间优先算法SSTF:选择距离最近的,会发生饥饿现象。
扫描算法SCAN:在磁头当前移动方向上选择最近的下一次请求,又称电梯调度算法。
循环扫描算法C-SCAN:规定在Scan算法的基础上单向提供服务。
- 本文作者: 魏静崎
- 本文链接: https://slightwjq.github.io/2023/10/17/操作系统-第五章/
- 版权声明: 该文章来源及最终解释权归作者所有