Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!mnetor!seismo!rochester!pt!zog.cs.cmu.edu!dlc
From: dlc@zog.cs.cmu.edu (Daryl Clevenger)
Newsgroups: comp.unix.questions
Subject: Another fork question
Message-ID: <1032@zog.cs.cmu.edu>
Date: Tue, 30-Jun-87 11:51:23 EDT
Article-I.D.: zog.1032
Posted: Tue Jun 30 11:51:23 1987
Date-Received: Sun, 5-Jul-87 20:22:39 EDT
Reply-To: dlc@zog.cs.cmu.edu (Daryl Clevenger)
Organization: Carnegie-Mellon University, CS/RI
Lines: 23

Keywords:


Newsgroups: comp.unix.questions
Subject: Another related fork question
Organization: Carnegie Mellon University


    When I took an OS course, our text went over 4.2BSD as an example of an
implementation of an OS.  One point that was made is that the reason that
copy-on-write fork was not implemented in any BSD was beacause of a hardware
bug in the VAX 11/750.  If this is true (I don't know, is it?), then I see
the lack of copy-on-write fork implementations as the only reason for
implementing vfork().  There is no need for this ugly kludge, if fork()
were implemented correctly in the first place.  Just because the csh used
it or had a need for it is no excuse, why couldn't copy-on-write have been
used where it worked and different code on used the 750?  I know, one doesn't
want different behavior between binary compatible machines, but forking is
so common in UNIX, I really see a justification for doing copy-on-write
forks in the first place.  Of course, I am assuming that this would be as
efficient as vfork(), but if not, then maybe I am deluded.  Is my piece of
information/BSD a myth or a fact?  Did I miss something in the remainder
as far as copy-on-write vs. vfork() (besides the `shared' memory)?

						Daryl Clevenger
P.S. Guy, I agree with you 100%.