Linked by Kroc Camen on Thu 25th Dec 2008 07:50 UTC, submitted by diegocg
Thread beginning with comment 341627
To view parent comment, click here.
To read all comments associated with this story, please click here.
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[5]: the list is impressive
by abraxas on Sat 27th Dec 2008 18:39
in reply to "RE[4]: the list is impressive"
'Monolithic' refers to the memory model used by the kernel. The Linux kernel, like many other common kernels (eg BSD, BeOS, Syllable), is monolithic because all kernel code including modules runs in the same memory space; ie any kernel code, whether compiled into the kernel or in a module, can access any variables or data structures of any other part of the kernel. A consequence of this is that a crash or bug in a module can corrupt the whole kernel.
The usual example of a non-monolithic kernel is Minix, http://en.wikipedia.org/wiki/MINIX.
The usual example of a non-monolithic kernel is Minix, http://en.wikipedia.org/wiki/MINIX.
While Linux is not a microkernel it isn't as monolithic as earlier versions of Unix. A lot has been moved outside the kernel and it is extremely modular, much more so than Windows.
One might actually say that Windows Vista is less monolithic than Linux, since the new video driver system has video drivers running in userspace. This means that a buggy video driver won't crash the whole system - it just gets safely restarted and everything goes on as usual.
Vista's graphics driver model is actually similar to Linux because there are two parts to the driver, one in kernel space for things like memory management and another part resides in userspace to handle things like GL acceleration. Linux also has split graphics drivers and DRI2 introduces a kernel memory manager for graphics much like Vista has.
RE[6]: the list is impressive
by akrosdbay on Sun 28th Dec 2008 20:11
in reply to "RE[5]: the list is impressive"
While Linux is not a microkernel it isn't as monolithic as earlier versions of Unix. A lot has been moved outside the kernel and it is extremely modular, much more so than Windows.
It is either a microkernel or Monolithic. How much of the linux kernel is actually executed in userland?
The graphics part of the driver stack is shared with other OSes that use X.org like OpenSolaris.







Member since:
2007-08-20
'Monolithic' refers to the memory model used by the kernel. The Linux kernel, like many other common kernels (eg BSD, BeOS, Syllable), is monolithic because all kernel code including modules runs in the same memory space; ie any kernel code, whether compiled into the kernel or in a module, can access any variables or data structures of any other part of the kernel. A consequence of this is that a crash or bug in a module can corrupt the whole kernel.
The usual example of a non-monolithic kernel is Minix, http://en.wikipedia.org/wiki/MINIX.
One might actually say that Windows Vista is less monolithic than Linux, since the new video driver system has video drivers running in userspace. This means that a buggy video driver won't crash the whole system - it just gets safely restarted and everything goes on as usual.