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

MINIX 3 on Slashdot

17 views
Skip to first unread message

ast

unread,
May 8, 2006, 11:47:49 AM5/8/06
to
We seem to be in the news again :-)

See http://developers.slashdot.org/developers/06/05/08/1058248.shtml

The discussion is dominated by people who have clearly never used a
microkernel but feel they are experts on the subject nevertheless.
Might be nice if people who have actually used one posted some comments
based on actual experience.

Andy Tanenbaum

noj...@gate.cpmet.ufpel.tche.br

unread,
May 8, 2006, 8:52:30 PM5/8/06
to

ast wrote:
> We seem to be in the news again :-)
>
> See http://developers.slashdot.org/developers/06/05/08/1058248.shtml
>
> The discussion is dominated by people who have clearly never used a
> microkernel but feel they are experts on the subject nevertheless.

Not exactly a surprise considering the average level of discussion
at slashdot. In fact the converse would be a huge surprise for me.

> Might be nice if people who have actually used one posted some comments
> based on actual experience.

Please don't get me wrong but I don't think it is worthwile to engage
on
discussions at slashdot. Most of that hot air is there to just atract
people
to the banner ads. I'd prefer to ignore such endless bulshit. All those
foolish comments will be forgotten in some days.

> Andy Tanenbaum

--- Casantos

acah...@gmail.com

unread,
May 9, 2006, 1:43:13 AM5/9/06
to
> The discussion is dominated by people who have clearly never used a
> microkernel but feel they are experts on the subject nevertheless.
> Might be nice if people who have actually used one posted some comments
> based on actual experience.

Might be nice? Sure? OK...

I was a microkernel OS developer for over 2.5 years. This was
a commercial OS used in the real world, not some academic toy.
We had about 50 developers for kernel, drivers, C library, and
a distributed OS layer. We had bright people. We did ISO9000.
We had OS developers with UNICOS, Ultrix, and VxWorks experience.
We were post-Mach, with people who knew that disaster first hand.
Our OS was portable to i860, SHARC, and PowerPC. We had inspiring
management, good food, and good pay.

(you might know the company and OS; they co-sponsered the SOSP
conference in which you tore into some poor guy who dared to
give a talk about an IMAP/POP-style email system that tolerates
wireless devices that sometimes lose power and connection)

Obviously I used the OS, so I have "actual experience".

It sucked, and the microkernel design was a large part of that.

It's hard for me to express just how painful it was working on
this system. The microkernel nonsense was always getting in the
way. You can't call there from here, you can't access that...

Reliability suffered. This should be obvious. It's easier to debug
one complex blob of code than it is to debug complex interactions
among numerous extra-complex blobs of code. I didn't mistype that.
Function calls are simple. Adding a message-passing layer is surely
not an improvement!

Any modern monolithic kernel is a breath of fresh air. Linux is
particularly clean, beautiful, and portable.

Porting that microkernel OS was possible. We did it. We ported
from i860 to SHARC and PowerPC, then made the SHARC and PowerPC ports
run in little-endian mode as well. Linux is way easier to port.
Today the company is moving toward Linux; the old OS is still
supported as a legacy thing.

Last I checked your books, you liked to use nasty old SysV and
worse as your monolithic kernel examples. I dearly hope you
no longer do so; if not I shall say "Mach!" to you. :-)

I do find that microkernels have one major advantage. They provide
much better job security as long as the company doesn't sink and
the developers don't go insane. (semi-serious: we had one guy who
suddenly moved to Hawaii w/o a new job, and another who quit to
spend some time as an auto mechanic) The extra baggage creates a
learning curve that can leave a new hire unproductive for many months.

It's interesting that decades have passed without a successful
general-purpose OS based on a microkernel design. (not co-located,
not just RT embedded stuff, etc.) GNU HURD is closest, and we all
know how well that has worked out. If the microkernel ideas had any
merit, somebody would have succeded by now.

Ivan Kelly

unread,
May 9, 2006, 6:36:08 AM5/9/06
to
> It's interesting that decades have passed without a successful
> general-purpose OS based on a microkernel design.
It may not be general purpose, but Symbian OS is a microkernel, and
it's successful.
-ivan

Gary

unread,
May 10, 2006, 3:15:54 PM5/10/06
to
Mac OS X's XNU is a hybrid kernel.
How about QNX? It's not going away any time soon.

intelec

unread,
May 10, 2006, 6:15:05 PM5/10/06
to
My friend:

What are you doing on this Minix Microkernel Newsgroup if you think
that the Microkernels does not have merits?

In other way, that the company for that you work, don´t have
sucessfull bussines with Microkernel OS do not mean that all
Microkernel sucks and in special Minix.

I am not a fanatic about computers or the tecnology, I am a pragmatic
person, if you or somebody like Monolitic kernels good for you or them,
but if somebody like or found usefull Minix for whatever reason and has
something to provide to the community, !Share it!.

Armin Steinhoff

unread,
May 11, 2006, 5:16:19 AM5/11/06
to
acah...@gmail.com wrote:
>>The discussion is dominated by people who have clearly never used a
>>microkernel but feel they are experts on the subject nevertheless.
>>Might be nice if people who have actually used one posted some comments
>>based on actual experience.
>
>
> Might be nice? Sure? OK...
>
> I was a microkernel OS developer for over 2.5 years. This was
> a commercial OS used in the real world, not some academic toy.
> We had about 50 developers for kernel, drivers, C library, and
> a distributed OS layer. We had bright people. We did ISO9000.
> We had OS developers with UNICOS, Ultrix, and VxWorks experience.
> We were post-Mach, with people who knew that disaster first hand.
> Our OS was portable to i860, SHARC, and PowerPC. We had inspiring
> management, good food, and good pay.
>
> (you might know the company and OS; they co-sponsered the SOSP
> conference in which you tore into some poor guy who dared to
> give a talk about an IMAP/POP-style email system that tolerates
> wireless devices that sometimes lose power and connection)
>
> Obviously I used the OS, so I have "actual experience".
>
> It sucked, and the microkernel design was a large part of that.
>
> It's hard for me to express just how painful it was working on
> this system. The microkernel nonsense was always getting in the
> way. You can't call there from here, you can't access that...

So what do you expect after a development time of 2.5 years :-)

QNX e.g. is more than 20 years very successful in the field of
microkernel based OSses ... and theire 'design' is very usefull!


> Reliability suffered. This should be obvious. It's easier to debug
> one complex blob of code than it is to debug complex interactions
> among numerous extra-complex blobs of code. I didn't mistype that.
> Function calls are simple. Adding a message-passing layer is surely
> not an improvement!

No ... it is an absolutely usefull improvement!

> Any modern monolithic kernel is a breath of fresh air. Linux is
> particularly clean, beautiful, and portable.

... and a fast moving target! About what kernel version you are
talking about??

> Porting that microkernel OS was possible. We did it. We ported
> from i860 to SHARC and PowerPC, then made the SHARC and PowerPC ports
> run in little-endian mode as well. Linux is way easier to port.
> Today the company is moving toward Linux; the old OS is still
> supported as a legacy thing.

Yes ... I know these types of inhouse 'operating systems' :-)

> Last I checked your books, you liked to use nasty old SysV and
> worse as your monolithic kernel examples. I dearly hope you
> no longer do so; if not I shall say "Mach!" to you. :-)
>
> I do find that microkernels have one major advantage. They provide
> much better job security as long as the company doesn't sink and
> the developers don't go insane. (semi-serious: we had one guy who
> suddenly moved to Hawaii w/o a new job, and another who quit to
> spend some time as an auto mechanic) The extra baggage creates a
> learning curve that can leave a new hire unproductive for many months.
>
> It's interesting that decades have passed without a successful
> general-purpose OS based on a microkernel design. (not co-located,
> not just RT embedded stuff, etc.) GNU HURD is closest, and we all
> know how well that has worked out. If the microkernel ideas had any
> merit, somebody would have succeded by now.

Have a look to http://www.qnx.com :-)

May be you are using QNX without knowing that ...

--Armin

http://www.steinhoff-automation.com


>

acah...@gmail.com

unread,
May 16, 2006, 1:46:08 AM5/16/06
to
Armin Steinhoff wrote:
> acah...@gmail.com wrote:

> > I was a microkernel OS developer for over 2.5 years. This was
> > a commercial OS used in the real world, not some academic toy.
> > We had about 50 developers for kernel, drivers, C library, and
> > a distributed OS layer. We had bright people. We did ISO9000.
> > We had OS developers with UNICOS, Ultrix, and VxWorks experience.
> > We were post-Mach, with people who knew that disaster first hand.
> > Our OS was portable to i860, SHARC, and PowerPC. We had inspiring
> > management, good food, and good pay.

...


> > It's hard for me to express just how painful it was working on
> > this system. The microkernel nonsense was always getting in the
> > way. You can't call there from here, you can't access that...
>
> So what do you expect after a development time of 2.5 years :-)

That's just me. It was several years old when I started there.

BTW, a really basic concept from the database world: normalize
your data. Don't maintain the same data in multiple tables.
For example, don't keep two process tables. (I'm not sure if it
was Minix 3 or HURD doing this; I gasped in horror last week)

> QNX e.g. is more than 20 years very successful in the field of
> microkernel based OSses ... and theire 'design' is very usefull!

It's odd that there is nothing general-purpose yet, except HURD.
(no, MacOS is not a microkernel, and neither is Windows)

> > Reliability suffered. This should be obvious. It's easier to debug
> > one complex blob of code than it is to debug complex interactions
> > among numerous extra-complex blobs of code. I didn't mistype that.
> > Function calls are simple. Adding a message-passing layer is surely
> > not an improvement!
>
> No ... it is an absolutely usefull improvement!

It did make programmers hard to replace, which can be
considered an improvement for job security. From the
perspective of a developer with a year of experience on
the project, this is indeed absolutely useful. One could
slack off for many months or just be a jerk.

> > Any modern monolithic kernel is a breath of fresh air. Linux is
> > particularly clean, beautiful, and portable.
>
> ... and a fast moving target! About what kernel version you are
> talking about??

2.4 and 2.6 for sure, but it wasn't bad prior to that

> > Porting that microkernel OS was possible. We did it. We ported
> > from i860 to SHARC and PowerPC, then made the SHARC and PowerPC ports
> > run in little-endian mode as well. Linux is way easier to port.
> > Today the company is moving toward Linux; the old OS is still
> > supported as a legacy thing.
>
> Yes ... I know these types of inhouse 'operating systems' :-)

I don't think I'd call this one an inhouse operating system.
Customers bought it and developed apps for it. It supported the
POSIX minimum real-time profile. (bare-bones POSIX for RT)
There is a decent chance you've encountered the OS if you've
ever had a 3D medical scan or been bombed by the US military
in the last decade. There is also some use for live HDTV logo
insertion and transcoding, and for cell phone base station radio
processing in areas with many skyscrapers. So, it got used,
but damn it was hard to maintain. Security wasn't a goal, but
reliability was, and I can't say we did all that well. (so, if the
bombs miss, terribly sorry...) The kernel dev team envied the
simplicity of Linux and even BSD.

The newer 3D medical scanners tend to run Linux. The military
is switching to Linux as well. I guess you'd consider that a
step backwards. Having actually worked as a developer for a
serious real-world microkernel OS though, I know that sanity
is finally starting to win.

0 new messages