An overview of the Pegasus architecture is shown in Figure 4. In this figure, we can distinguish a Pegasus multimedia workstation, multimedia compute server, storage server and Unix server, all interconnected by an ATM network.
Each site is using locally developed ATM switches to provide the ATM network: the Fairisle switch in Cambridge [.fairisle.], and the Rattlesnake switch in Twente [.smit 1994.].
The architecture of the multimedia workstation is as described above; multimedia input and output devices are connected to a local ATM switch (for which we use the Fairisle switch) and the rest of the workstation is entirely conventional. The multimedia processing nodes do not have special devices attached to them.
The multimedia workstations and processor nodes are controlled by a microkernel, called Nemesis. This kernel, which is discussed in more detail in Section 3, provides support for multimedia applications: timely scheduling and efficient interprocess communication.
One or more nodes in Pegasus run Unix. Applications on this platform have access to a rich collection of tools -- compilers, text processors, graphics support, etc. -- which, due to available effort, we do not intend to make available on the Nemesis kernel. We expect many multimedia applications to be split over Unix and Nemesis; the Unix part will contain the control functionality, whereas the Nemesis part will contain the necessary real-time functionality for audio and video processing.
Figure 4: Pegasus architectural overview
This separation is entirely inspired by practical considerations.
The Pegasus design team does not have the resources to add the kind
of scheduling necessary for multimedia processing to existing
operating-system platforms, they are too big to modify. Separating Nemesis and Unix gives us the best of both worlds:
a testable and measurable platform for multimedia applications and
all the functionality of Unix.
It is for another project to port Nemesis
functionality to Unix or vice versa.