现代操作系统第五章——输入输出

5.1I/O硬件原理

5.1.1I/O设备:

  • 块设备:所有传输以一个或多个完整的(连续的)块为单位。块设备的基本特征是每个块都能独立于其他块而读写。
  • 字符设备:以字符为单位发送或接受一个字符流,而不考虑任何块结构。

    5.1.2设备控制器:

    把串行的位流转换为字节块,并进行必要的错误校正工作。

    5.1.3内存映射I/O

    cpu与设备的控制寄存器和数据缓冲区进行通信有三种方法:
  • 一是I/O空间和内存空间分开
  • 二是将I/O映射到内存的高地址处,并且保证用户地址空间中不会包含这些地址空间。
  • 三则是前两种的空格。

    5.1.4直接存储器存取;

    大部分计算机用到一种称为直接存储器(DMA)的硬件设备来进行内存和外部设备之间的通信,这样的好处是绕过cpu,不需要进行相应的保护现场、修改内存地址、取指令等操作,数据传输速率大大提高。唯一有点美中不足的就是,DMA运行时会占用总线。

    5.1.5重温中断:

    当一个I/O设备完成交给它的工作时,它就产生一个中断(假设操作系统已经开放中断),它是通过在分配给他的一条总线信号线上置起信号而产生中断的。

    5.2I/O软件原理

    5.2.1I/O软件的目标:

    它可以访问任意I/O设备而无需事先指定设备。

    5.2.5实现I/O的方式:

  • 程序控制I/O:让操作系统做全部的工作,
  • 中断驱动I/O:让CPU等待当前正被其他进程占用的设备变为就绪的同时,可以做某些其他事情的方式就是采用中断。
  • 使用DMA的I/O:让DMA来传送I/O数据而不是CPU。

    5.3I/O软件的层次:

  • 中断处理程序:使先前阻塞的驱动程序恢复能够继续运行的状态。
  • 设备驱动程序:控制连接到计算机I/O设备的某些特定的代码称为设备驱动程序。
  • 与设备无关的I/O软件:包括操作系统定义的一组驱动程序必须支持的函数、I/O设备的命名、缓冲、错误报告、分配与释放专用设备。
-------------本文结束感谢您的阅读-------------

本文标题:现代操作系统第五章——输入输出

文章作者:Sworduo

发布时间:2019年03月06日 - 16:03

最后更新:2019年06月22日 - 19:06

原始链接:http://sworduo.net/2019/03/06/MOS-chapter5/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

快到碗里来!

相关文章:

0%