Naming and binding of objects

  • J. H. Saltzer
Chapter 3.: Issues And Results In The Design Of Operating Systems
Part of the Lecture Notes in Computer Science book series (LNCS, volume 60)


File System Address Space Shared Object Segment Number Virtual Processor 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.



to choose a specific lower-level implementation for a particular higher-level semantic construct. In the case of names, binding is choosing a mapping from a name to a particular object, usually identified by a lower-level name.


an object consisting of a table of bindings between symbolic names and objects. A catalog is an example of a context (q.v.).


abstractly, the mechanism that connects an object that refers to other objects by name with the context in which those names are bound.


an object that is contained by another object.


a particular set of bindings of names to objects: a name is always interpreted relative to some context.

indirect entry

in a naming network, an entry in a catalog that binds a name, instead of to an object, to the path name of some catalog entry elsewhere in the naming network.


a shared catalog (or set of catalogs) that contains objects such as programs and data to which several users refer. A computer system usually has a system library, which contains commonly used programs.

limited context

a context in which only a few names can be expressed, and therefore names must be reused.

modular sharing

sharing of an object without the need to know of the implementation of the shared object. From the point of view of naming, modular sharing is sharing without need to know of the names used by the shared object.


in practice, a character- or bit-string identifier that is used to refer to an object on which computation is performed. Abstractly, an element of a context.

naming hierarchy

a naming network (q.v.) that is constrained to a tree-structured form.

naming network

a catalog system in which a catalog may contain the name of any object, including another catalog. An object is located by a multi-component path name (q.v.) relative to some working catalog (q.v.).


a software (or hardware) structure that is considered to be worthy of a distinct name.

path name

a multiple component name of an object in a naming network. Successive components of the path name are used to select entries in successive catalogs. The entry selected is taken as the catalog for use with the next component of the path name. For a given starting catalog, a given path name selects at most one object from the hierarchy.

reference name

the name used by one object (e.g., a program) to refer to another object.


to locate an object in a particular context, given its name.


the starting catalog of a naming hierarchy.


abstractly, to examine several contexts looking for one that can successfully resolve a name. In practice, the systematic examination of several catalogs of a naming network, looking for an entry that matches a reference name presented by some program. The catalogs examined might typically include a working catalog, a few other explicitly named catalogs, and a system library catalog.

shared object

1) a single object that is a component of more than one other object. 2) an object that may be used by two or more different, parallel activities at the same time.


one of the multiple names for a single object permitted by some catalog implementations.

tree name

a multiple component name of an object in a naming hierarchy. The first component name is used to select an entry from a root catalog, which selected entry is used as the next catalog. Successive components of the tree name are used for selection in successively selected catalogs. A given tree name selects at most one object from the hierarchy.

unique identifier

a name, associated with an object at its creation, that differs from the corresponding name of every other object that has ever been created by this system.

unlimited context

a context in which names never have to be reused.

user-dependent binding

binding of names in a shared object to different components depending on the identity of the user of the shared object.

working catalog

in a naming network, a catalog relative to which a particular path name is expressed.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. Bell, C.G., and Newell, A., Computer Structures, McGraw-Hill, New York (1971).Google Scholar
  2. Bensoussan, A., Clingen, C.T., and Daley, R.C., "The Multics virtual memory: concepts and design," CACM 15, 4 (May, 1972), pp. 308–318.Google Scholar
  3. Bratt, R.G., "Minimizing the Naming Facilities Requiring Protection in a Computing Utility," S.M. Thesis, M.I.T. Dep't of Elec. Eng. and Comp. Sci. (Sept., 1976). (Also available as M.I.T. Lab. for Comp. Sci. Technical Report TR-156.)Google Scholar
  4. Carlson, W.E., and Crocker, S.D., "The impact of networks on the (E) software marketplace," Proc. IEEE Electronics and Aerospace Convention (EASCON 1974), pp. 304–308.Google Scholar
  5. Clingen, C.T., "Program naming problems in a shared tree-structured hierarchy," NATO Science Committee Conference on Techniques in Software Engineering 1, Rome (October 27, 1969).Google Scholar
  6. CODASYL (Anonymous), Data Base Task Group Report, Association for Computing Machinery, New York (1971).Google Scholar
  7. Crisman, P., Ed., The Compatible Time-Sharing System: A Programmer's Guide, 2nd ed., M.I.T. Press, Cambridge (1965).Google Scholar
  8. Daley, R.C., and Dennis, J.B., "Virtual memory, processes, and sharing in Multics," CACM 11, 5 (May, 1968), pp. 306–312.Google Scholar
  9. Dennis, J.B., "Segmentation and the design of multiprogrammed computer systems," JACM 12, 4 (October, 1965), pp. 589–602.Google Scholar
  10. Fabry, R.S., "Capability-based addressing," CACM 17, 7 (July, 1974), pp. 403–412.Google Scholar
  11. Falkoff, A.D., and Iverson, K.E., APL\360: User's Manual. IBM Corporation, White Plains, New York (1968).Google Scholar
  12. Farber, D.J., et al., "The distributed computing system," Proc. 7th IEEE Computer Society Conf. (COMPCON 73), pp. 31–34.Google Scholar
  13. Fraser, A.G., "On the meaning of names in programming systems," CACM 14, 6 (June, 1971), pp. 409–416.Google Scholar
  14. Henderson, D.A., Jr., "The binding model: A semantic base for modular programming systems," Ph.D. thesis, M.I.T. Dep't of Elec. Eng. and Comp. Sci. (February, 1975). (Also available as M.I.T. Project MAC Technical Report TR-145.)Google Scholar
  15. Henderson, P., and Morris, J.H., "A Lazy Evaluator," Proc. 3rd ACM Symposium on Principles of Programming Languages, (January, 1976), pp. 95–103.Google Scholar
  16. Holt, A., "Program organization and record keeping for dynamic storage allocation," CACM 4, 10 (Oct., 1961), pp. 422–431.Google Scholar
  17. IBM (Anonymous) Reference Manual: 709/7090 FORTRAN Operations. IBM Corporation, White Plains, New York (1961). C28-6066Google Scholar
  18. Iliffe, J., and Jodeit, "A dynamic storage allocation scheme," Computer Journal 5, (Oct., 1962), pp. 200–209.Google Scholar
  19. Janson, P.A., "Removing the Dynamic Linker from the Security Kernel of a Computing Utility," S.M. Thesis, M.I.T. Dep't of Elec. Eng. and Comp. Sci. (June, 1974). (Also available as M.I.T. Project MAC Technical Report TR-132.)Google Scholar
  20. Janson, P.A., "Using type extension to organize virtual memory mechanisms," Ph.D. Thesis, M.I.T. Dep't of Elec. Eng. and Comp. Sci. (Sept., 1976). (Also available as M.I.T. Lab. for Comp. Sci. Technical Report TR-167.)Google Scholar
  21. Kilburn, et al.. "One-Level Storage System," IRE Trans. on Elec. Computers EC-11, 2 (April, 1962), pp. 223–235.Google Scholar
  22. Knuth, D., The Art of Computer Programming, Volume 1/Fundamental Algorithms, Addison Wesley, Reading, Mass. (1968), Chapter 2.Google Scholar
  23. Lampson, B.W., and Sturgis, H.E., "Reflections on an operating system design," CACM 19, 5 (May, 1976), pp. 251–265.Google Scholar
  24. Moses, J., "The function of FUNCTION in LISP," SIGSAM Bulletin (July, 1970), pp. 13–27.Google Scholar
  25. Murphy, D.L., "Storage organization and management in TENEX," AFIPS Conf. Proc. 41 I (FJCC, 1972), pp. 23–32.Google Scholar
  26. Needham, R., "Protection systems and protection implementation," AFIPS Conf. Proc. 41 I (FJCC, 1972), pp. 571–578.Google Scholar
  27. Needham, R.M., and Birrell, A.D., "The CAP filing system," Proc. 6th ACM Symposium on Operating Systems Principles (November, 1977), pp. 11–16.Google Scholar
  28. Organick, E.I., The Multics System: an Examination of its Structure, M.I.T. Press, Cambridge (1972).Google Scholar
  29. Organick, E.I., Computer System Organization, The B5700/B6700 Series, Academic Press, New York (1973).Google Scholar
  30. Radin, G., and Schneider, P.R., "An architecture for an extended machine with protected addressing," IBM Poughkeepsie Lab Technical Report TR 00.2757 (May, 1976).Google Scholar
  31. Redell, D.D., "Naming and protection in extendible operating systems," Ph.D. Thesis, Univ. of Cal. at Berkeley, (Sept., 1974). (Also available as M.I.T. Project MAC Technical Report TR-140.)Google Scholar
  32. Ritchie, D.M., and Thompson, K., "The UNIX time-sharing system," CACM 17, 7 (July, 1974), pp. 365–375.Google Scholar
  33. Schroeder, M.D., and Saltzer, J.H., "A hardware architecture for implementing protection rings," CACM 15, 3 (Mar., 1972), pp. 157–170.Google Scholar
  34. Thomas, R.H., "A resource sharing executive for the ARPANET," AFIPS Conf. Proc. 42 (1973 NCC), pp. 159–163.Google Scholar
  35. Watson, R.W., Timesharing System Design Concepts, McGraw-Hill New York (1974).Google Scholar
  36. Wulf, W., et al., "HYDRA: The kernel of a multiprocessor operating system," CACM 17, 6 (June, 1974), pp. 337–345.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1978

Authors and Affiliations

  • J. H. Saltzer
    • 1
  1. 1.Massachusetts Institute of TechnologyCambridgeUSA

Personalised recommendations