Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!seismo!rutgers!ames!sdcsvax!ucbvax!cs.umass.EDU!MOSS From: MOSS@cs.umass.EDU ("Eliot Moss, GRC A351B, x5-4206") Newsgroups: comp.os.vms Subject: RE: Protected access to data files Message-ID: <8708090249.AA08384@ucbvax.Berkeley.EDU> Date: Thu, 6-Aug-87 07:16:00 EDT Article-I.D.: ucbvax.8708090249.AA08384 Posted: Thu Aug 6 07:16:00 1987 Date-Received: Sun, 9-Aug-87 13:05:40 EDT Sender: daemon@ucbvax.BERKELEY.EDU Distribution: world Organization: The ARPA Internet Lines: 25 Funny you should talk about using a device driver to fire up a user program for access to files, etc. You see, years ago at an Institute not so far away (MIT), there was (still is perhaps) an operating system called ITS for the PDP-10 and its descendants. While definitely very much a home brew system full of hacks (even the name ITS is a joke: Incompatible Timesharing System; remember CTSS, the Compatible Time SHaring System?), ITS did provide a lot of advanced features. One was the ability to run many processes at once, organized as a tree in which each node could control its children. Another, relevant to the case at hand, was the ability to define new devices in software, that could do anything whatsoever (e.g., provide protected access to files -- except ITS has no protection, so why bother, unless maybe the active program decrypts an encrypted file, but beware! The source is probably accessible to everyone...) Anyway, it worked by causing a job to be fired off for each open on the device (called a JOB device, logically enough), and the job could then open the "other side" of the device (called the BOJ device) and extract details of each I/O request as they became available. The OS would translate all the possible requests to a smaller number of requests in canonial form, simplifying the BOJ device end, and would also handle providing the data back to the client (as well as accepting data for writes). I actually wrote one of these; it displayed a laser printer spooler queue as I recall. Anyway, it's been done before; you could probably get the spec to get ideas on what is necessary; and I think it's a great idea to try to build one for VMS! Eliot Moss