Comment Re:XNU vs Linux. (Score 1) 413
Mach shows why often enough it isn't any good to do a microkernel approach.
Either you implement most OS services as separate servers (as QNX or Hurd), AND run them in a different execution context, or simply have a MONOLITHIC BSD KERNEL!!!! Having some call indirection doesn't improve design in any way really useful.
If you knew _anything_ about real OS kernel design, you would know and acknowledge that the Linux kernel is superior, due to its mature fine-grained locking, kernel preemption, multiple efficient CPU and IO schedulers, multi-arch support, and layered subsystems.
Of course, superficially, Mach/BSD looks nice. It' not much different from FreeBSD, though, which reintegrated the Mach memory system. And FreeBSD has not yet a _mature_ fine-grained locking, does not have a stable, efficient scheduler (SCHED_ULE has "issues", you know), etc.
On a purely technical standpoint, even the rather mature codebase of the FreeBSD kernel is inferior to the current Linux kernels (at least since Linux 2.6.x). Mach/BSD as used on Darwin does little to leviate this shortcomings, while doing some superficial design cleanups which do not benefit the user except in the latency of sound playback, a problem long gone in Linux.
While Linux people work on hard realtime, Darwin people have achieved soft realtime for sound only. I'm not impressed in the least. Quit touting it as the end of history as it either needs to evolve or will become more and more outdated in terms of Unix evolution.
It isn't superior to Solaris as well, which has much of the same going for it technically as Linux, plus some very Sun-specific extensions.
Mach is touted to be the future since when? The 80s? Perhaps we get to see Christopher LLoyd as Steve Jobs and Michael J. Fox as you when you try to fulfill that prophecy?
Either you implement most OS services as separate servers (as QNX or Hurd), AND run them in a different execution context, or simply have a MONOLITHIC BSD KERNEL!!!! Having some call indirection doesn't improve design in any way really useful.
If you knew _anything_ about real OS kernel design, you would know and acknowledge that the Linux kernel is superior, due to its mature fine-grained locking, kernel preemption, multiple efficient CPU and IO schedulers, multi-arch support, and layered subsystems.
Of course, superficially, Mach/BSD looks nice. It' not much different from FreeBSD, though, which reintegrated the Mach memory system. And FreeBSD has not yet a _mature_ fine-grained locking, does not have a stable, efficient scheduler (SCHED_ULE has "issues", you know), etc.
On a purely technical standpoint, even the rather mature codebase of the FreeBSD kernel is inferior to the current Linux kernels (at least since Linux 2.6.x). Mach/BSD as used on Darwin does little to leviate this shortcomings, while doing some superficial design cleanups which do not benefit the user except in the latency of sound playback, a problem long gone in Linux.
While Linux people work on hard realtime, Darwin people have achieved soft realtime for sound only. I'm not impressed in the least. Quit touting it as the end of history as it either needs to evolve or will become more and more outdated in terms of Unix evolution.
It isn't superior to Solaris as well, which has much of the same going for it technically as Linux, plus some very Sun-specific extensions.
Mach is touted to be the future since when? The 80s? Perhaps we get to see Christopher LLoyd as Steve Jobs and Michael J. Fox as you when you try to fulfill that prophecy?