Process management in a distributed operating system
As part of designing and building the Amoeba distributed operating system, we have come up with a simple set of mechanisms for process management that allows downloading process migration, checkpointing, remote debugging and emulation of alien operating system interfaces.
The basic process management facilities are realized by the Amoeba Kernel and can be augmented by user-space services: Debug Service, Load-Balancing Service, Unix-Emulation Service, Checkpoint Service, etc.
The Amoeba Kernel can produce a representation of the state of a process which can be given to another Kernel where it is accepted for continued execution. This state consists of the memory contents in the form of a collection of segments, and a Process Descriptor which contains the additional state, program counters, stack pointers, system call state, etc.
Careful separation of mechanism and policy has resulted in a compact set of Kernel operations for process creation and management. A collection of user-space services provides process management policies and a simple interface for application programs.
In this paper we shall describe the mechanisms as they are being implemented in the Amoeba Distributed System at the Centre for Mathematics and Computer Science in Amsterdam. We believe that the mechanisms described here can also apply to other distributed systems.
CR CategoriesD.4 C.2.4 D.2.5
Key Words & PhrasesDistributed operating system process management migration Amoeba
- 1.D. R. Cheriton and W. Zwaenepoel, (October 1983). The Distributed V Kernel and its Performance for Diskless Workstations, Proc. Ninth ACM Symp. on Operating Systems Principles, 128–140.Google Scholar
- 2.D. R. Cheriton (January 1987). VMTP: Versatile Message Transaction Protocol, Stanford University Computer Science Dept. Report.Google Scholar
- 3.C.A.R. Hoare, (August 1978). Communicating Sequential Processes, Communications of the ACM, 21.8, 666–677.Google Scholar
- 4.B.W. Lampson and D.D. Redell, (February 1980). Experience with Processes and Monitors in Mesa, Communications of the ACM, 23.2, 105–117.Google Scholar
- 5.S. J. Mullender and A. S. Tanenbaum, (1984). Protection and Resource Control in Distributed Operating Systems, Computer Networks, 8.5,6, 421–432.Google Scholar
- 6.S. J. Mullender and R. van Renesse, (September 1984). A Secure High-Speed Transaction Protocol, Proceedings of the Cambridge EUUG Conference.Google Scholar
- 7.S. J. Mullender, (October 1985). Principles of Distributed Operating System Design: SMC, Amsterdam.Google Scholar
- 8.S. J. Mullender and A. S. Tanenbaum, (1936). The Design of a Capability-Based Distributed Operating System, The Computer Journal, 29.4, 289–300.Google Scholar
- 9.M. L. Powell and B. P. Miller, (1983). Process Migration in DEMOS/MP, Proc. Ninth Symp. Operating Syst. Prin., 110–119, ACM.Google Scholar
- 10.M. M. Theimer, K. A. Lantz, and D. R. Cheriton, (December 1985). Preemptable Remote Execution Facilities for the V-System, Proceedings of the 10th Symposium on Operating Systems Principles, 2–12.Google Scholar
- 11.R. W. Watson and J. G. Fletcher, (February 1980). An architecture for Support of Network Operating System Services, Computer Networks, 4.1, 33–49.Google Scholar
- 12.E. Zayas, (November 1987). Attacking the Process Migration Bottleneck, Proc. 11th SOSP, 13–24.Google Scholar