Everything you always wanted to know about your next kernel (but were afraid to ask)
Watch this space for info on Windows Server 2008 and Vista SP1. See preview info for Server 2008 Announcement.
In Q3 2008, this means the new features of Linux 2.6.27 kernels versus Windows Vista SP1. In Q4, this means Linux 2.6.28 versus Windows Vista SP1 kernels. Click the version number for the feature list.
better or more flexible vs. worse or less flexible, neutral or controversial.
Kernel Comparison Linux (2.6.22) vs Windows (Vista)
Kernel Comparison | Linux |
Status2 | Unreleased |
OS | Linux 2.6.24 |
Kernel | 2.6.24 |
Release Date2 | Q1 20081 |
Kernel Comparison | Linux | Linux | Linux | Linux | Windows | Windows | Windows |
Status2 | Released | Released | Released | Released | Released | Released | Unreleased |
OS | Linux 2.6.20 | Linux 2.6.21 | Linux 2.6.22 | Linux 2.6.23 | Server 2003 R2 SP2 | Vista | Server 2008 |
Kernel | 2.6.20 | 2.6.21 | 2.6.22 | 2.6.23 | NT 5.2.3790 | NT 6.0.6000 | NT 6.0.6001 |
Release Date2 | Q1 2007 | Q2 2007 | Q3 2007 | Q4 2007 | Q1 2007 | Q1 2007 | Q4 20071 |
OS | Linux 2.6.20 | Linux 2.6.21 | Linux 2.6.22 | Linux 2.6.23 | Server 2003 R2 SP2 | Vista | Server 2008 |
Kernel | 2.6.20 | 2.6.21 | 2.6.22 | 2.6.23 | NT 5.2.3790 | NT 6.0.6000 | NT 6.0.6001 |
CPU scheduler CFS | N | N | N | Y | N | N | N |
Virtualisation - Xen | N | N | N | Y | N | N | N |
Paravirtualisation - lguest | N | N | N | Y | N | N | N |
Analog Devices Blackfin architecture | N | N | Y | Y | N | N | N |
forward receive timeout recovery (RFC4138) | N | N | Y | Y | N | N | N |
TCP congestion avoidance YeAH | N | N | Y | Y | N | N | N |
TCP congestion avoidance Illinois | N | N | Y | Y | N | N | N |
flash partitioning/management | N | N | Y | Y | N? | N? | N? |
Dynamic ticks | N | Y | Y | Y | N | N | N |
UFS2 | Y (partial) | Y | Y | Y | N | N | N |
UFS | Y (partial) | Y | Y | Y | N | N | N |
Virtualization (guest) | Y | Y | Y | Y | Y | N Y | Y |
Virtualization - hardware CPU extension Intel VT (IVT)/AMD-V based (KVM,-) | Y | Y | Y | Y | N | N | Y |
Paravirtualization (for lguest/lhype/rustyvisor) | Y | Y | Y | Y | N | N | N? |
Relocatable kernel | Y | Y | Y | Y | N | N | N |
Boot - parallel device probing | N (Y optional) | N (Y optional) | N (Y optional) | N (Y optional) | N | N | N |
Boot - Asynchronous SCSI scanning | Y | Y | Y | Y | N | N | N |
Boot - Multithreaded USB probing | Y | Y | Y | Y | N | N | N |
PCI-Express (PCIe) | Y | Y | Y | Y | Y | Y | Y |
PCI-Express (PCIe) AER | Y | Y | Y | Y | N | Y | Y |
boot image self-patch (SMP alternatives) | Y | Y | Y | Y | N | N | Y |
swap prefetch | N (Y with patch) | N (Y with patch) | N (Y with patch) | N (Y with patch) | N | N (Y some4) | N (Y some4) |
swap speculative | N (Y with patch) | N (Y with patch) | N (Y with patch) | N (Y with patch) | N | N | N |
load balancing - rebalance | Y | Y | Y | Y | N | N | N? |
load balancing - smpnice | Y | Y | Y | Y | N | N | N? |
filesystem supported Reiser4 | N (Y partial patch) | N (Y partial patch) | N (Y partial patch) | N (Y partial patch) | N | N | N |
I/O scheduling based on thread priority | Y | Y | Y | Y | N | Y | Y |
I/O scheduling based on thread priority - default | Y | Y | Y | Y | N | Y | Y |
OS | Linux 2.6.20 | Linux 2.6.21 | Linux 2.6.22 | Linux 2.6.23 | Server 2003 R2 SP2 | Vista | Server 2008 |
Kernel | 2.6.20 | 2.6.21 | 2.6.22 | 2.6.23 | NT 5.2.3790 | NT 6.0.6000 | NT 6.0.6001 |
WI-FI (WLAN) native stack | N | N | Y | Y | Y | Y | Y |
SATA support - NCQ | Y | Y | Y | Y | Y | Y | Y |
splice zero copy | Y | Y | Y | Y | Y | Y | Y |
UDP-Lite | Y | Y | Y | Y | Y | Y | Y |
OS | Linux 2.6.20 | Linux 2.6.21 | Linux 2.6.22 | Linux 2.6.23 | Server 2003 R2 SP2 | Vista | Server 2008 |
Kernel | 2.6.20 | 2.6.21 | 2.6.22 | 2.6.23 | NT 5.2.3790 | NT 6.0.6000 | NT 6.0.6001 |
SMB2 | N | N | N | N | N | N | Y |
flash drive as disk cache | N | N | N | N | N | Y | Y |
hard drive with flash cache (Hybrid Hard Drive) | N | N | N | N | N? | Y | Y |
preload application (based on time usage heuristics) | N | N | N | N | N | Y | Y |
I/O asynchronous cancellation | N (Y with patch) | N (Y with patch) | N (Y with patch) | N (Y with patch) | N | Y | Y |
Kernel Transaction Manager | N | N | N | N | N | Y | Y |
UDF - read | 2.0x (2.50 patch) | 2.0x (2.50 patch) | 2.0x (2.50 patch) | 2.0x (2.50 patch) | 2.0x | 2.60 | 2.60 |
UDF - write | 2.0x (1GB limit) | 2.0x (1GB limit) | 2.0x | 2.0x | N (2.0x with add-on) | 2.50 | 2.50 |
P2P native platform API | N | N | N | N | N | Y6 | N |
RSS native platform API | N | N | N | N | N | Y | Y |
Network connections location native platform API | N | N | N | N | Y7 | Y7 | Y7 |
OS | Linux 2.6.20 | Linux 2.6.21 | Linux 2.6.22 | Linux 2.6.23 | Server 2003 R2 SP2 | Vista | Server 2008 |
Kernel | 2.6.20 | 2.6.21 | 2.6.22 | 2.6.23 | NT 5.2.3790 | NT 6.0.6000 | NT 6.0.6001 |
runtime kernel switching uni/multi-processor | Y | Y | Y | Y | N | N | Y |
ASLR | Y | Y | Y | Y | N | Y | Y |
windowing system user mode | Y | Y | Y | Y | N | N (Y some3) | N (Y some3) |
Native IPv6 stack | Y | Y | Y | Y | N | Y5 | Y |
auto TCP receive window resize | Y | Y | Y | Y | N | Y5 | Y |
Kernel Comparison | Linux | Linux | Linux |
Status2 | Released | Released | Released |
OS | Linux 2.6.17 | Linux 2.6.18 | Linux 2.6.19 |
Kernel | 2.6.17 | 2.6.18 | 2.6.19 |
Release Date2 | Q2 2006 | Q3 2006 | Q4 2006 |
OS | Linux 2.6.17 | Linux 2.6.18 | Linux 2.6.19 |
Kernel | 2.6.17 | 2.6.18 | 2.6.19 |
Dynamic ticks | N | N | N |
UFS2 | Y (partial) | Y (partial) | Y (partial) |
UFS | Y (partial) | Y (partial) | Y (partial) |
Virtualization (guest) | Y | Y | Y |
Virtualization - CPU extension support (KVM,-) | N (Y optional) | N (Y optional) | N (Y optional) |
Paravirtualization - lguest/lhype/rustyvisor | N | N | N |
Relocatable kernel | N | N | N |
Boot - parallel device probing | N | N | N (Y optional) |
Boot - Asynchronous SCSI scanning | N | N | N |
Boot - Multithreaded USB probing | N | N | N |
PCI-Express (PCIe) | Y | Y | Y |
PCI-Express (PCIe) AER | N | N | Y |
boot image self-patch (SMP alternatives) | Y | Y | Y |
swap prefetch | N | N (Y with patch) | N (Y with patch) |
swap speculative | N | N (Y with patch) | N (Y with patch) |
load balancing - rebalance | Y | Y | Y |
load balancing - smpnice | N | Y | Y |
filesystem supported Reiser4 | N (Y partial patch) | N (Y partial patch) | N (Y partial patch) |
I/O scheduling based on thread priority | Y | Y | Y |
I/O scheduling based on thread priority - default | N | Y | Y |
OS | Linux 2.6.17 | Linux 2.6.18 | Linux 2.6.19 |
Kernel | 2.6.17 | 2.6.18 | 2.6.19 |
SATA support - NCQ | N | Y | Y |
splice zero copy | Y | Y | Y |
UDP-Lite | N | N | N |
OS | Linux 2.6.17 | Linux 2.6.18 | Linux 2.6.19 |
Kernel | 2.6.17 | 2.6.18 | 2.6.19 |
flash drive as disk cache | N | N | N |
hard drive with flash cache (Hybrid Hard Drive) | N | N | N |
preload application (based on time usage heuristics) | N | N | N |
I/O asynchronous cancellation | N (Y with patch) | N (Y with patch) | N (Y with patch) |
Kernel Transaction Manager | N | N | N |
UDF - read | 2.0x (2.50 patch) | 2.0x (2.50 patch) | 2.0x (2.50 patch) |
UDF - write | 2.0x (1GB limit) | 2.0x (1GB limit) | 2.0x (1GB limit) |
P2P native platform API | N | N | N |
RSS native platform API | N | N | N |
Network connections location native platform API | N | N | N |
OS | Linux 2.6.17 | Linux 2.6.18 | Linux 2.6.19 |
Kernel | 2.6.17 | 2.6.18 | 2.6.19 |
ASLR | Y | Y | Y |
windowing system user mode | Y | Y | Y |
Native IPv6 stack | Y | Y | Y |
auto TCP receive window resize | Y | Y | Y |
1 schedule
2 Legend: current, non-current, future.
3 only drivers in kernel mode
4 if preload application
5 check Next Generation TCP/IP Stack and Windows Vista TCP/IP Networking
6 also Windows XP with Service Pack 2, not available for server versions
7 Network Location Awareness Winsock extensions available in Windows XP and Windows Server 2003 have been further improved in Vista client and server platform with Network List Manager API
Johnathon Weare © Johnny Weare 2008
Widefox - the Vertical Tab Firefox