1. 设备驱动程序原理


1.1 I/O 设备的抽象

<aside> 💬 I/O 设备的主要功能:输入和输出

</aside>

<aside> 💬 操作系统:设备 = 支持各类操作的对象 (文件)

</aside>

1.2 设备驱动程序

把系统调用 (read/write/ioctl/...) “翻译” 成与设备寄存器的交互

就是一段普通的内核代码

但可能会睡眠 (例如 P 信号量,等待中断中的 V 操作唤醒)

例子:/dev/ 中的对象

1.3 字节流/字节序列抽象的缺点