Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!rutgers!ames!ucbcad!ucbvax!sdcsvax!mod-os From: mod-os@sdcsvax.uucp Newsgroups: mod.os Subject: User-state file servers versus kernel implementation Message-ID: <2458@sdcsvax.UCSD.EDU> Date: Tue, 13-Jan-87 21:36:07 EST Article-I.D.: sdcsvax.2458 Posted: Tue Jan 13 21:36:07 1987 Date-Received: Wed, 14-Jan-87 05:39:28 EST Sender: darrell@sdcsvax.UCSD.EDU Reply-To: ucbvax!decwrl!fastdb.DEC!discolo Lines: 56 Approved: mod-os@sdcsvax.uucp -- > Alternatively, does it matter? It's all very well to say that your file > system is in a user-state server rather than in your kernel, but your users > are probably just as dependent on every little detail being right. To make > user-state servers more than an irrelevant implementation detail, the user > must be offered a choice of servers AND IT MUST BE EASY TO WRITE A SERVER! > Or at least, not impossibly hard. If writing a server is as touchy a job > as writing the equivalent inside the kernel, the wonderful flexibility will > get little use. I agree. For my master's project I wrote a distributed file system for 4.2BSD VAX/UNIX. All of the important code for the distributed file system was done in the kernel. Unfortunately, I was only able to bring the file system up on four VAXen. If I had designed the distributed file system so that a user-level server could have been written for *any* BSD-like UNIX system, I could have had my project on all the machines in the College of Engineering -- the VAXen plus over 30 SUNs! Also, debugging the kernel had to be done late at night when nobody in their right mind should have been awake! If I had user-level servers to debug, I could have done it during the day. Ugh. Also, crashes of my file system meant a reboot of the machine, and crashes of a user-level server simply mean remote file access would be down for a while. However, the performance of my distributed file system was extremely good. I think it had about twice the throughput of SUN's NFS. I guess the main reason I designed my distributed file system in the kernel was to ensure that existing binaries did not have to be recompiled to take advantage of remote access. I don't think this is possible with user-level servers, is it? If it is, could you please direct me to technical information about how this is/was/could be done? I would be very interested. [Conceptually it is easy to do, take a look at the MACH papers. -DL] Anthony Discolo ----- Anthony Discolo +---+---+---+---+---+---+---+ | d | i | g | i | t | a | l | +---+---+---+---+---+---+---+ Database Systems Group 301 Rockrimmon Blvd. South Mailstop CX01-2/N23 Colorado Springs, CO 80919 UUCP: ucbvax!decwrl!fastdb.DEC!discolo ARPA: fastdb.DEC!discolo@decwrl.DEC.COM --