认识I/O管理

认识I/O管理

1. I/O设备的基本概念与分类

  1. 什么是I/O设备
    将数据Input or Output 计算机的外部设备
  2. 按使用特性
    • 人机交互类外部设备
      键盘、鼠标
    • 存储设备
      移动硬盘
    • 网络通信设备
      调制解调器
  3. 按传输速率分类
    • 低速设备,键盘、鼠标
    • 中速设备,打印机
    • 高速设备,硬盘
  4. 按信息交换的单位分类
    块设备(传输块,可以寻址/随机访问)比如硬盘
    字符设备(传输慢,不可寻址,常采用中断驱动方式),比如鼠标、硬盘

2. 认识I/O控制器

在这里插入图片描述

I/O控制器,又称I/O设备的电子部件。因为CPU没有办法直接操控I/O设备的机械部件,所以要用一个电子部件做中介,由CPU控制I/O控制器,I/O控制器来控制具体设备的机械部件

  • 机械部件是指我们看得见摸得着的,比如鼠标还有键盘的按钮,移动硬盘的磁臂
  • 电子部件,即I/O控制器,通常是一块插入主板扩充槽的印刷电路板
  1. 主要功能
    • 接受和识别CPU发出的命令,要有控制寄存器
    • 向CPU报告设备当前的状态,要有状态寄存器,记录设备当前是忙碌还是空闲状态
    • 数据交换,要有数据寄存器,用来暂时存放输入或者输出的数据,例如c语言中scanf
    • 地址识别,类似内存的地址,主要是为了区分设备控制器中的各个寄存器
  2. 3部分组成
    1. CPU与控制器之间的接口,用来实现控制器和CPU之间的通信
    2. I/O 逻辑,负责识别CPU发出的命令,并对设备发出命令
    3. 控制器和设备之间的接口,用来实现控制器和设备之间的通信
  3. 2中寄存器的编制方式
    • 内存映射I/O
      控制器中的寄存器与内存统一编址
      可以采用对内存进行操作的指令来对控制器进行操作
    • 寄存器独立编址
      控制器的寄存器独立编址
      需要设置专门的指令来操作控制器

3. I/O控制方式

  1. 程序直接控制方式,CPU发出I/O指令后(比如读指令或写指令),需要一直轮询I/O控制器,等到I/O控制器里的状态控制器表示已经就绪,CPU再读取I/O控制器里的数据控制器里的数据;
    • 内存和I/O设备的数据交换需要经过CPU
    • CPU利用率低
  2. 中断驱动方式,CPU发出I/O指令后(比如读指令或写指令),不需要轮询,可以去调度,处理其他进程,等到I/O控制器里的状态寄存器表示已经就绪的时候,发出中断信号,通知CPU继续处理原来阻塞的这个进程
    • 内存和I/O设备的数据交换需要经过CPU
    • CPU利用率比前者高
  3. DMA方式(direct memory access/直接存储器存取),CPU发出I/O指令后(比如读指令或写指令),等到DMA控制器里的状态寄存器表示已经就绪的时候,发出中断信号,通知CPU继续处理原来阻塞的这个进程,并直接把一块一块的数据写入内存
    • 内存和I/O设备的数据交换不需要经过CPU
    • CPU利用率比前者高
  4. 通道控制方式,通道是一种硬件,可以说是弱鸡版的CPU,它能识别CPU发来的I/O指令,指明数据存放在内存中的什么位置。等到通道里的状态寄存器表示已经就绪的时候,发出中断信号
    • 内存和I/O设备的数据交换不需要经过CPU
    • CPU利用率最高

4. I/O的软件层次结构

用户在打印店打印,它经历了几个层次结构?

  1. 用户通过库函数(有的库函数是对系统调用的进一步封装)发出I/O请求
  2. 用户层软件通过系统调用请求设备独立性软件层服务
  3. 设备独立性软件层服务根据逻辑设备表LUT会找到对应的设备号,调用对应驱动程序
  4. 设备驱动程序向“I/O控制器”发出具体命令
  5. 等待I/O完成的进程应该被阻塞,因此需要进程切换,进程切换需要中断处理(中断的作用,让操作系统内核强行夺回CPU的控制权)

在这里插入图片描述

在这里插入图片描述

最后,我们简单认识了I/O管理,值得注意的是,设备独立性软件、设备驱动程序和中断处理程序三部分也被称为I/O核心子系统。对I/O调度,假脱机技术,设备分配与回收,缓冲区管理,会在后面补充。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值