Windows NT系
Windows NT系(ウィンドウズ エヌティけい)はマイクロソフトが開発したWindows NTのアーキテクチャに基づいて製作されたOSの総称。現在のWindowsの主流系統となっており、MS-DOSを基に拡張・発展してきたWindows 9x系とは全く異なった構造をしている。9x系とは分けて考えるときに、NT系と定義する。
広義の「Windows NT」として、Windows NT系という言葉が用いられる。
目次 |
バージョンの変遷 [編集]
Windows NT 3.1 から Windows NT 4.0については「Microsoft Windows NT」を参照
以下のオペレーティングシステムがNT系に該当する。なお、発売年は最初に発売された言語版とエディションを記載する。
| NT Ver. | RTM Build | プロダクト名 | エディション、および備考 | 発売年 |
|---|---|---|---|---|
| NT 3.1 | 528 | Windows NT 3.1 | Workstation (名称はWindows NT), Advanced Server | 1993年 |
| NT 3.5 | 807 | Windows NT 3.5 | Workstation, Server | 1994年 |
| NT 3.51 | 1057 | Windows NT 3.51 | Workstation, Server | 1995年 |
| NT 4.0 | 1381 | Windows NT 4.0 | Workstation, Server, Server Enterprise Edition, Terminal Server, Embedded | 1996年 |
| NT 5.0 | 2195 | Windows 2000 | Professional, Server, Advanced Server, Datacenter Server | 2000年 |
| NT 5.1 | 2600 | Windows XP | Home, Professional, Media Center, Tablet PC, Starter, Embedded | 2001年 |
| NT 5.1 | 2600 | Windows Fundamentals for Legacy PCs | N/A | 2006年 |
| NT 5.2 | 3790 | Windows Server 2003 | Standard, Enterprise, Datacenter, Web, Storage, Small Business Server, Compute Cluster Server | 2003年 |
| NT 5.2 | 3790 | Windows XP (64ビット) | 64-bit Edition, Professional x64 Edition | 2003年, 2005年 |
| NT 5.2 | 3790 | Windows Home Server | N/A | 2007年 |
| NT 6.0 | 6000 6001(SP1) 6002(SP2) |
Windows Vista | Starter, Home Basic, Home Premium, Business, Enterprise, Ultimate | 企業: 2006年 一般消費者: 2007年 |
| NT 6.0 | 6001(SP1) 6002(SP2) |
Windows Server 2008 | Standard, Enterprise, Datacenter, Web, Foundation, Itanium-based Systems, Storage, Small Business Server | 2008年 |
| NT 6.1 | 7600 7601(SP1) |
Windows 7 | Starter, Home Basic, Home Premium, Professional, Enterprise, Ultimate | 2009年 |
| NT 6.1 | 7600 7601(SP1) |
Windows Server 2008 R2 | Standard, Enterprise, Datacenter, Web, Foundation, Itanium-based Systems | 2009年 |
| NT 6.1 | 7601 | Windows Home Server 2011 | N/A | 2011年 |
| NT 6.2 | 9200 | Windows 8 | Windows 8(無印) , Windows 8 Pro, Windows 8 Enterprise, Windows RT | 2012年 |
| NT 6.2 | 9200 | Windows Server 2012 | 2012年 | |
| NT 6.3 | 93xx | Windows 8.1 | Windows 8、およびWindows RTのメジャーアップデート | 2013年 (予定) |
クライアント向け製品とサーバ向け製品の呼称 [編集]
Windows NT系の製品の特徴として、大きく分けてクライアント向けの製品とサーバ向けの製品の2種類存在する。
Windows NTには同バージョン製品でクライアント向けの「Workstation」とサーバ向けの「Server」の2種類がラインナップされている。ただし、Windows NT 3.1だけはクライアント兼サーバーの「Windows NT 3.1」と、ドメインコントローラ専用のWindows NT Advanced Server 3.1のラインナップだった。
Windows 2000以降はクライアント向けを「Workstation」から「Professional」に呼称変更し、Windows XPにおいてもその路線を継承した。また、Windows XPにおいては家庭などでの使用を前提に9x系を統合した「Home Edition」を新たにラインナップに追加した。その一方で、Windows XPには「Server」に相当する製品は存在せず、Windows Server 2003として異なるラインナップの位置付けに改まっている。
歴史 [編集]
マイクロソフトはMS-DOSの後継OSとしてOS/2をIBMと共同開発しており、1980年代末にはOS/2 3.0の開発を主に担当していたが、契約関係・開発の進め方等においてIBM側としばしば対立、プロジェクトの進捗が大きく停滞する状況となっていた。
そこでビル・ゲイツは事態の打開策としてプロジェクトマネージャーを社外に探し、当時DEC に在籍していたデヴィッド・カトラーを抜擢した。カトラーはDECのVAXマシン用OSであるVMSの開発者として名を上げた人物である。カトラーは当初OS/2 3.0のプロジェクトに参加したが、難航するIBMとの交渉の過程でOS/2に事実上見切りをつけ、後にNTと名付けられることになる新OS開発を水面下で推進するようになった。それは彼がかつてDECで手がけたVMSのアーキテクチャを基礎とする極めて近代的な構成でポータビリティの高いOS[1]であった。
OS/2次期バージョンの開発が遅延する中で、マイクロソフトはストップギャップとして80386搭載マシンを主なターゲットとして開発していたWindows 3.0を1990年に発売する。このWindows 3.0が大ヒットしたことでゲイツは方針を転換し、後継OSをOS/2ではなく自社オリジナルのWindowsにすることを決意する。だが、初期のWindowsは見た目はGUIではあったが内部的には16ビットコードで書かれたMS-DOSを土台としたアプリケーションランチャーの域を出るものではなく、また当時未だサポートされていた(そしてPC/ATの搭載CPUであったが故にPC市場の主流でもあった)Intel 80286の機能的な制約に由来する貧弱なメモリ管理機能、マルチタスクの不完全さ、ネットワーク機能の欠落など課題が山積していた。
そこでゲイツは、カトラーが開発していたOS/2 3.0→NTを基本としつつ、それにWindows 3.0である程度確立されたGUIシェル[2]を被せ、またそこで実装されていた16ビットWindows API (Win16)との互換性を持たせたOSを自社開発することとし、1993年にはNT系第一弾となるWindows NT 3.1の発売を果たした。
NTは極めてコンパクトなマイクロカーネル、サブシステムの概念を導入し、Win32、OS/2、POSIXのサブシステムをユーザ空間に配置した。サブシステムで致命的な問題が起きてもクラッシュと呼ばれるシステム全体の破綻を起こさない、当時のPCで動作するOSとしては画期的なシステムであった。しかしこの構造は当時のPCには負荷が大きく、結果として重いOSと評されることになる。殊にバージョン3.1リリース時にはプログラムの最適化が不十分であったこともあって当時の標準的なPC環境よりも遙かに過大なメモリを必要とした[3]ため、「メモリ・イーター(Memory eater、直訳すれば「メモリを喰らう者」。「メモリを浪費するやつ」という揶揄的表現)」との不名誉な呼ばれ方をされたこともあった。
当初は重いOSにPC側の性能がついていかず、この新しいOSをビジネスPC用OSの後継にしようというマイクロソフトの目論みは失敗した。しかし、NT 3.1、NT 3.5に続いて発表した NT 3.51において、時をほぼ同じくしてリリースしたWindows 95をクライアントとしたサーバOSとしての性格を強調するマーケティングを行い[4]、NetWareの牙城であったNOSの市場に足場を確保することに成功した。
バージョンアップを重ねる際にマイクロカーネル概念の一部を放棄してWin32サブシステムやグラフィクス・デバイスドライバの論理層などをカーネル空間に展開してスループットを向上するなど、重いオペレーティングシステムという汚名を払拭するためのいくつもの改修が行われた。UNIXでnfsの一部をカーネルに移転してスループットを向上させる技術を参考に、ファイルサーバとしての性能向上を図った。OSI参照モデルに倣ったプロトコルスタックを廃しBSDの単純かつ高性能なプロトコルスタックを取り入れたWinsock 2と新しいプロトコルスタックの搭載はネットワーク性能を大幅に向上させた[5]。日々進歩するUNIXやBSDは、マイクロソフトにとって欠かせぬ教材であったとも言えよう。あわせてNTに本格的に対応した新バージョンのVisual C++がリリースされ、サードパーティーやソフトハウスがNT向けアプリケーションの開発を本格的に行えるようになった。
その後もマイクロソフトはデスクトップ用の業務用OSの後継としても売り込みを図るが、当時Windows 95からサポートが始まりゲーム市場で急速に普及し始めていたDirect Xの対応が不十分であった[6]こともあって一部のITプロフェッショナルを除いては市場に浸透せず、2000年にリリースしたWindows 2000においてようやくデスクトップOSとしても市場に認められることとなった。Windows 2000が認められたのは、Windows 9xシリーズのプラグアンドプレイやACPI等の電源管理機能、USBへの対応などユーザビリティの高い機能を実装したことと、Direct Xのサポートやマルチメディア機能が強化されたこと、それにこの頃にはハードウェアの性能がNT系OSの重さを問題としない(つまり重たくない)レベルにまで向上していたことによると考えられる。
Windows 2000は業務用のデスクトップOSとして歓迎されたが、一般家庭向けの市場でNT系OSが普及するのは次のWindows XPまで待つことになる。
動作プラットフォーム [編集]
| NT ver. | IA-32 | x64 | IA-64 | Alpha / MIPS | ARM | PowerPC |
|---|---|---|---|---|---|---|
| NT 3.1 | 対応 | N/A | N/A | 対応 | 非対応 | 非対応 |
| NT 3.5 | 対応 | N/A | N/A | 対応 | 非対応 | 非対応 |
| NT 3.51 | 対応 | N/A | N/A | 対応 | 非対応 | 対応 |
| NT 4.0 | 対応 | N/A | N/A | 対応 | 非対応 | 対応 |
| NT 5.0 | 対応 | N/A | 一部 | 非対応 | 非対応 | 非対応 |
| NT 5.1 | 対応 | N/A | 対応 | 非対応 | 非対応 | 一部[* 1] |
| NT 5.2 | 対応 | 対応 | 対応 | 非対応 | 非対応 | 非対応 |
| NT 6.0 | 対応 | 対応 | 対応 | 非対応 | 非対応 | 非対応 |
| NT 6.1 | 一部[* 2] | 対応 | 対応 | 非対応 | 非対応 | 非対応 |
| NT 6.2 | 一部[* 2] | 対応 | 非対応 | 非対応 | 一部[* 2] | 非対応 |
3.x以前ならびに9x系のWindowsではx86アーキテクチャに絞って設計されたが、Windows NTについては開発当初から様々なCPUアーキテクチャで動作させることを考慮しており、カーネルは移植性が高い設計となっている。
NT 3.1と3.5では、PC-9800シリーズ用およびFMRシリーズ用を含む32ビットのx86(IA-32)版、MIPS Rシリーズ版とAlpha版がリリースされた。これらはARCアーキテクチャのワークステーションで動作するもので、x86版においてもBOOT.INIの記法や「システムパーティション」、「ブートパーティション」といった起動関係の用語などに影響を与えている。また、NT 3.51と4.0ではPowerPC版もリリースされ、PowerPCを搭載したIBMのThinkPad Power Seriesでも動作した。
Windows 2000 (NT 5.0) ではAlpha版の開発は行われたもののβ3で開発が中止されたため発売には至らず、製品版ではデータセンターエディションにIA-64版をリリースした以外はインテル・アーキテクチャ系のみの提供となった。Windows Server 2008 R2 (NT 6.1)では、IA-32に非対応となった[7]と同時にIA-64への対応を終了することが明らかとなっている[8]。
後にマイクロソフトがXbox 360でPowerPCを採用した際、搭載されるOSはPowerPC版Windows NTの資産を利用したのではないかとの憶測が流れたが、Microsoftはこれを否定し、x86を採用したXbox初代のOSを新たにPowerPCに移植したものであるとしている[9]。Xbox 360の開発環境として、PowerPC G5を搭載するアップル社製PowerMacにPowerPC用に新たに移植されたWindows XP (NT5.1) が搭載されているが、市販はされていない。
Windows RTではタブレットコンピュータに多く採用されているARMアーキテクチャで動作するように開発されたものである。
セキュリティ [編集]
Windows NTのコアであるNT Executiveは、セキュリティに対して非常に厳しい設計が行われている。カーネルから提供されるオブジェクトは基本的にセキュリティ記述子を伴っており、利用するユーザーによってアクセス権が細かく設定されている。XPユーザーではあまり見かけないであろうが、それ以前のバージョンのNT系列OSではファイルにアクセス権を非常にこと細かに設定できる。XPではエクスプローラーからではなく、コマンドプロンプトからCACLSコマンドでアクセス権を設定する。なお、Professionalでは簡易ファイル共有を停止する事により、2000以前と同様のセキュリティ設定タブがGUIで利用可能になる。
下位基盤として頑強なセキュリティを持つNTだが、Windows 95のシェルや機能を移植された際に9xとの互換性の問題からそれらのセキュリティの存在を無視する実装を行った為にユーザーは管理者 (Administrator)権限でログオンしていないと作業しづらいといった問題が生じた。限定された権限での動作を考慮していないアプリケーションの問題等、利用する上で不都合が多々あった。
このような経緯から、Windows NT系列、特に2000からXPにかけてはユーザー(特に個人や小規模なネットワーク環境で使っているユーザー)はAdministrators権限でログオンしていることがほとんどである。これはUNIXでいえばrootでログオンしっぱなしの状態であり、非常に深刻な脆弱性をもたらす。なぜなら、あらゆるオブジェクトにアクセス可能であり、たとえばシステムファイルの書き換えを阻むものは何もない。これによりワームほかウイルスが侵入する隙を作ってしまい、たかだか電子メールに添付してある実行ファイルを開いてしまっただけで悲惨な結果を招くことがある。この様な問題に対しては、新しいユーザーを作りそのユーザーにはPower UserないしUser権限のみを与えるという方法がある。新しいソフトウェアをインストールできないといった問題が生じることもあるが、NT本来の頑強なセキュリティを利用できるというメリットに比べればさほど大きな問題はない。これに加え、必要なときのみ管理者権限(Administrators)を得る手段として、「別ユーザとして実行」(Windows 2000より)、「高速ユーザ切り替え」(Windows XPより)、「ユーザーアカウント制御 (UAC)」(Windows Vistaより)などの策が講じられている。
なお、NT Executiveはオブジェクトを作成する際にセキュリティ記述子にNULLを指定できる。これはWindows NT系OSの最大のセキュリティホールである。なぜなら、セキュリティ記述子がないオブジェクトは誰でもアクセスできる。たとえば名前付きイベントオブジェクトであれば誰でもそのイベントを叩いてイベントを発生させることが可能であるし、名前付きパイプなどであれば勝手にオープンして勝手なデータを流し込むといったことが可能となってしまう。
ユーザーモード [編集]
ユーザーモードには、ユーザーが利用するアプリケーションやWindowsのサブシステム、システムプロセスの一部が配置されるメモリ領域を言う。ユーザーモードの権限のもとでは、ハードウェアやカーネルモードプロセス、カーネルモードにあるメモリへのアクセスはできない。
サブシステム [編集]
各アプリケーションの実行環境を提供する。
Win64サブシステム [編集]
Windows XPを含めそれ以降の64ビット版では、Win64サブシステムが基本となる。Win32サブシステムはWOW64機能を用いて実装される。
Win32サブシステム [編集]
Windows NT系の基本的なサブシステムである。
Win16サブシステム [編集]
従来のMS-DOS/Windows 3.1系列のソフトウェアを動作させるためのサブシステムであり、WoW(Win16 on Win32)機能により互換性を保つようになっている。
Vista以降では英語版相当の機能は提供されているが、日本語版独自の機能は提供されていない[10]。
厳密に言うとサブシステムの本体は仮想8086モード、286プロテクトモード、386プロテクトモードをハンドリングする仮想マシンモニタNTVDM (NT Virtual DOS Machine) で、WOWはNTVDMがトラップしたWin16 API呼び出しをWin32 APIに呼び変えを行うグループログラムである。NTVDMは16ビットDOSシステムコールとWin16 APIを動作させることに特化した実装となっており、例えばVESA VGA BIOSなどはサポートしていない[11]。このことは初期のDOS+Windows環境の下でDOSアプリケーションとWindowsアプリケーションを共に利用していたユーザーがNTへ乗り換える際に大きな壁となった。
x64およびIA-64エディションにはWin16サブシステムが搭載されていない。特にx64の場合、Longモード、つまり64ビット命令セットが利用可能な状態での動作時に、16ビット命令セットの動作に必要な仮想8086モードがサポートされなくなったという事情もある。
Windows7 Professional~Ultimateでは、Win16サブシステムに代わるサブシステムとして仮想マシンモニタ・Windows Virtual PCとXP-MODE(仮想化されたWindowsXP Professionalそのもの)を無償提供している。XP-MODEでは64bitオペレーティングシステム上でもWOW16は利用できる。Windows Virtual PCでは仮想8086モードをソフトウエアでエミュレートする事により、x64版でも8086 16bitコードの実行は可能である。ただしMicrosoft Office 2003までのOfficeや従来のWindowsXPソフトウエア資産など生産性アプリケーションの実行を優先事項としている為、NTVDMの制限はもちろん、Direct3Dの実行なども出来ない(Windows7描画系はWindowsXP時代までのシステムと互換性が乏しい為)。Windows7 Starter~Home PremiumではMicrosoft Virtual PCが32bit版のみの提供の為、64bitシステムからWin16アプリケーションは使用できない。エディションの名の通りプロフェッショナル・エンジニアを対象とした差別化であると考えられる。
OS/2サブシステム [編集]
初期のOS/2プログラムを動作させるためのサブシステムである。セキュリティ面からこのサブシステムは停止することが望ましいとされる。Windows XPおよびWindows Server 2003以降ではサポートされていない[12]。
POSIXサブシステム [編集]
POSIX互換のサービスを提供するためのサブシステムである。米国政府に納入するためにこのサブシステムを実装しなければならなかったとされ、あまり積極的に利用されなかった。OS/2サブシステムと同じく、Windows XPおよびWindows Server 2003以降ではサポートされておらず、次に述べるInterixサブシステムに取って代わっている。
INTERIXサブシステム [編集]
詳細は「Interix」を参照
POSIX互換のサービスを提供するためのサブシステムである。Windows NT標準のPOSIXサブシステムの不備を解消するため、Softway Systems社(1999年9月17日、Microsoft社に吸収合併)が開発したOpenNTを起源とする。後にUnixライクな環境を提供するServices for UNIXに標準搭載され、Windows NT系OS にネイティブで高品質なPOSIX環境が提供されることとなった。Windows Vistaの上位パッケージやWindows Server 2003よりSUA (Sub-system for UNIX-Based Applications)として標準搭載される。Windows NTに依存した部分がいくつか存在し、コンパイルする際にソースコードの書き換えが必要となることがある。
カーネルモード [編集]
カーネルモードには、NT Executiveやカーネル、各デバイスドライバが配置されるメモリ領域を言う。カーネルモードにおかれるプロセスには、ユーザーモードに存在した各種の制限はない。
NT Executive [編集]
- Cache Manager
- Memory Managerに一部機能は依存するが、I/Oのパフォーマンス管理をする。
- Configration Manager
- レジストリを管理するコンポーネント。
- I/O Manager
- ハードウェアデバイスに依存しないI/Oを提供し、I/Oを管理する。
- Security Reference Monitor
- サブシステムのセキュリティの管理やACLを通してオブジェクトやリソースへのアクセスの制御、ユーザアカウントやログオンセッション管理を取り仕切るコンポーネント。
- IPC Manager
- プロセス間通信を管理するコンポーネント。
- Process Manager
- プロセスやスレッドの管理をするコンポーネント。
- PnP Manager
- プラグアンドプレイを管理するコンポーネント。
- Power Management
- CPUやその他ハードウェアの電源管理をするコンポーネント。
- Window Manager/GDI
- ウィンドウ管理やグラフィックを行う。
- Object Manager
- サブシステムとシステムコールがWindowsのリソースへのアクセスを管理する。
- Local Procedure Call
- プロセス間通信の接続を提供する。サブシステムとの通信に利用される。またRPCのローカル転送でも用いられる。
- Memory Manager
- メモリや仮想メモリの管理をするコンポーネント。
NTカーネル [編集]
詳細は「カーネル」を参照
NTカーネルはNT ExecutiveとHALの中間にある。NT 5.2までは幾つかのNTカーネルが存在したが、Windows Vistaからはntoskrnl.exeに統一された。
- ntoskrnl.exe - 標準的なPC
- ntkrnlpa.exe - 標準的なPC(32ビットWindowsのみ。PAEが有効なときのみ。)
- ntkrnlmp.exe - マルチプロセッサPC
- ntkrpamp.exe - マルチプロセッサPC(PAEが有効なときのみ。)
等、幾つか実装が分かれていた。
Hardware Abstraction Layer [編集]
詳細は「Hardware Abstract Layer」を参照
HALを除くカーネルモードで動作するプログラムをハードウェアから分離する層である。カーネルとの分離が理想だが、HALはカーネルと共存関係にある。また、極僅かのx86用の命令が含まれている(カーネルでエミュレートされる)。NTカーネルとHALは独立しておらず、NTカーネルがハードウェアに直接アクセスを行うこともあったが、Windows VistaからNTカーネルとHALの依存関係は無くなり、hal.dllに統一された。
- hal.dll - 標準的なPC
- halaacpi.dll - APIC ACPI PC
- halacpi.dll - ACPI PC
- halapic.dll - APIC PC
- halmacpi.dll - マルチプロセッサACPI PC
- halmps.dll - マルチプロセッサPC
- halsp.dll - Compaq SystemPro
- halborg.dll - Sillicon Graphics Workstation
等、幾つかのHALが存在していた。HALはOSインストール時に自動的に選択される。
WindowsNT系サービス [編集]
「Windowsサービス」も参照
NT系列のOSは当初より従来のWindows 9x系には見られない「サービス」という概念を採用している。基本的にはUNIXのデーモンとそれらをコントロールする体系(RC)を統合したものである。サブシステムと似ているが必ずしもカーネルと密に連携を取る必要はない点が異なっており、マイクロカーネルにおけるサーバプログラムも含まれている。サーバプログラム、クライアントプログラム、セキュリティ管理、プロトコルスタック、デバイスドライバ、ファイルシステム、仮想マシンマネージャ等は全部サービスとして構成されている。
サービスとしてシステムに組み込まれているモジュール群は標準状態で100を超えるが、そのうち常時稼動しているサービスは20–30個であり、全サービスが常に起動しているわけではない。
サービスのメリットは、オペレーティングシステムの構成要素をモジュール化し運用上必要なサービスを精査して管理することで、セキュリティを向上させリソースの無駄を排除しシステムのパフォーマンスを高められることなどである。
サービスは、特定のユーザーのもとで動作する。一般的には、サービス用として用意された次のユーザーのいずれかを用いる[13]。なお、LocalSystem以外はWindows XPで新設された。
- LocalService
- 下2つに当てはまらないほとんどのサービスに適する。
- NetworkSerivce
- Windowsネットワークへのアクセスの際、コンピュータ自身のアカウントで認証を受けられる点がLocalServiceと異なる(この点、LocalServiceでは権限の低い匿名アクセスとなる)。
- LocalSystem
- ユーザーモードにおいて最も強力なSYSTEM権限のもと動作する。システム全体に影響を与えるようなサービスで使用する。
それ以外のユーザー権限を割り当てることも可能である。これには、サービスがアクセスできる範囲を限定しセキュリティを高める効果がある。例えば、不特定多数からアクセスが予想されるサービスに特定のディレクトリへのみアクセスを許可し、それ以外は不許可にしたとする。こうすることにより読み取られたくないファイルへのアクセスが抑制できる。これらの管理権限の管理は各種資源が持つアクセス制御リストへの適切な編集が必要である。
サービスの管理をWindows NT 4.0までは「コントロールパネル」で、Windows 2000以降では「サービスマネージャ」によって行える。NT 4.0まではNTサービスという名称であり、Windows 2000からWindowsサービスに名称が変更された。
デバイスドライバ [編集]
ユーザーやシステムからハードウェアへのI/Oをそのハードウェア固有の機能から抽象化するものと、システムサービスを提供するものと両方ある。64ビット版Windowsでは、セキュリティと動作の安定性向上のため[14]原則としてデバイスドライバの署名が必須とされている[15]。NT 4.0まではWindows NTカーネルモードドライバが使われ、Windows 2000以降はWindows Driver Modelが使われている。WDMはWindows 98やWindows Meでも同じソースコードでドライバが開発できるように作られている。
32ビットと64ビット [編集]
32ビット版 (x86) と64ビット版 (x64/IA-64) では、CPUやメモリの制約が異なる[16]。
| 制約 | x86 | x64 |
|---|---|---|
| 全仮想アドレス空間 | 4GB | 16TB |
| 32ビットプロセスごとの仮想アドレス空間 | 2GB / 3GB(注1) | 2GB / 4GB(注2) |
| 64ビットプロセスごとの仮想アドレス空間 | N/A | 8TB |
| Paged Pool(カーネルメモリ) | 470MB / 650MB(注3) / 2GB(注4) | 128GB |
| Non-Paged Pool(カーネルメモリ) | 256MB / 128MB(注5) | 128GB |
| システムキャッシュ | 512MB / 432MB(注5) / 960MB(注6) / 2GB(注4) | 1TB |
| Windows XPでの上限物理メモリ | 4GB | 128GB |
| Windows XPでの上限CPU数 | 2 | 2 |
- 注1 - アプリケーションが /LARGEADDRESSAWARE オプションをつけてコンパイルし、OSの起動オプションとして /3GB スイッチを boot.ini に追加した場合
- 注2 - アプリケーションが /LARGEADDRESSAWARE オプションをつけてコンパイルされている場合
- 注3 - Windows Server 2003 SP1 の場合
- 注4 - Windows Vista以降の場合
- 注5 - OSの起動オプションとして /3GB スイッチを boot.ini に追加した場合
- 注6 - LargeSystemCacheレジストリを1に設定した場合
32ビット Windows において、Windows 2000 Professional、Windows XP、Windows Vista や Windows 7、Windows 8など、パソコン向けのOSでは 4GB (実際は約3.2GBまで)が上限物理メモリとなっているが[17][18]、Windows Server ではエディションによっては 128GB まで使える。また、Address Windowing Extensionsを使うと4GBよりも大きなメモリにアクセスできる。さらに、Physical Address Extensionを使い、OSの管理下にない4GBよりも大きなメモリに直接アクセスしてしまうソフトウェアも存在する。
脚注 [編集]
- ^ ただし、この時点ではGUIの実装は基本構想になく、MS-DOSなどと同様のコマンドライン入力によるCUIのみを備えるものとして計画されていた。
- ^ 実際には平行して開発が進められていたWindows 3.1に準じたものとなった。
- ^ 一般的なPCのメモリ搭載量が8MB前後であった時期に、最低でも32MBのメモリ搭載が要求された。
- ^ それだけでなく実装APIの修正を行い、ハードウェア依存性の高いゲームやシステム系ソフトウェアなどを除く一般的なWindows 95用アプリケーションの大半が動作可能なよう改良されていた。
- ^ NT 3.1のTCP/IPネットワーク能力は9,600bpsのモデム程度であった。
- ^ NT 4.0ではSP3でDirect X 3が限定的にサポートされたが、Direct X 5以降への対応は行われなかった。
- ^ マイクロソフト. “Windows Server 2008 R2 概要”. 2009年2月13日閲覧。
- ^ 金子拓郎 (2010年4月7日). “マイクロソフト、Itaniumのサポート打ち切りへ”. ASCII.jp. 2011年8月7日閲覧。 “引用文”
- ^ ■後藤弘茂のWeekly海外ニュース■ Xbox 360のキーパースンJ Allard氏に聞く(前編)
- ^ Windows開発統括部 Windows Vista における 16 ビットサポート(2006年7月1日時点のアーカイブ)
- ^ そのため、VESA VGA BIOSの機能を利用していたゲームソフトなどは正常に動作しない。
- ^ Windows XP および Windows Server 2003 では POSIX と OS/2 がサポートされていない
- ^ “Service User Accounts (Windows)” (英語). MSDNライブラリ. マイクロソフト (2011年6月10日). 2011年8月7日閲覧。
- ^ Windows XPでのクラッシュの原因の半数以上をデバイスドライバが占めている。残るクラッシュ理由の大半はアンチウイルスソフトウエアのカーネルモードプログラムの誤動作である。
- ^ マイクロソフト (2008年7月8日). “A description of the differences between 32-bit versions of Windows Vista and 64-bit versions of Windows Vista” (英語). サポート技術情報. 2009年2月13日閲覧。
- ^ マイクロソフト (2009年1月15日). “Memory Limits for Windows Releases” (英語). MSDN ライブラリ. 2009年2月13日閲覧。
- ^ マイクロソフト (2008年6月13日). “4 GB の RAM が搭載されている場合、Windows Vista の [システム情報] ダイアログ ボックスで報告されるシステム メモリが予想より小さい”. サポート技術情報. 2008年2月13日閲覧。
- ^ マイクロソフト (2008年3月12日). “Windows Vista SP1 では、システムに 4 GB のメモリが搭載されている場合、システム メモリ (RAM) が 4 GB と報告される”. サポート技術情報. 2009年2月13日閲覧。
関連項目 [編集]
外部リンク [編集]
- Windows NT Workstation ホーム
- Windows NT Server 4.0 ホーム
- {NT} 再起動後のエラー OS/2 !! SYS01475
- 元麻布春男の週刊PCホットライン
- 実践!プラットフォーム
- Windowsの歴史 OS - ぐうたら感謝の日(コンピュータ編)
- マイクロコンピュータの歴史 著作: PSP 内倉憲一
|
|||||||||||||||||||||||||||||