13.I/O系统

I/O基本概念

  • I/O系统的主要对象:I/O设备和对应的设备控制器
  • I/O系统的主要任务
    • 完成用户提出的I/O请求
    • 提高I/O速率
    • 改善I/O设备的利用率
  • I/O系统的基本功能
    • 隐藏物理设备的细节
    • 与设备的无关性
    • 提高处理机和I/O设备的利用率
    • 对I/O设备进行控制
    • 确保对设备的正确共享
    • 错误处理
  • 设备独立性:应用程序独立于具体使用的物理设备
    • 在应用程序中使用逻辑设备名来请求使用某类设备
  • I/O系统的核心是I/O管理和控制
  • I/O应用接口
    • I/系统调用 将设备的行为 封装成一些通用类型
    • 设备驱动层对内核隐藏了I/O控制器的不同细节
    • 设备在许多方面有很大差异

I/O控制方式

  • 对I/O设备的控制方式
    • 使用轮询的可编程I/O方式(基本不用)
    • 使用中断的可编程I/O方式(广泛采用)
      • 可使CPU与I/O设备并行工作
    • 直接存储器访问(DMA)方式
    • I/O通道控制方式
  • 使用轮询的可编程I/O方式
    • CPU定时发出询问,询问设别是否忙,进程进入忙等
    • 不忙就进行I/O,否则转第一步
  • 中断机制
    • CPU执行完每一条指令后,检测IRL(CPU硬件中一根中断请求线)
    • 若检测到信号,CPU保存当前状态,跳转到中断处理程序
    • 执行中断处理程序
    • 执行完后,清除中断,返回。
  • 中断
    • 中断interrupt是CPU对I/O设备发来中断信号的一种响应;陷入trap是CPU内部事件所引起的中断
    • 中断向量表:每个设备的中断处理程序的入口地址等组成的表
    • 中断优先级
    • 中断源:引起中断的事件
  • 直接存储器访问(DMA)方式:绕过CPU,直接在I/O设备和内存之间传输数据

I/O内核子系统

  • 缓冲:几乎所有I/O设备在于CPU交换数据时,都用了缓冲区
    • 缓冲区是一个存储区域
    • 解决了设备之间的速度差异;协调传输数据大小不一致;维持“复制语义”。
  • 高速缓存(Cache):保留数据拷贝的高速内存
    • 与缓冲的区别:缓冲可能是数据的唯一一个副本;高速缓存是其他地方数据在高速存储上的一个副本。
  • 假脱机SPOOLing
    • 程序1模拟脱机输入,把低速I/O上的数据传送到高速磁盘上;程序2模拟脱机输出,把数据从磁盘传送到低速输出设备。
    • 在联机情况下实现的同时外围操作称为假脱机技术SPOOLing
  • I/O内核子系统
    • 错误处理
    • I/O保护:定义I/O指令为特权指令;应用程序的I/O操作必须通过系统调用实现
    • 内核数据结构:文件打开表;网络连接;字符设备状态..
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容