A Design of Operating System for Easily Implementing Efficient File Systems

The OS kernel should provide a framework with which programmers can easily implement an efficient file system. With conventional frameworks, a file system has been embedded into the kernel for efficiency or otherwise constructed at the user level for ease of implementation. However, the former technique makes the implementation difficult, and the latter involves performance penalties. This thesis proposes a framework with that programmers can first implement a file system at the user level and then embed it into the kernel for the final release. To do this without changing the source code of the file system, this framework provides an abstract interface to hide differences between the kernel level and the user level. To show the feasibility of our idea, we extended the kernel of NetBSD, implemented the proposed framework, and actually constructed file systems on top of it.