Talk:Hybrid kernel

message: I do not understand the structure of this section. While the Oponents-part lists two notable examples (Linus and Sonny) the Proponents section lists Microsoft - only to continue that Microsoft calls them "microkernel" etc.
So how does this make Microsoft a "proponent" in the controversy stated in the intro paragraph under the Controversy-header?!
"That leads to the controversy - does having a microkernel-like structure in a monolithic kernel make such a distinct difference that another category of kernels is needed?"
To me it looks like Microsoft is not a proponent of the "hybrid kernel"-category. They should be removed from the Proponent section.
Cyberroach  —Preceding comment was added at 05:55, 2 April 2008 (UTC)
thread_title:  Proponents vs Oponents 

message: === What Was Wrong ===
I don't want to edit the page yet, but I have some strong disagreement with what is says. There is nothing "microkernelish" in NT's kernel design. Please, people, do not confuse loadable drivers and standard ABI with a microkernel. This is absurd, not to mention clearly wrong and misleading. All NT subsystems are implemented in kernel space (filesystems, networking, even GDI), they most definitely do not communicate using LPC. The paragraph about "not confusing a "Hybrid kernel" with monolithic kernels that can load modules" doesn't make any sense at all. Message passing is a feature of a "microkernel" only if it facilitates separation of address space and protection, which is NOT the case with NT kernel IRPs and has nothing to do with user level LPCs, which are simply an ordinary method of user-level interprocess communication.
<snip> - already in article.
(A Slashdot article from the 10.05.06 led me to this quote,
unfortunately the source site is down at the moment, there
is lot's of interesting info there concerning this.)
http://www.realworldtech.com/forums/index.cfm?action=detail&id=66630&threadid=66595&roomid=11
The article is fundamentally wrong.
See the detailed discussion on RWT for more.
I have attempted to fix some of the more egregious errors.
easilyforgotten
: Windows NT use the microkernel. At least Microsoft shows Windows NT5 in such manner and has shown on earlier NT versions. That is just pure fact that NT is microkernel structured operating system and marketed as hybrid kernel because of it's small binary level changes. Unless you can call Microsoft does not know their own operating system..?  —Preceding unsigned comment added by 80.248.105.14 (talk) 08:39, 27 April 2009 (UTC)
thread_title:  Hybrid definition 

message: I don't want to edit the page yet, but I have some strong disagreement with what is says. There is nothing "microkernelish" in NT's kernel design. Please, people, do not confuse loadable drivers and standard ABI with a microkernel. This is absurd, not to mention clearly wrong and misleading. All NT subsystems are implemented in kernel space (filesystems, networking, even GDI), they most definitely do not communicate using LPC. The paragraph about "not confusing a "Hybrid kernel" with monolithic kernels that can load modules" doesn't make any sense at all. Message passing is a feature of a "microkernel" only if it facilitates separation of address space and protection, which is NOT the case with NT kernel IRPs and has nothing to do with user level LPCs, which are simply an ordinary method of user-level interprocess communication.
<snip> - already in article.
(A Slashdot article from the 10.05.06 led me to this quote,
unfortunately the source site is down at the moment, there
is lot's of interesting info there concerning this.)
http://www.realworldtech.com/forums/index.cfm?action=detail&id=66630&threadid=66595&roomid=11
The article is fundamentally wrong.
See the detailed discussion on RWT for more.
I have attempted to fix some of the more egregious errors.
easilyforgotten
: Windows NT use the microkernel. At least Microsoft shows Windows NT5 in such manner and has shown on earlier NT versions. That is just pure fact that NT is microkernel structured operating system and marketed as hybrid kernel because of it's small binary level changes. Unless you can call Microsoft does not know their own operating system..?  —Preceding unsigned comment added by 80.248.105.14 (talk) 08:39, 27 April 2009 (UTC)
thread_title:  What Was Wrong 

message: The reasoning behind my changes to the definition of hybrid kernel comes from two distinct sources:
1. "monolithic-microkernel hybrid" where a hybrid between monolithic and microkernel, i.e. an architecture lying somewhere in the spectrum between 100% kernel space (monolithic), to least possible kernel space (microkernel). The motivation for such a kernel would no doubt be to attain some of the speed of monolithic kernels together with some of the desirable attributes of microkernels.
2. "NT kernel marketing term" hybrid "microkernel"/"macrokernel"/"modified microkernel" are used to describe the NT kernel (see ref 1 in article), where, in fact the NT kernel is 100% kernel space with user space OS APIs, so is predominantly monolithic. This can therefore be seen as a marketing term in order for the NT kernel to be perceived as having some benefits of the microkernel architecture over a monolithic kernel. In fact, NT 4.0 and on even has the GDI (GDI+) in kernel space for performance reasons, so is even more monolithic than kernels normally described as monolithic.
I agree with the Catstail comments above. I have rewritten the article today, correcting the definition, and putting both for and against arguments.
The image is also misleading, depending on whether the white boxes indicate user space, as how I interpret it.
I would say that the article needs more input in terms examples of non-NT kernels, in order to find a common or better definition of the term, with examples. Also, I think it is important to include the evolution and motivation behind these hybrid kernels which is probably central to their existence.
--Widefox 18:04, 23 July 2006 (UTC)
thread_title:  Corrected 

message: The conclusion section needs to be removed or re-written.  How can an article that is written from a neutral POV draw a conclusion as to which name is correct?  This an encyclopedia, not an essay on the pros and cons whether MS use a hybrid kernel or not. 82.10.97.111 23:46, 20 August 2006 (UTC)
replies: text: Totally agree. Removed conclusion. That is only relevant for the NT kernel example, so moved there and rewritten. hybrid kernel is a controversial classification. This is not clear-cut topic, especially as modern general use kernels (NT, Linux, Solaris, BSD) are converging somewhat. More input on this discussion welcome. Widefox 15:00, 21 August 2006 (UTC)
replies: text: Probably a section on why the other OSes have been classified as hybrids will help.  Otherwise, I totally agree that this is just another Microsoft-sucks-but-Linux-rocks article. RasterBlaster 05:10, 10 September 2006 (UTC)
replies: text: New section on the Plan 9 kernel added. This is a technical article about computer internals, kindly keep talk of OS wars out of here. Also, lack of non-mainstream kernel examples isn't a POV issue, but more an article broadening one...Widefox 12:13, 12 September 2006 (UTC)
thread_title:  Neutrality 

message: More details on other kernels needed to broaden perspective.Widefox 12:13, 12 September 2006 (UTC)
thread_title:  Broadening article  

message: The following unsourced claim is incorrect:
"It is also worth noting that the OS/2 and POSIX APIs are built upon the Win32 API, and not the Native API[citation needed]."
Two examples point to this claim being incorrect. Firstly, the Unix subsystem on Windows is case-sensitive for file operations, whereas the Windows subsystem is case-insensitive (but does preserve case), and it's impossible to build a case-sensitive API on top of a case-insensitive one. Secondly, the Unix subsystem supports forking of processes, whereas the Windows subsystem does not, and cannot (efficiently) do so, since it provides no interface to the relevant kernel features (ie the Unix subsystem has interfaces to the memory-manager features used to implement forking, whereas the Windows subsystem does not).
The above examples are just off the top of my head, but I found a slideshow created by Windows kernel architect Dave Probert, which contains the following quotes:
"NT is not a microkernel, but does support user-mode OS personalities (i.e. for posix, OS/2, Win32)"
"Win32 and other subsystems built on native NT APIs"
URL: http://research.microsoft.com/ur/asia/curriculum/download/BeijingPresentation.ppt
If there are no objections, I'll correct the article at some point (unless someone else wishes to first). Shalineth 13:26, 23 February 2007 (UTC)
thread_title:  Erroneous (and unsourced) claim 

message: See comments on related diagrams at Talk:Monolithic kernel and Talk:Microkernel. -- Beland 21:35, 21 March 2007 (UTC)
thread_title:  Diagram improvement 

message: This article needs some serious work.  I'm tagging it as non-NPOV.  It needs to be rewritten.  Also, I think there is a lot of misinformation on both sides of this "hybrid kernel" thing.  Since I'm somewhat biased on these topics, I'll avoid editing it directly.
Also, the POSIX layer isn't new (NOT from 2007).  It has actually been around since NT 4.0 (personal experience), and probably even since NT 3.1 or NT 3.5.  NT had a POSIX system from the start, if I recall correctly; if I'm not mistaken, it was to satisfy a government contract.
Retagged .... somewhere along the line it got removed. The main article itself is fine, but the Proponents versus Opponents section was not NPOV at all. I tried to clean it up a bit but IMHO the section should be removed entirely.
Billyoneal (talk) 04:28, 29 June 2009 (UTC)
thread_title:  Definitely not NPOV 

message: Since noone voiced concerns against it, I have removed the unclear and non NPOV section. Billyoneal (talk) 01:03, 2 July 2009 (UTC)
thread_title:  Proponents versus Opponents section removed 

message: I do not want to edit the main page without any consensus, but the Plan 9 kernel is not hybrid. It is 100% monolithic. Plan 9 file servers are based on a network protocol, 9P. 9P is a network file protocol based on a set of RPCs that map file manipulation system calls (such as open, read, write, close, and so on). Any 9P-based external server can be accessed from the kernel using the mount driver (#M) . Therefore, any external device can be accessed by the the kernel, including  user-level processes talking 9P and remote servers. Most user level services are designed as synthetic file systems.  Nevertheless, common OS services are within the kernel. The only exception is the (disk) file system, which is outside by global design: Plan 9 terminals are supposed to be diskless and data files are served by file-servers. IMHO, this fact does not make Plan 9 a (hybrid) microkernel.
Plan 9 authors:
 
Microkernel is the way to go:
	False unless your only goal is to get papers published.
	Plan 9's kernel is a fraction of the size of any microkernel
	we know and offers more functionality and comparable
	or often better performance
From Andy Tanenbaum hasn't learned anything
See Plan 9: A Distributed System by Dave Presotto, Rob Pike, Ken Thompson and Howard Trickey
 —Preceding unsigned comment added by Enrique.soriano (talk • contribs) 20:02, 9 February 2010 (UTC)
replies: text: 9P isn't a network protocol so much as it's a protocol that just *happens* to be able to go over the wire. But that chances are equally good -- better, in fact -- that the underlying transport is a plain pipe. 9P2000.s is the only variant I've seen that has anything IP-specific in it.  — Preceding unsigned comment added by 82.0.106.250 (talk) 18:06, 10 January 2014 (UTC)
thread_title:  Plan 9 kernel is not hybrid 

message: The phrase 'operating system personality'/'OS personality' is used several times in the description section without any references to what it means. I have been unable to find any reference to its meaning. Can someone/anyone provide a link or explanation?
210.84.10.97 (talk) 04:22, 9 April 2010 (UTC)
thread_title:  Definition of terms. 

message: Please update the article to include the classification of Linux as a hybrid kernel.
The Linux kernel has:
* modular design with most of the kernel divided into distinct modules
* threads and the same IPC mechanisms as other OS kernels
* user space USB drivers - libusb
* user space scanner drivers - sane
* user space printer drivers - cups
* user space 3D GPU drivers - mesa
* user space device management - udev, systemd
* user space file systems - fuse
* user space networking - LibOS
The fact that drivers for 3D graphics, printers, scanners, device enumeration, USB, and other essential system services etc. run in user space means that, under the definition of a hybrid kernel used in this article, Linux is a hybrid kernel. 77.97.242.143 (talk) 16:52, 25 March 2015 (UTC)
replies: text: If by this you mean "Just about everything could be classified as a hybrid kernel these days, so the term is bogus?", you are 100% correct. Guy Harris (talk) 05:41, 3 August 2015 (UTC)
thread_title:  Linux as hybrid kernel 

message: An image was recently added with examples of the structuring of systems with monolithic kernels, microkernels, and hybrid kernels.
However, the image puts a "file server" and a "UNIX server" in user mode.
If the "file server" represents the file system, then that does not reflect the main two "hybrid kernels" discussed here:
* both NT and Darwin-based OSes have the main file systems running in kernel mode;
* none of the Darwin-based OSes have a "UNIX server" - the UNIX system call interface consists of traps to kernel-mode code;
* for NT, some Windows APIs that one might think of as "system calls" are implemented by sending messages to various user-mode subsystem server processes (for example,  and ), but others (for example,  and ) are library routines that are wrappers around NT trap-to-kernel-mode system calls (for example,  and .
About all you can say about "hybrid kernels" is "more stuff is done in user-mode servers than with a traditional monolithic kernel".  However, as per Talk:Hybrid kernel#Linux as hybrid kernel, there are ways in which that applies to Linux, and the same could be said about NetBSD and its rump kernel. Guy Harris (talk) 22:45, 8 March 2021 (UTC)
thread_title:  Diagram of monolithic kernel, microkernel, and hybrid kernel reflects neither NT nor Darwin