操作系统的I/O管理——I/O控制方式

操作系统I/O控制方式

程序直接控制方式
	1)I/O发送读请求之后,设备启动,并且状态寄存器置为1即未就绪状态
	2)CPU轮询,查看寄存器状态何时就绪
	3)输入设备准备数据,传给控制器并且报告自身的状态
	4)控制器拿到数据存到数据寄存器,状态寄存器置为0(已就绪)。
	5)CPU拿到数据读入CPU寄存器,并且写入内存
  • CPU干预频繁,每次I/O操作完成前后都需要一次,还有轮询。
  • 每次读写都是1个字
  • 数据流向
    I/O设备===》CPU===》内存 读
    I/O设备《===CPU《===内存 写
  • 明显缺点是CPU资源利用率太低,一直在忙等状态,CPU速率快 I/O慢,速度矛盾,
    唯一优点是实现简单,读写和轮询。
中断控制方式

其实是为了优化之前的程序直接控制法,提升CPU的资源利用率
从I/O的角度看,首先输入输出控制器从CPU拿到读指令,然后从外围设备读数据,然后存到数据寄存器,然后通过控制线给CPU发送中断信号,CPU存到自己的寄存器里,然后写入内存

从CPU的角度看,发起了读指令之后,先保存运行程序的上下文,接着去执行其他进程,每次指令周期结束之际,去检查有没有I/O的中断,如果有去处理中断,拿到数据,存入内存。

  • CPU干预频率在I/O切换进程时才会执行
  • 数据传输是1个字
  • 数据流向
    I/O设备===》CPU===》内存 读
    I/O设备《===CPU《===内存 写
  • 优点:CPU和I/O设备并行,资源利用率提高
  • 缺点:中断在每次I/O的时候都需要,比较频繁,影响性能。
DMA方式(Direct Memory Access)
  • 为了解决中断控制方式的CPU干预,中断引起的性能问题,优化方式为不通过CPU干预,直接和内存进行数据传输。
  • DMA控制器组成: MAR 内存地址寄存器,DR 数据寄存器 ,DC 数据计数器, CR 命令/状态寄存器

CPU接到请求,发送一条请求给I/O控制器,控制器负责启动DMA控制器,CPU把任务清单给到DMA,DMA负责操作传输数据,传送数据块,在一次任务全部完成之后DMA会发送一条中断指令给CPU,只有开始结束的时候才需要CPU的参与

  • CPU只有在开始和结束的时候干预
  • 每次传输1个数据块
  • 数据流向
    I/O设备===》内存 读
    I/O设备《===内存 写
  • 优点 CPU介入频率小,资源利用率高
  • 缺点 CPU每次只能发一条I/O ,只能读写连续的数据块
通道控制方式

通道是一种硬件
完成一组数据块的读写后才发出中断信号,数据传输单位是一组数据块,其数据流向也是不经过CPU的,优点是CPU,I/O,通道并行,资源利用率进一步提高,缺点是实现复杂,需要硬件支持。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值