Abstract
There is increasing interest in extensible systems (such as extensible operating systems, mobile code runtime systems, Internet browsers and servers) that allow external programs to be downloaded and executed directly within the system. While appealing from system design and extensibility points of view, extensible systems are vulnerable to aberrant behaviors of external programs. External programs can interfere with executions of other programs by reading and writing into their memory locations. In this paper, we present an approach for providing safe execution of external programs through a safe threads mechanism. The approach also provides a novel technique for safe sharing among external programs. The paper also describes the design and implementation of the safe threads.
This work is supported by the Defense Advanced Research Project Agency (DARPA) and Rome Laboratory, Air Force Materiel Command, USAF, under agreement number F30602-97-1-0221. The U.S. Government is authorized to reproduce and distribute reprints for Governmental purposes notwithstanding any copyright annotation thereon. The views and conclusions contained herein are those of the authors and should not be interpreted as necessarily representing the official policies or endorsements, either expressed or implied, of the Defense Advanced Research Project Agency (DARPA), Rome Laboratory, or the U.S. Government.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
K. Arnold and J. Gosling. The Java Programming Language. Addison Wesley, 1996.
A. Banerji, J. M. Tracey, and D. L. Colin. Protected shared libraries-a new approach to modularity and sharing. In Proceedings of the USENIX 1997 Annual Technical Conference, pages 59–75, Anaheim, CA, January 1997.
B. Bershad et al. Extensibility, safety and performance in the SPIN operating system. 15th Symposium on Operating Systems Principles, pages 267–283, December 1995.
D. R. Butenhof. Programming with POSIX Threads. Addison Wesley Longman, Inc., 1997.
J. Chase, H. Levy, M. Feeley, and E. Lazowska. Sharing and protection in a single address space operating system. ACM Transactions On Computer Systems, 12(4):271–307, May 1994.
D. Chess, C. Harrison, and A. Kershenbaum. Mobile Agents: Are they a good idea? In Mobile Object Systems: Towards the Programmable Internet, pages 46–48. Springer-Verlag, April 1997.
D. R. Engler, M. F. Kaashoek, and J. O’Toole Jr. Exokernel: An operating system architecture for application-level resource management. In 15th Symposium on Operating Systems Principles, pages 251–266, December 1995.
C. Hawblitzel, C. Chang, G. Gzajkowski, D. Hu, and T. von Eicken. Implementing multiple protection domains in Java. In Proceedings of the USENIX 1998 Annual Technical Conference, pages 259–272, New Orleans, La., June 1998.
C. Hawblitzel and T. von Eicken. A case for language-based protection. Technical Report 98-1670, Cornell University, Ithaca, NY, 1998.
G. Heiser, K. Elphinstone, J. Vochteloo, and S. Russell. Implementation and performance of the Mungisingle-address-space operating system. Technical Report UNSW-CSE-TR-9704, The University of New South Wales, Sydney, Australia, June 1997.
D. Keppel. Tools and techniques for building fast portable threads packages. Technical Report UWCSE 93-05-06, University of Washington, 1993.
U. Vahalia. UNIX Internals: The New Frontiers. Prentice Hall, Upper Saddle River, New Jersey 07458, 1996.
R. Wahbe, S. Lucco, T. E. Anderson, and S. L. Graham. Efficient software-based fault isolation. 14th Symposium on Operating Systems Principles, pages 203–216, 1993.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2000 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Samorodin, S.H., Pandey, R. (2000). Supporting flexible safety and sharing in multi-threaded environments. In: Rolim, J. (eds) Parallel and Distributed Processing. IPDPS 2000. Lecture Notes in Computer Science, vol 1800. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45591-4_163
Download citation
DOI: https://doi.org/10.1007/3-540-45591-4_163
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-67442-9
Online ISBN: 978-3-540-45591-2
eBook Packages: Springer Book Archive