Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!uc!wd!wade From: wade@wd.msc.umn.edu (Wade Stebbings) Newsgroups: comp.unix.wizards Subject: Re: programmatic devices Keywords: Sprite Message-ID: <999@uc.msc.umn.edu> Date: 30 Dec 89 01:28:45 GMT References: <10641@ucsd.Edu> Sender: news@uc.msc.umn.edu Reply-To: wade@wd.UUCP (Wade Stebbings) Organization: Minnesota Supercomputer Center, Minneapolis, MN Lines: 18 In article <10641@ucsd.Edu> brian@ucsd.Edu (Brian Kantor) writes: >A programmatic device (pdev) is a program (an executable binary) living >in the /dev directory. When a user program tries to open it for >reading or writing, a process is started that runs the program, and >ties its stdin and stdout to the user program open. All I/O to and >from the pdev appears to the user as though it is simply reading and >writing a device; the pdev can open real or pseudo-devices and do real >I/O as appropriate. Ordinarily, the last close will cause the pdev to >stop running and exit. . . . SPRITE pseudo-devices are very similar to this idea; one main difference is the way open/close are handled. SPRITE is a Berkeley research project. I believe the paper "Pseudo Devices: User-Level Extensions to the Sprite File System" is in the USENIX proceedings from a couple years back (in San Francisco). This stuff also runs on BSD, if I remember the paper correctly. wade