anderson%charming.Berkeley.EDU@berkeley.edu (David Anderson) (08/17/89)
David P. Anderson (anderson@snow.Berkeley.EDU) DASH David P. Anderson 541 Evans Hall UC Berkeley Berkeley, CA 94720 (415) 642-4979 THE DASH OPERATING SYSTEM David P. Anderson Computer Science Division, EECS Department University of California, Berkeley Berkeley, CA 94720 August 16, 1989 The DASH project is doing research in system support for applications that 1) use ``multimedia'' (digital audio and video); 2) are distributed, and 3) are interactive. As a research testbed, we have developed a distributed operat- ing system kernel. The DASH kernel supports the storage, communication, and processing of data by processes in pro- tected user-level address spaces. It provides the abstrac- tion of data streams with guaranteed real-time performance (throughput and delay). As an example, consider an applica- tion that reads compressed full-motion video from a disk, transmits the data across a network (and perhaps through gateways), then decompresses and displays it in a window. Under DASH, if sufficient system resources are available at the time when the application is started, then it will per- form correctly regardless of any subsequent concurrent activities. To meet the performance requirements of multimedia I/O, the DASH system uses an abstraction of ``resources'' (CPU, network access, video processors, etc.) that are used in processing data streams. Resources can be accessed in ``sessions'' having parameters for the throughput, delay, burstiness, and reliability of the stream. A session is, in effect, a reservation of part of the resource. These ses- sions then can be combined to form ``end-to-end'' sessions. This architecture allows the real-time capabilities of net- works such as FDDI and BISDN to be exploited by user-level processes. The DASH network architecture is backwards- compatible with TCP/IP, allowing interoperation with exist- ing systems. The DASH kernel is designed for high-throughput real- time communication. The kernel uses preemptive deadline- based process scheduling, and is written using object- oriented structuring principles that make it easily modifi- able and extensible. It has a novel virtual memory design that allows data to be securely passed between virtual address spaces faster than in existing systems.