| Windows NT | |
|---|---|
| 開発者 | マイクロソフト、デイブ・カトラーがリードアーキテクトを務める |
| 執筆 | C、アセンブリ言語(コア)C++、Rust [ 1 ](ユーザーモードアプリケーション、カーネルグラフィカルサブシステム)C++、C#(ユーザーモードアプリケーション、シェル)[ 2 ] [ 3 ] |
| 動作状態 | 現在 |
| ソースモデル | |
| 初回リリース | 1993年7月 27日 ( Windows NT 3.1として) |
| 最新リリース | 26H1 (10.0.28000.2340) ( 2026年6月23日 ( 2026-06-23 ) [ 4 ] ) [ ± ] 25H2 (10.0.26200.8737) ( 2026年6月23日( 2026-06-23 ) [ 5 ] ) [ ± ] |
| 最新プレビュー |
|
| 更新方法 | Windows Update、Windows Server Update Services |
| 対応プラットフォーム | x86-64およびARM64(および歴史的にはIntel i860、DEC Alpha、Itanium、MIPS、PowerPC、IA-32、ARM32) |
| カーネルタイプ | ハイブリッド |
| 影響を受けた | RSX-11、VAXELN、VAX/VMS、MICA、Mach (カーネル) MS-DOS、OS/2、Windows 3.1 (ユーザーランド) |
| デフォルトのユーザーインターフェース | グラフィカル(Windowsシェル) |
| ライセンス | バージョン、エディション、または顧客の選択に応じて:トライアルウェア、商用ソフトウェア、ボリュームライセンス、OEM専用、SaaS、S+S [ a ] |
| 公式サイト | windows.com |
Windows NT は、 MicrosoftがWindows製品ラインの一部として開発した独自のグラフィカルオペレーティングシステムで、元々は1993 年 7 月 27 日にワークステーション、オフィス、サーバー市場向けにWindows NT 3.1としてリリースされ、その後 2001 年にWindows XPがリリースされてから一般消費者向けにも提供されるようになりました。Windows NT の基盤となるテクノロジーは、段階的な変更と改良を加えながら今日まで存続しており、Windows NT をベースにした最新バージョンの Windows は、2024 年に発表されたWindows Server 2025です。[ 13 ]
「Windows NT」という名称は、元々はWindows製品ラインに導入された主要な技術的進歩を指しており、Windows 3.1などの以前のWindowsリリースにおける16ビットメモリアクセス制限の解消などが含まれていました。この技術に基づいて構築された各Windowsリリースは、Windows NTの改訂版とまではいかなくとも、Windows NTをベースにしていると考えられています。ただし、1996年のWindows NT 4.0以降、Windows NTという名称自体は他のWindowsリリースでは使用されていません。
Windows NTは、他のWindowsリリースよりも多くの機能を提供しており、その中にはマルチプロセッシング、マルチユーザーシステム、従来の16ビットを考慮しない32ビットカーネル、32ビットメモリアドレッシング、異なるコンピュータアーキテクチャ間での移植性、 Active Directoryなどのシステムサービスのサポートが含まれます。Windows NTの新しいバージョンは、64ビットカーネルと64ビットメモリアドレッシングによる64ビットコンピューティングをサポートしつつ、32ビットソフトウェアとの互換性を維持しています。
Windows NTは、Windowsと同様に、製品群または製品ファミリーです。Windows NTは、Windowsのサブグループです。
Windows NTの最初のバージョンである3.1は、ワークステーションおよびサーバーコンピュータ向けに開発されました。これは商用向けであり、 MS-DOSベースのコンシューマー向けWindows (Windows 1.0からWindows 3.1xまでを含む)を補完することを目的としていました。1996年には、Windows 95の新しいシェルを含むWindows NT 4.0がリリースされました。
最終的に、マイクロソフトはWindows NTテクノロジーをパーソナルコンピューティング向けのWindows製品ラインに組み込み、Windows 9xファミリーを廃止しました。Windows 2000以降、[ 14 ]「NT」は製品名から削除されましたが、システム内のいくつかの低レベルの場所にまだ残っています。製品バージョンの一部としてしばらくの間含まれていました。[ 15 ]
Windows NTの各バージョンは、 Windowsセットアップを使用してインストールされます。Windows Vista以降では、WindowsセットアップはWindowsプレインストール環境を使用します。これは、オペレーティングシステムの展開用に作成された軽量版のWindows NTです。
Windows Vista以降、Windowsのインストールファイルと、Windowsのインストールに使用されるプレインストール環境は、Windowsイメージングフォーマット(WIF)で保存されます。DISM( Deployment Image Servicing and Management)ツールを使用すれば、コマンドラインからWindowsをインストールし、GUIインストーラーをスキップすることが可能です。
デイブ・カトラーは、頭字語「WNT」をVMSをもじったもので、各文字を1つずつ増やしたと示唆されている。[ 16 ]しかし、このプロジェクトは元々 OS/2の後継として計画されており、Windowsブランドが付けられる前は「NT OS/2」と呼ばれていた。[ 17 ]オリジナルのNT開発者であるマーク・ルコフスキーとデイブ・W・プラマーの2人[ 18 ]は、この名前は当初のターゲットプロセッサであるIntel i860(コードネームN10(「N-Ten」))から取られたと述べている。[ 19 ]ビル・ゲイツとマイクロソフト製品を紹介する1991年のビデオでは、「Windows NTは『New Technology 』の略です」と明記されている。[ 20 ] 7年後の1998年、質疑応答(Q&A)セッションで、彼は文字にはもはや特別な意味がないと宣言した。[ 21 ] Windows 2000以降のリリース名からこれらの文字は削除されましたが、Microsoftはそれらの製品を「NTテクノロジーに基づいて構築されている」と説明しました。[ 14 ] [ 22 ]
「NT」はノーザン・テレコム(後のノーテル)の商標であり、マイクロソフトは製品パッケージにその旨を明記せざるを得なかった。
NT の主な目的の 1 つは、ハードウェアとソフトウェアの移植性です。NT ファミリーのオペレーティングシステムのさまざまなバージョンが、さまざまなプロセッサ アーキテクチャ向けにリリースされており、最初はIA-32、MIPS、およびDEC Alphaでしたが、後のリリースではPowerPC、Itanium、x86-64、およびARM がサポートされました。当初の構想は、各プラットフォーム用のカスタムハードウェア抽象化レイヤー(HAL) を備えた共通のコード ベースを持つことでした。しかし、MIPS、Alpha、および PowerPC のサポートは、後にWindows 2000で廃止されました。幅広いソフトウェア互換性は、当初、Windows API、POSIX [ 23 ]、およびOS/2 API [ 24 ]を含むいくつかのAPI 「パーソナリティ」のサポートによって実現されましたが、後者 2 つは Windows XP から段階的に廃止されました[ 25 ] 。IA-32 では、統合されたDOS 仮想マシンを介して部分的なMS-DOSおよび Windows 16 ビット互換性が実現されていますが、この機能は他のアーキテクチャでは利用できません[ 26 ] 。
NT はオブジェクト (ファイル、関数、ロール) ごとのアクセス制御リストをサポートしており、システムやサービスに豊富なセキュリティ権限を適用できます。また、NT は Windows ネットワーク プロトコルもサポートしており、以前の OS/2 LAN Managerネットワークを継承しているほか、TCP/IPネットワークもサポートしています (Microsoft は当初、Spider SystemsのSTREAMSベースのスタックから派生した TCP/IP スタックを実装していましたが、後に社内で書き直しました)。[ 27 ]
Windows NT 3.1は、32ビットプロセッサ上で32ビットのフラット仮想メモリアドレッシングを採用した最初のWindowsバージョンでした。その姉妹製品であるWindows 3.1は、セグメントアドレッシングを採用し、ページ単位でのアドレッシングを16ビットから32ビットに切り替えました。
Windows NT 3.1 は、システム API を提供するコア カーネルを特徴としており、スーパーバイザー モード(x86 ではリング 0、Windows NT ではすべてのプラットフォームで「カーネル モード」と呼ばれる) で動作し、独自の API を持つ一連のユーザー スペース環境を備えていました。これには、新しい Win32 環境、OS/2 1.3 テキスト モード環境、および POSIX 環境が含まれていました。完全なプリエンプティブ マルチタスクカーネルは、Windows 3.1 アプリケーションのようにユーザー プログラムが自発的に CPU の制御を放棄することに依存することなく (ただし、 Windows/386以降の Windows では MS-DOS アプリケーションはプリエンプティブ マルチタスクでした)、実行中のタスクを中断して他のタスクをスケジュールすることができました。
特に、Windows NT 3.x では、ビデオや印刷などのいくつかの I/O ドライバサブシステムがユーザーモードサブシステムでした。Windows NT 4.0 では、ビデオ、サーバー、プリンタスプーラーサブシステムがカーネルモードに移行されました。Windows NT の最初のGUI は、Windows 3.1 の GUI に強く影響を受けており、プログラム的に互換性がありました。Windows NT 4.0 のインターフェイスは、最新のWindows 95に合わせて再設計され、プログラムマネージャからWindows シェル設計に移行しました。
ジャーナリング機能を備えた安全なファイルシステムであるNTFSは、NTの主要な機能です。Windows NTでは、他のインストール可能なファイルシステムも利用できます。NTはFATファイルシステムにもインストールでき、バージョン3.1、3.5、および3.51はHPFSファイルシステムにもインストールできます。[ 28 ]
Windows NT は独自のドライバ モデルである Windows NT ドライバ モデルを導入し、古いドライバ フレームワークとは互換性がありません。Windows 2000では、Windows NT ドライバ モデルが拡張され、 Windows 98で初めて導入されたWindows ドライバ モデルになりましたが、これは NT ドライバ モデルに基づいています。[ 29 ] Windows Vista では、Windows XP、Windows Server 2003、そしてある程度はWindows 2000でも利用可能なWindows Driver Foundationのネイティブ サポートが追加されました。

マイクロソフトは、 OS/2およびPOSIXと互換性があり、マルチプロセッシングをサポートするポータブルなオペレーティングシステムを1988 年 10 月に作成することを決定しました。 [ 30 ] 1989 年 11 月に開発が開始されたとき、Windows NT はOS/2 3.0 として知られることになりました。[ 31 ]これは、マイクロソフトとIBMが共同で開発したオペレーティングシステムの 3 番目のバージョンです。移植性を確保するため、最初の開発はIntel i860 XR RISC プロセッサを対象としていましたが、1989 年後半にMIPS R3000に切り替え、その後1990 年にIntel i386に切り替えました。 [ 19 ]マイクロソフトはまた、DOS ベースでリソース要求の少ない Windows 環境の並行開発も継続し、その結果、1990 年 5 月にWindows 3.0がリリースされました。
Windows 3.0は最終的に大成功を収めたため、マイクロソフトは当時まだ発売されていなかったNT OS/2(当時の名称)の主要なアプリケーションプログラミングインターフェースを、拡張OS/2 APIから拡張Windows APIに変更することを決定した。この決定はマイクロソフトとIBMの間に緊張を生み、最終的に両社の協力関係は破綻した。
IBMはOS/2の開発を単独で継続し、一方マイクロソフトは名称を新たにWindows NTに変更したOSの開発を続けた。どちらのOSもマイクロソフトのMS-DOSやWindowsほどすぐに普及することはなかったが、最終的にはWindows NTがOS/2よりもはるかに大きな成功を収めることになる。
Microsoft は、Windows NT を開発するために、 Dave Cutler率いるDigital Equipment Corporationの開発者グループを雇い、その設計の多くの要素は、Cutler のVMS [ 32 ] VAXELNおよびRSX-11での以前の DEC の経験を反映しているが、Cutler が Digital で開発した未発表のオブジェクトベースのオペレーティングシステムMICAというコードネームも反映されている。[ 33 ]このチームには、解散した OS/2 チームから選抜されたメンバーが加わり、その中には Moshe Dunie も含まれていた。[ 16 ]

NTはカットラーの以前のオペレーティングシステムの完全なクローンではなかったが、DECのエンジニアはすぐに内部の類似点に気づいた。Digital Pressから出版されたVAX/VMS Internals and Data Structuresの一部は、VMSの用語を使用してWindows NTの内部を正確に説明している。さらに、NTコードベースのディレクトリ構造とファイル名の一部はMICAコードベースのものと一致していた。[ 16 ]訴訟の代わりに、マイクロソフトはDECに6500万~1億ドルを支払い、VMSのマーケティングを支援し、Digitalの従業員にWindows NTのトレーニングを行い、DEC AlphaのWindows NTサポートを継続することに同意した。[ 32 ]
Windows NTとVMSのメモリ管理、プロセス、スケジューリングは非常に似ています。Windows NTのプロセス管理はスレッド処理を実装している点で異なりますが、DECは1995年のVMS 7.0までスレッド処理を実装していませんでした。
VMS と同様に、[ 32 ] Windows NT のカーネル モード コードは、プロセッサおよびアーキテクチャに依存する機能を実装することを主な目的とする「カーネル」と「実行」を区別しています。これは、Windows NT カーネルがカーネギー メロン大学のリチャード ラシッドによって開発されたMach マイクロ カーネルの影響を受けているため、修正されたマイクロ カーネルとして設計されましたが、 [ 34 ]純粋なマイクロ カーネルのすべての基準を満たしているわけではありません。カーネルと実行は両方とも単一のロード モジュールntoskrnl.exeにリンクされています。このモジュールの外部からは、カーネルと実行の区別はほとんどありません。カーネル モード デバイス ドライバなどから、それぞれのルーチンに直接アクセスできます。
Windows NTファミリーのAPIセットは、一般には公開されていない「ネイティブ」APIの上にサブシステムとして実装されています。これにより、Windows API(Win32サブシステムへの組み込み)の採用が遅れることが可能になりました。Windows NTは、内部的にUCS-2とUTF-16を使用した初期のオペレーティングシステムの1つです。
Windows NT は、ユーザー モードとカーネル モードという 2 つの主要コンポーネントで構成される階層型設計アーキテクチャを使用しています。ユーザー モードのプログラムとサブシステムは、アクセスできるシステム リソースに制限がありますが、カーネル モードはシステム メモリと外部デバイスに無制限にアクセスできます。Windows NT のカーネル モードは、コンピュータのハードウェアとシステム リソースに完全にアクセスできます。Windows NTカーネルはハイブリッド カーネルです。このアーキテクチャは、シンプルなカーネル、ハードウェア抽象化レイヤー(HAL)、ドライバ、および一連のサービス (まとめてExecutiveと呼ばれます)で構成されており、これらはすべてカーネル モードに存在します。[ 35 ]
Windows NT の起動プロセスは、 Vistaより前のバージョンではNTLDRから始まり、 Vista 以降ではWindows Boot Managerから始まります。 [ 36 ]ブートローダーは、ブート ドライブ上のファイルシステムにアクセスし、カーネルを起動し、ブート タイム デバイス ドライバをメモリにロードする役割を担います。すべてのブート ドライバとシステム ドライバがロードされると、カーネルはセッション マネージャ サブシステムを起動します。このプロセスによりwinlogonが起動され、ユーザーがログインできるようになります。ユーザーがログインすると、ファイル エクスプローラが起動され、 Windows NT のグラフィカル ユーザー インターフェイスがロードされます。
Windows NT はCとC++で記述されており、アセンブリ言語で記述されている部分はごくわずかです。[ 37 ] C は主にカーネル コードに使用され、C++ は主にユーザー モード コードに使用されます。アセンブリ言語は移植性を損なうため可能な限り避けられており[ 38 ]、その使用はコード ベースの最もパフォーマンスが重要な部分 (トラップ ハンドラ、割り込みディスパッチ、システム コール スタブ、コンテキスト スイッチング、HAL 低レベル ルーチンなど) に限定されています。[ 39 ] [ 40 ]
以下は、Windows NTテクノロジーをベースにしたWindowsのリリースです。
Windows NT 3.1から3.51には、Windows 3.1シリーズのプログラムマネージャとファイルマネージャが組み込まれていました。Windows NT 4.0以降では、これらのプログラムはWindowsエクスプローラ(タスクバーとスタートメニューを含む)に置き換えられました。Windowsエクスプローラは元々Windows 95で登場したものです。
最初のリリースには、当時の16ビット版Windowsに合わせてバージョン番号3.1が付けられました。当時の雑誌は、この番号は「.0」リリースよりも信頼性が高いように見せるためにも使われたと主張していました。また、Novell IPXプロトコルは、Windowsソフトウェアのバージョン3.1にのみライセンス供与されていたようです。
NT バージョン番号は現在では一般的にマーケティング目的では使用されていませんが、内部では依然として使用されており、オペレーティングシステムのコアに対する変更の度合いを反映していると言われています。[ 59 ]ただし、アプリケーションの互換性の理由から、Microsoft は Vista 以降のリリースではメジャー バージョン番号を 6 のままにしていましたが、[ 60 ]後に Windows 10 で 10 に変更しました。[ 53 ]ビルド番号は、Microsoft の開発者とベータ テスターが使用する内部識別子です。
Windows 8.1以降、Microsoft は Version API ヘルパー関数の動作を変更しました。アプリケーションが Windows 8.1 以降用にマニフェストされていない場合、API は常にWindows 8のバージョン番号であるバージョン 6.2 を返します。[ 61 ] [ 62 ]これは、GetVersion および関連関数を置き換えるために、マニフェスト機能が Windows 8.1 で導入されたためです。[ 63 ] [ 64 ]
Intel x86固有のコードが、開発者がx86チップでの開発に慣れているためにオペレーティングシステムに紛れ込むのを防ぐため、Windows NT 3.1は当初、非x86開発システムを使用して開発され、その後x86アーキテクチャに移植されました。この作業は当初、 Intel i860ベースのDazzleシステム、後にMIPS R3000ベースのJazzプラットフォームに基づいて行われました。どちらのシステムもMicrosoft社内で設計されました。[ 65 ]
Windows NT 3.1 は、Intel x86 PC 互換およびPC-98プラットフォーム、ならびにDEC AlphaおよびARC準拠のMIPSプラットフォーム向けにリリースされました。Windows NT 3.51 は1995 年にPowerPCプロセッサのサポートを追加し、特にIBM ThinkPad Power SeriesラップトップやMotorola PowerStack シリーズなどのPReP準拠システムに対応しました。しかし、マイケル・スピンドラーとビル・ゲイツの会談にもかかわらず、PReP 準拠の Power Macintosh プロジェクトは出荷に至らなかったため、 Power Macintoshには対応しませんでした。
Intergraph CorporationはWindows NTをClipperアーキテクチャに移植し、その後、1995年にUltraSPARCモデルを導入する計画に合わせて、Windows NT 3.51をSun MicrosystemsのSPARCアーキテクチャに移植する意向を発表しました[ 66 ] [ 67 ]が、どちらのバージョンも小売製品として一般に販売されることはありませんでした。
Windows NT 4.0の派生版のうち、完全なサービスパックが利用できるのはIA-32とAlphaの2種類のみです。サードパーティ(Motorola、Intergraphなど)が移植した他のバージョンは、一般に公開されているアップデートがほとんど、あるいは全くありません。
Windows NT 4.0 は Alpha、MIPS、または PowerPC をサポートする最後のメジャー リリースでしたが、Alpha 向け Windows 2000 の開発は 1999 年 8 月にCompaq がそのアーキテクチャでの Windows NT のサポートを終了するまで続き、その 3 日後に Microsoft も AlphaNT プログラムを中止しました[ 68 ] 。Alpha NT 5 (Windows 2000) リリースがRC1 のステータスに達していたにもかかわらずです[ 69 ]。
2011年1月5日、マイクロソフトは、Windows NTファミリーの次期メジャーバージョンにARMアーキテクチャのサポートが含まれることを発表した。マイクロソフトは、2011年のコンシューマー・エレクトロニクス・ショーで、ARMベースのコンピュータ上で動作するWindowsの暫定バージョン(バージョン6.2.7867)をデモした。[ 70 ]これが最終的に、2012年10月26日のWindows 8派生版Windows RTの商用リリース、およびWindows Phone 8でのWindows CEではなくWindows NTの使用につながった。
初代XboxとXbox 360 は、大幅に改変されたWindows 2000をベースにした独自のオペレーティングシステムで動作します。これは、マイクロソフトのエンジニアであるドン・ボックスが「フォークして実行」と呼んだアプローチです。[ 71 ] [ 72 ]これは、 Direct3Dなど、Microsoft Windowsにあるものと同様のAPI をエクスポートします。[ 73 ] Xbox OneとXbox Series X/Sコンソールは、Windows オペレーティングシステムの簡略版を使用します。[ 74 ]
Windows 11は、32ビットプラットフォームをサポートしない最初の非サーバー版Windows NTです。[ 75 ] [ 76 ]
Windows NT の 64 ビット版は、当初は Itanium と DEC Alpha 上で動作するように設計されていました。後者は、64ビット Windows の初期開発中に Microsoft 社内で使用されていました。[ 77 ] [ 78 ] Microsoft が Alpha 向けの 64 ビット Windows の出荷計画をキャンセルすると公に発表した後も、この状況はしばらく続きました。[ 79 ]このため、Windows NT の Alpha 版は 32 ビットのみとなっています。
Windows 2000 はIntel IA-32 (32 ビット)のみをサポートしていますが、Windows XP、Server 2003、Server 2008、Server 2008 R2 にはそれぞれ Itanium ベースのシステム専用のエディションがあります。 [ 80 ] [ 81 ] [ 82 ] Itanium と比較すると、Microsoft はx64 をより大規模に採用しました。Windows XP (専用の x64 エディションがあります) [ 83 ]以降のすべてのバージョンの Windows にはx64 エディションがあります。[ 80 ] [ 84 ]
Qualcommプロセッサを搭載したARM64デバイスをサポートする最初のWindows NTバージョンは、Windows 10バージョン1709でした。[ 85 ]これは、機能が制限されたWindows RTではなく、完全なバージョンのWindowsです。
Windows NTのプロフェッショナルワークステーション版の各リリースを実行するために必要な最小ハードウェア仕様は、6.0(Vista)リリースまでは比較的ゆっくりとしたペースで変化してきました。6.0(Vista)リリースでは、最小15GBの空きディスク容量が必要となり、これは以前のバージョンと比較して空きディスク容量だけで10倍の増加です。また、2021年の10.0(11)リリースでは、2018年以前に製造されたほとんどのシステムが除外されています。
NTが使用する技術は「マイクロカーネル」と呼ばれ、カーネギーメロン大学で開発されたMachマイクロカーネルの影響を受けています。
更新:Compaqは、Alpha向けWindows 2000/64の開発作業は行われていないと明らかに否定している。
残念ながら、Core 2 Duo やそれに類するもので、SSE4.2 や PopCnt のような x86_64-v2 命令がない場合、Windows 11 24H2 をインストールすることはできません。この要件を回避できるトリックやハックは存在しません。
Windows 11 2024 UpdateはArm v8.1以降のプロセッサでのみ動作します