Re: [HACKERS] fork/exec for backend

From: Goran Thyni <goran(at)bildbasen(dot)se>
To: tom(at)sdf(dot)com
Cc: hackers(at)postgreSQL(dot)org
Subject: Re: [HACKERS] fork/exec for backend
Date: 1998-01-24 22:16:53
Message-ID: 19980124221653.8668.qmail@guevara.bildbasen.se
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


On 24 Jan 1998, Goran Thyni wrote:

> Fork on modern unices (linux and (a think) *BSD) cost
> almost nothing (in time and memory) thanks to COW (copy-on-write).
> Exec in expensive as it breaks COW.

Not so. Modern Unixs will share executable address space between
processes. So if you fork and exec 10 identical programs, they will share
most address space.

1. Code is probably not shared between postmaster and postgres
processes.

2. Some inits may be done once (by postmaster) and not repeated
by every child.

3. (and most important)
With no exec COW is in action, meaning:
data pages in shared until changed.

COW is the key to how Linux can fork faster than most unices
starts a new thread. :-)

Again, this only applies to "modern" systems, but FreeBSD definitely has
this behaviour.

I don't know if *BSD has COW, but if should think so.

best regards,
--
---------------------------------------------
Gran Thyni, sysadm, JMS Bildbasen, Kiruna

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Brett McCormick 1998-01-24 22:46:58 Re: [QUESTIONS] Re: [HACKERS] Show stopper ? (was: Re: "cruising" or "browsing" through tables using an index / ordering)
Previous Message Tom 1998-01-24 21:35:33 Re: [HACKERS] fork/exec for backend