Next: Allocation blocks
Up: ECS SYSTEM ARCHITECTURE
Previous: Actions on operations
Class-codes were subprocess names. They were used in
constructing operations and in sending interrupts to other processes.
As we conceived the system, each user process would contain a
representative from each of several classes of subprocesses (e.g.,
each user process would contain a representative of the disk/directory
system). We wished to construct operations which would, for all
processes, name a representative of the same class of subprocesses
(e.g., the representative of the disk/directory system). One
possibility would have been to name a subprocess by its position in
the subprocess tree. This would have been undesirable for three
reasons:
- 1)
- It was necessary to prevent an arbitrary program from
constructing an operation that called an arbitrary subprocess with
arbitrary parameters. Hence a subprocess name to be used in
constructing an operation must be protected.
- 2)
- It was necessary to prevent arbitrary programs from sending
interrupts to arbitrary subprocesses in other processes, again the
subprocess name must be protected.
- 3)
- It was conceivable that in different processes, subprocesses
designed to be called by a given operation might appear at different
positions in the tree, or might not exist at all.
A capability for a class code did not contain a pointer, but contained
a representation of the name as its value part.
Actions were available to create new class codes, to construct
subprocesses at specified points in the tree (specified by class code
of father), to construct operations which called subprocesses of
specified class code and to send interrupts to subprocesses of
specified class code.
Next: Allocation blocks
Up: ECS SYSTEM ARCHITECTURE
Previous: Actions on operations
Paul McJones
1998-06-22