计算机操作系统-IO系统

什么是IO设备

打印机,扫描仪,磁盘驱动器,磁带机等

IO系统

什么是IO系统:

用于管理IO设备和存储设备的系统

IO系统的作用:

管理用户提出的IO请求,提高IO速率, 方便用户使用IO设备

什么是设备控制器

每个IO设备一般都配备有相应的设备控制器 这是一种硬件设备 包含有若干个用于存放控制命令的寄存器和存放参数的寄存器 用户通过这些命令和参数可以控制外部设备 但是每一个控制器都有它自己的命令 程序员没办法直接面向这些设备编程 所以IO系统隐藏了物理设备的实现细节 只提供少量的读写命令

什么是IO系统接口

IO系统与上层系统之间的接口 向上层提供对设备进行操作的抽象IO命令 方便高层对设备的使用

在这里插入图片描述

IO操作的三种方式

程序控制IO
CPU发一个IO命令给IO控制器 IO控制器来控制IO
不支持中断
IO设备在可用状态之前会一直被程序检测是否可用 如果不可用就一直检测 浪费处理器的时间
中断驱动IO
相对于程序控制 程序在检测IO是否可用时 如果发现不可用 就去做另一件事情 而不是一直循环检测 如果发现可用就直接交给IO模块完成IO
缺点:可能会中断频率很高 导致系统开销大 因为你传输每一个数据都需要CPU介入 每传一个数据CPU就中断一下
DMA(dirext memory access)控制IO
一次传输一块数据再发生中断 相较于中断驱动IO DMA控制减少了中断次数
CPU向DMA发出要读一块数据的命令 然后就去执行其他进程了 当整块数据通过IO设备传入进程的时候 DMA再传输给CPU读入内存中
为什么DMA可用减少中断次数
DMA是通过CPU与CPU共享系统总线的方式传输数据 所以DMA与CPU都要使用系统总线 如果CPU在使用系统总线时DMA要用了 那就CPU暂时停用系统总线 给DMA使用 等DMA使用完了CPU再执行下一个指令周期 注意并不是挂起 与挂起的区别是CPU并不需要存储上下文不需要恢复中断 这样就减少了中断开销
CPU用系统总线主要是 取指令 解析指令 取操作数 存结果

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值