Skip to main content

Protection in Grasshopper: A Persistent Operating System

  • Conference paper
Book cover Persistent Object Systems

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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.

    Article  Google Scholar 

  2. Anderson, M., Pose, R. and Wallace, C. S. “A Password-Capability System”, The Computer Journal, vol 29, 1, pp. 1–8, 1986.

    Article  Google Scholar 

  3. 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.

    MATH  Google Scholar 

  4. 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.

    Article  Google Scholar 

  5. 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.

    Article  Google Scholar 

  6. 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.

    Google Scholar 

  7. Cheriton, D. R. “The V Kernel: A Software Base for Distributed Systems”, Software, 1(2), pp. 9–42, 1984.

    Article  Google Scholar 

  8. Chorus Systems “Overview of the CHORUS Distributed Operating Systems”, Computer Systems — The Journal of the Usenix Association, 1(4), 1990.

    Google Scholar 

  9. 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.

    Google Scholar 

  10. Dasgupta, P., LeBlanc, R. J. and Appelbe, W. F. “The Clouds Distributed Operating System”, Proceedings, 8th International Conference on Distributed Computing Systems, 1988.

    Google Scholar 

  11. 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.

    Google Scholar 

  12. 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.

    Google Scholar 

  13. 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.

    Google Scholar 

  14. 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.

    MATH  Google Scholar 

  15. Fabry, R. S. “Capability-Based Addressing”, Communications of the A.C.M., 17(7), pp. 403–412, 1974.

    Google Scholar 

  16. Gehringer, E. F. and Keedy, J. L. “Tagged Architecture: How Compelling are its Advantages?”, Twelth International Symposium on Computer Architecture, pp. 162–170, 1985.

    Google Scholar 

  17. Harland, D. M. “REKURSIV: Object-oriented Computer Architecture”, Ellis-Horwood Limited, 1988.

    Google Scholar 

  18. 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.

    Google Scholar 

  19. 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.

    Google Scholar 

  20. 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.

    Chapter  Google Scholar 

  21. Keedy, J. L. “An Implementation of Capabilities without a Central Mapping Table”, Proc. 17th Hawaii International Conference on System Sciences, pp 180–185, 1984.

    Google Scholar 

  22. 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.

    Google Scholar 

  23. Lauer, H. C. and Needham, R. M. “On the Duality of Operating System Structures”, Operating Systems Review, 13(2), pp. 3–19, 1979.

    Article  Google Scholar 

  24. Levy, H. M. and Lipman, P. H. “Virtual Memory Management in the VAX/VMS Operating System”, Computer, 15(3), pp. 35–41, 1982.

    Article  Google Scholar 

  25. 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.

    Google Scholar 

  26. 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.

    Google Scholar 

  27. 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.

    Google Scholar 

  28. 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.

    Google Scholar 

  29. 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.

    Article  Google Scholar 

  30. 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.

    Google Scholar 

  31. 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.

    Google Scholar 

  32. 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.

    Google Scholar 

  33. 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.

    Google Scholar 

  34. Tanenbaum, A. S. “Experiences with the Amoeba Distributed System”, Communications of the ACM, 33(12), pp. 46–63, 1990.

    Article  Google Scholar 

  35. Wilkes, M. V. and Needham, R. M. “The Cambridge CAP Computer and its Operating System”, North Holland, Oxford, 1979.

    Google Scholar 

  36. Wulf, W. A., Levin, R. and Harbison, S. P. “HYDRA/C.mmp: An Experimental Computer System”, McGraw-Hill, New York, 1981.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics