【I/O管理】和【磁盘调度】

本文详细介绍了I/O管理的三种技术:程序控制、中断驱动和DMA,强调了DMA在减轻CPU负担中的作用。同时,文章讨论了磁盘调度的重要性,包括寻道时间、旋转延迟和传送时间,并列举了多种磁盘调度策略,如FIFO、SSTF、SCAN和C-SCAN等。还提到了RAID和磁盘高速缓存作为提高I/O性能的解决方案。
摘要由CSDN通过智能技术生成

I/O管理

  • 执行I/O的三种技术

    无中断 使用中断
    通过处理器实现I/O和内存间的传送 程序控制I/O 中断驱动I/O
    I/O和内存间直接传送 直接存储器访问/通道
    • 程序控制:进入忙等待,即CPU不断试探状态寄存器,查看设备是否可以使用。设备空闲后先读入CPU的寄存器,再把CPU寄存器中的内容放入内存,如scanf/printf。CPU干预频率很频繁,需要不断轮询检查。CPU和I/O设备只能串行工作。按字存取数据。
    • 中断驱动:(若I/O指令非阻塞,处理器继续执行其后续指令,若阻塞则操作系统将其设为阻塞态并调度其他进程,这里讨论后者)CPU中断后不进行轮检而是中断,当目标设备设备完成后向CPU发出中断信号,CPU检测到后就回去执行。(每个指令周期结束后都会检查一次中断)数据同样需要存到CPU寄存器后再存到内存或I/O设备。每次只能读/写一个字
    • DMA:是操作系统必须支持的主要数据传送方式,使得处理可以不再参与I/O处理,主要用于块设备。数据传送单位是块。
  • I/O模块的发展实际上就是将CPU逐步从I/O任务中解脱出来,为其设立了单独的处理器/指令集/局部存储器,即DMA。DMA可以模拟处理器,并有系统总线的控制权。
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PPo8ziHC-1648473809551)(C:\Users\86130\AppData\Roaming\Typora\typora-user-images\image-20220326093836389.png)]
    在这里插入图片描述

    • 请求读或写操作的信号通过在处理器和DMA模块之间使用读写控制线发送。
    • 相关的IO设备地址,通过数据线传送。
    • DMA获得存储器的读或者写的起始地址,在数据线上传送,并由DMA保存其地址寄存器中。
    • 读或者写的数据长度(字数),由DMA保存在其数据计数寄存器DC中。

    以上是CPU的工作,之后就交给DMA了。DMA要完成的:

    • 直接从存储器中或向存储器中逐字传送整块数据。(读入时是以字为单位,只是传送给I/O是整块进行,每次如果读写多个块只能是连续的多个块,并且存放内存后也需要是连续的,如果要不连续的块,需要CPU重新给指令,这就是缺点,离散数据块会导致多条CPU指令)
    • 传送结束后向CPU发送中断信号。
  • 通道控制方式:根据DMA改进的,为了解决读取不连续块的问题
    在这里插入图片描述
    通道作为一种硬件,需要和CPU共享主机内存,可以识别一系列通道指令,CPU可以一次性写入通道一堆信息,每次读写一组数据块。DMA传输单位是块。

  • DMA的配置
    在这里插入图片描述

    • (a)中DMA模块充当代理处理器,使用程序控制I/O通过DMA模块在存储器和I/O模块之间交换数据。
    • (c)是对(b)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值