设备驱动程序基础心设备驱动程序:处理和管理硬件控制器的软件Linux内核的设备管理是由一组运行在特权级上,驻留在内存以及对底层硬件进行处理的共r享库的驱动程序来完成的心设备管理的一个基本特征是设备处理的抽象性,即所有硬件设备都被看成普通文件,可以通过用操纵普通文件相同的系统调用来打开、关闭、读取和写入设备心系统中每个设备都用一种设备文件来表示>0O0
❖ 设备驱动程序:处理和管理硬件控制器的软件 ❖ Linux 内核的设备管理是由一组运行在特权级 上,驻留在内存以及对底层硬件进行处理的共 享库的驱动程序来完成的 ❖ 设备管理的一个基本特征是设备处理的抽象性, 即所有硬件设备都被看成普通文件,可以通过 用操纵普通文件相同的系统调用来打开、关闭、 读取和写入设备 ❖ 系统中每个设备都用一种设备文件来表示 < > 设备驱动程序基础
设备驱动程序基础用户进程★文件系统/O端口设备驱动程序设备文件中断处理设备控制器+设备驱动程序框架设备本身图9.2用户进程请求设备V服务的流程
< > 图9.2 用户进程请求设备 服务的流程 设备驱动程序基础 I/O端口 设备文件 中断处理 设备驱动程序框架
I/0端口心设备驱动程序要直接访问外设或其接口卡上的物理电路,通常以寄存器的形式出现心外设寄存器也称为I/0端口,通常包括控制寄存器、状态寄存器和数据寄存器三类“内存映射(Memory-mapped)”方式:心寄存器参与内存统一编址,访问寄存器就通过访问一般的内存指令进行*“I/O映射(I/0-mapped)”方式:&将外设的寄存器看成一个独立的地址空间,为对外设寄存器的读/写设置专用指令AM
I/O 端口 ❖设备驱动程序要直接访问外设或其接口卡 上的物理电路,通常以寄存器的形式出现 ❖外设寄存器也称为I/O端口,通常包括控 制寄存器、状态寄存器和数据寄存器三类 ❖“内存映射(Memory-mapped)”方式: ❖寄存器参与内存统一编址,访问寄存器就通 过访问一般的内存指令进行 ❖“I/O映射(I/O-mapped)”方式: ❖将外设的寄存器看成一个独立的地址空间, 为对外设寄存器的读/写设置专用指令 < >