People are dissatisfied with the file system services that come with their UNIX systems. They want to add new and better features. At present they have two choices: express their service as a user-level NFS server, or use the vnode/VFS interface to build at least part of it into the kernel. Although the vnode/VFS interface has been remarkably successful as a kernel structuring concept, it has failed to provide source portability between UNIX versions or even binary compatibility between releases of the same UNIX version. It has been obvious for some time that a redesign of the vnode/VFS interface that allowed file systems to be shipped as binary kernel modules that survive from release to release is needed. We describe a prototype kernel with a vnode/VFS interface that would allow this. It is based on earlier work on "stacking" vnodes at Sun and at UCLA, but it replaces the stacking concept by a more strictly object-oriented concept of interposition.
[1]
Steve R. Kleiman,et al.
Vnodes: An Architecture for Multiple File System Types in Sun UNIX
,
1986,
USENIX Summer.
[2]
David S. H. Rosenthal,et al.
Evolving the Vnode interface
,
1990,
USENIX Summer.
[3]
J. Moran,et al.
The Restore-o-Mounter: The File Motel Revisited
,
1993,
USENIX Summer.
[4]
John S. Heidemann,et al.
File-system development with stackable layers
,
1994,
TOCS.
[5]
Ronald Minnich.
The AutoCacher: A File Cache Which Operates at the NFS Level
,
1993,
USENIX Winter.
[6]
John S. Heidemann,et al.
Implementation of the Ficus Replicated File System
,
1990,
USENIX Summer.
[7]
Brian N. Bershad,et al.
Watchdogs - Extending the UNIX File System
,
1988,
Comput. Syst..