From owner-freebsd-hackers Wed Mar 27 00:41:04 1996 Return-Path: owner-hackers Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id AAA07477 for hackers-outgoing; Wed, 27 Mar 1996 00:41:04 -0800 (PST) Received: from cs.utah.edu (cs.utah.edu [128.110.4.21]) by freefall.freebsd.org (8.7.3/8.7.3) with SMTP id AAA07471 for ; Wed, 27 Mar 1996 00:41:01 -0800 (PST) Received: from bottles.cs.utah.edu by cs.utah.edu (8.6.12/utah-2.21-cs) id BAA14022; Wed, 27 Mar 1996 01:40:54 -0700 Received: by bottles.cs.utah.edu (8.6.10/utah-2.15-leaf) id BAA11882; Wed, 27 Mar 1996 01:40:43 -0700 From: sclawson@bottles.cs.utah.edu (steve clawson) Message-Id: <199603270840.BAA11882@bottles.cs.utah.edu> Subject: Re: OSF Micro Kernel for Linux/FreeBSD/etc To: babkin@hq.icb.chel.su (Serge A. Babkin) Date: Wed, 27 Mar 96 1:40:43 MST Cc: dgy@rtd.com, mikebo@tellabs.com, freebsd-hackers@freefall.freebsd.org In-Reply-To: <199603270540.KAA14498@hq.icb.chel.su>; from "Serge A. Babkin" at Mar 27, 96 10:40 am X-Mailer: ELM [version 2.3 PL11] Sender: owner-hackers@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk Serge A. Babkin uttered: > And yet someone else said: > > Um, speaking *mostly* from ignorance but I think Mklinux is implemented > > as a single-server atop Mach. So, in that sense, it's still a monolithic > > kernel (albeit residing atop a microkernel). I don't think they've really > > gone too far afield and tried for a multi-server... Can someone shed any > > more light on this? It's basically what's been called a ``single server''. This has been a pretty standard implementation technique for servers on Mach. Basically you take a monolithic system, hack off the bottom and replace that with calls to Mach. Since you have to worry about preemtability in user space, generally there's a certain amount of locking/threading that also takes place, although none of the single servers that I know about are terribliy multithreaded (generally there's a ``unix master lock'' that you have to aquire before doing much of anything). There have been a couple attemts at a multi-server on Mach, Mach-US and the Hurd being the two best known examples. > I have talked with peoples from DEC Moscow about DigitalUnix (former OSF/1). > They said that the last version of it has monolithic kernel on top of Mach. > They said also that DEC did this for both performance and stability reasons. > So it looks like the microkernel is a bad idea yet. Although, I know that > peoples in DEC Moscow indeed have very little information from DEC about > anything except prices :-) and their words may be completely wrong. OSF/1 has always been a monolithic system. It's based on Mach 2.x, which is basically just 4.3BSD code that was modified to make Mach low-level calls instead. There is no server, since everything is in the kernel. Even if there was a server, I wouldn't venture to call anything Mach `micro'. =) OSF/1 MK is a serverized version of OSF/1, the same as Mach 3.0/UX is the serverized version of Mach 2.x. Basically they took the code that was above the Mach layer and moved it into a server, just keeping the Mach abstractions in the kernel. However, lately even OSF/1 MK has been doing ``In Kernel Servers'', where they move the server back into the kernel's address space and sort-circuit the RPC's (turn them into function calls) to get better performance. steve -- // stephen clawson sclawson@cs.utah.edu // university of utah