Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!cmcl2!brl-adm!adm!aglew%xenurus@gswd-vms.Gould.COM From: aglew%xenurus@gswd-vms.Gould.COM (Andy Glew) Newsgroups: comp.unix.wizards Subject: Re: Free Software Foundation (was: R Message-ID: <9510@brl-adm.ARPA> Date: Mon, 28-Sep-87 10:07:19 EDT Article-I.D.: brl-adm.9510 Posted: Mon Sep 28 10:07:19 1987 Date-Received: Tue, 29-Sep-87 04:31:08 EDT Sender: news@brl-adm.ARPA Lines: 36 >Doug Gwyn : > >>preston@felix.UUCP (Preston Bannister): >>The fork call is going to be awefully expensive, as a copy of the >>entire data space of the parent will be made. > >It need not be; don't copy the pages until a attempt to modify them occurs. I assume that you are talking about copy-on-write. On some systems COW is a big win - on others, maybe not as much as you'd hoped. (1) You still have to copy the PTEs, or whatever segment/page virtual addressing data structures you have. ON large codes (like, say, a big array muncher that calls a subprocess - or, closer to home, GNU EMACS) copying the PTEs can take a long time. (2) Each COW may be expensive - particularly if you have TLB/cache hardware with no flush-page command (or if you have such a command, but the implementation is simpleminded (ie. read optimized for regular accesses, not throughput)). (3) COW depends on precise interrupts, as does any type of page faulting. Big machines like Cray don't have virtual memory; moreover, the cost of RAM is falling fast enough that non-page-faulting machines become interesting again. (They may have memory mapping). On such a machine, COW doesn't help you much. Andy "Krazy" Glew. Gould CSD-Urbana. USEnet: ihnp4!uiucdcs!ccvaxa!aglew 1101 E. University, Urbana, IL 61801 ARPAnet: aglew@gswd-vms.arpa I always felt that disclaimers were silly and affected, but there are people who let themselves be affected by silly things, so: my opinions are my own, and not the opinions of my employer, or any other organisation with which I am affiliated. I indicate my employer only so that other people may account for any possible bias I may have towards my employer's products or systems.