一般的には、「Windows 7はWindows Vistaのカーネルをそのまま利用している」と説明されていた。だが実際には、Windows 7に対応した新しいカーネルが開発されている。そこで今回は、Windows 7のカーネルに関して解説しよう。
実はカーネルも大きく手を入れられているWindows 7
マイクロソフトでは「Windows 7はVistaと同じカーネルが使用されている」と説明しているが、厳密に言えば同じものが使用されているわけではない。Windows 7では、まったく新しいアーキテクチャーのカーネルを開発したのではなく、Vistaカーネルをベースとして、チューンナップしたものと言える。そのため、Windows 7のカーネルが公開しているAPIなどは、Vistaカーネルとまったく同じAPIとなっている。
![]() | Windows 7とWindows Server 2008 R2のカーネルは、同じものが使用されている。また、OSのバージョン番号は6.1にして、Vistaからは.1のマイナー番号の変更にとどめた(マイクロソフト講演資料より引用) |
|---|
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はWindows 7のカーネルとして開発されている。動作に使うメモリーは40MB、MinWinのディスク使用量は30MBと非常にコンパクト | MinWinのブロック図。カーネル、ファイルシステム、TCP/IPスタック、デバイスドライバー、コアシステムサービスなどのデビット・カトラーが作ったNTの基本部分と同じものだ |
MinWinはVistaをきちんとコンポーネント化して再構築されている。ただしMinWinは、Windows 7のカーネルやネットワーク、ファイルシステム、デバイスドライバー、コアシステムサービスなど、最低限のシステムで構成されている(初代Windows NTを開発した、デビット・カトラー氏が作り上げようとした純粋なカーネルシステムに近い)。
実際に開発されたMinWinは、DOSのようにコンソールでテキスト表示しかできなかったほど。WindowsのGUI部分などは、カーネルではなくユーザーモード側にあるためだ。MinWin自体はメモリー使用量約40MB、カーネルのファイル数としては約150個と、非常に小さなフットプリントで動作している。
![]() | ![]() | |
|---|---|---|
| TechED2009でデモされた、MinWinの起動画面 | 同じくMinWinのコンソール画面 |
これらの理由で、Windows 7のβ版が発表される前には、MinWinを新しいモジュラー型OSと勘違いし、「Windows 7はWindows Server 2008で提供されている『Server Core』のようなモジュール型OSになっている」と報道したニュースサイトもあった。
この連載の記事
- 第46回 正式版の直前となるInternet Explorer 9 RC版が登場
- 第45回 Silverlightをさらに進化させる「Silverlight 5」
- 第44回 「Windows on ARM」が持つ意味と課題は何か?
- 第43回 GPUを利用できる仮想化ソフト XenClient 実践編
- 第42回 複数のWindowsを使い分ける仮想化ソフト XenClient
- 第41回 3秒で起動しWindowsと共存するOS「Splashtop OS」
- 第40回 最新版「PP7」に見るIE9の性能と互換性の高さ
- 第39回 独自の検証と改良でWindows 7の性能向上に挑むレノボ
- 第38回 新世代ブラウザー対決! IE9対Firefox 4対Chromium
- 第37回 GPUで変わるInternet Explorer 9のパフォーマンス
- この連載の一覧へ




















