From owner-freebsd-hackers Wed Nov 13 07:04:13 1996 Return-Path: owner-hackers Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id HAA21198 for hackers-outgoing; Wed, 13 Nov 1996 07:04:13 -0800 (PST) Received: from whale.gu.kiev.ua ([194.93.190.4]) by freefall.freebsd.org (8.7.5/8.7.3) with ESMTP id HAA21138 for ; Wed, 13 Nov 1996 07:04:00 -0800 (PST) Received: from creator.gu.kiev.ua (stesin@creator.gu.kiev.ua [194.93.190.3]) by whale.gu.kiev.ua (8.7.5/8.7.3) with SMTP id RAA35586; Wed, 13 Nov 1996 17:03:41 +0200 Date: Wed, 13 Nov 1996 17:03:40 +0200 (EET) From: Andrew Stesin X-Sender: stesin@creator.gu.kiev.ua To: Michael Hancock cc: FreeBSD Hackers Subject: Re: Programming technique for non-forking servers? In-Reply-To: Message-ID: X-NCC-RegID: ua.gu MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-hackers@freebsd.org X-Loop: FreeBSD.org Precedence: bulk Hello, On Wed, 13 Nov 1996, Michael Hancock wrote: > [cc:Trimmed] > > Is forking on FreeBSD all that bad? Of course, no! But I have an impression that there's easier to implement locking of shared memory and file resources inside a single-process server than with some kind of IPC. There is SysV IPC around, but it has it's limitations. Using mmap() as a shared memory pool? isn't so clear and transparent for me (at least now), and generally isn't documented; so the question remains opened, that's why I'm asking about where a Fine Manual resides which should be read. Content-based locking of memory areas is a question, too. I remember there was recently a set of patches to FreeBSD kernel by Ron M. Sarnoff (?), adding ability to do content-based memory locks at kernel level, thus helpful for forking server; but what was their further faith? A project I'm planning is supposedly close to special kind of a database server, which supports transactions and multiple client connections at a time. But my education isn't yet sufficient for getting a clear concept of How Should This Be Done. So pointers to a good tutorial on _practical_ transaction processing are welcome. Non-forking server came to mind just because I think that I can "reinvent the wheel" of concurrency control inside a single process with a better success. Now I'm waiting for Stevens' book to come (everyone recommend it, despite of it's comparative oldness - 1992), and have also found a pointer to some books from Prentice-Hall: "Performance of Concurrency Control Mechanisms in Centralized Data", 1/e by Vijay Kumar, University of Missouri, Kansas City. Published September, 1995 by Prentice Hall ESM ISBN 0-13-065442-6 Any opinions on this one? They also have a serie of books on programming multithreaded applications. > On Wed, 13 Nov 1996, Andrew Stesin wrote: > > > I mean those like Squid, Harvest cached, probably Gated > > (there is also a non-forking WWW server somewhere, but > > I forgot it's name, for a pity). > > Roxen, previously Spinner. Thanks! > Regards, > > > Mike Hancock > -- Best, Andrew Stesin nic-hdl: ST73-RIPE