For those of us who are used to dual boot between Windows and Linux, at one point of time or the other, we might have wondered in what way these two diverse OS kernels differ from each other. Other than the well known fact that one is open source and the other is proprietary, I knew very little about the technical differences of Linux and Windows kernels.
Johnathon Weare aided by Paolo De Nictolis has put together an extensive list of the inherent technical differences in Linux and Windows Vista. The Linux kernel used for the comparison is the latest one - 2.6.20.
A few things which caught my eye in the list were the following:
Almost all the drivers for USB, Printing, FUSE and Graphics for Linux are in the user space where as in Windows they operate in the kernel space. And as Andy Tanenbaum put it, it is better if more and more drivers run in the user space than the kernel space as this makes the OS more reliable and secure. [Advantage Linux]
Both Linux and Windows kernels are developed using C and assembly language but apart from that Windows also has a significant percentage of C++ code. Not surprisingly, the kernel size of Linux is just over half of that of Windows.
Linux kernel boots on diverse hardware architecture (around 22) including some game stations such as Sony Playstation. Where as Windows support only a measly 3 architectures. [Advantage Linux]
Linux kernel has inbuilt support for the most variety of file systems.
Having gone through the list, I couldn't think of even one area where Windows kernel was ahead of Linux except perhaps the types of hard disks supported where Windows kernel had support for flash and hybrid hard drive which Linux kernel doesn't.
If you are interested, do read the full list of comparison between Linux and Windows Vista kernels.
April 22, 2007 Posted by Ravi