Page 1 of 2

Comparison between Windows NT and Linux kernels

Posted: Sat Mar 30, 2013 6:09 am
by narke
No troll intended.

Comparison between Windows NT and Linux kernels by Russinovich and Solomon (2006)

https://docs.google.com/viewer?a=v&q=ca ... dTQw&pli=1

Re: Comparison between Windows NT and Linux kernels

Posted: Sat Mar 30, 2013 10:34 am
by OSwhatever
Yes, so what are we supposed to discuss?

Re: Comparison between Windows NT and Linux kernels

Posted: Sat Mar 30, 2013 12:17 pm
by dozniak
It's probably a bit outdated by now.

Re: Comparison between Windows NT and Linux kernels

Posted: Mon Apr 01, 2013 1:47 pm
by Mikemk
?
Why do I care?

Re: Comparison between Windows NT and Linux kernels

Posted: Mon Apr 01, 2013 2:20 pm
by Kazinsal
Interesting look at some of the things about requirements, seeing as Windows' memory requirements are eight times what they used to be, and the Linux kernel still only needs a handful of megabytes...

Re: Comparison between Windows NT and Linux kernels

Posted: Mon Apr 01, 2013 5:17 pm
by gravaera
Yo,

@OP: Thanks, that was a very interesting set of comparison slides. I enjoyed reading it.

--Peace out,
gravaera

Re: Comparison between Windows NT and Linux kernels

Posted: Tue Apr 02, 2013 12:10 am
by linguofreak
Blacklight wrote:Interesting look at some of the things about requirements, seeing as Windows' memory requirements are eight times what they used to be, and the Linux kernel still only needs a handful of megabytes...
As much as I like to brag on Linux, I'll note that the requirements listed for Windows there are for a whole XP install, whereas for Linux it's just the kernel.

For an example of a 2006-era distribution, Ubuntu Edgy needed 32 megs of RAM for a minimal install or 128 for a full install.

Ubuntu Quantal wants 768 megs. (A debootstrapped Precise install with MATE for a DE will fit in around 256 though).

Re: Comparison between Windows NT and Linux kernels

Posted: Tue Apr 16, 2013 2:45 pm
by cybek
Nice presentation, thanks.
But is windows's kernel really monolithic? Sometime I read that kernel is "micro kernel". What is true definition of windows's kernel?

Re: Comparison between Windows NT and Linux kernels

Posted: Tue Apr 16, 2013 3:02 pm
by Brendan
Hi,
cybek wrote:Nice presentation, thanks.
But is windows's kernel really monolithic? Sometime I read that kernel is "micro kernel". What is true definition of windows's kernel?
It's monolithic. The NT kernel consists of a HAL, kernel mode drivers, and a "kernel core". Marketing fools try to pretend that the "kernel core" is a micro-kernel, but it's just part of the monolithic kernel. ;)


Cheers,

Brendan

Re: Comparison between Windows NT and Linux kernels

Posted: Thu Apr 18, 2013 3:52 am
by halofreak1990
Brendan wrote:It's monolithic. The NT kernel consists of a HAL, kernel mode drivers, and a "kernel core". Marketing fools try to pretend that the "kernel core" is a micro-kernel, but it's just part of the monolithic kernel. ;)
I've always read the NT kernel as being a 'hybrid' kernel, whatever that's supposed to mean.

Re: Comparison between Windows NT and Linux kernels

Posted: Thu Apr 18, 2013 4:05 am
by CWood
Chances are, 'hybrid kernel' is supposed to mean, "I don't know what this is, or even if it makes sense, but if I put it on the box, we might get more sales." It's a marketing buzz word, a kernel is either monolithic, or micro. There isn't really any in between.

Re: Comparison between Windows NT and Linux kernels

Posted: Thu Apr 18, 2013 4:18 am
by gravaera
Yo:

You can define a hybrid kernel as the sensible compromise between microkernel and monolithic kernel design -- essentially a design approach that prefers practicality and functional efficiency wherever possible.

For example, a pure microkernel may offload memory management to a separate address space, and have scheduling in a separate address space, and even process execution in a separate address space. It would naturally also have less critical subsystems such as networking and storage in separate address spaces.

A monolithic kernel would have all of these subsystems in-kernel.

A hybrid kernel would keep whichever subsystems are considered "performance critical" in-kernel, and offload the rest, preferring performance to aesthetics. I would even go so far as to say that the hybrid approach is "correct", in that it refuses to sacrifice the performance of the most performance-critical piece of software on a machine for the satisfaction of a perfectly elaborated design. If I were to define the principle behind hybrid kernels, I would say that they are the natural produce of a microkernel designer who has come to take the real world (and real hardware) into consideration.

--Peace out
gravaera

Re: Comparison between Windows NT and Linux kernels

Posted: Thu Apr 18, 2013 4:32 am
by Combuster
CWood wrote:a kernel is either monolithic, or micro. There isn't really any in between.
By their simple definitions, Mono means all drivers are run in the kernel, micro means no drivers run in the kernel. Therefore it is suddenly impossible to have some drivers in the kernel?

In practice, running "most" drivers with the privileges of (...) is considered acceptable criterium for both a monolithic or microkernel. As far as where the grey area actually starts and where "hybrid kernel" applies, is somewhat up to debate. For instance, can you point out where your "RAM driver" is?.

And yes, gravaera just ninja'd me to the point that insisting on academic purity is more often than not a bad thing. However, an impure microkernel doesn't IMO lose rights to it's title.

Re: Comparison between Windows NT and Linux kernels

Posted: Fri Apr 19, 2013 1:50 am
by OSwhatever
Combuster wrote:By their simple definitions, Mono means all drivers are run in the kernel, micro means no drivers run in the kernel. Therefore it is suddenly impossible to have some drivers in the kernel?

In practice, running "most" drivers with the privileges of (...) is considered acceptable criterium for both a monolithic or microkernel. As far as where the grey area actually starts and where "hybrid kernel" applies, is somewhat up to debate. For instance, can you point out where your "RAM driver" is?.

And yes, gravaera just ninja'd me to the point that insisting on academic purity is more often than not a bad thing. However, an impure microkernel doesn't IMO lose rights to it's title.
QNX must have interrupt, timer and network driver in kernel, still it is considered a microkernel. If QNX isn't a microkernel, what is?

Re: Comparison between Windows NT and Linux kernels

Posted: Mon May 13, 2013 4:14 am
by rickbrown
The big structural difference is that linux is a monolithic kernel and the NT kernel has a hydrid structure. It separates out a Hardware abraction layer at the base in a seperate memory space. In addition the win32 API is separated out into it's own memory space as well.

Linux runs a lot more hardware tarchitectures than NT. It also manages drivers in-tree so that it is a lot more practical to make changes to fix security flaws or update driver structures. Whereas windows NT does not, so it has to maintain the old ABI's when adding new ones.

As far as just the kernel goes Linux is really better in about every way. However side considerations mean that each has it's place and use.