|
|
per server-operation invocation. It therefore becomes feasible for
server interfaces to offer shorter, more primitive operations and for sequences
of these operations to be invoked to accomplish a task. Thus, the
mobile code dynamically defines its own high-level server
operationshigh-level operations that can be both efficient and well suited for the task at hand.
Besides these technical arguments, mobile code also provides an
attractive architecture for the distribution of software and for system
configuration management. Today, for example, PC software is often
installed and upgraded by customers downloading files over the Internet.
The logical next step is an architecture where performing an
upgrade does not require an overt action by the customer but instead can be
instigated by the producer of that software. Mobile code supports just
that architecture. Push replaces pull, freeing users from a system
management task. But using mobile code in this manner relinquishes control in
a way that affects trustworthiness. The approach also deprives the
system administrator of control over the timing of software upgrades and
configuration management changes. Cautious administrators have long
refrained from making system changes during crucial projects; a
system that changes itself might be less stable at such times.
References
Bershad, Brian N., Stefan Savage, Przemslaw Pardyak, Emin Sirer, Craig Chambers,
Marc E. Fiuczynski, David Becker, and Susan Eggers. 1995. "Extensibility, Safety and
Performance in the SPIN Operating System," pp. 267-284 in
Proceeedings of the 15th ACM Symposium on Operating Systems Principles.
New York: ACM Press.
Ford, Bryan, Godmar Back, Greg Benson, Jay Lepreau, Albert Lin, and Olin Shivers. 1997.
"The Flux OSKit: A Substrate for Kernel and Language
Research," pp. 31-51 in Proceedings of the 16th ACM Symposium on Operating Systems Principles.
New York: ACM Press.
Hawblitzel, Chris, Chi-Chao Chang, Grzegorz Czajkowski, Deyu Hu, and Thorsten
von Eicken. 1998. "Implementing Multiple Protection Domains in Java," pp. 259-290 in
Proceedings of the USENIX 1998 Annual Technical
Conference, New Orleans, Louisiana. Berkeley, CA: USENIX Association.
Kaashoek, M. Frans, Dawson R. Engler, Gregory R. Ganger, Hector M. Briceno,
Russell Hunt, David Mazieres, Thomas Pinckney, Robert Grimm, John Jannotti, and
Kenneth Mackenzie. 1997. "Application Performance and Flexibility on Exokernel
Systems," pp. 52-65 in Proceedings of the 16th ACM Symposium on Operating Systems Principles.
New York: ACM Press.
Ousterhout, John K. 1998. "Scripting: Higher-level Programming for the 21st
Century," IEEE Computer, 31(3):23-30.
Rulifson, J. 1969. Decode-Encode Language
(DEL). RFC 5. June 2.
Seltzer, Margo I., Yasuhiro Endo, Christopher Small, and Keith A. Smith. 1996.
"Dealing with Disaster: Surviving Misbehaved Kernel Extensions," pp. 213-228 in
Proceedings of the Second Symposium on Operating Systems Design and Implementation (OSDI `96),
Seattle, Washington. Berkeley, CA: USENIX Association.
| |