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%.