Jain, --- On Thu, 6/5/08, Jain Johny <jainmjo at gmail.com> wrote:
> I have read that wiki page. There is nothing in it. It says > *"Many operating > systems and kernel experts (incl. Torvalds and Rao) have > dismissed the label > as meaningless, and just marketing"*. Does it mean > that hybrid kernels are > bad? I don't think so. They call it bad, because from the point of view of a comp. scientist, it's hard to maintain, difficult to debug and maintain, and the design is flawed. Microkernel advocates support because "design"-wise it's superior, very secure, and fuctionally surpassing the monolithic ones. Hybrid -- yeah, seems like a Marketing term -- like cars. Both petrol AND CNG. But UNIX philosophy says (40yrs old OS design) simple things work most. That's why microkernels are hard to write. Besides, having the "servers" in kernel space makes them very easy to exploit -- you can't do that in micro-kernel ones. Servers are in userspace and memory protection is very strict. Think modern Linux systems here: kernel rootkits! Hybrid (if you dare use the term) technically one of the either (monolithic or micro) kernels with features of the other added. linux 2.6 and above are essentially hybrid, if you look at it -- technically. But since IPC, GUI handling, process handling (init) etc are handled in user-space, I don't think anyone calls it hybrid. If you look at it from "good and bad" side -- there's bad to everything. but if it solves the problem, that you're wanting it to solve. It's good. > > Doesn't NT kernel serves the purpose for Windows? Yeah, it's purpose is to proliferate viruii. > Doesn't XNU kernel serves the purpose for Mac OS X? Darwin? yes. But Apple is a niche OS. Think of Apple being deployed as a server? Can it scale? Can it handle load? Can it multi-task? threads? clustering? Inferno is a distributed OS -- it scales. > > The "loadable kernel modules" and > "fuse" in Linux are actually Micro kernel > features. Right? The monolithic Linux kernel also has now a > kind of hybrid > design. It's hybrid -- technically. But is there a "standard" to compare against, and to label it as "OK, it satisfies the said features -- let's call it hybrid". We need someone with both OS research and OS writing background to decide authoritatively about the "goodness" and "badness" of kernel design. I am neither. But as I said. Designs are built to satisfy, and rectify one problem. That doesn't make it the be-all and end-all of "Good, clean, ideal" kernel design. See this link: http://www.realworldtech.com/forums/index.cfm?action=detail&id=66595&threadid=66595&roomid=2 click on "Next post >>>" to read through various mails in the thread. That's experts discussing the issue. Might throw some light. In the mean time, search "Is hybrid kernels good?" in scholar.google.com -- it does bring out something. No worries, Mahesh Aravind. ----- PS: I see that you've taken out your "license". Good!
