A file system is a tree-structured hierarchy of directories and files. Some file
systems, such as the UNIX File System (UFS), reside on block-oriented devices. File
systems are created by format(1M) and newfs(1M).
When an application issues a read(2) or write(2) system call to an ordinary
file on the UFS file system, the file system can call the device
driver strategy(9E) entry point for the block device on which the file system
resides. The file system code can call strategy(9E) several times for a single read(2)
or write(2) system call.
The file system code determines the logical device address, or logical block number, for
each ordinary file block. A block I/O request is then built in the
form of a buf(9S) structure directed at the block device. The driver strategy(9E)
entry point then interprets the buf(9S) structure and completes the request.