next up previous contents
Next: 6) Distributed System Code Up: FUNDAMENTAL IDEAS Previous: 4) Mapped Address Space

5) Layered Implementation

The eventual system seen by a user program would be constructed in two or more layers. Each layer would be implemented by a program which ran as a user on the virtual machine implemented by the previous layer. In general, a layer would provide new virtual objects, not provided by previous layers, with the necessary virtual instructions to manipulate the new objects. Objects implemented by previous layer' would still be available, and would be manipulated by virtual instructions interpreted by those previous layers. In particular, ``ordinary'' machine instructions would be interpreted by the real hardware. Thus, the inefficiency of interpretation would only occur on virtual instructions, and even then, only the necessary system layers would participate.

Paul McJones