编写设备驱动程序

文件 I/O

文件系统是由目录和文件组成的树状分层结构。诸如 UNIX 文件系统 (UNIX File System, UFS) 之类的一些文件系统驻留在面向块的设备上。文件系统由 format(1M)newfs(1M) 创建。

当应用程序向 UFS 文件系统上的普通文件发出 read(2)write(2) 系统调用时,该文件系统可为所驻留在的块设备调用设备驱动程序 strategy(9E) 入口点。对于一个 read(2)write(2) 系统调用,文件系统代码可多次调用 strategy(9E)

文件系统代码为每个普通文件块确定逻辑设备地址,即逻辑块编号。然后采用指向块设备的 buf(9S) 结构的形式建立块 I/O 请求。驱动程序 strategy(9E) 入口点随后解释 buf(9S) 结构并完成请求。