Hybrid (micro)kernels

By: mas (mas769.delete@this.hotmail.com), May 15, 2006 4:17 pm
Room: Moderated Discussions
Don't know if you saw Tanenbaum's latest defence of microkernels but here it is if not.


Linus Torvalds (torvalds@osdl.org) on 5/15/06 wrote:
>philt (ptay1685@bigpond.net.au) on 5/14/06 wrote:
>>Where they differ is about whether there are advantages
>>to Microkernels that outweigh these disadvantages. Linus
>>seems to think not. Others disagree.
>Well, so far, "others" haven't even been able to actually
>name those hypothetical advantages.
>I've seen insane claims of speed (and yes, I've seen
>benchmarks too - microkernels are often very fast when
>you benchmark something like context switching, because
>that's what they've spent all their time optimizing for).
>I've seen insane claims of "easier" (in fact, this was the
>claim for much of the 80's and 90's), and I even bought
>into it at one time. Having actually learnt what is easy
>and what is hard - and having seen people fumble with their
>microkernels over and over again - it's become obvious not
>only to me that the "easier" argument was bogus.
>For a while there the claim was "scales better". The logic
>behind that argument was basically that since the model
>forces you to make all your services appear distributed
>anyway, then it should obviously naturally result in
>microkernels being wonderful for clustering etc.
>That, btw, would appear to be a logically sound argument,
>but it ends up falling down on the fact that microkernels
>want to support memory mapping too (sometimes more than a
>monolithic kernel, since memory mapping is also a way to
>avoid some of the performance issues - the Hurd tried to
>really push this angle), and suddenly the whole transport
>isn't network-transparent after all.
>(There are other problems with the whole "scaling" argument,
>not the least of which is that scaling on SMP and in a
>cluster are two almost totally different dimensions, and
>using the same model for the two is just not sensible, but
>that's another issue).
>For the last year or so, the new magic world has been
>"security". It appears as totally bogus as the "ease of
>maintenance" tripe was (and for largely the same reasons:
>security bugs are often about the interactions
>between two subsystems, and the harder it is to write
>and maintain, the harder it is to secure).
>I'm sure that ten years from now, it will be something else.
>There's always an excuse.
>>It is interesting to note what has happened to the Hurd as
>>an example of a real world Microkernel project. It appears
>>to have a reached a resonable level of maturity, enough
>>for Debian to build a distro based on it - but is now
>>stalled, despite apparently have come so close to its goal.
>>It would appear that certain insurmountable problems
>>(speed and reliability?) have forced developers to rethink
>>and look at other kernels (L4, Coyotos).
>Well, there's (I think) several arguments for why this
>If you're a microkernel person, the first argument is that
>Hurd isn't really a microkernel, it's an abomination that
>makes all other microkernels look bad. Talk to any L4
>person, and they'll tell you Hurd is something else
>The other argument is that doing something that works
>well enough to support basic UNIX system calls isn't that
>hard. I should know. Linux 0.01, back in 1991, largely did
>that. Making a whole Debian distribution on top of such a
>system isn't actually that hard. The hard part is making it
>all actually work well.
>The final (and I think deciding) argument is that the
>real argument for microkernels has nothing to do with
>speed, ease of implementation, security, or anything else.
>The real reason people do microkernels (and probably will
>continue to do them, and make up new reasons for why they
>are better) is that the concept sounds so good. It
>sounded good to me too!
>The whole "make small independent modules" thing just sounds
>like manna from heaven when you're faced with creating an
>OS, and you realize how daunting a task that is. At
>that point, you can either sit back and enjoy the ride
>(which I did - partly because I didn't initially really
>realize how daunting it would be), or you can seek mental
>solace in an idea that makes it sound easier than it is.
>So that "microkernels are wonderful" mantra really comes
>from that desperate wish that the world should be simpler
>than it really is. It's why microkernels have obviously
>been very popular in academia, where often basically cannot
>afford to put a commercial-quality big development team on
>the issue, so you absolutely require that the problem
>is simpler.
>So reality has nothing to do with microkernels. Exactly the
>reverse. The whole point of microkernels is to try to
>escape the reality that OS design and implementation is
>hard, and a lot of work.
>It's an appealing notion.
>>No doubt Linus hopes thay won't.
>Actually, if I were afraid of competition (and, quite
>frankly, I'm not - since I'm not competing as much as
>just having a damn good time), microkernel people aren't
>where it would be.
>I'd worry about some really smart kid in some random country
>that I've never heard of, who just doesn't know how hard
>things are, and who is hungry for the challenge, and decides
>to "just do it". And does things differently (in some
>respect - maybe he decides that the real problem is the
>language, and writes a much better model for handling all
>the complex issues).
>For Linux, the "does things differently" wasn't so much
>technical, but in the development model.
>That's how real progress is made. Not by people who are
>afraid of the complexity. Real progress is made by people
>who are too ignorant to even realize that there is
>complexity, and how things are "supposed" to work, and they
>just do it their own way. And most of the time, their way
>was just totally crazy. But sometimes that naïve way ends
>up being something that nobody else had done before, and
>that really really worked.
>Over-thinking things is never how you do anything real.
< Previous Post in ThreadNext Post in Thread >
TopicPosted ByDate
Hybrid (micro)kernelsTzvetan Mikov2006/05/08 03:41 PM
  Hybrid (micro)kernelsS. Rao2006/05/08 05:14 PM
  Hybrid (micro)kernelsBill Todd2006/05/08 05:16 PM
    Hybrid (micro)kernelsTzvetan Mikov2006/05/08 06:21 PM
      Hybrid (micro)kernelsnick2006/05/08 06:50 PM
      Hybrid (micro)kernelsBill Todd2006/05/09 12:26 AM
        There aren't enough words...Rob Thorpe2006/05/09 01:39 AM
          There aren't enough words...Tzvetan Mikov2006/05/09 02:10 PM
            There aren't enough words...Rob Thorpe2006/05/14 11:25 PM
        Hybrid (micro)kernelsTzvetan Mikov2006/05/09 10:17 AM
          Hybrid (micro)kernelsBill Todd2006/05/09 03:05 PM
  Hybrid (micro)kernelsrwessel2006/05/08 10:23 PM
    Hybrid kernel, not NTRichard Urich2006/05/09 05:03 AM
      Hybrid kernel, not NT_Arthur2006/05/09 06:06 AM
        Hybrid kernel, not NTRob Thorpe2006/05/09 06:40 AM
          Hybrid kernel, not NT_Arthur2006/05/09 07:30 AM
            Hybrid kernel, not NTRob Thorpe2006/05/09 08:07 AM
              Hybrid kernel, not NT_Arthur2006/05/09 08:36 AM
                Linux vs MacOSX peformance, debunked_Arthur2006/05/18 06:30 AM
                  Linux vs MacOSX peformance, debunkedRob Thorpe2006/05/18 07:19 AM
                    Linux vs MacOSX peformance, debunkedAnonymous2006/05/18 11:31 AM
        Hybrid kernel, not NTLinus Torvalds2006/05/09 07:16 AM
          Hybrid kernel, not NTAndi Kleen2006/05/09 01:32 PM
            Hybrid kernel, not NTmyself2006/05/09 02:24 PM
              Hybrid kernel, not NTmyself2006/05/09 02:41 PM
              Hybrid kernel, not NTBrendan2006/05/09 04:26 PM
                Hybrid kernel, not NTLinus Torvalds2006/05/09 07:06 PM
                  Hybrid kernel, not NTBrendan2006/05/13 12:35 AM
                    Hybrid kernel, not NTnick2006/05/13 03:40 AM
                      Hybrid kernel, not NTBrendan2006/05/13 08:48 AM
                        Hybrid kernel, not NTnick2006/05/13 06:41 PM
                          Hybrid kernel, not NTBrendan2006/05/13 08:51 PM
                            Hybrid kernel, not NTnick2006/05/14 04:57 PM
                              Hybrid kernel, not NTBrendan2006/05/14 09:40 PM
                                Hybrid kernel, not NTnick2006/05/14 10:46 PM
                                  Hybrid kernel, not NTBrendan2006/05/15 03:00 AM
                                    Hybrid kernel, not NTrwessel2006/05/15 06:21 AM
                                      Hybrid kernel, not NTBrendan2006/05/15 07:55 AM
                                        Hybrid kernel, not NTLinus Torvalds2006/05/15 08:49 AM
                                          Hybrid kernel, not NTnick2006/05/15 03:41 PM
                                          Hybrid kernel, not NTtony roth2008/01/31 01:20 PM
                                    Hybrid kernel, not NTnick2006/05/15 05:33 PM
                                      Hybrid kernel, not NTBrendan2006/05/16 12:39 AM
                                        Hybrid kernel, not NTnick2006/05/16 01:53 AM
                                          Hybrid kernel, not NTBrendan2006/05/16 04:37 AM
                  Hybrid kernel, not NTAnonymous2008/05/01 09:31 PM
                    Following the structure of the treeMichael S2008/05/02 03:19 AM
                      Following the structure of the treeDean Kent2008/05/02 04:31 AM
                        Following the structure of the treeMichael S2008/05/02 05:02 AM
                        Following the structure of the treeDavid W. Hess2008/05/02 05:48 AM
                          Following the structure of the treeDean Kent2008/05/02 08:14 AM
                            Following the structure of the treeDavid W. Hess2008/05/02 09:05 AM
                              LOL!Dean Kent2008/05/02 09:33 AM
                              Following the structure of the treeanonymous2008/05/02 02:04 PM
                                Following the structure of the treeDean Kent2008/05/02 06:52 PM
                                Following the structure of the treeFoo_2008/05/03 01:01 AM
                                  Following the structure of the treeDavid W. Hess2008/05/03 05:54 AM
                                    Following the structure of the treeDean Kent2008/05/03 09:06 AM
                                      Following the structure of the treeFoo_2008/05/04 12:06 AM
                                        Following the structure of the treeMichael S2008/05/04 12:22 AM
            Hybrid kernel, not NTLinus Torvalds2006/05/09 04:19 PM
              Microkernel Vs Monolithic KernelKernel_Protector2006/05/09 08:41 PM
                Microkernel Vs Monolithic KernelDavid Kanter2006/05/09 09:30 PM
                  Sigh, Stand back, its slashdotting time. (NT)Anonymous2006/05/09 09:44 PM
                  Microkernel Vs Monolithic Kernelblah2006/05/12 07:58 PM
                  Microkernel Vs Monolithic KernelRob Thorpe2006/05/15 12:41 AM
          Hybrid kernel, not NTAnalGuy2006/05/16 02:10 AM
            Theory versus practiceDavid Kanter2006/05/16 11:55 AM
              Distributed algorithmsRob Thorpe2006/05/16 11:53 PM
              Theory versus practiceHoward Chu2006/05/17 01:54 AM
                Theory versus practiceJS2006/05/17 03:29 AM
          Play online poker, blackjack !!! Gamezonex2007/08/16 12:49 PM
  Hybrid (micro)kernelsphilt2006/05/14 08:15 PM
    Hybrid (micro)kernelsLinus Torvalds2006/05/15 07:20 AM
      Hybrid (micro)kernelsLinus Torvalds2006/05/15 10:56 AM
        Hybrid (micro)kernelsRob Thorpe2006/05/16 12:22 AM
          Hybrid (micro)kernelsrwessel2006/05/16 10:23 AM
            Hybrid (micro)kernelsRob Thorpe2006/05/16 11:43 PM
              Hybrid (micro)kernelsrwessel2006/05/17 12:33 AM
                Hybrid (micro)kernelsRob Thorpe2006/05/19 06:51 AM
                  Hybrid (micro)kernelsrwessel2006/05/19 11:27 AM
      Hybrid (micro)kernelstechIperson2006/05/15 12:25 PM
      Hybrid (micro)kernelsmas2006/05/15 04:17 PM
        Hybrid (micro)kernelsLinus Torvalds2006/05/15 04:39 PM
          Hybrid (micro)kernelsColonel Kernel2006/05/15 08:17 PM
            Hybrid (micro)kernelsWink Saville2006/05/15 09:31 PM
              Hybrid (micro)kernelsLinus Torvalds2006/05/16 09:08 AM
                Hybrid (micro)kernelsWink Saville2006/05/16 08:55 PM
          Hybrid (micro)kernelsrwessel2006/05/16 10:31 AM
            Hybrid (micro)kernelsLinus Torvalds2006/05/16 11:00 AM
        Hybrid (micro)kernelsBrendan2006/05/16 12:36 AM
        Hybrid (micro)kernelsPaul Elliott2006/09/03 07:44 AM
          Hybrid (micro)kernelsRob Thorpe2006/09/04 08:25 AM
      Hybrid (micro)kernelsphilt2006/05/15 11:55 PM
        Hybrid (micro)kernelspgerassi2007/08/16 06:41 PM
  Another questionable entry on Wikipedia?Chung Leong2006/05/18 09:33 AM
  Hybrid (micro)kernelsisrael2006/05/20 03:25 AM
    Hybrid (micro)kernelsRob Thorpe2006/05/22 07:35 AM
Reply to this Topic
Body: No Text
How do you spell avocado?