Comparison between Windows NT and Linux kernels
Comparison between Windows NT and Linux kernels
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
Comparison between Windows NT and Linux kernels by Russinovich and Solomon (2006)
https://docs.google.com/viewer?a=v&q=ca ... dTQw&pli=1
OS for PowerPC Macs: https://github.com/narke/Einherjar
Operating system: colorForth computing environment for x86.: https://github.com/narke/Roentgenium
Operating system: colorForth computing environment for x86.: https://github.com/narke/Roentgenium
-
- Member
- Posts: 595
- Joined: Mon Jul 05, 2010 4:15 pm
Re: Comparison between Windows NT and Linux kernels
Yes, so what are we supposed to discuss?
Re: Comparison between Windows NT and Linux kernels
It's probably a bit outdated by now.
Learn to read.
Re: Comparison between Windows NT and Linux kernels
?
Why do I care?
Why do I care?
Programming is 80% Math, 20% Grammar, and 10% Creativity <--- Do not make fun of my joke!
If you're new, check this out.
If you're new, check this out.
- Kazinsal
- Member
- Posts: 559
- Joined: Wed Jul 13, 2011 7:38 pm
- Libera.chat IRC: Kazinsal
- Location: Vancouver
- Contact:
Re: Comparison between Windows NT and Linux kernels
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...
- gravaera
- Member
- Posts: 737
- Joined: Tue Jun 02, 2009 4:35 pm
- Location: Supporting the cause: Use \tabs to indent code. NOT \x20 spaces.
Re: Comparison between Windows NT and Linux kernels
Yo,
@OP: Thanks, that was a very interesting set of comparison slides. I enjoyed reading it.
--Peace out,
gravaera
@OP: Thanks, that was a very interesting set of comparison slides. I enjoyed reading it.
--Peace out,
gravaera
17:56 < sortie> Paging is called paging because you need to draw it on pages in your notebook to succeed at it.
-
- Member
- Posts: 510
- Joined: Wed Mar 09, 2011 3:55 am
Re: Comparison between Windows NT and Linux kernels
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.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...
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
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?
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
Hi,
Cheers,
Brendan
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.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?
Cheers,
Brendan
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.
-
- Member
- Posts: 41
- Joined: Thu Aug 09, 2012 5:10 am
Re: Comparison between Windows NT and Linux kernels
I've always read the NT kernel as being a 'hybrid' kernel, whatever that's supposed to mean.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.
<PixelToast> but i cant mouse
Porting is good if you want to port, not if you want maximum quality. -- sortie
Porting is good if you want to port, not if you want maximum quality. -- sortie
Re: Comparison between Windows NT and Linux kernels
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.
- gravaera
- Member
- Posts: 737
- Joined: Tue Jun 02, 2009 4:35 pm
- Location: Supporting the cause: Use \tabs to indent code. NOT \x20 spaces.
Re: Comparison between Windows NT and Linux kernels
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
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
17:56 < sortie> Paging is called paging because you need to draw it on pages in your notebook to succeed at it.
- Combuster
- Member
- Posts: 9301
- Joined: Wed Oct 18, 2006 3:45 am
- Libera.chat IRC: [com]buster
- Location: On the balcony, where I can actually keep 1½m distance
- Contact:
Re: Comparison between Windows NT and Linux kernels
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?CWood wrote:a kernel is either monolithic, or micro. There isn't really any in between.
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.
-
- Member
- Posts: 595
- Joined: Mon Jul 05, 2010 4:15 pm
Re: Comparison between Windows NT and Linux kernels
QNX must have interrupt, timer and network driver in kernel, still it is considered a microkernel. If QNX isn't a microkernel, what is?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.
Re: Comparison between Windows NT and Linux kernels
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.
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.