AIX 设备驱动程序
许多计算机程序专用于以某种方式与计算机连接的设备一起工作。 例如,某些程序将控制字符发送到打印机,某些程序从控制台接收字符,而某些程序从磁带读取数据。 其中每个程序都是一个 设备驱动程序 程序,因为该程序专用于处理来自设备的输入或输出。 此类程序是计算机操作系统的一部分或扩展。
任何支持多任务的操作系统 (例如 AIX® 操作系统) 都需要一种机制来防止一个程序将数据写入另一个程序已访问的设备,或更改该设备的状态。 因此,多任务操作系统依赖于计算机的处理器来区分特权和非特权指令的执行。 因此,您必须区分以特权方式 (内核方式) 运行的程序和以用户方式运行的程序。 AIX 内核由以内核方式运行的所有软件程序组成。
以用户方式运行的某些 AIX 程序 (例如,网络适配器或连接到 USB 端口的设备) 可以访问设备驱动程序。 但是,这些 AIX 程序只能使用属于内核的软件来访问设备驱动程序。 因为内核设备驱动程序比以用户方式运行的设备驱动程序更复杂,所以设备驱动程序术语是指在程序以内核方式运行时控制设备的软件。
设备驱动程序的例程以 C 语言编写,并进行编译以生成一个或两个扩展对象文件格式 (XCOFF 或 XCOFF64) 对象文件。 从 AIX 版本 6.1开始,所有设备驱动程序都是 64 位 (XCOFF64)。 不支持 32 位设备驱动程序。 链接对象文件以使内核装入程序能够解析内核符号。 链接对象文件时,将使用要从内核导入的符号列表来更新内核装入程序部分。 内核符号位于 /lib/kernex.exp 文件中。 此链接还会将设备驱动程序的配置例程作为开始执行的缺省入口点。
- AIX 设备驱动程序,入口点和类型概述
- PCI 适配器的已编程 I/O 操作和直接存储器存取 (DMA)
- 中断和中断处理
- 内存管理
- 序列化和同步,锁定和计时器
- 设备配置方法
有关 ODM for PCI/PCIe 适配器的信息,请参阅 定制 AIX ODM for PCI/PCIe 适配器。