Andrew: a distributed personal computing environment
Communications of the ACM - The MIT Press scientific computation series
Scale and performance in a distributed file system
ACM Transactions on Computer Systems (TOCS)
Caching in the Sprite network file system
ACM Transactions on Computer Systems (TOCS)
Coda: A Highly Available File System for a Distributed Workstation Environment
IEEE Transactions on Computers
Measurements of a distributed file system
SOSP '91 Proceedings of the thirteenth ACM symposium on Operating systems principles
Accessing Files in an Internet: The Jade File System
IEEE Transactions on Software Engineering
Interposition agents: transparently interposing user code at the system interface
SOSP '93 Proceedings of the fourteenth ACM symposium on Operating systems principles
FTP access as a user-defined file system
ACM SIGOPS Operating Systems Review
U-Net: a user-level network interface for parallel and distributed computing
SOSP '95 Proceedings of the fifteenth ACM symposium on Operating systems principles
Implementing global memory management in a workstation cluster
SOSP '95 Proceedings of the fifteenth ACM symposium 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
Preemptable remote execution facilities for the V-system
Proceedings of the tenth ACM symposium on Operating systems principles
Efficient, Portable, and Robust Extension
Efficient, Portable, and Robust Extension
A secure environment for untrusted helper applications confining the Wily Hacker
SSYM'96 Proceedings of the 6th conference on USENIX Security Symposium, Focusing on Applications of Cryptography - Volume 6
A comparison of OS extension technologies
ATEC '96 Proceedings of the 1996 annual conference on USENIX Annual Technical Conference
Remote I/O: fast access to distant storage
Proceedings of the fifth workshop on I/O in parallel and distributed systems
History-based access control for mobile code
CCS '98 Proceedings of the 5th ACM conference on Computer and communications security
GASS: a data movement and access service for wide area computing systems
Proceedings of the sixth workshop on I/O in parallel and distributed systems
The PerDiS FS: a transactional file system for a distributed persistent store
Proceedings of the 8th ACM SIGOPS European workshop on Support for composing distributed applications
ICS '01 Proceedings of the 15th international conference on Supercomputing
History-based access control for mobile code
Secure Internet programming
LegionFS: a secure and scalable file system supporting cross-domain high-performance applications
Proceedings of the 2001 ACM/IEEE conference on Supercomputing
Design and implementation of a portable and extensible FTP to NFS gateway
PPPJ '02/IRE '02 Proceedings of the inaugural conference on the Principles and Practice of programming, 2002 and Proceedings of the second workshop on Intermediate representation engineering for virtual machines, 2002
Enhancing the Scalability and Usability of Computational Grids via Logical User Accounts and Virtual
IPDPS '01 Proceedings of the 15th International Parallel & Distributed Processing Symposium
VECPAR '00 Selected Papers and Invited Talks from the 4th International Conference on Vector and Parallel Processing
Proceedings of the FREENIX Track: 2001 USENIX Annual Technical Conference
A Toolkit for User-Level File Systems
Proceedings of the General Track: 2002 USENIX Annual Technical Conference
The Globus Project: A Status Report
HCW '98 Proceedings of the Seventh Heterogeneous Computing Workshop
Separation of Concerns: Functionality vs. Quality of Service
WORDS '97 Proceedings of the 3rd Workshop on Object-Oriented Real-Time Dependable Systems - (WORDS '97)
Extending ACID semantics to the file system
ACM Transactions on Storage (TOS)
MAPbox: using parameterized behavior classes to confine untrusted applications
SSYM'00 Proceedings of the 9th conference on USENIX Security Symposium - Volume 9
Transparent run-time defense against stack smashing attacks
ATEC '00 Proceedings of the annual conference on USENIX Annual Technical Conference
Exploiting the internet inter-ORB protocol interface to provide CORBA with fault tolerance
COOTS'97 Proceedings of the 3rd conference on USENIX Conference on Object-Oriented Technologies (COOTS) - Volume 3
The interception approach to reliable distributed CORBA objects
COOTS'97 Proceedings of the 3rd conference on USENIX Conference on Object-Oriented Technologies (COOTS) - Volume 3
SLIC: an extensibility system for commodity operating systems
ATEC '98 Proceedings of the annual conference on USENIX Annual Technical Conference
Rapid file system development using ptrace
Proceedings of the 2007 workshop on Experimental computer science
Rapid file system development using ptrace
ecs'07 Experimental computer science on Experimental computer science
VegaFS: file sharing crossing multiple domains
International Journal of High Performance Computing and Networking
Framework for exercising I/O exception handling code
International Journal of Information and Communication Technology
Evaluating architectural openness in mobile software platforms
Proceedings of the Fourth European Conference on Software Architecture: Companion Volume
Personal Storage Grid Architecture: Consuming Cloud Data Space Resources
International Journal of Grid and High Performance Computing
Hi-index | 0.00 |
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 recompilation 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 administrator assistance. We used this approach to implement a global file system, called Ufo, which allows users to treat remote files exactly as if they were local. 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.