Evolution of Windows NT――スライドで見る企業向けWindowsの進化
まもなく“Windows 8”がリリースされますが、その前に…
まもなく“Windows 8”がリリースされますが、その前に…
現行のWindows OSであるWindows 7とWindows Server 2008 R2は、クライアント向け、サーバー向けの違いはあるものの、その基本アーキテクチャは共通だ。しかし、Windowsの歴史を振り返ると、一般消費者向けにWindows 9x系、企業向けにWindows NT系という、2つのアーキテクチャが存在していた。Windows NT系は開発当初から、業務利用における安定性を最大限に考慮して設計されていたのだ。まもなく、次期バージョンとなる「Windows 8」「Windows Server 8」もリリースされるが、その前に、企業向けWindowsの歴史とテクノロジー実装の進化を振り返ってみよう。
(横山哲也/グローバルナレッジネットワーク)

Windows NT 3.1(米国 1993年7月27日/日本 1994年1月25日発売)
マイクロソフトは「XENIX」ブランドのUNIXサーバー製品を持っていたが、当時のUNIX OSはWindowsクライアントとの親和性で劣っていた。そこでマイクロソフトはIBMと協同で「OS/2」の開発を進めたが、路線の違いから両社は決別。IBMはOS/2の開発を進め、マイクロソフトは独自のOSとして「Windows NT」を開発することになった。
Windows NTのユーザー管理システムは、OS/2上の「LAN Manager」で使われていた「ドメイン」を踏襲した。ドメインデータベースの管理を行うサーバーを「ドメインコントローラ」、ドメインデータベースの内容を参照するだけのコンピュータを「メンバーサーバー」と呼ぶ。
Windows NTの最初のバージョンは「3.1」。これはWindows 3.1との互換性を考慮したことに由来する。製品パッケージとしてはスタンドアロンサーバー(ドメインを参照しないサーバー)およびメンバーサーバー用の「Windows NT 3.1」と、ドメインコントローラ専用の「Windows NT Advanced Server 3.1」の2種類があった。多くの記事で「Windows NT 3.1はクライアント用」と記載されているのを見るが、これは誤り。「クライアントとしても使えるサーバーOS」が正しい表現である。

Windows NT 3.5(米国 1994年9月21日/日本 1995年1月31日発売)
Windows NT 3.5から、スタンドアロンおよびメンバーサーバー用と、ドメインコントローラ用が統合され「Windows NT Server」の名称になった。また、クライアント版として「Windows NT Workstation」が追加された。
Windows NT 3.1開発時点で、TCP/IPは数あるプロトコルのうちの1つでしかなかった。マイクロソフトは小規模LAN環境ではNetBEUIフレームプロトコルを、大規模環境ではIPX/SPXプロトコルで使うことを想定していたようである。IPX/SPXは当時大きなシェアを持っていたサーバー専用OS、「NetWare」で使われていた。
しかし、1993年に「NCSA Mosaic」というグラフィックスと文字を同時に扱えるWebブラウザが登場し、インターネットの商用利用が解禁されたころから、TCP/IPの重要性が急速に高まった。Windows NT 3.5はTCP/IPの高速化を行うとともに、全体の最適化を図った。

Windows NT 3.51(米国 1995年5月30日/日本 1996年1月19日発売)
バージョン番号からわかるように、Windows NT 3.51はWindows NT 3.5のマイナーチェンジ版である。外見からは両者の違いはほとんどわからないが、Windows 95(1995年発売)のアプリケーション呼び出し規則(API)を取り込んだ。これにより、Windows 95でもWindows NTでも動作するアプリケーションを開発することが容易になった。ただし、GUIは以前と変わらず、(Windows 95ではなく)Windows 3.1スタイルであった。
PowerPC版が追加されたのもWindows NT 3.51からだ。ただし、Macintosh(当時MacintoshはPowerPCを搭載していた)ではなく、「PReP」と呼ばれるRISCワークステーションをターゲットとしていたため、実際の動作マシンはほとんど出回っていなかった。PRePの実装例としてはIBMのRISCワークステーションなどがある。

Windows NT 4.0(米国 1996年7月29日/日本 1996年12月10日発売)
Windows NT 4.0では、GUIをWindows 95スタイルに変更するとともに、グラフィック性能が大幅に向上した。
Windows NT 3.xは、速度よりも安定性や信頼性を優先したため、GUI部分がカーネル部分から分離されていた。これを「Win32環境サブシステム」または「クライアントサーバーリソースサブシステム(CSRSS)」と呼ぶ。Windows NT 4.0では、GUIをカーネルの取り込むことでグラフィック性能を大幅に向上した。カーネルに組み込まれた部分をWin32Kと呼ぶ。
Win32Kの採用は、安定したサーバーを求める利用者から大きな反発があったが、Windows NT Workstationの利用者からは好意的に迎えられた。なお、「Windows NT 3.xでもCSRSSの異常停止はシステム全体の停止を伴うので、実際の信頼性はあまり変わらない」というのがマイクロソフトの公式見解である。
CSRSS自体はWindows NT 4.0以降も残っており、コンソールアプリケーションの入出力を担当する。CSRSSのプロセスはタスクマネージャから停止することはできないが、以下のコマンドで強制停止できる。CSRSSを停止させるとOSはブルースクリーンで強制終了するので、試す方は自己責任でお願いしたい。
wmic process where name=”csrss.exe” delete

Windows 2000(米国 2000年2月17日/日本 2000年2月18日発売)
当初は「Windows NT 5.0」と呼ばれていたが、最終的に「Windows 2000」となった。Windows 2000の最大の特徴は、「Active Directory」と呼ばれるユーザー管理システムと、Active Directoryと連係したクライアント管理システムの「グループポリシー」である。
Windows NTはそれなりに安定したOSであったが、「TCOが高い」という批判もあった。TCO(総所有コスト)は、コンピュータを維持するためのハードウェアおよびソフトウェアコストに、システム管理やトラブルシューティングのための人件費を加えたものである。
マイクロソフトはActive Directoryとグループポリシーを実装し、TCOの削減をアピール。さらに「Windows NT 4.0,Terminal Server Edition」として提供していたシンクライアント機能をWindows 2000 Serverの標準機能として組み込むことで、より強力な管理システムを実現した。
Windows 2000では、動作プラットフォームも整理された。初期の段階で、PowerPCとMIPSのサポートがなくなることが決定した。Alphaプロセッサ版はベータ3まで提供されたが、製品版は登場しなかった。AMD64プロセッサはまだ存在しなかったので、Windows 2000が動作するプラットフォームはx86系の32ビットプロセッサのみであった。

Windows XP(米国 2001年10月25日/日本 日2001年11月16日発売)
Windows 2000登場の翌年には、早くも次のバージョン、Windows XPが登場した。ただし、クライアント版のみが先行して登場し、サーバー版は発売されなかった。
Windows XPの最大の変更点は、「Luna」と呼ばれるGUIシステムである。2列になったスタートメニューや、豊富な右クリック操作など、現在では当たり前の機能だが、最初はWindows XPで実装された。
プラグ&プレイが本格的に導入されたのも、Windows XPからだ。プラグ&プレイはWindows 95から搭載されていたが、デバイスの認識に時間がかかったり、不安定だったりしたため、Windows NT系のOSでは採用されていなかった。Windows XPではWindows 9xよりも安定して高速にプラグ&プレイが動作するようになり、企業クライアントとともに一般消費者向けPC用のOSとしても位置付けられるようになった。
Windows XPの内部バージョンは「5.1」、Windows 2000は「5.0」である。バージョンが示すとおり、内部的な差は非常に小さく、アプリケーションも高い互換性を保っていた。ただし、ログオンしたまま別のユーザーに切り替える「ユーザーの切り替え」に対応するには、いくつかの規則を守る必要がある。「ユーザーの切り替え」は、ターミナルサービスの機能を流用しているため、「ユーザーの切り替え」に対応したアプリケーションは、自動的にターミナルサービスに対応する。
Windows XPは、のちにx86プロセッサの64ビットモード(x64)に対応し、64ビットOSの先駆けとなった。

Windows Server 2003(米国 2003年4月24日/日本 2003年6月25日発売)
Windows Server 2003のカーネルはWindows XPと同じで、Windows 2000とほとんど変わらない。しかし、Active Directoryをより使いやすくし、不自然な制約(例えば、ドメインコントローラのコンピュータ名を変更できない、など)を排除している。また、バックアップに「VSS(ボリュームシャドウコピーサービス)」を採用し、動作中のサーバーであっても完全なバックアップが取れるようになった。
Windows Server 2003は、本来ならWindows XPから間を置かずに登場したはずだが、1年半もの間が空いた。これは、相次ぐWindowsのセキュリティ侵害に対応するため、2002年にビル・ゲイツが提唱した「信頼できるコンピューティング(Trustworthy Computing)」に対応するためである。
マイクロソフトは、全開発者にセキュリティ教育を義務づけるため、ソフトウェア開発を一時的に全面停止した。これによる開発期間の遅れは半年から1年だと想像されている。
ただし、既存のコードまでも全面的に見直したわけではないため、2003年8月には「Blaster」と呼ばれるワームが猛威を振るった。Blasterを防ぐための修正は2003年7月には登場していたのだが、修正を適用しない人が多かった。これはWindows Updateの適用がオプション扱いだったためだと考えたマイクロソフトは、その後Windows Updateを既定で有効となるようにした。
Windows Server 2003 Service Pack(SP)1からは、x86プロセッサの64ビットモード(x64)に対応し、大量のメモリを利用できるようになるとともに、暗号化処理などが高速化された。

Windows Server 2003 R2(米国 2005年12月6日/日本 2006年2月3日発売)
Windows Server 2003 R2は、形式的にはWindows Server 2003 SP1のアドオンである。ライセンスは別物であるが、製品としてはWindows Server 2003 SP1のインストールCDと、Windows Server 2003 R2固有機能のCDの2枚組で構成される。最初からx64に対応した初めてのOSでもある。
具体的な追加機能としては、ファイルサーバー管理機能や「Active Directoryフェデレーションサービス(ADFS)」などがあげられるが、実際にはWindowsのバリエーションであるWindows Storage Serverからの流用やダウンロード可能なパッケージを組み込んだものが多く、ほんとうの意味での新機能は少ない。
Windows Server 2003 R2の意義は、機能よりもライセンスにある。Enterprise Editionの場合、4台以内の仮想マシンの実行権が付属する。また、インストールしただけで動作していない仮想マシンに対してはライセンスが適用されないルールも導入された。想定していた仮想マシンソフトウェアは「Microsoft Virtual Server 2005」だが、VMwareであっても仮想マシンのライセンスルールは適用される。
このように、仮想サーバー時代の先駆けとなったのがWindows Server 2003 R2である。

Windows Vista(米国、日本ともに2007年1月30日発売)
Windows XPは、見かけこそ変わったがカーネルに大きな変更はなかった。そのため、非常に安定しており、企業からの評判は良かった。しかし、発売後5年も経つと、さすがに競争力が落ちてきた。
Windows Vistaは「Aero Glass」と呼ばれるGUIを採用し、「見た目」の改善に努めた。また、カーネルに大きく手を加え、バックグラウンドで動作する「低優先度I/O」や、不正なアクセスを防ぐ「UAC(ユーザーアカウント制御)」、ディスク全体を暗号化する「BitLockerドライブ暗号化」など、多くの機能が追加された。IPv6に正式に対応したのもWindows Vistaからである。
メモリ管理メカニズムも変更になり、余っているメモリをより積極的に利用するようになった。そのため、一見すると消費メモリがWindows XPよりも大幅に増えたような印象を受けるが、実際には余っているメモリを有効利用しているだけであり、OS自体のメモリ消費量が極端に増えているわけではない。ただし、全体にチューニングが不完全な印象はあり、企業クライアントとしてはほとんど採用されなかった。

Windows Server 2008(米国 2008年2月27日/日本 2008年4月16日発売)
Windows Vista SP1と同じコードを採用して構築されたサーバーOSがWindows Serve 2008である。最大の特徴は、マイクロソフト初のハイパーバイザー型仮想マシンシステム「Hyper-V」の搭載である。
ただし、Hyper-V 1.0の完成はWindows Server 2008の出荷に間に合わず、製品版にはHyper-Vのベータ版が搭載されている。正式版にするにはマイクロソフトのWebサイトから修正プログラムの形で正式版をダウンロードする必要がある。しかも、「ライブマイグレーション」など、予定されていた機能の一部が搭載されていないなど、不完全な部分も目立つ。
Windows Server 2008は、インストール時に「Server Core」を指定することで、エクスプローラを持たない構成も可能だ。俗に「GUIを持たない」と言われるが、複数ウィンドウ表示は可能だし、ウィンドウ間でコピー&ペーストもできる。ただし、「スタート」メニューがないため、通常のWindowsと同じ操作はできない。
Server Coreは、通常版(フルインストール版)と速度は変わらないが、消費メモリと消費ディスク容量が少ない。またコードサイズが小さいため、セキュリティ修正の数も少ない。

Windows 7(米国、日本ともに2009年10月22日発売)
評判の悪かったWindows Vistaを改善したのがWindows 7である。ただし、カーネル部に大きな変更はない。
Windows 7は、Windows Vistaのユーザーからの要望をうまく取り入れており、初級者にも熟練者にも広く支持されている。
企業クライアントとしては、依然としてWindows XPの人気も高いが、新しいハードウェアがWindows XPをサポートしない場合が増えてきた。現在、企業クライアントはWindows XPからWindows 7への移行中である。

Windows Server 2008 R2(米国、日本ともに2009年10月22日発売)
Windows Server 2008のマイナーチェンジ版がWindows Server 2008 R2である。Windows Server 2008のわずか1年後に登場しており、Windows 2000以降では最短記録である。また、クライアント版であるWindows 7との同時発売もWindows 2000以降で初めてである。
Windows Server 2008 R2の最大の特徴は、「Hyper-V 2.0」である。これによりVMware ESXと同様の競争力を持つようになった。Hyper-Vとリモートデスクトップサービスを組み合わせたクライアント仮想化環境VDI(仮想デスクトップインフラストラクチャ)をサポートするのもWindows Server 2008 R2の特徴である。
その他、Active Directoryで削除したユーザーを完全復元する「ごみ箱機能」や、バックアップツールの強化など、多くの改善点がある。


















