next up previous contents
Next: 1.3 Advantages of My Up: 1. Introduction Previous: 1.1 The Problem

1.2 My Solution

My thesis is that it is possible to implement vnode stacking in a fashion that is portable across operating systems, without the need for kernel source code, without having to change the existing vnode interface, and with only a negligible decrease in file system performance.

In particular, I propose to demonstrate a language and compiler called FiST (for File System Translator). New types of file systems -- such as the compressing or encrypting file systems mentioned above -- are described as FiST programs. The FiST compiler then produces C code matched to the internal interfaces of the target operating system. Besides ease of implementation and portability, a further advantage of implementing file systems in FiST is that the resulting C code can be tailored for either in-kernel or out-of-kernel use, according to whether performance or flexibility is the primary goal.

Erez Zadok