Interposition agents: transparently interposing user code at the system interface
SOSP '93 Proceedings of the fourteenth 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
Dynamic binding for an extensible system
OSDI '96 Proceedings of the second USENIX symposium on Operating systems design and implementation
Dealing with disaster: surviving misbehaved kernel extensions
OSDI '96 Proceedings of the second USENIX symposium on Operating systems design and implementation
UFO: a personal global file system based on user-level extensions to the operating system
ACM Transactions on Computer Systems (TOCS)
Dynamic instrumentation of threaded applications
Proceedings of the seventh ACM SIGPLAN symposium on Principles and practice of parallel programming
Understanding COM+
Applying Interposition Techniques for Performance Analysis of OpenMP Parallel Applications
IPDPS '00 Proceedings of the 14th International Symposium on Parallel and Distributed Processing
SLIC: an extensibility system for commodity operating systems
ATEC '98 Proceedings of the annual conference on USENIX Annual Technical Conference
The pebble component-based operating system
ATEC '99 Proceedings of the annual conference on USENIX Annual Technical Conference
Improving Processor Allocation through Run-Time Measured Efficiency
IPDPS '01 Proceedings of the 15th International Parallel & Distributed Processing Symposium
A Dynamic Periodicity Detector: Application to Speedup Computation
IPDPS '01 Proceedings of the 15th International Parallel & Distributed Processing Symposium
Performance-Driven Processor Allocation
IEEE Transactions on Parallel and Distributed Systems
Another approach to backfilled jobs: applying virtual malleability to expired windows
Proceedings of the 19th annual international conference on Supercomputing
Develop once deploy anywhere achieving adaptivity with a runtime linker/loader framework
ARM '05 Proceedings of the 4th workshop on Reflective and adaptive middleware systems
Performance-driven processor allocation
OSDI'00 Proceedings of the 4th conference on Symposium on Operating System Design & Implementation - Volume 4
Dynamic rebinding for marshalling and update, via redex-time and destruct-time reduction
Journal of Functional Programming
Dynamic load balancing in MPI jobs
ISHPC'05/ALPS'06 Proceedings of the 6th international symposium on high-performance computing and 1st international conference on Advanced low power systems
Hi-index | 0.00 |
Today, operating systems set-up process images from executable files using fixed rules. Programs are restricted to run in essentially the same environment at every execution. However, we believe that this behavior is not always convenient, and that many times it is interesting to make variations to the execution environment, either to introduce new functionality or to specialize critical services, even when their source code is not available. This problem can be mitigated through application-level extensibility and flexible composition of binary modules. In this paper, we describe DITools an application-level tool that supports dynamic interposition on dynamically-linked procedure-call boundaries. This tool enables both global and per-module dynamic interposition. We also present a detailed use of DITools and various short examples of extensions.