Integrated input/output system for kernel data streaming

Current multimedia server systems are based largely on the UNIX variants such as 4.4BSD. The design of the I/O subsystem in these operating systems was originally intended to mediate access by applications to I/O devices. In the 90s, multimedia applications such as web and continuous media servers have stressed the original design by streaming data between I/.O devices. This work revamps the I/O system design from the ground up. It presents a detailed description of a new I/O system architecture for UNIX and an implementation in the roadrunner kernel. The design is ambitious, requiring changes to all I/O elements including file systems, network protocols, and the device driver interface. The result is a clean architecture that maintains support for all I/O functions found in current UNIX systems but which also provides an efficient, general mechanism for streaming data with or without transformations.