hi i read both Archan's and Arun's emails. And these
are the points i wanted to raise...

BOTH of u agree that there ARE a bit of micro-kernel
like parts in the current kernel (Arun being more sure
'bout it, not too sure of Archan). I have done some
research(not official or sumthin'...), on kernels from
0.98, 1.00,1.2, 1.3, 2.0, 2.1, 2.2, 2.3, and now
2.3.99-pre3. I have observed that the kernel is
gradually, if not completely, shifting to more of a
micro-kernel architecture. I am not arguing which is
good. I leave that to all the kernel-gurus out there.
What i am sure is that since the kernel CURRENTLY has
some architectural features of a micro-kernel, and
most of them of a macro one, i think it should be
called a "hybrid" kernel. I remember having read this
somewhere, a few years ago, i dont remember where
tho.. :( Archan, when u say that i'm confused about
the kernel being monolithic, and ALSO say that the
Linux has graduated in these years, i think it is more
confusing now... ;) I dont understand what do u mean
by the "core" of the kernel? do u mean that there is
something called "core" and the rest are simply
drivers? that is the very concept of a micro-kernel,
where msgs are passed around to different parts. It is
a different issue that the drivers run in kernel
space. but the way the modules are loaded on demand -
this is another feature adopted from a micro-kernel.
arch... AGAIN, let me stress that Linux is NOT a micro
kernel, but its not completely a monolithic one
either. I have seen most of Linus' usenet flames about
this. His initial kernel WAS a COMPLETE monolithic
kernel. But as u all agree that the kernel HAS
undergone changed from the days of 0.01 to 2.4 now.
And i dont think we should be referring to the
architecture as a TRUE MONOLITHIC kernel. There're a
LOT of components down there, which dont exactly match
the arch. of a MONOLITHIC kernel.

Archan, i am trying to be practical here. Alan Cox is
GOD. I accept that. But lets get real. Linux IS being
used in some devices. It's another matter that
recently some company (Wyse, i think) ditched Linux
for WinCE. That's based on preference and amount of
work u're willing to put in. Lets look at the positive
side - The Cobalt range of servers. They run a custom
kernel of Linux 2.0 (not too sure of the ver.). Now,
this server hasn't got a keyboard, nor a display. All
its got is a network connection, to telnet in and
modify settings, and an LCD to do some monitoring
stuff... How do u think the Cobalt chaps found it easy
to push Linux into their box? Lets see do them with
doze! ;-) I personally think that it is this small
amount of micro-kernel-ness in the Linux kernel, which
makes this possible. AFAIK, there are some version's
of Palm, which run on Linux. I agree this is a Linux
Mania which is wide spread, but people are doing it
cuz its possible. 

--- Arun Sharma <[EMAIL PROTECTED]> wrote:
> On Mon, Apr 03, 2000 at 06:09:10AM -0700, Nick Hill
> wrote:
> 
> It's true that Linux has some of the attributes of
> the
> micro-kernel design. But the main idea of the micro

thank u. that's all the confirmation i needed. 

> kernel
> architecture was to have functionality distributed
> into
> multiple address spaces and offer protection from
> one
> another.
> 
> The multiple address space and protection boundaries
> ideas
> are key to the concept. A LKM runs in the same
> address space
> as the rest of the kernel and bugs in the module can
> crash
> the whole kernel.
> 

i *dont* think the pcmcia module of yesteryear linux
runs in kernel space. 

> Microkernels were fashionable in academia for the
> last couple
> of decades. But Linus argued that it was
> intellectual dishonesty.
> His argument was that OSes are low level entities
> and 
> that efficiency is more important than ease of
> debugging
> and a "clean" architecture.
> 
> I tend to agree with Linus on this one. In fact,
> after getting
> used to Windows boxes with a responsive UI at work,
> I now believe that
> even windowing systems need to be monolithic, rather
> than being
> split into a X server, window manager and the
> application, all
> running on top of a kernel (you have 4 protected
> address spaces here
> instead of just one on 'doze)
> 

u immediately lose all the *good* features of a micro
arch.... like running linux on u're watch... ;-)

> However, the trade-offs can be different in other
> cases. I was asking
> this question on a FreeBSD mailing list: FreeBSD
> implements NAT in
> a user level daemon, instead of a kernel module
> (ip_masq) as Linux does.
> Why so ?
> 

heard 'bout ipfilter... and i guess its common
knowledge that *BSD rulez, as far as networking
goes...

> The answer I got was that the ease of debugging and
> maintenance and
> acceptable performance dictated that design. So the
> answer really is
> "it depends" (as always :-)
> 

I am not campaigning here that Linux shud go the
micro-kernel way. My only point is that Linux isn't
completely a monolithic kernel anymore, and slowly,
micro-kernel arch. features have been visible over the
time... I am not saying that this trend will continue
too. All i am saying is that Linux, in its CURRENT
form, has a few features of a micro-kernel too, with
MOST of the kernel being a monolithic kernel, as Linus
started off with making Linux a monlithic one. I'd
like to call it a "hybrid" kernel.

I am NOT a CS student. I HAVE NOT studied OS concepts
formally. I have just passed my high school. whatever
i have said is only based on my own study and
experience of the kernel. Please feel free to correct
me if i'm wrong.

Nikhil.



__________________________________________________
Do You Yahoo!?
Talk to your friends online with Yahoo! Messenger.
http://im.yahoo.com

-----------------------------------------------------------------------
For more information on the LIH mailing list see:
http://lists.linux-india.org/lists/LIH

Reply via email to