Skip site navigation (1)Skip section navigation (2)
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>