Hacker News new | past | comments | ask | show | jobs | submit login
Inside "MinWin": the Windows 7 kernel slims down (arstechnica.com)
32 points by Flemlord on Nov 18, 2009 | hide | past | favorite | 13 comments



Also check out Singularity: http://en.wikipedia.org/wiki/Singularity_(operating_system)

And Midouri: http://en.wikipedia.org/wiki/Midori_(operating_system)

Two cool projects that are part of Microsoft's research in managed code operating systems.


> Am I the only one scared that notepad on the latest Windows can still display a dialog box that comes straight from NT 3.1?

As the article states the reason for this is:

Because Windows Explorer and many of the components of the Shell aren't included in a Server Core install, applications like Notepad' which would normally show an Open dialog box like this: (show the original File Open dialog)

> Why the hell does it still have that DLL built in?

To display the file open dialog in Windows all you do is call the GetOpenFileName Win32 function.

Back in the days of Windows 95 Microsoft got into the habit of changing the look of the File Open dialog for every new release of Windows and they stored these new dialogs in the common control dll.

So I suspect deep inside of Window itself there is pseudo code that works something like this:

    GetOpenFileName()
        if Common Control DLL installed
            Call New Explorer GetOpenFileName dialog
        else
            Call the very first every GetOpenFileName dialog built into Windows itself


Wouldn't it be easier (and more elegant) to skip the built-in dialogs altogether and just ship it with a common controls dll that didn't use Windows Explorer elements? I am fine with Microsoft moving things around, but layer upon layer of obsolete functionality doesn't strike me as even professional.

Hell... If one of my developers even attempted such a stunt we would have a long code review session discussing it.


Money quote for me:

" Microsoft says there are still about 600 interconnected DLLs and other binaries, totaling hundreds of megabytes. None of these could be safely removed without causing other parts of the system to break. Even Mark Russinovich, widely regarded as one of the world’s top experts on Windows internals, admits that they still can’t predict what exactly would break."

As much as I like Windows 7, that kind of thing makes me want Microsoft to create an emulated environment similar to OS X Classic and surround it with a from scratch, managed, modern cruft free OS.


Except OS X is far from cruft free. It has a lot of cruft from NextStep floating around.

Af for the interconnected DLLs, have you ever worked on a largish project that tried to release independent parts? It's hard. The practical problem is that you get two seemingly independent modules that want to work well together, not duplicate code between each other, and be independently distributable. These can conflict, and if you're not dedicated to all of the goals, and clever, you fail in one or more.


That is what package management solved long ago in the Linux world: you have three products: two you launch, and the third is a dependency of both.

Simple, elegant and, since I am writing this, it works.


Am I the only one scared that notepad on the latest Windows can still display a dialog box that comes straight from NT 3.1?

Why the hell does it still have that DLL built in?


Programs back then probably weren't designed with modularity in mind, which is why its hard to remove even the slightest detail of code without extensive testing..

I really hope Microsoft gradually improves this situation with the MinWin project.


Not that rewriting NotePad should ever be any daunting task.


Come on! Extensively testing notepad?! How hard can that be?


Possibly some kind of backwards compatibility.


Possibly, but it is still a bit scary that notepad may be attempting to launch every open-file dialog from current Windows implementation all the way down to NT 3.1, passing through Vista, XP, 2000, NT4 and 3.5 incarnations on a "is this available?" fashion.

The code under the hood must be horrific.


I'm pretty sure the article says that it just has the fancy one, and the NT 3.1 dialog for it's super stripped-down version.




Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: