当前位置: 首页 > news >正文

操作系统IO控制方式

操作系统I&O控制方式

视频地址:https://www.bilibili.com/video/BV1YE411D7nH?p=64

I&O设备按照信息交换的单位可以分为以下两类:

  • 块设备 数据传输的基本单位是块,传输速率较高,可寻址,可随机读写任意一块。如磁盘
  • 字符设备 数据传输的基本单位是字符,传输速率较慢,不可寻址,在输入/输出时常采用中断驱动方式。如鼠标、键盘等

I&O控制方式

1、程序直接控制方式(轮询)

  • 其中的关键词是轮询,cpu向控制器发出指令后,会一直轮询检查数据是否准备好(通过状态寄存器)

image-20230116140840721

流程图:

image-20230116141219028

方法分析:

image-20230116141413138

  • 实现简单。
  • CPU需要一直轮询检查,长期处于“忙等”状态,利用率低。

2、中断驱动方式

  • 每次发生中断都是读入了一个字的数据

image-20230116164112716

分析:

image-20230116164159269

  • cpu和I&O设备可并行工作,cpu利用率得到明显提升
  • 每个字在I/O设备与内存之间的传输都需经过cpu,而频繁的中断处理会消耗较多的cpu时间

3、DMA方式

  • 传送单位变为了块

image-20230116164443338

分析:

image-20230116164605747

  • 数据传输以块为单位,cpu介入频率进一步降低。数据的传输不再需要先经过cpu再写入内存,数据传输效率进一步增加
  • cpu每发出一条I/O指令,只能读写一个或多个连续的数据块

4、通道控制方式

  • 通道是硬件

image-20230116164848662

分析:

image-20230116164922737

  • cpu、通道和I/O设备可并行工作,资源利用率很高
  • 实现复杂,需要专门的通道硬件支持

四种方式的对比

image-20230116165039422

整个发展过程就是要尽量减少CPU对I/O过程的干预,把CPU从繁杂的I/O控制事务中解脱出来。

5、实战

image-20230116165701614

相关文章:

  • C语言中的回调函数 和 函数指针
  • 【Kotlin】集合操作 ④ ( Set 集合 | 可变 Set 集合 | List 与 Set 之间相互转换 | 数组类型 )
  • mysql 中字段的 collate 和 charset 有什么区别
  • IBM WebSphere Message Queue MQ修改最大通道数
  • 【第十六篇】Camunda系列-动态表单
  • 【电子学会】2022年12月图形化四级 -- 简易抗疫物资管理系统
  • 5555555
  • 二十三、备忘录模式 ( Memento Pattern )
  • Spring AOP【统一异常处理与统一数据格式封装】
  • 数据库自愈
  • 计算机 - - - 局域网共享文件夹,局域网传输文件(待完善)
  • 微分方程的特征值解法:斯图姆-刘维尔方程
  • Allegro如何快速打开和关闭层面操作指导
  • 【科研试剂】16-Heptadecynoic acid,93813-16-2,16-庚二酸
  • 尚硅谷谷粒音乐项目学习笔记及答疑解惑(1-20集)
  • 基于springboot,vue影院订票系统
  • 【1814. 统计一个数组中好对子的数目】
  • 第18章_JDBC
  • 未雨绸缪·鸟巢设计与软件架构的共性思考
  • MySQL基础命令表及补充说明