sys->bind("#c", "/dev", sys->MREPL)
an ls(1) of /dev will list the files provided by the console device.
A kernel device driver is a server in the sense of the Inferno File Protocol, 9P (see Section 5), but with the messages implemented by local rather than remote procedure calls. Also, several of the messages (Nop, Flush, and Error) have no subroutine equivalents.
When a system call is passed a file name beginning with # it looks at the next character, and if that is a valid device character it performs an attach(5) on the corresponding device to get a channel representing the root of that device's file tree. If there are any characters after the device character but before the next / or end of string, those characters are passed as parameter aname to the attach.
Each kernel device has a conventional place at which to be bound to the name space. The SYNOPSIS sections of the following pages includes a shell bind command to put the device in the conventional place. Most of these binds are done automatically by the system when it initializes; see init(8).
|INTRO(3)||Rev: Tue Mar 31 02:42:38 GMT 2015|