操作系统复习篇(13)——I/O输入系统

第13章 I/O输入系统

  • 剖析操作系统I/O子系统结构
  • 讨论I/O硬件原理和复杂度

概述

  • 设别驱动程序为I/O子系统提供了统一设备访问接口
  • 总线(bus):多个设备共用一组线

I/O硬件

  • I/O端口通常有状态寄存器、控制寄存器、输入寄存器、输出寄存器
  • 数据输入寄存器:被主机读出以获取数据
  • 数据输出寄存器:被逐季写入以发送数据
  • 状态寄存器:包含主机可以读取的状态位
  • 控制寄存器:发送命令或改变状态
  • 轮询(polling):等于忙等待(busy-waiting)
  • 中断(interrupt)
  • 直接内存访问(direct-memory access):直接将指令存储在DMA中,就可以不通过CPU,直接利用地址访问内存

I/O应用接口

  • 阻塞与非阻塞I/O
  • 异步与同步
  • 非阻塞:立即返回结果,无论是否是要求的结果的内容
  • 异步:等待某个合适的时间进行返回足够的结果

I/O内核子系统

  • I/O调度:通过调整请求的顺序实现最高的效率
  • 缓冲:保存在两个设备之间或者设备与应用程序之间的传输数据,作用是处理数据生产者与消费者的速度差异;协调传输数据大小不一致的设备;支持应用程序I/O的复制语义
  • 缓冲可能是提供数据项的唯一副本,高速缓存提供了一个驻留在其他地方的数据在高速存储上的副本
  • 假脱机(spooling):保存设备输出的缓冲区,先将需要输出的数据存储到一个独立的磁盘上,但数据复制完成之后,会到设备处进行排队
  • 错误处理
  • I/O保护
  • 内核数据结构

猜你喜欢

转载自blog.csdn.net/qq_36312878/article/details/81074710