Linked by Kroc Camen on Thu 25th Dec 2008 07:50 UTC, submitted by diegocg
Thread beginning with comment 341482
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[4]: the list is impressive
by jbauer on Thu 25th Dec 2008 21:57
in reply to "RE[3]: the list is impressive"
Your argument misses the point. I'll tell you why. 1.) The Linux Kernel is modular and not monolithic and it comes in a variety of flavours because companies with actual developers use it to fit their needs. This is why today you have a multitude of devices running Linux - probably your also router/cable modem.
No, it's because it's open source, cheap, and so can be customized by third parties.
Your second point doesn't actually make any sense at all, and it doesn't help you to bash NT or Windows, which is exactly what you did in your first message just for the sake of it. Sorry.
Edited 2008-12-25 21:58 UTC
RE[5]: the list is impressive
by sbergman27 on Thu 25th Dec 2008 22:24
in reply to "RE[4]: the list is impressive"
Your second point doesn't actually make any sense at all, and it doesn't help you to bash NT or Windows, which is exactly what you did in your first message just for the sake of it. Sorry.
Well, I'm a Linux guy. But I don't really see where this particular type of Linux kernel vs NT kernel stuff gets us. So let me throw this into the ring to see if maybe something constructive comes of it: MinWin is/was/will be about emulating some strengths of the Linux kernel philosophy.
Edited 2008-12-25 22:25 UTC
RE[4]: the list is impressive
by Morph on Sat 27th Dec 2008 12:26
in reply to "RE[3]: the list is impressive"
The Linux Kernel is modular and not monolithic
'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.
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[4]: the list is impressive
by akrosdbay on Sun 28th Dec 2008 19:51
in reply to "RE[3]: the list is impressive"
Your argument misses the point. I'll tell you why. 1.) The Linux Kernel is modular and not monolithic and it comes in a variety of flavours because companies with actual developers use it to fit their needs. This is why today you have a multitude of devices running Linux - probably your also router/cable modem.
The linux kernel is Monolithic. You have no idea what you are talking about. Dynamic loadable modules are available in most modern kernels but they are still monolithic.
In kernel parlance, Monolithic refers to wether the kernel and all of its modules, including device drivers, execute in privileged mode.
You are confusing runtime/compile time binary level implementation with architecture.
The NT kernel is a hybrid kernel.
Your understanding is incorrect. The architecture of linux has nothing to do with its popularity or it being able to run on small memory foot print.
QNX is a microkernel and runs fine on small memory embedded systems.
Edited 2008-12-28 19:53 UTC
RE[5]: the list is impressive
by sbergman27 on Sun 28th Dec 2008 20:16
in reply to "RE[4]: the list is impressive"
The linux kernel is Monolithic.
True. And that particular choice of architecture is nothing to be ashamed of. Microkernel was considered avante garde in the 90s. Nowadays, the word "microkernel" mainly evokes mental images of Andy Tannenbaum waiting for the Great Pumpkin to rise out of the pumpkin patch. I'm not a QNX expert. But from what I've heard, they do seem to have done a good job with a microkernel design in the RT space.
The NT kernel is a hybrid kernel.
The NT kernel is a monolithic kernel in the ways that matter. Microsoft was happy to have buzz word compliance in the 90s, when NT was architected. But they were no more willing than was Linus to accept the overhead of message passing at that level. (Remember that QNX and real-time are about determinism, and not about speed.)
Your understanding is incorrect. The architecture of linux has nothing to do with its popularity or it being able to run on small memory foot print.
Probably not directly. But to the extent that Linux's design has allowed it to be performant, especially in the server space, it has no doubt contributed.
QNX is a microkernel and runs fine on small memory embedded systems.
Yep.
Edited 2008-12-28 20:21 UTC
RE[5]: the list is impressive
by dwave on Tue 30th Dec 2008 15:37
in reply to "RE[4]: the list is impressive"







Member since:
2006-09-19
Your argument misses the point. I'll tell you why. 1.) The Linux Kernel is modular and not monolithic and it comes in a variety of flavours because companies with actual developers use it to fit their needs. This is why today you have a multitude of devices running Linux - probably your also router/cable modem.
2.) Of course it depends on what you are developing. But as long as you are not really a kernel developer, you really have a broad choice of systems to develop and are not stuck with the Linux kernel. E.g. My work mostly involves Python and Unix-like environments. If I do this work on my customer's FreeBSD Server or my Linux box is irrelevant most of the time.