I_O 管理_zb589erlo988dxhm

    644
    最后修改于

    分类
    块设备:磁盘
    字符设备:终端、打印机等

    • 低速字符设备:鼠标、键盘(低于 1KBps)
    • 中速字符设备:激光打印机(1KBps~100KBps)
    • 高速字符设备:光盘(100KBps~1GBps)

    I/O 接口(设备控制器)
    组成:
    设备控制器与 CPU 的接口:数据(连接数据、状态 / 控制寄存器)、地址、控制线。
    设备控制器与设备的接口:可以连接多个设备
    I/O 逻辑:对设备进行控制
    功能:接收、识别 CPU 命令。数据交换。标识、报告设备状态。地址识别、数据缓冲。差错控制。
    实现:地址译码,设备选择,实现主机与外设通信,实现数据缓冲,信号转换,传送控制命令和状态
    image.png
    I/O 接口按数据传送方式分为并行 / 串行。按控制方式分为 DMA,程序查询接口,中断接口。按灵活性分为可编程 / 不可编程
    I/O 端口
    接口电路中可被 CPU 直接访问的寄存器,包括数据、状态、控制寄存器。
    CPU 访问端口编址方式:

    • 统一编址(存储器映射编址),将寄存器映射到虚拟内存空间。
    • 独立编址(I/O 映射编址),I/O 接口独立编址,需要特殊的 I/O 指令执行 I/O 操作。
    I/O 软件层次结构#

    image.png
    用户层 I/O 软件:与用户交互的接口。
    设备独立性:增加设备分配灵活性,可以实现 I/O 重定向,向上层提供统一接口
    设备驱动程序:与硬件相关,具体实现系统对设备发出的操作指令。
    中断处理程序:保存被中断进程的 CPU 环境。
    应用程序 I/O 接口

    • 字符设备接口:中断方式,不可寻址、速率较低。需要独占访问
    • 块设备接口:DMA 方式,如磁盘
    • 网络接口:Socket 接口
    • 阻塞 / 非阻塞 I/O:非阻塞 I/O 返回一个值,进程根据值判断 I/O 是否完成。
    • 🥳0
    • 👍0
    • 💩0
    • 🤩0
    总浏览量 4,586