[openbeos] Re: Is BeOS a true microkernel?

  • From: François Revol <revol@xxxxxxx>
  • To: openbeos@xxxxxxxxxxxxx
  • Date: Sat, 12 Jan 2002 21:03:13 +0100 (MET)

En réponse à Michael Phipps <mphipps1@xxxxxxxxxxxxxxxx>:

> And, as I said below, it all depends on if you count add-ons or not.
> If you wipe out your add-ons directory (not the ~/config/add-ons, the 
> "system" addons), BeOS doesn't even have an IDE driver. :-)
> 
> My *opinion*, from reading Tannenbaum, is that he meant device drivers
> being part of the kernel does not interfere with being a microkernel.
> Including things like printf and any higher level interface, though,
> does.
> But I can't back that with anything more than my impression. Basically,
> things
> that need the interrupt service have to be in the kernel, IMHO.
Yeah, as someone else said, we could argue for long anyway =)


> >I'd say BeOS is between the never achieved working microkernel (the
> only 
> >microkernel I know about that works is AmigaOS :P), and the huge
> monolithic 
> >kernel like Linux (not talking about windows, where even MSWord can ask
> to run 
> >code in ring0 :D)
> 
> I think that you may be comparing apples to oranges, here. AmigaOS
> worked because
> there *were* no real rings. Everyone could be anywhere. :-) Without
> memory protection
Yeah I know this, that doesn't mean every thing was intended to access 
everything. By the time then there wasn't any mean to protect the mem.
no mmu :-(

> and with the interrupt setup (where user level apps could service
> interrupts, thus
> running in "ring0", the AmigaOS doesn't compare to other operating
> systems in that way.
> You could certainly argue that it was a microkernel (Exec). You could
> also argue that it
> was a monolithic (and bigger) kernel, if you count everything in the
> ROMs. :-)
> In any case, that is neither here nor there.

AmigaOs was designed with this in mind, using linked lists in "shared" 
(of course :)) memory. That's also why today it still has problem to 
adopt a memory protection system (though it doesn't need it really...)

I still say that AmigaOS was one of the first OO microkernels that worked
(and still works). I think many would learn from it... though I don't know it 
in detail (I never had an Amiga :-( ).

the thing that tells me it was a microkernel is it spawned one or more (user, 
even if the distinction is hard to do without protection) tasks 
to take care of each IO device. And AmigaDOS also had its tasks that exchanged
sent messages to the io tasks to do block io. kind of io server and fs 
server... :)

> >Except he was wrong (about Linux never getting working and used) :)
> 
> I was refering to the book (Modern Operating Systems). :-) But he was
> wrong,
> as were many others. I remember the first time I saw it (0.91, IIRC) - I
> was kind
> of excited, since I was a comp sci student and having your OWN Unix box
> to code on
> has to be better than using the schools. Of course, I was desperately
> looking for a 
> copy of Amiga/UX, since I had an Amiga2000 w/ 68030. :-)
eheh... yet another thing that never got released ... just like Atari TT-UNIX

And no, nobody can be right on everything anyway... so :)




Other related posts: