? 数据传输过程: ? 缺点
? 花费CPU的处理时间
? 数据寄存器容量:一字节
? 数据寄存器满或空时将会产生中断请求信号,容量的关系使
得中断频繁
? 若系统中各种外设都采用中断方式进行数据传送,中断次数急剧增
加,导致CPU无法及时响应,出现数据丢失现象。
DMA控制方式(Direct Memory Access直接存储器存取)的引入
? 中断控制方式以字节为单位进行数据传输,若数据量大则导致中断
频繁发生,CPU因频繁处理中断而使效率无法提高。
? 解决方法:交换过程无需CPU处理,外设与内存直接交换数据
—DMA控制方式。
? 特点
? 块传送。适用于块设备。 ? 直接传送。内存与I/O设备间的数据传送在DMA控制器的控制之下
完成,不需要CPU的任何中间干涉,仅在传送数据块的开始和结束时才需要CPU的干预。
DMA控制方式与中断控制方式的区别
? 中断控制方式在每个数据传输完成后中断CPU一次,DMA方式是
所有数据传输完成后中断CPU。
? 中断控制方式的数据传输是在中断处理时由CPU控制完成,DMA
方式是在DMA控制器的控制下完成。
? 9.2.4通道控制方式
? 通道控制方式的引入
? DMA方式对外设的管理和操作由CPU完成,外设种类多使得管理
和控制复杂。
? 解决方法:使用专门用于I/O操作的硬件设备—通道。
? 通道:一个独立于CPU的专门实现I/O控制的处理机,它控制设备与内存
直接进行数据交换。
? 通道控制与DMA控制的比较
? 相同:设备与内存交换数据时无CPU干涉 ? 不同
? DMA:数据的传送方向、存放数据的内存地址以及数据块的
长度由CPU控制
? 通道:“CPU不干涉”更完全。
? 9.4 缓冲技术 ? 缓冲技术目的
? 用来解决CPU与外设之间以及设备与设备之间速度不匹配的问题。 ? 解决系统中I/O负荷的不均衡问题。
? 系统有时会产生大量的数据需要I/O,有时又会很长时间没有I/O,
造成I/O负荷的不均匀。
? 有效减少I/O次数,从而提高I/O速度。
? 由于设备与CPU之间的数据传输方式是中断方式,采用缓冲技术能
够将一批数据集中在一次中断中完成。本应传输一个字符中断一次,但可将字符存于缓冲区, 例如够100字符再中断一次。
? 缓冲技术思想
? 9.4.2缓冲的类型
? 缓冲区物理介质:内存 ? 缓冲技术类型
? 单缓冲 ? 双缓冲 ? 多缓冲 ? 缓冲池
? 双缓冲
? 为输入、输出设备分配两个缓冲区
? 输入数据
?
? 输入设备:输入缓冲区1,1满时输入缓冲区2 ? 进程:取缓冲区1,1空时取缓冲区2; 输出数据
? 进程:数据写入缓冲区1,1满时写入2 ? 输出设备:取缓冲区1输出,1空时取2
? ?
? ? ? ?
? ?
缓冲池
? 缓冲池的组成
? 三种基本缓冲区
? 空缓冲区—空缓冲队列;
? 装满输入数据的缓冲区—输入队列; ? 装满输出数据的缓冲区—输出队列。
? 四种辅助缓冲区
? 用于收容输入数据的工作缓冲区—收容输入工作缓
冲区;
? 用于提取输入数据的工作缓冲区—提取输入工作缓
冲区;
? 用于收容输出数据的工作缓冲区—收容输出工作缓
冲区;
? 用于提取输出数据的工作缓冲区—提取输出工作缓
冲区。
? 缓冲池队列的管理任务
? 空闲缓冲区的分配与回收
? 输入输出队列及四种工作缓冲区管理
虚拟设备 复习
? 设备类型
? 独占设备:指一段时间内只允许一个进程使用的设备。该类设备分
配给某进程后由进程独占,直至运行结束。如打印机。
? 共享设备:指在一段时间内允许多个进程使用的设备。如磁盘,若
干个进程可交替地读取磁盘信息。
? 虚拟设备:指通过虚拟技术将独占设备改造成若干台共享设备,将
这种经过虚拟技术改造的设备称为虚拟设备。
磁盘组织与管理 (一)磁盘性能简述 复习
? 磁盘结构:磁道、扇区 访问磁盘操作
? 移动磁头、扇区转动等待、读写操作 磁盘信息存取时间
? 寻道时间Ts。磁头从当前位置移动到指定磁道上所经历的时间。 ? 旋转延迟时间Tr。即指定扇区移动到磁头下面所经历的时间。
? 传输时间Tt。指把数据从磁盘读出,或向磁盘写入数据所经历的时间。 (二)磁盘调度
磁盘调度:按照一定的算法响应进程访问磁盘的请求。
?
?
?
常用算法
? 先来先服务算法
? 最短寻道时间优先算法 ? 扫描算法
? 循环扫描算法(*) ? N步扫描算法(*) ? 电梯调度算法(*) 先来先服务(FCFS)算法
? 思想:根据进程请求访问磁盘的先后次序进行调度。
? 例:当前磁头在53号柱面上执行输入输出操作,而等待访问者依次要访问
的柱面为98、183、37、122、14、124、65、67,则磁盘访问顺序为?
等待访问的柱面为98、183、37、122、14、124、65、67
最短寻道时间优先(SSTF)算法
? 思想:从等待访问的柱面中挑选寻找时间最短的那个请求先执行。
? 例:当前磁头在53号柱面上执行输入输出操作,而等待访问者依次要访问
的柱面为98、183、37、122、14、124、65、67,则磁盘访问顺序为?
等待访问的柱面为98、183、37、122、14、124、65、67
当前在53柱面,移动磁道数目:45(98-53)、130、16、69、39、71、12(最短)、14 当前在65,移动磁道数目:33、118、28、57、41、59、2 ……
?