D&C GLug - Home Page

[ Date Index ] [ Thread Index ] [ <= Previous by date / thread ] [ Next by date / thread => ]

RE: [LUG] What IS an operating system ?

 

--- "Darke, Clive" <Clive.darke@xxxxxx> wrote: 
Many questions on the dclug list concern device
drivers, a continual issue
for many OS's.  So far as I know GNU do not produce
these, and they could be
described as part of the kernel/OS (a grey area
though).  In the short time
I have been observing, the majority of questions on
this list are not about
FSF/GNU products.

Device drivers are part of the Linux kernel so not GNU
(but GPL).  This harks back to the debates in the
1980's about what an OS kernel should do.  The
microkernel arguement was that the kernel should
handle as little as possible. Device managers should
run outside the kernel, possibly even memory
management as well.  By the end of the 1980's this
argument had pretty held sway, so when Linus Torvals
started designing a "monolithic kernel" which handled
task switching, memory management and device
management, he got a fair amount of stick, not least
from Professor Andrew Tanenbaum who wrote of Linux
"This is a giant step back into the 1970's" and "...in
all honesty, I would suggest that people who want a
**MODERN** "free" OS look around for a
microkernel-based, portable OS, like maybe GNU or
something like that"   (presumably he was referring to
HURD, Richard Stallman's microkernel).

Despite these arguments, the practical point was that
Linus Torvals had written an OS kernel which really
worked with Richard Stallman's GNU sofware to make a
usable operating system, while Stallman himself had
not - HURD was far from finished.

In those days, the practical consequence of having a
monolithic kernel came to us in the installation
process.  Most distributions of Linux came with
several compiled kernels, one of which (hopefully)
would recognise the essential components of your
computer. Once you had a successful installation, the
first order of business was to compile a new kernel
which recognised all the non-essential devices on your
computer, e.g. sound card, network card etc..

Then came the modular kernel.  Distributions now come
with a basic kernel as before, but they also contain
pre-compiled modules for just about any hardware which
Linux can recognise.  These can be loaded (or
unloaded) on demand - becoming an integral part of the
Linux kernel. 

The issue of device drivers is not therefore a grey
area, they are part of the Linux kernel.  There can
however be problems with whether the device you need
is supported by the Linux kernel or whether it is
supported by your distribution, i.e. does you
distribution have a precompiled module for the device?

Cheers

Tony

reference:
Open Sources: Voices from the Open Source Revolution
Pub. O'Reilly (who else!)
ISBN 1-56592-582-2



       
       
               
___________________________________________________________ 
ALL-NEW Yahoo! Messenger - all new features - even more fun! 
http://uk.messenger.yahoo.com

--
The Mailing List for the Devon & Cornwall LUG
Mail majordomo@xxxxxxxxxxxx with "unsubscribe list" in the
message body to unsubscribe.