第九章:I/O设备管理# 引言 本章导读 实践体验 本章代码树 本章代码导读 I/O设备 本节导读 I/O设备概述 I/O设备的发展 I/O传输方式 Programmed I/O Interrupt based I/O Direct Memory Access I/O设备抽象 I/O接口的交互协议 基于文件的I/O设备抽象 基于流的I/O设备抽象 基于virtio的I/O设备抽象 I/O执行模型 阻塞IO(blocking IO) 非阻塞IO(non-blocking IO) 多路复用IO(IO multiplexing) 信号驱动IO(signal driven I/O) 异步IO(Asynchronous I/O) 五种IO执行模型对比 外设平台与串口驱动程序 本节导读 驱动程序概述 硬件系统架构 设备树 传递设备树信息 解析设备树信息 平台级中断控制器 串口驱动程序 串口设备初始化 串口设备输入输出操作 对进程管理的改进 virtio设备驱动程序 本节导读 virtio设备 virtio架构 virtio设备 virtqueue虚拟队列 基于MMIO方式的virtio设备 virtio驱动程序 驱动程序与设备之间的交互 virtio驱动程序的执行过程 virtio-blk驱动程序 virtio-blk设备的关键数据结构 初始化virtio-blk设备 virtio-blk设备的I/O操作 virtio-gpu驱动程序 virtio-gpu设备的关键数据结构 初始化virtio-gpu设备 virtio-gpu设备的I/O操作 测试virtio设备 练习 课后练习 编程题 问答题 实验练习 实践作业 支持图形显示的应用 实验要求 问答作业 实验练习的提交报告要求 练习参考答案 课后练习 编程题 问答题