The design of the UNIX operating system
The design of the UNIX operating system
Scale and performance in a distributed file system
ACM Transactions on Computer Systems (TOCS)
Application-controlled physical memory using external page-cache management
ASPLOS V Proceedings of the fifth international conference on Architectural support for programming languages and operating systems
Extensible file systems in spring
SOSP '93 Proceedings of the fourteenth ACM symposium on Operating systems principles
Efficient software-based fault isolation
SOSP '93 Proceedings of the fourteenth ACM symposium on Operating systems principles
The magic garden explained: the internals of UNIX System V Release 4: an open systems design
The magic garden explained: the internals of UNIX System V Release 4: an open systems design
File-system development with stackable layers
ACM Transactions on Computer Systems (TOCS) - Special issue on operating systems principles
Exokernel: an operating system architecture for application-level resource management
SOSP '95 Proceedings of the fifteenth ACM symposium on Operating systems principles
Extensibility safety and performance in the SPIN operating system
SOSP '95 Proceedings of the fifteenth ACM symposium on Operating systems principles
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A bandwidth-efficient architecture for media processing
MICRO 31 Proceedings of the 31st annual ACM/IEEE international symposium on Microarchitecture
Active disks: programming model, algorithms and evaluation
Proceedings of the eighth international conference on Architectural support for programming languages and operating systems
Linux Kernel Internals
Extensible Kernels are Leading OS Research Astray
HOTOS '97 Proceedings of the 6th Workshop on Hot Topics in Operating Systems (HotOS-VI)
ISTORE: Introspective Storage for Data-Intensive Network Services
HOTOS '99 Proceedings of the The Seventh Workshop on Hot Topics in Operating Systems
Extending file systems using stackable templates
ATEC '99 Proceedings of the annual conference on USENIX Annual Technical Conference
A survey of active network research
IEEE Communications Magazine
User-Level Extensibility in the Mona File System
Proceedings of the FREENIX Track: 2001 USENIX Annual Technical Conference
Hi-index | 0.01 |
This paper presents the Modify-on-Access (Mona) file system that provides extensibility through transformations applied to streams of data. Mona overcomes two limitations of prior extensible file systems. First, the Mona file system offers two levels of extensions (kernel and user) that share a common interface. It allows performance-critical operations to execute with modest overhead in the kernel and untrusted or more complex operations to safely execute in user space. Second, Mona enables fine-grained extensions which allow an application to customize the file system at runtime. This paper discusses the implementation of the Mona file system. Our implementation adds modest overhead of 0-3 ° (0.01-0.21 µs) to file system operations. This overhead has even less effect on net system performance for several benchmarks. Moreover, this paper describes applications that achieve 4-5 times speedup using custom transformations. This paper also describes several transformations that increase functionality. Among these are the ftp transformation that allows a user to browse a remote file as though it were local and the command transformation which invokes an arbitrary executable (even a shell script) on a data stream.