Comparison between Windows NT and Linux kernels

Discussions on more advanced topics such as monolithic vs micro-kernels, transactional memory models, and paging vs segmentation should go here. Use this forum to expand and improve the wiki!
rdos
Member
Member
Posts: 3297
Joined: Wed Oct 01, 2008 1:55 pm

Re: Comparison between Windows NT and Linux kernels

Post by rdos »

CWood wrote: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.
No? What about an OS that uses a micro-kernel design for 64-bit drivers and a monolitihic design for 32-bit drivers. Is it monolithic or a micro-kernel? As an example, in a mainly 32-bit configuration it could run all drivers in kernel, while for a 64-bit configuration it could run all drivers in user-space. Would you assign different labels to it based on configuration?
garegin
Posts: 8
Joined: Tue Jan 01, 2013 11:57 am

Re: Comparison between Windows NT and Linux kernels

Post by garegin »

a monolithic kernel remains monolithic even if you move drivers out of it and into userspace. the reason is that in microkernels there is an elaborate IPC between the different "user space" services whereas in a monolithic kernel there are just user space programs.

the windowing system is almost irrelevant. the compositor does the real work and the rendering API like opengl and directx renders actually renders the images to be composited.
in windows you can write your drivers to be in userspace. I don't know if there are restriction as to which ones, maybe someone can tell me.
i think in linux the printer drivers are in userspace too (like in windows)
User avatar
Combuster
Member
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

Post by Combuster »

garegin wrote:a monolithic kernel remains monolithic even if you move drivers out of it and into userspace. the reason is that in microkernels there is an elaborate IPC between the different "user space" services whereas in a monolithic kernel there are just user space programs.
Bogus argument. Linux has a much broader IPC collection than most microkernels, including a read() and write() pair, send() and recv(), shared memory and named pipes, therefore it is a microkernel?
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
OSwhatever
Member
Member
Posts: 595
Joined: Mon Jul 05, 2010 4:15 pm

Re: Comparison between Windows NT and Linux kernels

Post by OSwhatever »

The micro vs monolithic kernels is quite uninteresting because there are so many shades of gray between the two. However, the trend is obvious that both Linux and Windows are migrating more and more drivers to user space because it provides a number of benefits while the performance is still acceptable.

Still I'm intrigued by QNX why they decided to put their network drivers in the kernel. I'm a bit confused by this, can someone who knows more about QNX give more information about this and what part of the network driver is in the kernel.
User avatar
VolTeK
Member
Member
Posts: 815
Joined: Sat Nov 15, 2008 2:37 pm
Location: The Fire Nation

Re: Comparison between Windows NT and Linux kernels

Post by VolTeK »

The first bit to me just looks like a chance to bash Windows XP, id like to see how it pairs to 7 or 8 now.


m12 wrote:?
Why do I care?
Nobody cares if you care. You either do or don't, otherwise don't post here at all.
User avatar
demonkoryu
Posts: 10
Joined: Sat Sep 18, 2010 2:31 am
Location: Dortmund, Germany

Re: Comparison between Windows NT and Linux kernels

Post by demonkoryu »

There is also the exokernel design, which provides memory protection and a hardware multiplexer and not much more.
webtech
Posts: 2
Joined: Thu Jun 16, 2016 3:53 am
Contact:

Re: Comparison between Windows NT and Linux kernels

Post by webtech »

I found one more great article about Windows Nt Vs Kernels. Have a look
http://technozed.com/windows-kernel-vs-linux-kernel/
glauxosdever
Member
Member
Posts: 501
Joined: Wed Jun 17, 2015 9:40 am
Libera.chat IRC: glauxosdever
Location: Athens, Greece

Re: Comparison between Windows NT and Linux kernels

Post by glauxosdever »

Hi,


I have read the article and I decided to make numerous remarks about it.
The kernel is usually operated by the programmers or by the developers.
"Operated"? Also every piece of software is "maintained" by developers, so this statement is redundant.
The Linux Kernel is very similar to Unix operating system kernel.
The Unix kernel didn't include drivers for all of the modern hardware, as they obviously didn't exist back then. Linux instead includes drivers for this hardware. So how can they be similar?
The only thing is the interface with is not very stable by design.
The user interface (I presume this is meant, since the article is most likely written by a noob) is not a part of the kernel.
At the middle level, the UNIX Kernel is divided into 4 distinct areas.
Again, confusing Unix and Linux.
Then starting with Windows 2000, Windows started to use Windows NT kernel architecture which is included in Windows XP, Vista, 7, 8, 8.1 and Windows 10 too.
Facepalm. The NT kernel architecture was present a lot earlier.
I can state that we have to look for the similarities first between Windows, Linux, FreeBSD and any other x86 operating system. From this we can conclude that that all of these operating systems are Intel x86 CPU based, the only one that can run on any other hardware is Linux.
This is utterly wrong. FreeBSD can run in many different platforms, and there is a port of Windows 10 to (at least) Raspberry PI.
Operating systems use “SYSENTER” and “SYSEXIT” system call to make a transition from ring 3 to ring 0, mostly known as x86 operating system.
SYSENTER and SYSEXIT are processor instructions, and not system calls.
System call is almost identical for all x86 operating systems
Not sure what does the author mean here, but I presume he either means they switch to ring 0 in the same way (which is not true), or he means they have the same system calls (which is not true either).
Also very CPU have its CR3 registers, and they can have different memory page tablets
"Page tablets" - I don't have to say more.
and iti is common to have one page table in memory and share it among the different CPUs.
This is operating system development theory, not applicable to Windows kernel against Linux kernel.
The Linux Kernel has all the access to the memory and can do whatever it wants with it. In order to keep himself alive it will start to kill other processes to acquire memory for him, if that will not happen, the system will crash.
Wrong, Linux swaps too. And Windows has access to the memory too.
For Windows all graphics operations are don in Kernel windows
I didn't know you could open the kernel executable in a window on the desktop.
As we can see, both Linux and Windows operating systems has a sort of Kernel.
I didn't know there are operating systems without a kernel.
Between Linux and Windows kernels, the difference is that Linux is more like a king cleaning everything on its way to get more memory when it needs.
Nope. Linux tolerates insufficient memory in a better way. It even lets the user to set the "swappiness" parameter to fine-tune it according to usage cases.

I short, I might have missed something, but the wrongness of that article is much above tolerability level. Most likely it is terminology issues here.


Regards,
glauxosdever
User avatar
iansjack
Member
Member
Posts: 4703
Joined: Sat Mar 31, 2012 3:07 am
Location: Chichester, UK

Re: Comparison between Windows NT and Linux kernels

Post by iansjack »

An appalling article.
Post Reply