Pegasus—operating system support for distributed multimedia systems

Pegasusais a project of the Universities of Cambridge (GB) and Twente (NL). This is a preliminary paper whose primary function is to state the goals of the project and to describe how we plan to set about reaching them. The theme of the Pegasus project is the design and implementation of general-purpose operatingsystem support for distributed multimedia applications. It is our contention that for a system to be a multimedia system, it should endow text, images, audio and video with equal status: Interpreting an audio or video stream should not be a privileged task of special functions provided by the operating system, but one of ordinary user programs. If programs with no special status can process text interactively, then processing audio or video interactively should also be done by programs with no special status. Very few, if any systems exist today that can claim to be multimedia systems in this sense. There is a wide range of multimedia applications on personal computers, but they are usually made to work by "taking over" the machine; that is, by not allowing other processes to run simultaneously, and possibly by directly addressing the hardware. Other systems offer only a very restricted set of multimedia applications, such as showing video in a window, or editing audio files. On these systems, as a rule, the video is not made available to user processes and the audio cannot be processed interactively. Often the video is analogue and often the network does not have the bandwidth nor the response time to transmit digital audio and video. Our goal is the design and implementation of an operating system that allows capture, rendering, storage, and interactive processing of multimedia data by user-level applications, while keeping all of the desirable properties of distributed systems, such as resource sharing, data sharing, securit}~ and fault tolerance. These goals are ambitious, but we are greatly helped by technology, fast RISC processors, cheap large memories, hardware image and video compression, and gigabit networks. We intend to use high-performance technology, because we expect that today's high-end technology will be personal-computer technology in ten years' time.