Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

microkernels

0 views
Skip to first unread message

Nathan Langford

unread,
Jul 2, 2003, 11:16:07 AM7/2/03
to tech...@netbsd.org
Hi,

In college, there was a lot of talk about microkernels being ideologically
superior to traditional monolithic kernels, but everything I've read about
real-world implementations seems to point to problems with message passing
inefficiencies. Even so-called microkernel OS X seems to deviate greatly
from the microkernel paradigm in order to make Mach work in the real
world. Given NetBSD's focus on technical elegance, what do people here
think about the supposed superiority of microkernels.

-Nathan

Tom Ivar Helbekkmo

unread,
Jul 2, 2003, 11:51:31 AM7/2/03
to Nathan Langford, tech...@netbsd.org
Nathan Langford <n...@sdf.lonestar.org> writes:

> In college, there was a lot of talk about microkernels being
> ideologically superior to traditional monolithic kernels, but
> everything I've read about real-world implementations seems to point
> to problems with message passing inefficiencies.

This reminds me of what Dave Presotto, one of the core people behind
the Plan 9 operating system (at Bell Labs) said, when he was asked why
Plan 9 wasn't microkernel based:

"Because you need a brain the size of a planet to design a microkernel
based system, and we only have egos that big."

-tih
--
Tom Ivar Helbekkmo, Senior System Administrator, EUnet Norway
www.eunet.no T: +47-22092958 M: +47-93013940 F: +47-22092901

Ian Zagorskih

unread,
Jul 2, 2003, 11:56:02 AM7/2/03
to Nathan Langford, tech...@netbsd.org
On Wednesday 02 July 2003 15:15, Nathan Langford wrote:
> Hi,
>
> In college, there was a lot of talk about microkernels being ideologica=
lly
> superior to traditional monolithic kernels, but everything I've read ab=
out
> real-world implementations seems to point to problems with message pass=
ing
> inefficiencies. Even so-called microkernel OS X seems to deviate great=

ly
> from the microkernel paradigm in order to make Mach work in the real
> world. Given NetBSD's focus on technical elegance, what do people here
> think about the supposed superiority of microkernels.
>
> -Nathan

Before NetBSD i worked alot with microkernel OS QNX4 and i cannot say it'=
s
supperior or not. Just another ideology. Every architecture has it's own
benefits and weak sides.

--
JSC Novosibirsk Geophysical Equipment Development Center.
WEB http://www.megasignal.com

Ian Zagorskih

unread,
Jul 2, 2003, 3:40:14 PM7/2/03
to Gary Thorpe, tech...@netbsd.org
On Wednesday 02 July 2003 19:17, Gary Thorpe wrote:
> >
> > Before NetBSD i worked alot with microkernel OS QNX4 and i cannot say
> > it's

> > supperior or not. Just another ideology. Every architecture has it's
> > own
> > benefits and weak sides.
>
> Yes, but some architectures are better than others, despite all having
> benefits and weaknesses (of course everyone has differing opinions on
> which ones are better). Would you like to replace your modern
> multitasking OS with CP/M or DOS 3.3 - after all everything has
> strengths and weaknesses? It depends on what you want to do with the
> OS. So what are microkernels well suited for as compared to monolithic
> systems? In what cases would you opt for one over the other?
>

Ohh well, this is a long topic and i'm really not so long in BSD world, l=
ess
then two months. After five or six years in embedded design for QNX4.x. A=
nd
this is 2:38 of night atm here so i'm a bit tired to type a long objectiv=
e
letter :)

But this topic is quite interesting [IMO] and i found something good
developing embedded stuff for NetBSD now same as i lost some good QNX
specific features i used to use in the past. So if you want i can at leas=
t
try to write a bit later some esse a'la "From system developer's point of=

view: moving from true network distributed micro kernel OS QNX4 to solid
kernel OS NetBSD".

Ivo Vachkov

unread,
Jul 2, 2003, 4:23:49 PM7/2/03
to tech...@netbsd.org
Since most of us here are interested in OS development I think it's a
good idea someone to introduce pros/cons of MicroKernels vs. Monolithic
Kernels OSs :) Further more, QNX is neither OpenSource, nor Free so in
one way or another it's hard to get information on it's design. So the
point is when you have the time write your "From system developer's
point of view: moving from true network distributed micro kernel OS QNX4
to solid kernel OS NetBSD" :)

Ian Zagorskih wrote:
> On Wednesday 02 July 2003 19:17, Gary Thorpe wrote:
>
>>>Before NetBSD i worked alot with microkernel OS QNX4 and i cannot say
>>>it's
>>>supperior or not. Just another ideology. Every architecture has it's
>>>own
>>>benefits and weak sides.
>>
>>Yes, but some architectures are better than others, despite all having
>>benefits and weaknesses (of course everyone has differing opinions on
>>which ones are better). Would you like to replace your modern
>>multitasking OS with CP/M or DOS 3.3 - after all everything has
>>strengths and weaknesses? It depends on what you want to do with the
>>OS. So what are microkernels well suited for as compared to monolithic
>>systems? In what cases would you opt for one over the other?
>>
>
>

> Ohh well, this is a long topic and i'm really not so long in BSD world, less
> then two months. After five or six years in embedded design for QNX4.x. And
> this is 2:38 of night atm here so i'm a bit tired to type a long objective

> letter :)
>
> But this topic is quite interesting [IMO] and i found something good
> developing embedded stuff for NetBSD now same as i lost some good QNX

> specific features i used to use in the past. So if you want i can at least

> try to write a bit later some esse a'la "From system developer's point of

felix zaslavskiy

unread,
Jul 2, 2003, 5:02:10 PM7/2/03
to tech...@netbsd.org
This is loaded question. Existance of Linux is partly due to the
micro/mono kernel design difference. I would take a look at the
Tannenbaum-Torvald Debate (flame?) Its reprinted in book OpenSources
but its bound to be somewhere online. And yes if you read Tannenbaums
Modern OS book which many college level OS courses use he does still
advocate microkernel design. I would also look into the design of Mach.

I dont see how its relevant to NetBSD in any case.

Gary Thorpe

unread,
Jul 2, 2003, 5:27:28 PM7/2/03
to ian...@megasignal.com, Nathan Langford, tech...@netbsd.org
--- Ian Zagorskih <ian...@megasignal.com> wrote: > On Wednesday 02

July 2003 15:15, Nathan Langford wrote:
> > Hi,
> >
> > In college, there was a lot of talk about microkernels being
> ideologically

> > superior to traditional monolithic kernels, but everything I've
> read about

> > real-world implementations seems to point to problems with message
> passing

> > inefficiencies. Even so-called microkernel OS X seems to deviate
> greatly

> > from the microkernel paradigm in order to make Mach work in the
> real
> > world. Given NetBSD's focus on technical elegance, what do people
> here
> > think about the supposed superiority of microkernels.
> >
> > -Nathan
>
> Before NetBSD i worked alot with microkernel OS QNX4 and i cannot say
> it's
> supperior or not. Just another ideology. Every architecture has it's
> own
> benefits and weak sides.

Yes, but some architectures are better than others, despite all having


benefits and weaknesses (of course everyone has differing opinions on
which ones are better). Would you like to replace your modern
multitasking OS with CP/M or DOS 3.3 - after all everything has
strengths and weaknesses? It depends on what you want to do with the
OS. So what are microkernels well suited for as compared to monolithic
systems? In what cases would you opt for one over the other?

>

> --
> JSC Novosibirsk Geophysical Equipment Development Center.
> WEB http://www.megasignal.com
>

______________________________________________________________________
Post your free ad now! http://personals.yahoo.ca

Steve Rumble

unread,
Jul 2, 2003, 6:35:08 PM7/2/03
to fe...@students.poly.edu, tech...@netbsd.org
On 02 Jul 2003 16:50:04 -0400
felix zaslavskiy <fe...@students.poly.edu> wrote:

> This is loaded question. Existance of Linux is partly due to the
> micro/mono kernel design difference. I would take a look at the
> Tannenbaum-Torvald Debate (flame?) Its reprinted in book OpenSources
> but its bound to be somewhere online. And yes if you read Tannenbaums
> Modern OS book which many college level OS courses use he does still
> advocate microkernel design. I would also look into the design of
> Mach.

http://www.oreilly.com/catalog/opensources/book/appa.html

-Steve

Matthew Mondor

unread,
Jul 2, 2003, 7:41:19 PM7/2/03
to tech...@netbsd.org
On Wed, Jul 02, 2003 at 03:17:22PM -0400, Gary Thorpe wrote:

> Yes, but some architectures are better than others, despite all having
> benefits and weaknesses (of course everyone has differing opinions on
> which ones are better). Would you like to replace your modern
> multitasking OS with CP/M or DOS 3.3 - after all everything has
> strengths and weaknesses? It depends on what you want to do with the
> OS. So what are microkernels well suited for as compared to monolithic
> systems? In what cases would you opt for one over the other?

I personally found microkernels very well suited in situations where
the same system had to be adapted to multiple hardware configurations
in a fast manner... The other reason I like them is for development
of kernel components where it becomes as easy as to work with userspace
applications to debug/monitor and test, without always having to reboot
a system.

Another interesting aspect is that a generic kernel which supports
almost all hardware available for an architecture can initially still be
small and only load in the necessary components for the current hardware...

There of course also are programming style issues, microkernel components
programmers like to implement everything in the form of main event processing
loops or packet servers. Most drivers are like userspace daemons using
established APIs, and are actually independant from the microkernel itself,
which only provides the very basic APIs to link glue the whole thing
(scheduling, intertask I/O, locking primitives, memory management and
relocatable binary loader with runtime dynamic linker).

Matt

Ian Zagorskih

unread,
Jul 3, 2003, 5:40:53 AM7/3/03
to fe...@students.poly.edu, tech...@netbsd.org

Thank you for this link, i'v read this discussuin with great interest. It=
's
hm... at least very fun :) Specially reading it today after ~10 years.

0 new messages