next up previous contents
Next: 3. Mechanisms for Interposition Up: 2. Background Previous: 2.3.3 High Development Costs

   
2.4 FiST

The effort to change the vnode interface was driven by the need to simplify the model, and allow new file systems to be written faster. This was partially done by removing old vnode calls such as vn_bread and adding new ones such as vn_map [Rosenthal90]. Changing the vnode interface was akin to changing the ``language'' with which a file system implementor ``spoke'' with the kernel. Several past works -- such as Skinner and Wong's ``Interposer Toolkit'' -- began to address the issue of describing file systems using a higher-level language. The most successful of all is the simple (albeit limited) language used by Amd  [Pendry91,Stewart93] to describe map entries, their types, semantics, etc. Recent work on file system simulators [Bosch96] also moves in this direction, but unfortunately requires a radically different (object oriented) file system interface.

It was natural then to try to find a better language that can describe file systems at a high level, for the following reasons:


next up previous contents
Next: 3. Mechanisms for Interposition Up: 2. Background Previous: 2.3.3 High Development Costs
Erez Zadok
1999-12-07