Phoronix: DragonFlyBSD 3.2.1 Battles Against Linux For Speed
The much-anticipated release of DragonFlyBSD 3.2 is now available as it enhances its performance to better compete with Linux in multi-core environments...
Obligatory "Why is everyone working on different things? Why don't we all work together in unison to build the ultimate kernel/distro/package format" post.
when those scenarios would be better than some other alternative (e.g. a lock, etc) -
But it is *not* a mach-style microkernel where everything is message passing, etc.
disclamer: I am a dragonfly dev
There's more to kernels than just a _strict_ monolithic or microkernel approach."DragonFly's kernel is a hybrid, containing features of both monolithic and microkernels, such as the message passing capability of microkernels enabling larger portions of the OS to benefit from protected memory, as well as retaining the speed of monolithic kernels for certain critical tasks. The messaging subsystem being developed is similar to those found in microkernels such as Mach, though it is less complex by design. DragonFly's messaging subsystem has the ability to act in either a synchronous or asynchronous fashion, and attempts to use this capability to achieve the best performance possible in any given situation."
4 years ago the _microkernel_ Minix3 creator Andrew Tanenbaum was granted 2,5 million € for his "Research on Really Reliable and Secure Systems Software": http://www.minix3.org/news/index.html
I don't know how well you can reload drivers or whole subsystems after a crash in a monolithic kernel but usually the main focus is very fundamentally on performance and then on everything else: http://www.minix3.org/other/research-projects.html
Automatic recovery from fatal system errors
In most operating systems, a fatal error within the operating system, for example, referencing an invalid pointer, leads almost immediately to a system crash. In MINIX 3, such an error leads to the crash of one of the operating system components, but not the entire system. The crash is reported to a system component called the reincarnation server, which takes an appropriate action, typically including logging the event, notifying the system administrator, and restarting the failed component. For stateless components, the recover is very quick and completely transparent to application processes, that is, they do not even notice the failure and recovery. Research on automatic recovery of stateful components is underway. Sample paper on recovery in MINIX 3.
Last edited by ArchLinux; 11-04-2012 at 12:40 PM.