Hello,
I can’t seem to find any in-depth documentation on the Haiku kernel,
other than that it was forked from NewOS and that it is very BeOS
like. I am interested in how the kernel differs from the BeOS kernel
and other kernels in general. I know that the network stack in
integrated in the kernel, but do the other servers still run in user
space? I have read that the BeOS kernel was not a real microkernel in
the sense that some drivers ran in the kernel, is this the same with
the Haiku kernel? How does the Haiku kernel perform compared to BeOS
or a monolithic kernel like Linux or the BSD kernels?If any of you guys could point me in the direction of some
documentation that answers these questions it would be much
appreciated.Thanks,
John
Wikipedia is a good source of information to help you get started. There are many keywords below that you can search for and get more information on.
The main 3 are the Monolithic, Microkernel & Hybrid Kernels. I find OSes based on Hybrid Kernels the most responsive and best ones out there.
The Hybrid Kernel is a mix of Monolithic & Microkernel - takes the best from each to improve performance and avoid the drawbacks.
OSes with Hybrid kernels are:
BeOS, Haiku, Mac OSX, Windows NT/2000/2003/XP/Vista, ReactOS
AmigaOS is a very fast OS and influenced BeOS, AROS, MorphOS, Atheos/Syllable.
AmigaOS and MorphOS use microkernels which works terrific for them. People are always impressed with the speed of these two compact OSes. Small microkernels are really fast and very efficient. Large microkernels experience performance issues and reason why large OSes avoid them.
OSes with monolithic kernels: Linux, MS-DOS, Windows 9x/Me, Mac OS 8.6 & earlier
Microkernels work excellent with small, simple, tight kernels. They give responsiveness and avoid performance penalties on small kernels. Monolithic are suited for large, complex kernels and provide better performance compared to Microkernels on big kernels BUT the Hybrid Kernel is the best choice for large kernels and gives better performance and responsiveness compared to the other 2. It should fair pretty well against the Microkernel on small kernels too.
Both Microsoft and Apple moved from Monolithic to Hybrid Kernels with their newer based OSes. That tells us they understand Hybrid provides the best performance and choice for large kernels.
Haiku kernel is not finished until R1 is reached. By that time I expect it to be better optimized and improved with performance that rivals BeOS and Linux.
Big Linux drawbacks from technical perspective:
-
Still uses Monolithic kernel. You’ll notice that many modern day OSes that are considered to be very fast and responsive use the Hybrid Kernel ( for large kernels ) or Microkernel ( for small kernels ). Linux should switch to Hybrid Kernel design to improve performance but Linus is too stubborn to convince.
-
Linux is disjointed - bunch of parts thrown together. You have one group that does the Kernel. Another creates the X Window system. Then a few other groups do the Window Managers ( KDE, Gnome, Xfce, IceWM, Fluxbox, etc. ). And they use different APIs too. Gnome uses GTK+ & KDE uses Qt. Because these people do not work closely together with one another - you can tell that Linux does not feel smooth - yes it works good but lacks quality finish. And the way it is currently developed, through seperation, impacts performance too.
Haiku should perform and feel better than Linux because it uses a Hybrid Kernel which gives certain advantages. And 2nd, the kernel, GUI, WM are all tightly integrated - created from the same developers and APIs - makes it look and feel complete and perform well.