This paper describes a process organization designed to be used in a decentralized hardware environment where reliability is a major goal. The process organization proposed here is designed to reflect such a hardware organization and to be consistent with the goal of reliability.
The proposed process structure is a nonhierarchical one, designed to allow structured but unhindered communication, selective access to critical information, and control not solely a function of process creation history. Communication is, in general, accomplished by the sending of messages. Messages may be sent by a process to any other process whose name it knows. Access to critical information is controlled; only special kinds of processes may access it. Access to shared information is also regulated.
Some new terminology is introduced to make explicit the features of this process structure. The special processes which can access critical, or state, information are called state changers. These can be characterized as independent abstract machines which operate on state information. Processes which play only an indirect role in affecting state information are called objects. These are acted upon by state changers and this results in the state changers affecting the state information associated with those objects. Other items in this process structure, such as files, their descriptors, and state information sets, are functionally similar to found in other process structures.
How this process structure can be used in a decentralized environment is also described. The details of processes which correspond to many of the operating system functions found in a traditional system are given for nonhierarchical process organization. A brief description of the form which other software might take is also given.