
Inside "MinWin": the Windows 7 kernel slims down - Flemlord
http://arstechnica.com/microsoft/news/2009/11/inside-minwin-the-windows-7-kernel-slims-down.ars
======
m0th87
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.

------
jussij
> 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

~~~
rbanffy
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.

------
tcskeptic
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.

~~~
cameldrv
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.

~~~
rbanffy
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.

------
rbanffy
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?

~~~
zurcociremer
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.

~~~
ichverstehe
Not that rewriting NotePad should ever be any daunting task.

