top | item 18310035

One Windows Kernel

305 points| MikusR | 7 years ago |techcommunity.microsoft.com | reply

225 comments

order
[+] detuur|7 years ago|reply
>The most amazing aspect of all this is that the core of Windows, its kernel, remains virtually unchanged on all these architectures and SKUs.

Is that really such an exciting concept? Maybe I have a poor understanding, but I've been under the impression that nearly every competing kernel (Linux, Darwin, *BSD) is exactly like that. The only situation where I can imagine a slight departure is Solaris and its SPARC architecture, where SPARC had certain features to specifically to tie in with the kernel but I'm sure it still compiled to foreign architectures from the same codebase.

[+] ChuckMcM|7 years ago|reply
Well it is an exciting concept but it isn't as you point out unique.

It was fairly clear in the 80's and 90's there were two 'streams' of systems programmers, those who started at mainframes and mini-computers and were making things work on smaller and smaller versions of those machines, and those who started at the ROM monitor or DOS level type machine and made things work on larger and larger versions of those machines.

It was stark how differently the two 'types' of people approached operating system problems.

Windows "crossed over" from being more of a monitor type interface to being an executive interface with Windows NT at the hands of a former VAX software architect (which was firmly in the mainframe getting smaller path), and that cross over happened for the masses when Microsoft merged the NT kernel with the Window "old tech" kernel in Windows XP as I recall. By the time Windows 7 came around it was pretty much unified for life and has evolved since then.

If all you knew were Microsoft OSes, then yes it is an amazing journey. If however you had already been experiencing systems like UNIX that ran on everything from mainframes to PDP-11/70's you would not have been quite so surprised.

[+] rayiner|7 years ago|reply
Solaris doesn't scale down to cell phones, and Darwin doesn't scale up to 896-core servers. Linux does scale like that, but Linux is pretty unusual in that regard too.
[+] lizknope|7 years ago|reply
Sun had different kernels for the sun4c and sun4m architectures.

In this infamous post David Miller brags about how he has made a single Linux kernel capable of booting on both.

https://cryptnet.net/mirrors/texts/kissedagirl.html

and then the response from Bryan Cantrill

[+] gnu8|7 years ago|reply
There are still a lot of people out there who don’t understand that there are computing environments outside of Microsoft Windows. Not as many as there were in the 1990’s, but still quite a few.
[+] partiallypro|7 years ago|reply
It's an exciting concept within Microsoft and the Windows team and could bring good things. But it's not a unique concept, no.
[+] tialaramex|7 years ago|reply
This seems like it's essentially confessing to something we already knew. Back at the turn of the century Microsoft liked to claim that Windows Server and the ordinary client NT were different in some important way beyond just the branding and price. People would even try to argue that Linux couldn't be a "real" desktop OS because it lacked some kind of secret sauce not found in a server OS... Hackers eventually found out how to tell a client NT kernel to behave exactly like Server, because of course they are the same kernel, duh.

Microsoft's reaction was to stop selling the two next to each other. There is no Windows 10 Server and Windows Server 2019 doesn't have a client version. So the exact same thing continues, but now there IS no equivalent product to prove the point that they're identical bar branding and price.

[+] dblohm7|7 years ago|reply
> Hackers eventually found out how to tell a client NT kernel to behave exactly like Server

It was Mark Russinovich who did it with a utility called NTTune. Now he's the CTO of Azure!

[+] dboreham|7 years ago|reply
I've worked (outside MS) for 20+ years with NT, beginning with the 3.1 beta. It is news to me that anyone believed the kernels were different. I can't imagine why anybody in the least bit clueful would believe that. Furthermore I've never heard anyone suggest or argue that they were different.
[+] basch|7 years ago|reply
Microsoft kinda gave up on this ruse back at Longhorn and Vista SP1 days.

Longhorn was a fork of the Server 2003 codebase, and Vista SP1 was a backport/newfork of changes made to Server 2008. (Server2008 and VistaSP1 were both released Feb.4.08.) They were absolutely released in lockstep. Vista SP2 was released April.28.09 and Server 2008 R2 was released Oct.22.09. At that point the consumer product became the testing ground for the server kernel.

It's easier to think of Vista RTM as a giant public alpha, and and Vista SP2 as an insider preview for Server2008 R2 / Windows 7.

[+] kyberias|7 years ago|reply
That was always a bogus and boring argument. Was then and is now.

I don't think Microsoft ever claimed that they have a different kernel. It was always clear they have.

Windows Server includes a lot of OTHER SW, other than Kernel, that makes it a server when compared to desktop Windows.

Server and Desktop Windows are like different Linux distros.

[+] SEJeff|7 years ago|reply

    Windows is one of the most versatile and flexible operating systems out there, running on a variety of machine architectures and available in multiple SKUs.
Linux, BSD, Darwin... You support a dozen architectures? How adorable. condescendingly pats head
[+] cyphar|7 years ago|reply
> You support a dozen architectures?

And they only support four (x86, amd64, ARM, ARM64)! This is quite a cute thing to mention after saying you're "one of the most versatile and flexible operating systems". Ignoring the obviously qualifying language of "one of the most", I would argue it is still false -- virtually every mainstream operating system I can think of supports more architectures than this. Here is my quickly-put-together list:

    * Linux: 25.
    * MINIX: 15.
    * OpenBSD: 13.
    * FreeBSD: 7.
    * Windows: 4.
    * illumos: 3 (with arm* in development).
    * Darwin: 2.
What an achievement. Now -- don't get me wrong, Windows has done a lot of things, but they have set the parameters of this comparison and they don't fare well in it (even if you get past the qualifying language over a comparison that they decided to make).
[+] Sharlin|7 years ago|reply
I wonder what it would cost to purchase an Oracle license for that 1792 core instance.
[+] teddyh|7 years ago|reply
The answer is: Whatever amount of money which Oracle’s sales and customer research teams determines that you can barely afford to pay.
[+] oraclethrow|7 years ago|reply
Oracle reseller here:

~59.2M USD on first year (includes maintenance), assuming: - Xeon processors core factor - OEE without any options (no RAC, no partition, etc..) - List price

22% yearly maintenance, about 10.8M on second year and forward.

You won’t pay list price, most likely.

[+] linuxlizard|7 years ago|reply
We'd probably need 4 cores just dedicated to that math.
[+] urda|7 years ago|reply
The Windows Kernel is an insane engineering feet by itself, so getting to see how the inner components mesh in articles like these always fascinates me.
[+] zeptomu|7 years ago|reply
So ... how long until Windows becomes just a Linux distribution similar to Android? 8 years? Sooner, later?
[+] pjmlp|7 years ago|reply
Windows is most likely to become another mainframe like OS, with its multiple execution personalties than yet another a Linux distribution.

Just like IBM i, IBM z, ClearPath are their own thing, and can also run Aix, Windows and GNU/Linux on top.

[+] mschuster91|7 years ago|reply
Is it possible to "backport" the Kernel (and other parts, such as the WSL, with it) to Windows 7?

I'd like to have a modern Windows, but with the "classic" UI and no forced ads/bloatware/crapware. And yeah I am aware of W10 LTSB but it's not legally available for 99% of users.

edit: Looks like the post attracted a bit of a flamewar. Originally, I just wanted to know if this was technically feasible or not.

[+] userbinator|7 years ago|reply
I've not looked into it in detail (I used to be a "hacker" who spent lots of time disassembling, patching, and otherwise modding Windows in the 98/2K/XP era) but I read that the telemetry stuff is deep in the kernel too, so you probably don't want a "stock" Win10 kernel. Vista and above have various DRM-ish obstacles that get in the way, and the near-continuous updating of the newer versions also frustrates any efforts. Probably against the EULA too.

That said, there exists leaked source of an XP/2k3 kernel and people have managed to compile and use it with an XP userland. Anything is possible if you have the time, skills, and the complete lack of concern for EULAs. ;-)

MSFT themselves open-sourcing large parts of Windows in the future, including the kernel, would not be surprising either.

Another, possibly less legally questionable approach, would be to try getting the ReactOS/WINE userland to run on the Win10 kernel.

[+] vbezhenar|7 years ago|reply
Of course it's possible. Windows UI is just set of userland programs. Back in Windows XP time, there were plenty of Windows shells which completely changed the way OS looks. I'm not sure if those programs are still in development, but I don't see any particular reason why it would be impossible to replicate Windows 7 L&F for determined developer.
[+] alkonaut|7 years ago|reply
I’m guessing it’s easier to strip out the things you don’t want from Win10 than to transplant a kernel back to Win7.
[+] rpeden|7 years ago|reply
If you had the source and enough developer time...sure, it would be possible. :)
[+] 21|7 years ago|reply
Same old story.

When XP came out, people were moaning that it looks like shit and how they wanted the XP kernel, but the 2000 look.

When Vista came out, same thing again, all that Aero looks like shit, disable it so that it looks like XP classic.

Now 10 comes out, same story, looks like shit, we want it to look like 7.

You should think deeper to see what drives this desire of yours. I bet that when Vista came out with the Aero look, you felt like it's shit forced on you, and you wanted the XP classic look. Now you want the Aero look that you once hated. Ironic, isn't it?

[+] andrewstuart|7 years ago|reply
I wish they had the courage to get rid of the registry.
[+] viraptor|7 years ago|reply
Why? What's the goal / advantage?
[+] orf|7 years ago|reply
And replace it with?
[+] rustcharm|7 years ago|reply
Most applications today store their preferences in an AppData directory that can be per user, per machine, or per network. The registry is used largely for OS settings.
[+] stephengillie|7 years ago|reply
What would replace it? Thousands of individual config files? That's a mess to manage.

What the Windows Registry needs is a REST API.

[+] Annatar|7 years ago|reply
"This is a picture of Windows taskmgr running on a pre-release Windows DataCenter class machine with 896 cores supporting 1792 logical processors and 2TB of RAM!"

Reminds me of an UltraSPARC T5 server with 3072 processors I used to work on... from five years ago. Old tech, eh?

[+] antiwin32|7 years ago|reply
How is it possible to have CPU with 100% of usage and Memory at 0% of usage at this screenshot (Task Manager showing 1792 logical processors)?
[+] SteveCoast|7 years ago|reply
It was a 2Tb of RAM machine I think? So 0.49% of that would be 9.8Gb? Plenty of space and it would still be "0%" used.
[+] saagarjha|7 years ago|reply
I don't see why not: create a process that just spawns a thousand threads that infinitely loop, but uses very little memory.
[+] matachuan|7 years ago|reply
C'mon. Not even your own Drawbridge project is supported in Windows...
[+] pjmlp|7 years ago|reply
Have a look at WSL pico-processes, device guard, and secure kernel support.
[+] idiots|7 years ago|reply

[deleted]

[+] davemp|7 years ago|reply
> For a community that prides itself on the hacker mentality and the curiosity that comes with it, you lot certainly don't show it. Idiots.

This is my first post in the thread. The blog is cool and all. Though, all I can say is that it’s hard to get excited about software whose source you can’t look at if you’re curious.

[+] cyphar|7 years ago|reply
For someone who is asking for civility in a forum, you certainly don't appear to be willing to be civil yourself.
[+] partycoder|7 years ago|reply
Forgot to add the line count of backdoors and stupid absurd shit like processing fonts on the kernel rather than userland so people can hack your 896 core machine and mine bitcoin.
[+] karmenblack|7 years ago|reply
I wish Windows kernel been optimised for a given architecture. It is one of the examples where "one fits all" doesn't work. Even if Intel or AMD bring another grounbreaking generation of CPUs - giving mighty 5% increase in performance - it is all for nothing, because it gets eaten up by Windows poorly written guts. I don't know what kind of monster machine you need nowadays to watch YouTube video without audio breaking up or without having to dedicate one core just to handle the mouse.