前回では、Windows 7の中核と言える「MinWin」に関して解説した。MinWinはVistaのカーネルをベースとしているが、「リファクタリング」というコンセプトで整理統合されている。
Vistaでは互換性のために、同じような機能を持ちながら異なるAPIが実装されていた。しかし、Windows 7ではこれらを整理統合して、同じ機能はひとつのモジュールに統合されている。
またVistaカーネルでは、ひとつのDLLに複数のAPIセットが実装されていたため、複数のDLL間で依存関係があった。つまり、あるDLLに実装されたAPIを、さらに別のDLLが呼び出すといったこんがらがった状況になっていたわけだ。そこで、MinWin開発の際に行なわれたリファクタリングでは、システムDLLとAPIを整理統合して、依存関係を絶った。これにより、MinWinのコード自体が肥大化することを防いでいる。
MinWinは、「OSカーネル」「HAL」「TCP/IP」「ファイルシステム」「ドライバー」「コアシステムサービス」など、OSとしての最低限の機能セットと言える。しかし、MinWinが最低限の機能セットであると言っても、Windows Server 2008/R2に搭載されている「Server Core」とは異なる。MinWinはOSの中核部分で、Server CoreはMinWinにWindows Serverのさまざまな機能を付け足したOSと言える。
- フルWindows > Server Core > MinWin
リファクタリングされたMinWinでは、DLLとAPIセットを分離している(Vistaでは、DLLとAPIセットが一体化していた)。つまりMinWinでは、DLL内部にあるAPIセットを直接呼び出すのではなく、「Virtual DLL」というインタフェースを経由して、DLL内部の機能を呼び出すことになる。
MinWin内部ではVistaが持っていたAPIセットを整理統合したので、APIセットのネーミングやパラメータなどが異なっている。そこでVirtual DLLが、Vista APIとMinWinのAPIのインタフェースとして動作するわけだ。

この連載の記事
-
第50回
PC
次期IE「Internet Explorer 10」プレビュー版が公開 -
第49回
PC
RTM版も登場 Windows Home Server 2011の変更点とは -
第48回
PC
5秒で起動するSplashtop OSを自作パソコンで試す -
第47回
PC
ベンチで検証 Internet Explorer 9 RCの互換性と性能 -
第46回
PC
正式版の直前となるInternet Explorer 9 RC版が登場 -
第45回
PC
Silverlightをさらに進化させる「Silverlight 5」 -
第44回
PC
「Windows on ARM」が持つ意味と課題は何か? -
第43回
PC
GPUを利用できる仮想化ソフト XenClient 実践編 -
第42回
PC
複数のWindowsを使い分ける仮想化ソフト XenClient -
第41回
PC
3秒で起動しWindowsと共存するOS「Splashtop OS」 -
第40回
PC
最新版「PP7」に見るIE9の性能と互換性の高さ - この連載の一覧へ