WinHECで解説

「Windows Server 2008」のカーネル変更を理解する

2007/05/18

 ラスベガスで開催されたマイクロソフトの「Windows Hardware Engineering Conference」(WinHEC)の来場者は、Windowsカーネルをはじめとする重要な部分に対する変更、そしてパートナー各社がこれらの変更を利用する方法など、技術的に深い内容の基調講演に耳を傾けた。

 マイクロソフトのプラットフォーム/サービス部門の技術フェロー、マーク・ラシノビッチ氏は、5月16日の3人目のキーノートスピーカーとして演壇に立ち、ユニプロセッサカーネルは「Windows Server 2008」から廃止になると述べた。これにより、システムを再起動しなくてもハードウェア構成の変更が可能になるため、構成変更に伴うダウンタイムが減少するという。

 この新サーバ製品は、マイクロソフトの新しい仮想化製品のベースとなるもので、「WHEA」(Windows Hardware Error Architecture)と呼ばれる新しい共通インフラストラクチャが採用される。

 CPU時間の割り当てに関して、「Windowsは従来、インターバルクロックタイマーに基づいてCPU時間を計測しており、スレッドクォンタムの終了時間は必ずしも公平なものではなかった」とラシノビッチは語った。

 「Windows Server 2008では、コンテキストスイッチのところでTime Stamp Counterを読むようになっているため、より正確なクォンタム報告が可能になる」と同氏は話す。

 インフラストラクチャに関連したそのほかの変更としては、スレッドプールメカニズムの改良、新しい同期化API、プライベートネームスペース、ハードリソースクォータなどがある。

 「SMBはWindows本来のリモートファイルシステムプロトコルだが、新しいNTFS機能に適合できず、また、今日の巨大なデータサイズ用にデザインされていない。このため、Windows Server 2008ではSMB2が導入された」とラシノビッチ氏は述べた。

 同氏によると、この新サーバは、スレッドが完了ポートからI/Oを引き離すまでI/Oの完了を延期するという。これにより、コンテキストスイッチが避けられ、アプリケーションを変更せずにパフォーマンスを改善できる。

 Windows Server 2008では、スレッド発行の優先度または明示的に設定されたI/O優先度に基づくI/O優先順位付け機能も導入されるという。

 「また、32ビット版のWindows Server 2008では、必要に応じて仮想メモリが割り当てられ、カーネルのページテーブルは、起動時ではなくデマンドに基づいて配分される。スタックジャンピング方式の採用でカーネルスタックの利用率も減少する。こういった改良の結果、ターミナルサービスでより多くのユーザーをサポートできるようになる」(同氏)

 新サーバでは、メモリマネージャのパフォーマンスも改善され、ページフォールトやシステムキャッシュ先読みの際に大量のデータを読み込むことでディスク読み出し回数を減らす。NUMAの改良点としては、より多くのメモリ割り当てがNUMAに対応するほか、I/Oシステムは、I/Oを開始したノードに割り込み完了を通知する。

 プロセスメモリの割り当てに際しては最適なノードがより効果的に使用され、新しいNUMA APIはアプリケーションがメモリ割り当てとファイルマッピング用に任意のノード番号を指定することを可能にする、とラシノビッチ氏は説明する。

 起動とシャットダウンに関連した機能強化として、Windows Server 2008では逐次方式ではなく、並列セッション生成方式が採用される。従来版製品では逐次方式でセッション生成が行われていた。

 Windows Server 2008は、システムがシャットダウンする時間を延長するクリーンサービスシャットダウン機能も備える。これにより、サービスはシャットダウン前の通知を要求することができるようになり、これらのサービスが停止した後で、システムはWindows XP風のシャットダウンを実行するという。

 「これは完全にバグフリーな初のサーバシステムでもある」とラシノビッチ氏はジョークを飛ばし、システムのクラッシュを引き起こすのはサードパーティのアプリケーションだと付け加えた。しかし、Windows Server 2008はプロセスクラッシュを処理するのも上手くなっており、処理されなかった例外はWindows Error Reportingサービスにメッセージを送るので、すべてのプロセスクラッシュが記録されるようになる、と同氏は説明する。

 「要するに、パフォーマンス、スケーラビリティ、信頼性、セキュリティの向上のためにエキサイティングなカーネル変更が多数盛り込まれるということだ」(同氏)

原文へのリンク

(eWEEK Peter Galli)

情報をお寄せください:



@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)