Pseudo Devices: User-Level Extensions to the Sprite File System

Brent B. Welch and John K. Ousterhout

EECS Department
University of California, Berkeley
Technical Report No. UCB/CSD-88-424
June 1988

http://www2.eecs.berkeley.edu/Pubs/TechRpts/1988/CSD-88-424.pdf

A pseudo-device is a mechanism in the Sprite network file system that lets a user-level server process emulate a file or I/O device. Pseudo-devices are accessed like regular files or devices, and they exist in the file system name space. Pseudo-devices are implemented by transparently mapping client operations on the pseudo-device into a request-response exchange with a server process. The interface to pseudo-devices is general enough to be a transport mechanism for a user-level RPC system. It also provides a stream-oriented interface with write-behind and read-ahead for an asynchronous connection between clients and server. Sprite uses pseudo-devices to implement at user level its terminal drivers, the internet protocol suite, and the X-11 window system server. The pseudo-device implementation provides as fast or faster communication, both local and remote, than a UNIX UDP socket connection.


BibTeX citation:

@techreport{Welch:CSD-88-424,
    Author = {Welch, Brent B. and Ousterhout, John K.},
    Title = {Pseudo Devices: User-Level Extensions to the Sprite File System},
    Institution = {EECS Department, University of California, Berkeley},
    Year = {1988},
    Month = {Jun},
    URL = {http://www2.eecs.berkeley.edu/Pubs/TechRpts/1988/6047.html},
    Number = {UCB/CSD-88-424},
    Abstract = {A pseudo-device is a mechanism in the Sprite network file system that lets a user-level server process emulate a file or I/O device. Pseudo-devices are accessed like regular files or devices, and they exist in the file system name space. Pseudo-devices are implemented by transparently mapping client operations on the pseudo-device into a request-response exchange with a server process. The interface to pseudo-devices is general enough to be a transport mechanism for a user-level RPC system. It also provides a stream-oriented interface with write-behind and read-ahead for an asynchronous connection between clients and server. Sprite uses pseudo-devices to implement at user level its terminal drivers, the internet protocol suite, and the X-11 window system server. The pseudo-device implementation provides as fast or faster communication, both local and remote, than a UNIX UDP socket connection.}
}

EndNote citation:

%0 Report
%A Welch, Brent B.
%A Ousterhout, John K.
%T Pseudo Devices: User-Level Extensions to the Sprite File System
%I EECS Department, University of California, Berkeley
%D 1988
%@ UCB/CSD-88-424
%U http://www2.eecs.berkeley.edu/Pubs/TechRpts/1988/6047.html
%F Welch:CSD-88-424