Microsoft junks and replaces Vista kernel in SP1

One of the "big" features discussed in early speculation of Windows Vista SP1 was the kernel upgrade, which was supposed to bring the operating system into line with the Longhorn kernel used in Windows Server 2008. And yet with Vista SP1 going RTM, there hasn't been so much as a peep from Microsoft about the mooted kernel update. Has it happened? Well the answer is yes it has, and presumably the main reason for Microsoft's silence on the subject is that as they're keen to promote the improvements and enhancements to Vista, rather than placing emphasis on a kernel upgrade, which some people might see as a risk of newly-introduced instability.

Screenshots: Windows Server 2008 Winver | Build info - Windows Vista SP1 & Server 2008 RTM
View: Full Article @ APC Mag

Report a problem with article
Previous Story

Notable changes in Windows Vista SP1

Next Story

Windows Server 2008 Is Microsoft`s Leanest, Meanest Yet

23 Comments

Commenting is disabled on this article.

Anyone notice that APC Mag removed the word "junks" from the article? Seemed odd that it was there in the first place. Microsoft didn't "junk" Vista's kernel in SP1 any more than Apple "junked" OSX' kernel in Leopard...

This Kernel upgrade is included in the latest releases of SP1 before RTM? like the RC Refresh or it is new in the RTM release?

It's obvious Microsoft needs to do something about the size of the kernel... I mean it's normal for the code base of any software product to grow in size with each subsequent upgrade, but the size of the kernel almost doubled (from XP) with Vista. That has an affect on the amount of resources needed to run. Now a large kernel isn't necessarily a problem if it's efficient, but I suspect the Vista kernel didn't get optimized because they were rushing to release the product. Most of the kernel changes in SP1 are probably this optimization, which they did for Server 2008.

(hewitt s. said @ #5)
It's obvious Microsoft needs to do something about the size of the kernel... I mean it's normal for the code base of any software product to grow in size with each subsequent upgrade, but the size of the kernel almost doubled (from XP) with Vista. That has an affect on the amount of resources needed to run. Now a large kernel isn't necessarily a problem if it's efficient, but I suspect the Vista kernel didn't get optimized because they were rushing to release the product. Most of the kernel changes in SP1 are probably this optimization, which they did for Server 2008.

Um, the Kernel size went up by 1.27Mb between XP and Vista. That's not double - it's not even double from Win2k!

Win2000: 1.61Mb
WinXP: 2.03Mb
WinVista: 3.30

So from Kernel 5.0 to Kernel 5.1 Microsoft wrote an extra 0.42Mb of code for the Kernel. However a major upgrade from version 5.1 to 6.0 Microsoft wrote an extra 1.27Mb.

When you consider the boot times people have got with Vista, Xbox360, WinMobile6 it's hard to argue against the fact that the NT Kernel is reasonably quick (Note: This is the KERNEL, not Windows as a whole)

(stevehoot said @ #5.1)

Um, the Kernel size went up by 1.27Mb between XP and Vista. That's not double - it's not even double from Win2k!

Win2000: 1.61Mb
WinXP: 2.03Mb
WinVista: 3.30

So from Kernel 5.0 to Kernel 5.1 Microsoft wrote an extra 0.42Mb of code for the Kernel. However a major upgrade from version 5.1 to 6.0 Microsoft wrote an extra 1.27Mb.

When you consider the boot times people have got with Vista, Xbox360, WinMobile6 it's hard to argue against the fact that the NT Kernel is reasonably quick (Note: This is the KERNEL, not Windows as a whole)

Well actually with your numbers it did double from 2k to Vista... just a minor thing.. but 1.61 times 2 is 3.22 which is less then 3.30

(Brandon Live said @ #5.3)
Someone is actually complaining that the NT kernel is too large?

Hahaha, now I've heard it all.

you mean read

If the codebase for the two products is the same, doesn't that mean that the same patches (including Service Packs) have to be applied to both?

(rdmiller said @ #4)
If the codebase for the two products is the same, doesn't that mean that the same patches (including Service Packs) have to be applied to both?

The code base of the two is similar but not identical. Starting around 10 years ago, Microsoft finally realized that Windows Server should be it's own product and not simply another version of the desktop OS. As a result, the kernel for Server is a bit different (separate development team). But in order to maintain compatibility, there is common code between them. The common code is likely what was updated in Server 2008 and changed in Vista SP1.

Windows Server 2003 is an excellent product... If the server team was given the task of cleaning up Vista code (which would be a smart move) then you can be sure that it'll be good... If the desktop team cleaned up the code it'll be a different story.

(hewitt s. said @ #4.1)

The code base of the two is similar but not identical. Starting around 10 years ago, Microsoft finally realized that Windows Server should be it's own product and not simply another version of the desktop OS. As a result, the kernel for Server is a bit different (separate development team). But in order to maintain compatibility, there is common code between them. The common code is likely what was updated in Server 2008 and changed in Vista SP1.

Windows Server 2003 is an excellent product... If the server team was given the task of cleaning up Vista code (which would be a smart move) then you can be sure that it'll be good... If the desktop team cleaned up the code it'll be a different story.

You all have a very skewed view of Windows development. There is no "server kernel" there's just the Windows kernel. The people who own the kernel own it completely.

(rdmiller said @ #1)
If the codebase for the two products is the same, doesn't that mean that the same patches (including Service Packs) have to be applied to both?

They would share updates that are related to the common ground being the kernel.

actually the easiest way to view this is windows home server is based on windows server 2003

as such windows home server when launhed came with service pack 2 already installed


also windows windows xp 64bit version came with service pack 1 from day one it was identical to windows server 2003 sp1

so in other words xp 64bit can be upgraded using the service pack 2 you can download from microsoft for server 2003

I think I am with you on this one. When I get an update to my kernel in Linux, I don't consider it to "junk and replace" my old kernel.

As far as "Windows Server 2008" versus "Windows 6.0" designations, those are just marketing/naming conventions, and don't necessarily detail any particular code base changes.

(Thrawn said @ #3)
Am I mistaken in thinking that most Windows NT service packs replace the Kernel with a new version?

As far as I know XP's kernel was never replaced when windows server 2003 came out... which a lot of people wished they would of

(Mikeparkie said @ #2)
What else have the been quiet about?

havn't you heard yet? they are going to take over the world with help from their alien friends! If you want to know what changed read the changelog, that's what it is there for.


I wonder what improvements the new kernel brings

One of the “big” features discussed in early speculation of Windows Vista SP1 was the kernel upgrade,

It helps if you can get the first sentance correctly