Abstract
Systems supporting persistent objects need to address far more information than can fit in an ordinary virtual memory. The usual approach is to impose an additional level of indirection—an object name is mapped to an object number, which serves as part of a virtual address. The virtual address can then be translated in the normal manner. An attractive alternative is name-based mapping, where objects are referred to by name rather than by address. A set of registers and a cache can be used to translate names directly to physical addresses, bypassing the virtual-address middleman. This scheme effectively removes the limit on the size of a process’s address space, since the number of possible names is essentially infinite. Name-based mapping has a number of other advantages. The cache, which cannot be modified by the programmer, is used to translate all addresses. It can therefore be used to enforce different protection domains within a single process. This permits software systems to be built out of larger but fewer processes, decreasing the overhead of managing large numbers of processes. In addition, name-based mapping removes the need for conventional static or dynamic linking. An architecture using name-based mapping can easily be adapted to support object-oriented languages efficiently. Unlike capability-based systems, name-based mapping requires only a special address-translation mechanism, rather than specially protected segments throughout memory. This paper presents the design and initial performance measurements based on simulation.
This research was supported by the Office of Naval Research under contract N00014-88-K-0037.
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
Atkinson, M. P., Bailey, P. J., Chisholm, K. J., Cockshott, P. W. and Morrison, R. “An approach to persistent programming.” Computer Journal, 26,4, November 1983, pp. 360–365.
Abramson, A. “Hardware management of a large virtual memory.” Proceedings of the Fourth Australian Computer Science Conference, Brisbane, May 11–13,1981, pp. 1–13.
Almes, G. T. “Garbage collection in an object-oriented system.” Ph.D. thesis, Department of Computer Science, Carnegie-Mellon University, June 1980. Available as technical report CMU-CS-80-128.
Bishop, P. B. “Computer systems with a very large address space and garbage collection.” Ph.D. thesis, Laboratory for Computer Science, Massachusetts Institute of Technology, May 1977. Available as technical report TR-178, MIT Laboratory for Computer Science.
Colwell, R. P., Gehringer, E. F. and Jensen, E. D. “Performance effects of architectural complexity in the Intel 432.” ACM Transactions on Computer Systems, 6,3, August 1988, pp. 296–339.
Cockshott, W. P. “Persistent programming and secure data storage.” Information and Software Technology, 29,5, June 1986, pp. 249–256.
Dally, W. J. and Kajiya, J. T. “An object oriented architecture.” Proceedings of the 12th Annual International Symposium on Computer Architecture, Boston, June 1985, pp. 154–161.
Furht, B. and Milutinovic, V. “A survey of microprocessor architectures for memory management.” IEEE Computer, 20,3, March 1987,pp. 48–67.
Goldberg, A. and Robson, D. Smalltalk 80: the Language and its Implementation. Addison-Wesley, 1983.
Harland, D. M. and Beloff, B. “OBJEKT: a persistent object store with an integrated garbage collector.” ACM SIGPLAN Notices, 22,4, April 1987, pp. 70–79.
Houdek, M. E. and Mitchell, G. R. “Translating a large virtual address.” IBM System/38 Technical Developments, IBM General Systems Division, 1978, pp. 22–24. Also in Electronics, March 1979.
Huguet, M. “A C-oriented register set design.” Master’s thesis, Department of Computer Science, UCLA, June 1985. Available as Technical Report CSD-850019.
Huguet, M. and Lang, T. “A reduced register file for RISC architectures.” ACM Computer Architecture News, 13, 4, September 1985, pp. 22–31.
Ishikawa, Y. and Tokoro, M. “The design of an object oriented architecture.” Proceedings of the 11th Annual Symposium on Computer Architecture, Ann Arbor, MI, June 1984, pp. 178–187.
Kaehler, T. “Virtual memory on a narrow machine for an object-oriented language.” OOPSLA’ 86: Object-Oriented Programming Systems, Languages, and Applications, Proceedings, Portland, OR, September 29-October 2, 1986, ACM SIGPLAN Notices, 21,11, pp. 87–106.
Kaehler, T. and Krasner, G. “LOOM—large object-oriented memory for Smalltalk-80 systems.” In G. Krasner, ed., Smalltalk-80: Bits of History, Words of Advice, Addison-Wesley, 1983, pp. 251–270.
Keedy, J. L. “A comparison of two process-structuring models.” MONADS Report No. 4, Department of Computer Science, Monash University, 1979.
Nayak, S. and Gehringer, E. “Use of a method-lookup cache to support dynamic linking and information hiding.” Technical report TR-88-17, Computer Studies Program, North Carolina State University, August 1987.
Needham, R. M. and Lauer, H. C. “On the duality of operating system structures.” ACM Operating Systems Review, 13, 2, April 1979, pp. 3–19.
Needham, R. M. and Walker, R. D. H. The Cambridge CAP Computer and its Operating System, North-Holland, 1979.
Organick, E. I. The Multics System: An Examination of its Structure. MIT Press, 1972.
Organick, E. I. A Programmer’s view of the Intel 432. McGraw-Hill, 1983.
Patterson, D. A. “Reduced instruction set computers.” Communications of the ACM, 28,1, January 1985, pp. 8–21.
Peterson, J. L. and Silberschatz, A. Operating System Concepts, 2nd edition. Addison-Wesley, 1986.
Pollack, F. J., Cox, G. W., Hammerstrom, D. W., Kahn, K. C, Lai, K. K. and Rattner, J. R. “Supporting Ada memory management in the iAPX-432.” Proceedings of the Symposium on Architectural Support for Programming Languages and Operating Systems, (SIGARCH/SIGPLAN), Palo Alto, CA, March 1-3, 1982, ACM SIGPLAN Notices, 17,4, pp. 117–131.
Samples, D., Ungar, D. and Hilfinger, P. “SOAR: Smalltalk without bytecodes.” OOPSLA’ 86: Object-Oriented Programming Systems, Languages and Applications, Proceedings, September-October 1986, ACM SIGPLAN Notices, 21, 11, pp. 107–118.
Thatte, S. M. “Report on the object-oriented database workshop: implementation aspects.” Technical report, Artificial Intelligence Laboratory, Texas Instruments, October 5, 1987.
Thakkar, S. S. and Knowles, A. E. “A high-performance memory management scheme.” IEEE Computer, 19, 5, May 1986, pp. 8–22.
Ungar, D. M. “The design and evaluation of a high performance Smalltalk system.” Ph.D. thesis, Computer Science Division, University of California, Berkeley, March 1986. Also available from MIT Press, 1986.
Wulf, W. A., Levin, R. and Harbison, S. P. HydralCmmp: an Experimental Computer System. McGraw-Hill, 1981.
Author information
Authors and Affiliations
Rights and permissions
Copyright information
© 1990 British Computer Society
About this paper
Cite this paper
Gehringer, E.F. (1990). Name-Based Mapping: Addressing Support for Persistent Objects. In: Persistent Object Systems. Workshops in Computing. Springer, London. https://doi.org/10.1007/978-1-4471-3173-1_14
Download citation
DOI: https://doi.org/10.1007/978-1-4471-3173-1_14
Publisher Name: Springer, London
Print ISBN: 978-3-540-19626-6
Online ISBN: 978-1-4471-3173-1
eBook Packages: Springer Book Archive