🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: mod.os
Article #16

User-state file servers versus kernel implementation

#16
From: mod-os
Date: Wed, 14 Jan 1987 02:36
56 lines
2877 bytes
--

> 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

--
Technical Details
Message-ID: <2458@sdcsvax.UCSD.EDU>
Path: arc1-ca.pugleaf.net!utzoo!mnetor!seismo!rutgers!ames!ucbcad!ucbvax!sdcsvax!mod-os

Show Full Headers
Complete Article Headers
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: arc1-ca.pugleaf.net!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