Component Structure of the Logical File System
The logical file system is divided into system calls, logical file system file routines, and v-nodes components.
- System calls
Implement services exported to users. System calls that carry out file system requests do the following:
- Map the user's parameters to a file system object. This requires that the system call component use the v-node (virtual node) component to follow the object's path name. In addition, the system call must resolve a file descriptor or establish implicit (mapped) references using the open file component.
- Verify that a requested operation is applicable to the type of the specified object.
- Dispatch a request to the file system implementation to perform operations.
- Logical file system file routines
Manage open file table entries and per-process file descriptors. An open file table entry records the authorization of a process's access to a file system object. A user can refer to an open file table entry through a file descriptor or by accessing the virtual memory to which the file was mapped. The logical file system routines are those kernel services, such as fp_ioctl and fp_select, that begin with the prefix fp_.
- v-nodes
Provide system calls with a mechanism for local name resolution. Local name resolution allows the logical file system to access multiple file system implementations through a uniform name space.