Naming and Binding of Objects

  title={Naming and Binding of Objects},
  author={Jerome H. Saltzer},
  booktitle={Advanced Course: Operating Systems},
  • J. Saltzer
  • Published in
    Advanced Course: Operating…
  • Computer Science
2 Overview A property of a computer system that determines its ease of use and its range of applicability is the way it creates and manages the objects of computation. An important aspect of object management is the scheme by which a system names objects. Names for objects are required so that programs can refer to the objects, so that objects can be shared, and so that objects can be located at some future time. This chapter introduces several rather general concepts surrounding names, and… 
Naming issues in the design of transparently distributed operating systems
This thesis shows that a recursive naming system is more readily extensible than a flat naming system by demonstrating that it is in precisely those areas in which a system is not recursive that transparency is hardest to achieve.
Towards a universal directory service
A universal directory service that can span a heterogeneous internetwork of existing naming domains; allows us to name, locate, and discover how to manipulate objects (including files, processes, mailboxes, people, and services); and can be integrated into most existing systems as a "valueadded" feature is developed.
Associative broadcast and the communication semantics of naming in concurrent systems
The development of a formal taxonomy of naming systems, and the design of a specific naming system and communication primitive, called Associative Broadcast, that enable straightforward specification of complex communication patterns.
Naming policies in the Spring system
  • S. Radia
  • Mathematics
    Proceedings of IEEE Workshop on Services for Distributed and Networked Environments
  • 1994
The Spring name service does not prescribe particular naming policies; instead it serves as a foundation for building various policies. Our default policy is an environment containing name spaces for
A Name Resolution Model for Distributed Systems
A model is presented that describes names and name resolution in distributed systems, in which names are viewed to be purely syntactic entities, andName resolution to be a syntaxdriven operation.
Copying Structured Objects in a Distributed System
Virtual files in a distributed environment
The Spring Name Service
The Spring name service exploits and supports the uniformity of objects in the Spring object-oriented distributed system, integrating access control and persistence for objects in a way that allows object implementations to delegate responsibility to the name service, or to implement their own policies.
Name space models for locating services
This report describes some of the work in progress as part of the Universal Name Semantics project at the University of Michigan, intended to explore issues involved in providing client programs with seamless naming of objects across heterogeneous name spaces.
Persistent Memory: A Storage Architecture for Object-Oriented Database Systems
The persistent memory system is based on a uniform memory abstraction, which eliminates the distinction between transient objects (data structures) and persistent objects (files and databases), and therefore, allows the same set of powerful and flexible operations to be applied with equal efficiency on both transient and persistence objects from a programming language such as Lisp or Prolog.


On the meaning of names in programming systems
It is found that a context can be viewed as an abstraction based upon the first two terms in the equivalent expression μ(namelist)(valuelist)(expression), and Manipulations with contexts are discussed at length.
The multics system: an examination of its structure
The author builds a picture of the life of a process in coexistence with other processes, and suggests ways to model or construct subsystems that are far more complex than could be implemented using predecessor computer facilities.
Capability-based addressing
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.
The Binding Model: A Semantic Base for Modular Programming Systems
The Binding Model is an abstract machine designed as an 'ideal' kernel for modular programming systems.
Segmentation and the Design of Multiprogrammed Computer Systems
The segmentation of procedures and data forms a model of program structure that is the basis of an address mapping function which will be a valuable feature of future computer systems.
A new design is proposed, which provides both type extension and revocation through the definition of generalized sealing of capabilities, and it is demonstrated that it would be workable and acceptable economically.
Virtual memory, processes, and sharing in MULTICS
The Manchester University ATLAS Operating System Part 1: The Internal Organization and Experience using a time-sharing multiprogramming system with dynamic address relocation hardware.
HYDRA: the kernel of a multiprocessor operating system
This paper describes the design philosophy of HYDRA—the kernel of an operating system for C.mmp, the Carnegie-Mellon Multi-Mini-Processor. This philosophy is realized through the introduction of a
A resource sharing executive for the ARPANET
The Resource Sharing Executive (RSEXEC) is a distributed, executive-like system that runs on TENEX Host computers in the ARPA computer network. The RSEXEC creates an environment which facilitates the
The function of FUNCTION in LISP or why the FUNARG problem should be called the environment problem
A problem common to many powerful programming languages arises when one has to determine what values to assign to free variables in functions and the argument is tried to couch the argument in ALGOL-like terms as much as possible.