Date: Wed, 27 Mar 96 1:40:43 MST From: sclawson@bottles.cs.utah.edu (steve clawson) To: babkin@hq.icb.chel.su (Serge A. Babkin) Cc: dgy@rtd.com, mikebo@tellabs.com, freebsd-hackers@freefall.freebsd.org Subject: Re: OSF Micro Kernel for Linux/FreeBSD/etc Message-ID: <199603270840.BAA11882@bottles.cs.utah.edu> In-Reply-To: <199603270540.KAA14498@hq.icb.chel.su>; from "Serge A. Babkin" at Mar 27, 96 10:40 am
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199603270840.BAA11882>