Hacker News new | past | comments | ask | show | jobs | submit login
Windows Blue under the hood: MinKernel and BaseFS (zdnet.com)
76 points by snaky on Mar 30, 2013 | hide | past | web | favorite | 45 comments



The recent articles on ZFS made me wonder if MS had anything planned for Windows. I was curious so I checked and they apparently have ReFS[1] in Windows 8 Server.

I think it's separate from the BaseFS referenced here though. ReFS is not likely to be in the client release until the next version of the OS.

[1] - http://blogs.msdn.com/b/b8/archive/2012/01/16/building-the-n...


What I can't fathom is that ReFS drops very useful (and commonly used) features: transactions, sparse files, hard-links, extended attributes, and quotas.


Most of these aren't used frequently. I imagine they will make a reappearance in ReFS2 if required


Huh?

Sparse files are used extensively by Hyper-V for disk images. You really want them--especially on Windows Server, which is the only platform with ReFS right now.

The base Windows install uses symbolic links to unify things like "Documents"/"My Documents" and other key areas, without which legacy programs will not work properly. I cannot comment on other Windows deploys, but I'll add that my team uses symbolic links heavily on NTFS both in development and production, and that the plethora of articles on adding a link command back to PowerShell seems to imply we're not that weird.

And at least SQL Server uses NTFS transactions for its magic.

Maybe ReFS2 adds these back, but they will absolutely be missed.


The article is talking about removing hard links, not soft links.


That's still NTFS territory. ReFS seems more appropriate for large scale file serving and/or volume flexibility.

As for all the symbolic links, they all still work. They're only there for compatibility reasons and will disappear at some point (WinSxS is a worry though).


From TFA it looks like a subset of what has been available on various Unixes for decades... Can ReFS, at least, delete an open file?

Next to ZFS (or BtrFS), ReFS is a joke.


Unless I'm really mistaken, NTFS, as a file system, can delete an open file; Windows' Win32 subsystem simply forbids it. You should get the same behavior when mounting ext2 from Windows, and you should be able to delete open files when mounting NTFS from Linux. It was a design choice that I personally think is idiotic, but it's at the Windows subsystem later, not the file system. For that reason, no, I assume ReFS does not let you delete an open file.

In terms of functionality: ReFS is a subset of ZFS-like system. That's not been available on Unix for decades, and since ZFS is patented and both that and Btrfs are controlled by a competitor, I don't fault them for making their own format. What I am nonplussed on is why ReFS is missing old Windows features like links, which (despite another poster's claim) are used rather heavily, by the default Windows install, no less.


> NTFS, as a file system, can delete an open file; Windows' Win32 subsystem simply forbids it.

I agree with you this is really brain-dead.

> I don't fault them for making their own format.

I only wonder why, with all of the resources they have available to devote to it, all they have to show is a subset of something that has been available for the better part of the last decade.

> What I am nonplussed on is why ReFS is missing old Windows features like links

Considering links an "old Windows feature" nonplusses me. First time I heard about them was with MULTICS. ;-) Not having them 40 years after that pioneering work is inexcusable.


FTA, about "MinWin": "A severely stripped down version (almost 20MB) of Windows 7 was able to run a http server"

Last I checked a smallish kernel + uclibc/busybox with most applets (an httpd is in that list) is around 8MB or so. Even glibc only adds 2MB or so more if you throw out the locale stuff. Windows is just a different world.


There is absolutely no meat in that article. We have no idea about the technical details of what Microsoft has done. All we have is the aspirational witterings of a couple of seasoned industry bloggers. There is no use comparing vague Windows rumours of a not even released product with what Linux has been able to do since its inception.

And BaseFS sounds like VFS, the virtual filesystem layer in Linux also - you'd think it was the most novel idea to abstract away common functionality to a shared core, this design pattern is as old as the hills. These pieces of news carry next to no information, it's pointless that this got onto the front page of HN.


NT has had VFS from day one (volume manager). You just don't get to see it from the UI and win32 abstraction. In fact NT has mounts, a single tree, case sensitivity and no concept of drive letters. sounds a bit unixy doesn't it?

I have no idea why they came to these conclusions.


Thing to consider - how many drivers did that stripped down version include? Windows, at the least, still dominates in overall driver/hardware support.

From the article, a "smallish kernel + xyz" is hard to compare with what exactly is in "MinWin". I suspect the fact that http://www.c64web.com runs on an unmodified Commodore 64 blows your "smallish kernel" out of the water.

My point? You can make assumptions, but you need to know fully what your kernel and other bits include.


An 8MB linux kernel is not really all that small. These instructions [0] look like they produce a kernel weighing in at about 800kb, without any significant hacking. A web server occupies another couple of MB. The TinyCore Linux distribution [1] will get you a GUI desktop for 12MB.

The c64web site runs on Contiki OS, which will actually work on less capable hardware. It's pretty impressive, really.[2] I would be tempted to say that it doesn't really compare to MinWin or Linux, but I'm still busy being amazed by it.

I really don't know what you mean by Windows having greater hardware support, I suppose for certain definitions of "windows" and "support" that could be true. Maybe if you count all versions of windows, and restrict your hardware to common CPU archs, and count drivers that aren't built into the kernel. Honestly I have no idea how you'd come up with numbers either way, but my impression was that Linux can be made to run on pretty much any general-purpose CPU. Perhaps you'll provide some data on the matter.

[0][pdf] http://www.ti.com/general/docs/lit/getliterature.tsp?literat... [1] http://distro.ibiblio.org/tinycorelinux/downloads.html [2] http://www.contiki-os.org/


Better x86/x64 support I'd imagine. Despite being a rabid Linux fanboy, I've had way more driver availability issues with Linux over the years than windows.

To be honest, windows just pretty much works these days.


Linux power management pales in comparison to Windows. As much as a love Linux it pains me to see my notebooks battery life drop from 5 hours to 1.5, and thats with significant tweaking.


My cheap Dell v131 goes about 5 hours with minimal tweaking (turn off keyboard backlight, low brightness setting). What kind of machine did you get?


I'm pretty sure my Arch Linux install actually gets better battery life than Win7 on my laptop, also with minimal tweaking. Thinkpad, FWIW.


At the same time, I find this incredibly impressive. That "smallish kernel" wasn't reverse-engineered from a behemoth, and it doesn't need to satisfy the constraint that it needs to be fully compatible with said behemoth. Huge kudos to the Windows team.


Possibly pedantic, but this can't be described as reverse-engineered.


You're right, I was being hasty in my post. It's more like http://en.wikipedia.org/wiki/Reengineering_(software)


To be honest, windows NT is a whole load more complicated than Linux variants at every level. It's almost a framework for building operating systems upon. NT architecture is actually really super nice - shame about win32 being thrown on top.

20MiB is impressive.


It all started downhill when the GDI was integrated into the kernel.


At least there's Server Core these days.


This is more about having the common core across MS platforms than about running a http server.


Absolutely. "MinWin" sounds so appealing people jump to the conclusion that it's running in the Azure farms or in other MSFT data centers. The next logical step from this assumption is that it could be a product.

It's almost unfortunate that the term ever leaked out.


It almost is. Windows 2008 Server Core was a result of this. It doesn't have a GUI. Ita also what they run Azure on.


Server Core does have a GUI as its primary UI. What confuses people is hearing that the interface is a command line. You still have a window (unless you're remote) and a handful of utilities, but they just don't run under the Explorer desktop or include a lot of what you might have come to expect with Windows or Windows Server.


It doesn't ship with half the dependencies that were tangled up which is why minwin exists. Minwin has a GUI too (apparently you can trigger it during boot on win phone 8 :) )


My first exposure to Unix was on an 8 megabyte 68010 multi-user machine with 50+ terminals. I learned C on an IBM PC XT clone running QNX.

Claiming doing something useful with a 20 megabyte kernel is extraordinary is, itself, extraordinary naive.


I for one welcome our new Microsoft upvoting cabal


Seems like they've been hiring...

Lots of young people perceive Microsoft as the underdog in the internet server space and, somehow, think defending Windows will allow them to capitalize on its coming dominance of the server market.

BTW, I also notice their downvoting crew did a thorough job with your comment.


>Lots of young people perceive Microsoft as the underdog in the internet server space and, somehow, think defending Windows will allow them to capitalize on its coming dominance of the server market.

Underdog? Windows Server takes most of the profit in the server OS market, same with Visual Studio in the IDE market, IIS in the web server market, Exchange in the mail server market. And that's competing against free products.


"Windows Server takes most of the profit... competing against free products."

That makes sense, doesn't it?


> Underdog? Windows Server takes most of the profit in the server OS market, same with Visual Studio in the IDE market, IIS in the web server market, Exchange in the mail server market. And that's competing against free products.

Yet it's conspicuously absent from the servers that run things like Google, Facebook, Twitter or Amazon. I wonder how the kids explain why is it so.


>Yet it's conspicuously absent from the servers that run things like Google, Facebook, Twitter or Amazon. I wonder how they explain why is it so.

Isn't that similar to assuming Ruby, Django and Go is inept because PHP powers Wikipedia, Facebook, Wordpress and millions of other websites and blogs... In business just because X doesn't use it, doesn't mean your product is inferior or making a loss.


I only contrasted the fact Microsoft makes a huge profit with the fact it's completely absent from the companies we identify as the ones leading the way and the most advanced tech it has to offer is something its competitors have been doing for years.


>has to offer is something its competitors have been doing for years.

I disagree, what their pricing is focusing on is familiarity and 24/7 support. Also, don't be quick to judge that open-source softwares are not making any money. Ubuntu, MySQL, PHP.. etc, all of them sell premium business support.


> what their pricing is focusing on is familiarity and 24/7 support

In other words, they bill you so you don't have to learn something that's not in their product line. And unless you are paying a lot, their 24x7 support is laughable when compared with what you get from either Canonical, Red Hat or Percona.


> they bill you so you don't have to learn something that's not in their product line

Yes, convenience has a price. Thought that was business 101 or the Walmart strategy.

>their 24x7 support is laughable

Subjective, since my experience is different than yours, similarly you could say the same about Canonical, Red Hat, Percona, heck even Google.


> Yes, convenience has a price.

Not that convenient when you move from Windows Server n (based on Windows x) and have to relearn to navigate around the entirely different Windows Server n+3 (which is based on the tablet-friendly Windows x+1).

> heck even Google.

I never had much trouble with Google paid support (I used to work for a company that has a 6+ million user Gmail account), but my most stellar account comes from a bug I found in the ndb library of App Engine while it was still beta. I fired a question to the mailing list and, a couple minutes later, came an answer from Guido Van Rossum. I guess e-mail support can't get any better than that.


>Not that convenient when you move from Windows Server n (based on Windows x) and have to relearn to navigate around the entirely different Windows Server n+3 (which is based on the tablet-friendly Windows x+1).

But a lot more convenient than switching OS. Most FOSS server softwares are written for Linux. Switching to them requires you to learn OS specific commands, switches, and workarounds. It is more convenient to stick to what you are already familiar with.

>I never had much trouble with Google paid support

Exactly. Thanks for proving my previous point that support is subjective. The common consensus is Google's support is terrible to non-existent but in reality it is subjective like others. Other's over exaggerate the lack of Google's support like you did with Microsoft's.


> But a lot more convenient than switching OS

And from that point on, you only switch when you want to, not when your database provider decides that in order to get the latest feature you must also upgrade your server OS to a tablet-friendly one... And even when you switch, you realize the new software is just like the old one, just better.

> exaggerate the lack of Google's support like you did with Microsoft's.

A friend of mine worked at a Brazilian bank that made the outlandishly stupid decision to base all backend operations on SQL Server. My horror stories are nothing compared to his.


And even when you switch, you realize the new software is just like the old one, just better.

Isn't that exactly what you want when you upgrade?

A friend of mine worked at a Brazilian bank that made the outlandishly stupid decision to base all backend operations on SQL Server. My horror stories are nothing compared to his.

I guess that "horror story" might be:

"Banco Central do Brasil Boosts Performance, Reporting Speeds, and Scalability

“We saw a 30 percent improvement in data warehouse queries using SQL Server 2012 with the xVelocity feature.... that performance will help our financial analysts get risk data to customers faster.” José Cláudio Mendonça de Freitas, Central Bank of Brazil"

http://blogs.technet.com/b/dataplatforminsider/archive/2012/...

?


> Isn't that exactly what you want when you upgrade?

Isn't it exactly what happens when you upgrade your Windows 7 machine to Windows 8?

As for http://blogs.technet.com/b/dataplatforminsider/archive/2012/..., lots of interesting results happen when projects can't be declared failures (because it would be a career limiting move: BACEN is a branch of the executive and analogous to the Fed in the US). And no, the bank in question no longer exists. It was Banco Santos.




Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: