Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!rutgers!cs.utexas.edu!csd4.milw.wisc.edu!leah!rpi!sun.soe.clarkson.edu!cline From: cline@suntan.ece.clarkson.edu (Marshall Cline) Newsgroups: comp.unix.wizards Subject: Is update(8) a hack? (was: Re: 6386 shutdown: I CAN'T BELIEVE at&t was really this stupid!) Message-ID: Date: 22 Jun 89 17:52:08 GMT References: <483@oglvee.UUCP> <14401@bfmny0.UUCP> <12044@bloom-beacon.MIT.EDU> <2294@drilex.UUCP> Sender: news@sun.soe.clarkson.edu Reply-To: cline@sun.soe.clarkson.edu (Marshall Cline) Organization: Clarkson University, Postdam NY Lines: 28 In-reply-to: dricejb@drilex.UUCP's message of 22 Jun 89 14:09:15 GMT In article <2294@drilex.UUCP> dricejb@drilex.UUCP (Craig Jackson drilex1) writes: >Personally, I've always thought that update(8) was a hack, ever since I >first saw it in Version 7. To think that someone would write an operating >system that couldn't even keep its on-disk data structures consistent... Sorry, don't agree. One of the philosophical issues upon which Un*x is built is the separation of policy and mechanism. The kernel takes care of mechanism, with as little policy as possible. (No one would claim Un*x does a perfect at this separation, but it tries). As applications get closer to the user, many policy decisions are made (ex: the _kernel_ treats only two chars ['/' and '\0'] as special in a filename, but the shell has lots of meta-chars; furthermore the "-flag" system isn't special to the shell, but many applications follow the getopt(3) route; etc). Avoiding delayed-write would, in general, bring performance down pretty badly. Given an OS that _does_ have delayed-write, the only question is: how often should we "sync" the system? Personally, I think this _policy_ decision should be left _OUT_ of the kernel. Marshall -- ________________________________________________________________ Marshall P. Cline ARPA: cline@sun.soe.clarkson.edu ECE Department UseNet: uunet!sun.soe.clarkson.edu!cline Clarkson University BitNet: BH0W@CLUTX Potsdam, NY 13676 AT&T: 315-268-6591