Abstracts - 1997 ANNUAL TECHNICAL CONFERENCE
Extending the Operating System at the User Level: the Ufo Global File System
Albert D. Alexandrov, Maximilian Ibel,
Klaus E. Schauser, and Chris J. Scheiman
Department of Computer Science
University of California, Santa Barbara
Santa Barbara, CA 93106
In this paper we show how to extend the functionality of
standard operating systems completely at the user level. Our approach works by
intercepting selected system calls at the user level, using
tracing facilities such as the /proc file system provided by many Unix
operating systems. The behavior of some intercepted system calls is
then modified to implement new functionality.
This approach does not require any re-linking or
re-compilation of existing applications. In fact, the extensions
can even be dynamically ``installed'' into already running processes.
The extensions work completely at the user level and install without system
We used this approach to implement a global file system,
called Ufo, which allows users to treat remote files exactly as if they were
Currently, Ufo supports file access through the FTP and HTTP protocols
and allows new protocols to be plugged in. While
several other projects have implemented global file system abstractions,
they all require either changes to the operating system or modifications
to standard libraries.
The paper gives a detailed performance analysis of our approach to
extending the OS and establishes that Ufo introduces acceptable
overhead for common applications even though intercepting system
calls incurs a high cost.