一般的には、「Windows 7はWindows Vistaのカーネルをそのまま利用している」と説明されていた。だが実際には、Windows 7に対応した新しいカーネルが開発されている。そこで今回は、Windows 7のカーネルに関して解説しよう。
実はカーネルも大きく手を入れられているWindows 7
マイクロソフトでは「Windows 7はVistaと同じカーネルが使用されている」と説明しているが、厳密に言えば同じものが使用されているわけではない。Windows 7では、まったく新しいアーキテクチャーのカーネルを開発したのではなく、Vistaカーネルをベースとして、チューンナップしたものと言える。そのため、Windows 7のカーネルが公開しているAPIなどは、Vistaカーネルとまったく同じAPIとなっている。
Windows 7のOSバージョン番号は「6.1」。Vistaでは「6.0」となっているため、カーネルに関してはそれほど手が入っていないという印象が持たれている。だが実際には、カーネルも相当に改良されている。
バージョン番号について改めて説明しておこう。OSのバージョン番号は、Windows XPからVistaへの移行時に、メジャー番号を変更(5→6)したために、多くのアプリケーションがOSのバージョンチェックで動作しなくなった。だがXP用のアプリケーションでも、OSのバージョンチェックさえ通ればVistaで動作するアプリケーションは数多くあった。
マイクロソフトではこういった時のために、アプリケーションの互換性機能を用意している。だが、ユーザー自身の手でアプリケーションを「XPのバージョン番号で動かすのか、Vistaのバージョン番号を動かすのか」を設定しなければならなかった。そのため、多くのユーザーはVistaの互換性機能を使わないまま、単に「XPのアプリケーションはVistaでは動作しないことが多い」と思うという結果になった。
そこでWindows 7は、OSのメジャー番号は変更せずに、マイナー番号だけを変更した。これにより、Vista用アプリケーションでOSのメジャーバージョン番号だけをチェックしている場合は、OSのバージョンチェックは通過するわけだ。また、VistaにはないWindows 7独自の機能を利用しているアプリケーションは、マイナー番号をチェックすることで、VistaとWindows 7どちらの環境が動作しているのかがわかる。
つまり、XPからVistaへの移行時にあったトラブルから学習して、Windows 7ではOSのメジャバージョン番号を変更しなかったということだ。
Windows 7のためにMinWinを開発
Windows 7のカーネル開発では、パフォーマンス向上とOSが必要とするメモリー容量を少なくすることが大きなミッションとなっていた。そのため、Vistaカーネルを一度ばらして、整理して最小限の機能にまとめ上げた「MinWin」というカーネルが開発された。
MinWinはVistaをきちんとコンポーネント化して再構築されている。ただしMinWinは、Windows 7のカーネルやネットワーク、ファイルシステム、デバイスドライバー、コアシステムサービスなど、最低限のシステムで構成されている(初代Windows NTを開発した、デビット・カトラー氏が作り上げようとした純粋なカーネルシステムに近い)。
実際に開発されたMinWinは、DOSのようにコンソールでテキスト表示しかできなかったほど。WindowsのGUI部分などは、カーネルではなくユーザーモード側にあるためだ。MinWin自体はメモリー使用量約40MB、カーネルのファイル数としては約150個と、非常に小さなフットプリントで動作している。
これらの理由で、Windows 7のβ版が発表される前には、MinWinを新しいモジュラー型OSと勘違いし、「Windows 7はWindows Server 2008で提供されている『Server Core』のようなモジュール型OSになっている」と報道したニュースサイトもあった。

この連載の記事
-
第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の性能と互換性の高さ - この連載の一覧へ