From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by yquem.inria.fr (Postfix) with ESMTP id 34F89BC0A for ; Wed, 6 Jun 2007 00:54:14 +0200 (CEST) Received: from chokecherry.srv.cs.cmu.edu (CHOKECHERRY.SRV.CS.CMU.EDU [128.2.185.41]) by concorde.inria.fr (8.13.6/8.13.6) with ESMTP id l55MsBH6011181 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL) for ; Wed, 6 Jun 2007 00:54:13 +0200 Received: from stratocaster.home (pool-70-17-170-196.pitt.east.verizon.net [70.17.170.196]) (authenticated bits=0) by chokecherry.srv.cs.cmu.edu (8.13.6/8.13.6) with ESMTP id l55MsAia004404 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 5 Jun 2007 18:54:11 -0400 (EDT) Received: from ecc by stratocaster.home with local (Exim 4.63) (envelope-from ) id 1Hvhu9-00083U-IB for caml-list@inria.fr; Tue, 05 Jun 2007 18:53:33 -0400 Date: Tue, 5 Jun 2007 18:53:33 -0400 To: caml-list@inria.fr Subject: Re: [Caml-list] re: We should all be forking Message-ID: <20070605225333.GB30687@stratocaster.home> Mail-Followup-To: caml-list@inria.fr References: <20070605223047.GB30586@yumegakanau.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20070605223047.GB30586@yumegakanau.org> User-Agent: Mutt/1.5.13 (2006-08-11) From: Eric Cooper X-Miltered: at concorde with ID 4665E993.001 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; unix:01 unix:01 wrote:01 caml-list:01 data:02 philosophy:02 guess:04 bsd:04 scheme:05 dec:05 shared:05 fork:05 fork:05 tue:06 labs:06 On Tue, Jun 05, 2007 at 03:30:47PM -0700, Christopher Cramer wrote: > If the fork had to copy the entire process image before just > throwing it away upon exec, I think Unix, which is based around a > philosophy of piping between multiple processes, would have > abandoned fork a long time ago. Then again, there is vfork, so I > guess they almost did abandon it at one point. vfork was introduced in BSD Unix when support for page-based virtual memory was added for the DEC VAX. There was an earlier Bell Labs port of Unix to the VAX that just mimicked the PDP-11's segment registers. In that scheme, I believe text segments were shared, so that only the data segment had to be copied on fork, but copy-on-write is the way to go on any architecture with page tables. -- Eric Cooper e c c @ c m u . e d u