Abstract
The Amoeba distributed operating system has been in development and use for over eight years now. In this paper we describe the present system and our experience with it what we did right, but also what we did wrong. Among the things done right were basing the system on objects, using a single uniform mechanism (capabilities) for naming and protecting them in a location independent way, and designing a completely new, and very fast file system. Among the things done wrong were having threads not be pre-emptable, initially building our own homebrew window system, and not having a multicast facility at the outset.
A. S. Tanenbaum, R. van Renesse, H. van Staveren, G. J. Sharp, S. J. Mullender, J. Jansen and G. van Rossum, Experiences with the Amoeba distributed operating system. Communications of the ACM 33, 12 (December 1990), 46–63.
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
Accetta, M., Baron, R., Bolosky W., Golub, D., Rashid, R., Tevanian, A., and Young, M. Mach: A New Kernel Foundation for UNIX Development. Proceedings of the Summer Usenix Conference, Atlanta, GA, July 1986.
Baalbergen, E.H, Verstoep, K., and Tanenbaum, A.S. On the Design of the Amoeba Configuration Manager. Proc. 2nd Int’l Workshop on Software Config. Mgmt., ACM, 1989.
Bal, H.E., Van Renesse, R., and Tanenbaum, A.S. Implementing Distributed Algorithms using Remote Procedure Call. Proc. Nat. Comp. Conf., AFIPS, 1987. pp. 499–505.
Bal, H.E., and Tanenbaum, A.S. Distributed Programming with Shared Data, IEEE Conf. on Computer Languages, IEEE, 1988, pp. 82–91.
Birrell, A.D., and Nelson, B.J. Implementing Remote Procedure Calls, ACM Trans. Comput. Systems 2, (Feb. 1984) pp. 39–59.
Cheriton, D.R. The V Distributed System. Comm. ACM 31, (March 1988), pp. 314–333.
Dalal, Y.K. Broadcast Protocols in Packet Switched Computer Networks. Ph.D. Thesis, Stanford Univ., 1977.
Dennis, J., and Van Horn, E. Programming Semantics for Multiprogrammed Cornputation. Comm. ACM 9, (March 1966), pp. 143–155.
Evans, A., Kantrowitz, W., and Weiss, E. A User Authentication Scheme Not Requiring Secrecy in the Computer. Comm. ACM 17, (Aug. 1974), pp. 437–442.
Feldman, S.I. Make—A Program for Maintaining Computer Programs. Software— Practice and Experience 9, (April 1979) pp. 255–265.
Johnson, S.C. Yacc Yet Another Compiler Compiler. Bell Labs Technical Report, Bell Labs, Murray Hill, NJ, 1978.
Kaashoek, M.F., Tanenbaum, A.S., Flynn Hummel, S., and Bal, H.E. An Efficient Reliable Broadcast Protocol. Operating Systems Review, vol. 23, (Oct. 1989), pp. 5–19.
Lawler, E.L., and Wood, D.E. Branch and Bound Methods A Survey. Operations Research 14, (July 1966), pp. 699–719.
Marsland, T.A., and Campbell, M. Parallel Search of Strongly Ordered Game Trees. Computing Surveys 14, (Dec. 1982), pp. 533–551.
Mullender, S.J., van Rossum, G., Tanenbaum, A.S., van Renesse, R., van Staveren, J.M. Amoeba—A Distributed Operating System for the 1990s. IEEE Computer 23, (May 1990), pp. 44–53.
Mullender, S.J., and Tanenbaum, A.S. The Design of a Capability-Based Dis-tributed Operating System. Computer Journal 29, (Aug. 1986), pp. 289–299.
Mullender, S.J., and Tanenbaum, A.S. A Distributed File Service Based on Op-timistic Concurrency Control. Proc. Tenth Symp. Operating System Principles, (Dec. 1985), pp. 51–62.
Ousterhout, J.K., Cherenson, A.R., Douglis, F., Nelson, M.N., and Welch, B.B. The Sprite Network Operating System. IEEE Computer 21, (Feb. 1988), pp. 23–26.
Peterson, L., Hutchinson, N., O’Malley, S., and Rao, H. The x-kernel: A Platform for Accessing Internet Resources. IEEE Computer 23 (May 1990), pp. 23–33.
Pu, C., Noe, J.D., Proudfoot, A. Regeneration of Replicated Objects: A Technique and its Eden Implementation. Proc. 2nd Int’l Conf. on Data Eng., (Feb. 1986), pp. 175–187.
Rozier M, Abrossimov V, Armand F, Boule I, Gien M, Guillemont M, Hermann F, Kaiser C, Langlois S, Leonard, P., and Neuhauser W. CHORUS Distributed Operating System. Computing Systems 1 (Fall 1988), pp. 299–328.
Schroeder, M.D., and Burrows, M. Performance of the Firefly RPC. Proc. Twelfth ACM Symp. on Oper. Syst. Prin., ACM, (Dec. 1989), pp. 83–90.
Steiner, J.G., Neuman, C., and Schiller, J.I. Kerberos An Authentication Service for Open Network Systems. Proceedings of the Usenix Winter Conference, USENIX Assoc., (1988), pp. 191–201.
Stonebraker, M. Operating System Support for Database Management. Comm. ACM 24, (July 1981), pp. 412–418.
Tanenbaum, A.S. A UNIX Clone with Source Code for Operating Systems Courses. Operating Syst. Rev. 21, (Jan. 1987), pp. 20–29.
Tanenbaum, A.S., Mullender, S.J., and Van Renesse, R. Using Sparse Capabili-ties in a Distributed Operating System. Proc. Sixth International Conf. on Distr. Computer Systems, IEEE, 1986.
Tanenbaum, A.S., and Van Renesse, R. A Critique of the Remote Procedure Call Paradigm. Proc. Euteco ’88, (1988), pp. 775–783.
Tanenbaum, A.S., and Van Renesse, R. Distributed Operating Systems. Computing Surveys 17, (Dec. 1985), pp. 419–470.
Van Renesse, R., Tanenbaum, A.S., and Wilschut, A. The Design of a High-Performance File Server. Proc. Ninth Int’l Conf. on Distr. Comp. Systems, IEEE, (1989a), pp. 22–27.
Van Renesse, R., Tanenbaum, A.S., Van Staveren, H., and Hall, J. Connecting RPC-Based Distributed Systems Using Wide-Area Networks. Proc. Seventh Int’l Conf. on Distr. Comp. Systems, IEEE, (1987), pp. 28–34.
Van Renesse, R., Van Staveren, H., and Tanenbaum, A.S. Performance of the Amoeba Distributed Operating System. Software—Practice and Experience 19, (March 1989b) pp. 223–234.
Van Renesse, R., Van Staveren, H., and Tanenbaum, A.S. Performance of the World’s Fastest Distributed Operating System. Operating Systems Review 22, (Oct. 1988), pp. 25–34.
Van Rossum, G. AIL—A Class-Oriented Stub Generator for Amoeba. Proc. of the Workshop on Experience with Distributed Systems, (J. Nehmer, ed.), Springer Verlag, 1990 (in preparation) .
Welch, B.B. and Ousterhout, J.K. Pseudo Devices: User-Level Extensions to the Sprite File System. Proc. Summer USENIX Conf., pp. 37–49, June 1988.
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer Science+Business Media New York
About this chapter
Cite this chapter
Tanenbaum, A.S. et al. (2001). Experiences with the Amoeba Distributed Operating System. In: Hansen, P.B. (eds) Classic Operating Systems. Springer, New York, NY. https://doi.org/10.1007/978-1-4757-3510-9_25
Download citation
DOI: https://doi.org/10.1007/978-1-4757-3510-9_25
Publisher Name: Springer, New York, NY
Print ISBN: 978-1-4419-2881-8
Online ISBN: 978-1-4757-3510-9
eBook Packages: Springer Book Archive