Hybrid (micro)kernels

By: Tzvetan Mikov (tmikov.delete@this.gmail.com), May 8, 2006 4:41 pm
Room: Moderated Discussions
After todays mention of microkernels on Slashdot, I came across this explanation of "hybrid kernels" in Wikipedia: http://en.wikipedia.org/wiki/Hybrid_kernel

This is the first time I see something on Wikipedia, which I think is blatantly wrong. (You can see my comments in the "talk" page associated with the article).

Anyway, the article describes NT's kernel as a "hybrid kernel" sharing architectural concepts or mechanisms with microkernel designs such as "message passing" and "migration of "non-essential" code into user space". This strikes me as rubbish for two reasons:
- In NT messages (IRPs) are used for implementing asynchronous execution, which is essentially an implementation detail and has nothing to do with microkernels. As a matter of fact IRPs are so fragile, that in a sense they achieve an effect opposite to a microkernel.
- All essential subsystems in NT are implemented in the kernel - filesystems, usb, networking, etc. Of course there are components in user space which are considered part of the OS (what isn't in Windows?), but such components are implented in user space in all OS-es.

The article goes to say that a hybrid kernel like NT's is not to be confused with a with monolithic kernels that can load modules like Linux. Again, this seems like nonsense to me - the stable driver ABI (and the closed source) has facilitated creating of many drivers outside of the NT kernel tree, but this is not a conceptual difference. The precise technique of loading a driver/module into the kernel doesn't really matter, if the driver shares the same address space and can have access to kernel structures.

To me the difference between a microkernel and NT (or Linux) is much greater than the differences between NT and Linux, for example.

So, I am not brave enough to edit a page no Wikipedia, but what do you guys thinks ? Am I confused, or is wikipedia wrong ? If it is the latter, should we consider edting it ? (BTW, I am staying away of subjects like which is better, etc - I just want to clarify the definitions)
 Next Post in Thread >
TopicPosted ByDate
Hybrid (micro)kernelsTzvetan Mikov05/08/06 04:41 PM
  Hybrid (micro)kernelsS. Rao05/08/06 06:14 PM
  Hybrid (micro)kernelsBill Todd05/08/06 06:16 PM
    Hybrid (micro)kernelsTzvetan Mikov05/08/06 07:21 PM
      Hybrid (micro)kernelsnick05/08/06 07:50 PM
      Hybrid (micro)kernelsBill Todd05/09/06 01:26 AM
        There aren't enough words...Rob Thorpe05/09/06 02:39 AM
          There aren't enough words...Tzvetan Mikov05/09/06 03:10 PM
            There aren't enough words...Rob Thorpe05/15/06 12:25 AM
        Hybrid (micro)kernelsTzvetan Mikov05/09/06 11:17 AM
          Hybrid (micro)kernelsBill Todd05/09/06 04:05 PM
  Hybrid (micro)kernelsrwessel05/08/06 11:23 PM
    Hybrid kernel, not NTRichard Urich05/09/06 06:03 AM
      Hybrid kernel, not NT_Arthur05/09/06 07:06 AM
        Hybrid kernel, not NTRob Thorpe05/09/06 07:40 AM
          Hybrid kernel, not NT_Arthur05/09/06 08:30 AM
            Hybrid kernel, not NTRob Thorpe05/09/06 09:07 AM
              Hybrid kernel, not NT_Arthur05/09/06 09:36 AM
                Linux vs MacOSX peformance, debunked_Arthur05/18/06 07:30 AM
                  Linux vs MacOSX peformance, debunkedRob Thorpe05/18/06 08:19 AM
                    Linux vs MacOSX peformance, debunkedAnonymous05/18/06 12:31 PM
        Hybrid kernel, not NTLinus Torvalds05/09/06 08:16 AM
          Hybrid kernel, not NTAndi Kleen05/09/06 02:32 PM
            Hybrid kernel, not NTmyself05/09/06 03:24 PM
              Hybrid kernel, not NTmyself05/09/06 03:41 PM
              Hybrid kernel, not NTBrendan05/09/06 05:26 PM
                Hybrid kernel, not NTLinus Torvalds05/09/06 08:06 PM
                  Hybrid kernel, not NTBrendan05/13/06 01:35 AM
                    Hybrid kernel, not NTnick05/13/06 04:40 AM
                      Hybrid kernel, not NTBrendan05/13/06 09:48 AM
                        Hybrid kernel, not NTnick05/13/06 07:41 PM
                          Hybrid kernel, not NTBrendan05/13/06 09:51 PM
                            Hybrid kernel, not NTnick05/14/06 05:57 PM
                              Hybrid kernel, not NTBrendan05/14/06 10:40 PM
                                Hybrid kernel, not NTnick05/14/06 11:46 PM
                                  Hybrid kernel, not NTBrendan05/15/06 04:00 AM
                                    Hybrid kernel, not NTrwessel05/15/06 07:21 AM
                                      Hybrid kernel, not NTBrendan05/15/06 08:55 AM
                                        Hybrid kernel, not NTLinus Torvalds05/15/06 09:49 AM
                                          Hybrid kernel, not NTnick05/15/06 04:41 PM
                                          Hybrid kernel, not NTtony roth01/31/08 02:20 PM
                                    Hybrid kernel, not NTnick05/15/06 06:33 PM
                                      Hybrid kernel, not NTBrendan05/16/06 01:39 AM
                                        Hybrid kernel, not NTnick05/16/06 02:53 AM
                                          Hybrid kernel, not NTBrendan05/16/06 05:37 AM
                  Hybrid kernel, not NTAnonymous05/01/08 10:31 PM
                    Following the structure of the treeMichael S05/02/08 04:19 AM
                      Following the structure of the treeDean Kent05/02/08 05:31 AM
                        Following the structure of the treeMichael S05/02/08 06:02 AM
                        Following the structure of the treeDavid W. Hess05/02/08 06:48 AM
                          Following the structure of the treeDean Kent05/02/08 09:14 AM
                            Following the structure of the treeDavid W. Hess05/02/08 10:05 AM
                              LOL!Dean Kent05/02/08 10:33 AM
                              Following the structure of the treeanonymous05/02/08 03:04 PM
                                Following the structure of the treeDean Kent05/02/08 07:52 PM
                                Following the structure of the treeFoo_05/03/08 02:01 AM
                                  Following the structure of the treeDavid W. Hess05/03/08 06:54 AM
                                    Following the structure of the treeDean Kent05/03/08 10:06 AM
                                      Following the structure of the treeFoo_05/04/08 01:06 AM
                                        Following the structure of the treeMichael S05/04/08 01:22 AM
            Hybrid kernel, not NTLinus Torvalds05/09/06 05:19 PM
              Microkernel Vs Monolithic KernelKernel_Protector05/09/06 09:41 PM
                Microkernel Vs Monolithic KernelDavid Kanter05/09/06 10:30 PM
                  Sigh, Stand back, its slashdotting time. (NT)Anonymous05/09/06 10:44 PM
                  Microkernel Vs Monolithic Kernelblah05/12/06 08:58 PM
                  Microkernel Vs Monolithic KernelRob Thorpe05/15/06 01:41 AM
          Hybrid kernel, not NTAnalGuy05/16/06 03:10 AM
            Theory versus practiceDavid Kanter05/16/06 12:55 PM
              Distributed algorithmsRob Thorpe05/17/06 12:53 AM
              Theory versus practiceHoward Chu05/17/06 02:54 AM
                Theory versus practiceJS05/17/06 04:29 AM
          Play online poker, blackjack !!! Gamezonex08/16/07 01:49 PM
  Hybrid (micro)kernelsphilt05/14/06 09:15 PM
    Hybrid (micro)kernelsLinus Torvalds05/15/06 08:20 AM
      Hybrid (micro)kernelsLinus Torvalds05/15/06 11:56 AM
        Hybrid (micro)kernelsRob Thorpe05/16/06 01:22 AM
          Hybrid (micro)kernelsrwessel05/16/06 11:23 AM
            Hybrid (micro)kernelsRob Thorpe05/17/06 12:43 AM
              Hybrid (micro)kernelsrwessel05/17/06 01:33 AM
                Hybrid (micro)kernelsRob Thorpe05/19/06 07:51 AM
                  Hybrid (micro)kernelsrwessel05/19/06 12:27 PM
      Hybrid (micro)kernelstechIperson05/15/06 01:25 PM
      Hybrid (micro)kernelsmas05/15/06 05:17 PM
        Hybrid (micro)kernelsLinus Torvalds05/15/06 05:39 PM
          Hybrid (micro)kernelsColonel Kernel05/15/06 09:17 PM
            Hybrid (micro)kernelsWink Saville05/15/06 10:31 PM
              Hybrid (micro)kernelsLinus Torvalds05/16/06 10:08 AM
                Hybrid (micro)kernelsWink Saville05/16/06 09:55 PM
          Hybrid (micro)kernelsrwessel05/16/06 11:31 AM
            Hybrid (micro)kernelsLinus Torvalds05/16/06 12:00 PM
        Hybrid (micro)kernelsBrendan05/16/06 01:36 AM
        Hybrid (micro)kernelsPaul Elliott09/03/06 08:44 AM
          Hybrid (micro)kernelsRob Thorpe09/04/06 09:25 AM
      Hybrid (micro)kernelsphilt05/16/06 12:55 AM
        Hybrid (micro)kernelspgerassi08/16/07 07:41 PM
  Another questionable entry on Wikipedia?Chung Leong05/18/06 10:33 AM
  Hybrid (micro)kernelsisrael05/20/06 04:25 AM
    Hybrid (micro)kernelsRob Thorpe05/22/06 08:35 AM
Reply to this Topic
Body: No Text
How do you spell green?