[clug] 'Rump' filesystem. Old news or not?

steve jenkin sjenkin at canb.auug.org.au
Sun Aug 16 20:45:13 MDT 2009

I thought this was an interesting idea - running kernel (filesystem)
modules in Userspace.

Usenix 09 paper:

"Rump File Systems: Kernel Code Reborn"
Antti Kantee



When kernel functionality is desired in userspace, the common approach
is to reimplement it for userspace interfaces. We show that use of
existing kernel file systems in userspace programs is possible without
modifying the kernel file system code base. Two different operating
modes are explored: 1) a transparent mode, in which the file system is
mounted in the typical fashion by using the kernel code as a userspace
server, and 2) a standalone mode, in which applications can use a kernel
file system as a library. The first mode provides isolation from the
trusted computing base and a secure way for mounting untrusted file
systems on a monolithic kernel. The second mode is useful for file
system utilities and applications, such as populating an image or
viewing the contents without requiring host operating system kernel
support. Additional uses for both modes include debugging, development
and testing.

The design and implementation of the Runnable Userspace Meta Program
file system (rump fs) framework for NetBSD is presented. Using rump, ten
disk-based file systems, a memory file system, a network file system and
a userspace framework file system have been tested to be functional.
File system performance for an estimated typical workload is found to be
±5% of kernel performance.

The prototype of a similar framework for Linux was also implemented and
portability was verified: Linux file systems work on NetBSD and NetBSD
file systems work on Linux.

Finally, the implementation is shown to be maintainable by examining the
1.5 year period it has been a part of NetBSD.

Steve Jenkin, Info Tech, Systems and Design Specialist.
0412 786 915 (+61 412 786 915)
PO Box 48, Kippax ACT 2615, AUSTRALIA

sjenkin at canb.auug.org.au http://members.tip.net.au/~sjenkin

More information about the linux mailing list