skip to main content
article
Free Access

Capability-based addressing

Published:01 July 1974Publication History
Skip Abstract Section

Abstract

Various addressing schemes making use of segment tables are examined. The inadequacies of these schemes when dealing with shared addresses are explained. These inadequacies are traced to the lack of an efficient absolute address for objects in these systems. The direct use of a capability as an address is shown to overcome these difficulties because it provides the needed absolute address. Implementation of capability-based addressing is discussed. It is predicted that the use of tags to identify capabilities will dominate. A hardware address translation scheme which never requires the modification of the representation of capabilities is suggested. The scheme uses a main memory hash table for obtaining a segment's location in main memory given its unique code. The hash table is avoided for recently accessed segments by means of a set of associative registers. A computer using capability-based addressing may be substantially superior to present systems on the basis of protection, simplicity of programming conventions, and efficient implementation.

References

  1. 1 Arden, B.W., Galler, B.A., O'Brien, T.C., and Westervelt, F.H. Program and addressing structure in a time-sharing environment. J. ACM 13, 1 (Jan. 1966), 1-16.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 2 Batson, A., et al. Measurements of segment size. Proc. 3rd Syrup. on Operating Systems Principles. Stanford U., Oct. 1971, 25-29.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 3 Bensoussan, A., Clingen, C.T., and Daley, R.C. The MULTICS virtual memory: concepts and design. Comm. ACM 15, 5 (May 1972), 308-318.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 4 Berry, D.M. Introduction to Oregano. In J. Tou and P. Wegner (Eds.). Sigplan Notices--Proc. Symposium on Data Structures in Programming Languages, Vol. 6, No. 2, Feb. 1971, pp. 171-190.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 5 Bobrow, D.G., and Wegbreit, B. A model and stack implementation of multiple environments. Comm. ACM 16, l0 (Oct. 1973), 591-603.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 6 Burroughs Corporation. Burroughs B5500 Information processing systems reference manual. Detroit, Mich., 1964.]]Google ScholarGoogle Scholar
  7. 7 Burroughs Corporation. The descriptor--a definition of the B5000 information processing system. Detroit, Mich., 1961.]]Google ScholarGoogle Scholar
  8. 8 Cleary, J.G. Process handling on Burroughs B6500. Proc. Fourth Australian Comp. Conf., Adelaide, South Australia, 1969, pp. 231-239.]]Google ScholarGoogle Scholar
  9. 9 Cosserat, D.C. A capability oriented multi-processor system for real-time applications. Presented at the I.C.C. Conf., Washington, D.C., Oct. 1972, 8 pp.]]Google ScholarGoogle Scholar
  10. 10 Cotton, J.M. The operational requirements for future communications control processors. Presented at lnternat. Switching Symp., Cambridge, Mass., June 6-9, 1972, 5 pp.]]Google ScholarGoogle Scholar
  11. 11 Daley, R.C., and Dennis, J.B. Virtual memory, processes, and sharing in MULTICS. Comm. ACM l I , 5 (May 1968), 306-313.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. 12 Daley, R.C., and Neumann, P.G. A general purpose file system for secondary storage. Proc. AFIPS 1965 FJCC, Vol. 27, Pt. I., AFIPS Press, Montvale, N.J., pp. 213-230.]]Google ScholarGoogle Scholar
  13. 13 Dennis, J.B. Programming generality, parallelism and computer architecture. Proc. IFIP 1968, North Holland, Amsterdam, pp. CI-7.]]Google ScholarGoogle Scholar
  14. 14 Dennis, J.B. Segmentation and the design of multiprogrammed computer systems. J. ACM 12, 4 (Oct. 1965), 589-602.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. 15 Dennis, J.B., and Van Horn, E.C. Programming semantics for multiprogrammed computations. Comm. ACM 9, 3 (Mar. 1966), 143-155.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. 16 England, D.M. Architectural features of System 250. In Infotech State of the Art Report or Operating Systems, 1972, 12 pp.]]Google ScholarGoogle Scholar
  17. 17 England, D.M. Operating System of System 250. Presented at Internat. Switching Symp., Cambridge, Mass., June 6-9, 1972, 5 pp.]]Google ScholarGoogle Scholar
  18. 18 Evans, D.C., and LeClerc, J.Y. Address mapping and the control of access in an interactive computer. Proc. AFIPS 1967 SJCC, Vol. 30, AFIPS Press, Montvale, N.J., pp. 23-32.]]Google ScholarGoogle Scholar
  19. 19 Fabry, R.S. A user's view of capabilities. ICR Quart. Rep. 15 (Nov. 1967), ICR, U. of Chicago, Sec. IC.]]Google ScholarGoogle Scholar
  20. 20 Fabry, R.S. Preliminary description of a supervisor for a machine oriented around capabilities. ICR Quart. Rep. 18 (Aug. 1968), ICR, U. of Chicago, Sec. lB.]]Google ScholarGoogle Scholar
  21. 21 Fabry, R.S. List-structured addressing. Ph.D. Th., U. of Chicago, 1971.]]Google ScholarGoogle Scholar
  22. 22 Feustal, E.A. The Rice research computer--a tagged architecture. Proc. AFIPS 1972 SJCC, Vol. 40, AFIPS Press, Montvale, N.J. pp. 369-377.]]Google ScholarGoogle Scholar
  23. 23 Feustal, E.A. On time advantages of tagged architecture. IEEE Trans. on Computers C-22, 7 (July 1973), 644-656.]]Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. 24 Graham, G.S., and Denning, P.J. Protection--principles and practice. Proc. AFIPS 1972 SJCC, Vol. 40, AFIPS Press, Montvale, N.J., pp. 417-429.]]Google ScholarGoogle Scholar
  25. 25 Halton, D. Hardware of the System 250 for communication control. Presented at the lnternat. Switching Syrup., Cambridge, Mass., June 6-9, 1972, 7 pp.]]Google ScholarGoogle Scholar
  26. 26 Hamer-Hodges, K.J. Fault resistance and recovery within System 250. Presented at I.C.C. Conf., Washington, D.C., Oct. 1972, 6 pp.]]Google ScholarGoogle Scholar
  27. 27 Iliffe, J.K. Basic maehhw principles. American Elsevier, New York, 1968.]]Google ScholarGoogle Scholar
  28. 28 Iliffe, J.K., and Jodeit, J.G. A dynamic storage allocation scheme. Comput. J. 5 (Oct. 1962), 200-209.]]Google ScholarGoogle ScholarCross RefCross Ref
  29. 29 Jones, A.K. Protection structures. Ph.D. Th., Carnegie- Mellon U., 1973.]]Google ScholarGoogle Scholar
  30. 30 Lampson, B.W. On reliable and extendable operating systems. In Techniques in Software Engineering, NATO Science Committee Workshop Material, Vol. 11, Sept. 1969.]]Google ScholarGoogle Scholar
  31. 31 Lampson, B.W. Dynamic protection structures. Proc. AFIPS 1969 FJCC, Vol. 35, AFIPS Press, Montvale, N.J., pp. 27-38.]]Google ScholarGoogle Scholar
  32. 32 Lampson, B.W. Protection. Proc. 5th Ann. Princeton Conf., Princeton U., Mar. 1971, pp. 437-443.]]Google ScholarGoogle Scholar
  33. 33 LeClerc, J.Y. Memory structures for interactive computers. Project GENIE document No. 40.10.110, U. of California, Berkeley, 1966.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. 34 Needham, R.M. Protection systems and protection implementations. Proc. AFIPS 1972 FJCC, Vol. 41, AFIPS Press, Montvale, N.J., pp. 571-578.]]Google ScholarGoogle Scholar
  35. 35 Organick, E.I. Computer System Organization--the B5700 B6700 Series. Academic Press, New York, 1973.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. 36 Organick, E.I. Tile Multics System: An Examination of Its Structure. MIT Press, Cambridge, Mass., 1972.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. 37 Saltzer, J.H. Traffic control in a multiplexed computer system. MAC-TR-30, Proj. MAC, MIT, Cambridge, Mass., 1966.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. 38 Schroeder, M.D. Performance of the GE-645 associative memory while Multics is in operation. Proc. Workshop on System Performance Evaluation, Cambridge, Mass., 1971, pp. 227-245.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. 39 Schroeder, M.D. Cooperation of mutually suspicious subsystems in a computer utility. Ph.D. Th., MIT, 1972.]]Google ScholarGoogle Scholar
  40. 40 Sevick, K.C., et al. Project SUE as a learning experience. Proc. AFIPS 1972 FJCC, Vol. 41, AFIPS Press, Montvale, N. J., pp. 331-339.]]Google ScholarGoogle Scholar
  41. 41 Shepherd, J. Principal design features of the multi-computer. (The Chicago Magic Number Computer). ICR Quart. Rep. 19 (Nov. 1968), 1CR, U. of Chicago, Sec. 1-C.]]Google ScholarGoogle Scholar
  42. 42 Sturgis, H.E. A postmortem of a time sharing system. Ph.D. Th., U. of California, Berkeley, 1973.]]Google ScholarGoogle Scholar
  43. 43 Wilkes, M.V. Time Sharing Computer Systems. 2nd ed., American Elsevier, New York, 1972.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. 44 Wilner, W.T. Design of the Burroughs BI700. Proc. AFIPS 1972 FJCC, Vol. 41, AFIPS Press, Montvale, N.J., pp. 489-497.]]Google ScholarGoogle Scholar
  45. 45 Wilner, W.T. Burroughs BI700 memory utilization. Proc. AFIPS 1972 FJCC, Vol. 41, AFIPS Press, Montvale, N.J., pp. 579- 586.]]Google ScholarGoogle Scholar
  46. 46 Wulf, W.A., et al. HYDRA: The kernel o f a multiprocessor operating system. Carnegie Mellon U., Comput. Sci. Dep. rep., June 1973.]]Google ScholarGoogle Scholar
  47. 47 Yngve, V.H. The Chicago Magic Number Computer. ICR Quart. Rep. 18 (Nov. 1968), ICR, U. of Chicago, Sec. 1-B.]]Google ScholarGoogle Scholar

Index Terms

  1. Capability-based addressing

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader