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.