|
|
Warp wrote:
> scott <sco### [at] scottcom> wrote:
>> In Windows you just install a driver, why do you need to recompile the
>> kernel?
>
> It's the classical monolithic kernel vs. microkernel war. There are
> advantages and disadvantages in both methods.
I don't think Windows is anywhere near what you'd call a "microkernel",
altho it looks like MS is trying to push everything they can out of kernel
space for their own protection.
Generally a "microkernel" runs as little as possible in kernel space,
deferring all device drivers and such to user-space code, providing only
things like scheduling and IPC. (MS's Singularity, Amiga's original OS
(except that was *all* kernel mode), Mach (about which I know almost
nothing), etc.)
When a device driver can't crash the system any harder than user code can,
it's a microkernel. :-)
> When the driver is integrated into the kernel, like in linux, it will
> obviously always work even if the kernel is seriously updated (because
> all the embedded drivers will be updated for the new kernel design as
> well).
I don't think that obviously follows. If nobody updates the driver, it'll
break (or more likely just not be present) in newer kernels. Having the
sources available of course lets you fix it, if it's worthwhile to whoever
is competent to fix it. I.e., it's not that the kernel is monolithic, but
that the sources are available to do the fixing, that keeps drivers running
under Linux. (Actually, I've seen many complaints that the kernel doesn't
provide a stable platform for drivers, and it slows development to have to
fix every driver with repeated kernel changes that break them.)
--
Darren New, San Diego CA, USA (PST)
The NFL should go international. I'd pay to
see the Detroit Lions vs the Roman Catholics.
Post a reply to this message
|
|