Abstract
Persistent systems support a single storage abstraction in which all data may be created and manipulated in a uniform manner, regardless of its longevity. In such systems a protection mechanism is required to ensure that programs can access precisely those objects they are supposed to access and no others. In a monolingual system this protection can be provided by the type system of the programming language; in systems which support multiple persistent languages a separate protection mechanism must be supported. This paper describes the capability- based protection mechanism employed in Grasshopper, a new operating system specifically designed to support persistent systems on a conventional workstation platform. We show that this mechanism provides sufficient power and flexibility to handle a wide variety of protection scenarios.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Albano, A., Cardelli, L. and Orsini, R. “Galileo: A Strongly Typed, Interactive Conceptual Language”, ACM Transactions on Database Systems, 10(2), pp. 230–260, 1985.
Anderson, M., Pose, R. and Wallace, C. S. “A Password-Capability System”, The Computer Journal, vol 29, 1, pp. 1–8, 1986.
Atkinson, M. P., Bailey, P., Chisholm, K. J., Cockshott, W. P. and Morrison, R. “An Approach to Persistent Programming”, The Computer Journal, 26(4), pp. 360–365, 1983.
Atkinson, M. P., Chisholm, K. J. and Cockshott, W. P. “PS-algol: An Algol with a Persistent Heap”, ACM SIGPLAN Notices, 17(7), pp. 24–31, 1981.
Campbell, R. H., Johnston, G. M. and Russo, V. F. “Choices (Class Hierarchical Open Interface for Custom Embedded Systems”, ACM Operating Systems Review, 21(3), pp. 9–17, 1987.
Chase, J. S., Levy, H. M., Baker-Harvey, M. and Lazowska, E. D. “Opal: A Single Address Space System for 64-Bit Architectures”, Third IEEE Workshop on Workstation Operating Systems, IEEE, 1992.
Cheriton, D. R. “The V Kernel: A Software Base for Distributed Systems”, Software, 1(2), pp. 9–42, 1984.
Chorus Systems “Overview of the CHORUS Distributed Operating Systems”, Computer Systems — The Journal of the Usenix Association, 1(4), 1990.
Cockshott, W. P. “Design of POMP — a Persistent Object Management Processor”, Proceedings of the Third International Workshop on Persistent Object Systems, (ed J. Rosenberg and D. M. Koch), Springer-Verlag, pp. 367–376, 1989.
Dasgupta, P., LeBlanc, R. J. and Appelbe, W. F. “The Clouds Distributed Operating System”, Proceedings, 8th International Conference on Distributed Computing Systems, 1988.
Dearie, A. “Environments: A Flexible Binding Mechanism to Support System Evolution”, Proc. 22nd Hawaii International Conference on System Sciences, vol II, pp. 46–55, 1989.
Dearie, A., di Bona, R., Farrow, J. M., Henskens, F. A., Lindström, A., Rosenberg, J. and Vaughan, F. “Grasshopper: An Orthogonally Persistent Operating System”, Computer Systems (to appear), 1994.
Dearie, A., Rosenberg, J., Henskens, F. A., Vaughan, F. and Maciunas, K. “An Examination of Operating System Support for Persistent Object Systems”, Proceedings of the 25th Hawaii International Conference on System Sciences, vol 1, (ed V. Milutinovic and B. D. Shriver), IEEE Computer Society Press, Hawaii, U. S. A., pp. 779–789, 1992.
Dennis, J. B. and Van Horn, E. C. “Programming Semantics for Multiprogrammed Computations”, Communications of the A.C.M., 9(3), pp 143–145, 1966.
Fabry, R. S. “Capability-Based Addressing”, Communications of the A.C.M., 17(7), pp. 403–412, 1974.
Gehringer, E. F. and Keedy, J. L. “Tagged Architecture: How Compelling are its Advantages?”, Twelth International Symposium on Computer Architecture, pp. 162–170, 1985.
Harland, D. M. “REKURSIV: Object-oriented Computer Architecture”, Ellis-Horwood Limited, 1988.
Henskens, F. A. “A Capability-based Persistent Distributed Shared Memory”, PhD Thesis, University of Newcastle, N.S.W., Australia, ISBN 0 86758 668 0, 1991.
Henskens, F. A. “Addressing Moved Modules in a Capability-based Distributed Shared Memory”, Proceedings of the 25th Hawaii International Conference on System Sciences, vol 1, (ed V. Milutinovic and B. D. Shriver), IEEE Computer Society Press, Hawaii, U. S. A., pp. 769–778, 1992.
Hitchens, M. and Rosenberg, J. “Binding between Names and Objects in a Persistent System”, Proceedings of 2nd International Workshop on Object Orientation in Operating Systems, IEEE, Dourdan, France, pp. 26–37, 1992.
Keedy, J. L. “An Implementation of Capabilities without a Central Map** Table”, Proc. 17th Hawaii International Conference on System Sciences, pp 180–185, 1984.
Keedy, J. L. and Vosseberg, K. “Persistent Protected Modules and Persistent Processes as the Basis for a More Secure Operating System”, Proceedings of the 25th Hawaii International Conference on Systems Sciences, vol 1, IEEE Hawaii, USA, pp. 747–756, 1992.
Lauer, H. C. and Needham, R. M. “On the Duality of Operating System Structures”, Operating Systems Review, 13(2), pp. 3–19, 1979.
Levy, H. M. and Lipman, P. H. “Virtual Memory Management in the VAX/VMS Operating System”, Computer, 15(3), pp. 35–41, 1982.
Matthes, F. and Schmidt, J. W. “The Type System of DBPL”, Proceedings of the Second International Workshop on Database Programming Languages, Morgan Kaufmann, pp. 219–225, 1989.
Morrison, R., Brown, A. L., Conner, R. C. H. and Dearie, A. “Napier88 Reference Manual”, Universities of Glasgow and St. Andrews, Persistent Programming Research Report PPRR-77-89, 1989.
Morrison, R., Brown, A. L., Connor, R. C. H., Cutts, Q. I., Dearie, A., Kirby, G., Rosenberg, J. and Stemple, D. “Protection in Persistent Object Systems”, Proceedings of the International Workshop on Computer Architectures to Support Security and Persistence of Information, Springer-Verlag, Bremen, Germany, pp. 48–66, 1990.
Moss, J. E. B. “Addressing Large Distributed Collections of Persistent Objects: The Mneme Project’s Approach”, Proceedings of the Second International Workshop on Database Programming Languages, Gleneden Beach, Oregon, Morgan Kaufmann, pp. 358–374, 1989.
Mullender, S. J., van Rossum, G., Tanenbaum, A. S., van Renesse, R. and van Staveren, H. “Amoeba: A Distributed Operating System for the 1990s”, Computer, 23(5), pp. 44–53, 1990.
Pose, R. D. “Capability Based, Tightly Coupled Multiprocessor Hardware to Support a Persistent Global Virtual Memory”, Proceedings of the 22nd Annual Hawaii International Conference on System Sciences, (ed B. D. Shriver), pp. 36–45, 1989.
Rashid, R., Tevanian, A., Young, M., Golub, D., Baron, R., Black, D., Bolosky, W. and Chew, J. “Machine-Independent Virtual Memory Management for Paged Uniprocessor and Multiprocessor Architectures”, Proceedings of the Second International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS II), ACM Order Number 556870, pp. 31–39, 1987.
Richardson, J. E. and Carey, M. J. “Implementing Persistence in E”, Proceedings of the Third International Workshop on Persistent Object Systems, (ed J. Rosenberg and D. M. Koch), Springer-Verlag, pp. 175–199, 1989.
Rosenberg, J. and Abramson, D. A. “MONADS-PC: A Capability Based Workstation to Support Software Engineering”, Proc, 18th Hawaii International Conference on System Sciences, pp. 515–522, 1985.
Tanenbaum, A. S. “Experiences with the Amoeba Distributed System”, Communications of the ACM, 33(12), pp. 46–63, 1990.
Wilkes, M. V. and Needham, R. M. “The Cambridge CAP Computer and its Operating System”, North Holland, Oxford, 1979.
Wulf, W. A., Levin, R. and Harbison, S. P. “HYDRA/C.mmp: An Experimental Computer System”, McGraw-Hill, New York, 1981.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1995 British Computer Society
About this paper
Cite this paper
Dearie, A. et al. (1995). Protection in Grasshopper: A Persistent Operating System. In: Atkinson, M., Maier, D., Benzaken, V. (eds) Persistent Object Systems. Workshops in Computing. Springer, London. https://doi.org/10.1007/978-1-4471-2122-0_6
Download citation
DOI: https://doi.org/10.1007/978-1-4471-2122-0_6
Publisher Name: Springer, London
Print ISBN: 978-3-540-19912-0
Online ISBN: 978-1-4471-2122-0
eBook Packages: Springer Book Archive