
The Modify-on-Access (Mona) File System
Overview
The Modify-on-Access (Mona) file system is an active file
system that cooperates with processes to accomplish tasks. Mona uses
modular streaming operations, transformations, to transparently
perform actions on behalf of a user process during a read or write.
As a result, the Mona file system extends the capabilities of
conventional file systems which passively transfer data through
streams between kernel buffers and secondary storage.
A transformation, the basic unit of computation performed by the Mona
file system, is an arbitrary operation on a stream of data. The file
system transforms data when it is accessed. On a read, the file
system applies transformations to data before presenting it to a user
process. Similarly, it applies transformations to data before writing
it to disk. Compression is a simple and obvious use of
transformations. On input, the read transformation decompresses data
as it is read from the file and on output, the write transformation
compresses data. As a result, the Mona file system provides
transparently compressed files which hide details of the compression
from users who access a compressed file as though it were a normal
file.
The Mona file system supports kernel-resident and user-defined
extensions, enabling it to be efficient and flexible. Common, trusted
operations reside within kernel transformations that execute quickly
and incur minimal overhead relative to a base file system. A
kernel-resident identity transformation (functionally
equivalent to the base file system) adds an overhead of 3--5\%.
Arbitrary user-defined operations execute in user space, providing
extensibility without endangering system security.
The Mona file system is the first component of a suite of system
software designed for a collaborative memory system in which
the memory system and intelligent peripheral devices collaborate with
a host processor to accomplish tasks. Related projects include a Mona
virtual memory system and a Mona peripheral device.
Future work
There are several opportunities for improvement to the Mona file system.
Current work on the system focuses on broadening the suite of available
transformations and developing support for intelligent peripheral devices.
Availability
Mona can be downloaded as a patch to the 2.4.1
kernel source tree. Please consult the documentation
for this release.
Additional Information
For more information on the Mona file system, read the following articles:
Journal Articles:
- H. Richard Kendall, Vincent W. Freeh, Paul W. Schermerhorn, Peter W. Rijks, and Robert J. Minerick.
Streaming extensibility in the modify-on-access file system,
To appear in J. of Systems and Software, 2002.
[ pdf ]
[ ps.gz ]
- H. Richard Kendall and Vincent W. Freeh.
The design and implementation of the exported procedure call,
Software--Practice and Experience, 32(1):83-98, January 2002.
[ pdf ]
[ ps.gz ]
Conference and Workshop Proceedings:
- Paul W. Schermerhorn, Robert J. Minerick, Peter W. Rijks, and Vincent W. Freeh.
User-level extensibility in the mona file system,
In proceedings of Freenix Conference, pp. 173-184 , Boston, MA, June 2001.
[ ps.gz ]
- H. Richard Kendall and Vincent W. Freeh.
Magi: A System Software Model for Intelligent Devices
In The Second International Workshop on Compiler and Architecture Support for Embedded Systems, Washington, D.C., October, 1999.
[ HTML ]
[ postscript: 402K ]
- Richard Kendall and Vincent Freeh.
The Modify-on-Access File System: An Extensible Linux File System
Proc. of the International Linux Conference, San Jose, CA, March 2-4, 1999.
[ HTML ]
[ postscript: 661K ]
Technical Reports:
- Robert J. Minerick, Paul W. Schermerhorn and Vincent W. Freeh.
A File System Interface to the Internet,
Technical Report.
[ ps.gz ]
Dissertations and Theses:
- H. Richard Kendall.
The Modify-on-Access File System,
MS Thesis, Dept of CSE, University of Notre Dame. July 1998.
[ ps ]
[ ps.gz ]
Support
Support for our work is/has come from the following
- NSF CAREER Award: Collaborative Memory
- HTMT Project
- Schmidt Fellowship
- Notre Dame Faculty Development Award
Disclaimer
The following are included in partial fulfillment of terms of NSF
award.
- This material is based upon work supported by the National
Science Foundation under Grant No. 9876073.
- Any opinions, findings, and conclusions or recommendations
expressed in this material are those of the author(s) and do not
necessarily reflect the views of the National Science Foundation.