编写设备驱动程序

用于块设备驱动程序的入口点

支持文件系统的设备称为块设备。为这些设备编写的驱动程序称为块设备驱动程序。块设备驱动程序接受 buf(9S) 结构形式的文件系统请求,并向磁盘发出 I/O 操作以传送指定的块。文件系统的主接口为 strategy(9E) 例程。有关更多信息,请参见第 16 章

块设备驱动程序还可以提供字符驱动程序接口,以使实用程序能够绕过文件系统并直接访问设备。这种设备访问通常称为块设备的原始接口。

下表列出了块设备驱动程序可使用的其他入口点。另请参见通用于所有驱动程序的入口点

表 1–2 用于块驱动程序的其他入口点

入口点 

使用情况 

说明 

aread(9E)

可选 

执行异步读取。不支持 aread() 入口点的驱动程序应使用 nodev(9F) 错误返回函数。有关其他信息,请参见:

awrite(9E)

可选 

执行异步写入。不支持 awrite() 入口点的驱动程序应使用 nodev(9F) 错误返回函数。有关其他信息,请参见:

print(9E)

必需 

在系统控制台上显示驱动程序消息。有关其他信息,请参见: print() 入口点(块驱动程序)

strategy(9E)

必需 

执行块 /O。其他信息: