|
From: | Michal Suchanek |
Subject: | Re: Linus replies |
Date: | Sat, 13 May 2006 14:40:07 +0200 |
On 5/12/06, Richard Braun <address@hidden> wrote:
On Thu, May 11, 2006 at 09:45:01PM +0200, Martin Schoenbeck wrote: > >That's where the Hurd slightly differs from what is said here: the > >problem about a "decision that spans more than one entity" is the > >interface between those entities. Within a monolithic kernel, these > >interfaces can easily change since it is internal to the kernel > > First, that is a disadvantage in my opinion, second if you have write > access to all software implementing this with a microkernel, you can > change the interface between them as easy as with monolithic kernels. I agree, it is a disadvantage, but it makes things simpler to change, since a modification on one side doesn't imply the cooperation of someone else on the other side of the interface.
Easier to change? Why are there commonly several interfaces for the same thing in Linux, some marked deprecated? I guess it is because the initial interface was an ad-hoc hack, and then there was an attempt to make a solid interface, possibly at a few iterations. And there is code all over the kernel using all that. To be honest I did never look much into the Linux internals so I cannot point on a place in a version of the kernel where there are more than two interfaces for something. But I would not be surprised at all if somebody showed me one :) NetBSD is an attempt at a more structured kernel. I guess it has something to do with thier goal to make the kernel portable. I think Linux _is_ a mess. It is not necessary for a monolithic kernel but it is likely to become less and less structured over time. And the more stuff is put into the kernel and work done on it the harder it is for the maintainer to keep it organized. At this point it is (nearly) impossible for Linux. I guess Linus won't say that the microkernel based OSes are likely easier to maintain because he would admit that he chose the wrong approach. Thanks Michal
[Prev in Thread] | Current Thread | [Next in Thread] |