Rick Moen suggested:
> Have you read this? http://www.jwz.org/doc/worse-is-better.html> Interesting thoughts to contemplate, if you haven't already.
A clever way of looking at the problem. Although the title is somewhat
misleading - it creates the impression that writing monolithic applications
with as few procedure calls as possible would be a good thing. :)
My position on microkernels: software development, like any other form of
engineering, is a quest for tradeoffs. Academia is a quest for absolute
truth - or as close as one can get for any given field of study.
For this reason I do not find it unreasonable that many micro-kernel
implementations have failed. The narrow focus of the computer scientist is
incompatible with the immediate needs of the user. This does not mean the
computer scientist is wrong, only that the microkernel vs macrokernel debate
is only one small facet of developing an operating system and should not
become the sole design criteria. For that matter it should not be a design
criteria at all.
IMHO the role of the computer scientist is to provide the software engineer
with the range of possibilities. The software engineer can then pick and
choose those strategies that best fit the requirements of the OS under
development. A controller for central heating requires a completely
different set of functionality to a PDA, which is different again from a
client or server OS.
It is not a question of which is better, only of which better suites the
user's needs. Right now Linux has the right mix of features for its users -
it is open source, is widely adopted and accepted and has lots of "grass
roots" support. Note that microkernels play no part in this decision. It is
academic whether Solaris, FreeBSD or BeOS are technically better because
they have none of the other features that the Linux user is looking for.
A better alternative to Linux may be just round the corner. As a software
architect I would love to be designing such an alternative. But until
someone agrees to pay me a salary to do so[1], I will have to stick to
designing less interesting but more financially rewarding applications. I
expect this is a problem faced by many others who would also like to make a
contribution. Which is why I am not waiting for the better alternative - I
have to use what best suites me now.
I would not be surprised if Linux adopts more and more micro-kernel features
as it ages. Likewise it is not unreasonable to expect a real-world
microkernel implementation to stray a little and become more monolithic over
time. The Windows NT kernel is a good example of this.
My 0.02c
- Matthew
[1] Anyone with large sums of money which they are eager to sink in to a
project with no expected return on investment should contact me immediately.
:)
_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com
Maintained by the ILUG website team. The aim of Linux.ie is to
support and help commercial and private users of Linux in Ireland. You can
display ILUG news in your own webpages, read backend
information to find out how. Networking services kindly provided by HEAnet, server kindly donated by
Dell. Linux is a trademark of Linus Torvalds,
used with permission. No penguins were harmed in the production or maintenance
of this highly praised website. Looking for the
Indian Linux Users' Group? Try here. If you've read all this and aren't a lawyer: you should be!