このキーワード
友達に教える
URLをコピー

Windows_NT系とは?

Windows NT系(ウィンドウズ エヌティけい)はマイクロソフトが開発したWindows NTアーキテクチャに基づいて製作されたOSの総称。遅くとも Windows 98/98SE/me のサポートが終了した2006年以降から2018年現在に至る Windows の主流系統となっている。MS-DOSを基に拡張・発展してきたWindows 9x系とは全く異なった構造をしており、9x系とは分けて考えるときに、NT系と定義する。

広義の「Windows NT」として、Windows NT系という言葉が用いられる。

目次

  • 1 バージョンの変遷
    • 1.1 クライアント向け製品とサーバ向け製品の呼称
  • 2 歴史
  • 3 動作プラットフォーム
  • 4 セキュリティ
  • 5 ユーザーモード
    • 5.1 サブシステム
      • 5.1.1 Win64サブシステム
      • 5.1.2 Win32サブシステム
      • 5.1.3 Win16サブシステム
      • 5.1.4 OS/2サブシステム
      • 5.1.5 POSIXサブシステム
      • 5.1.6 INTERIXサブシステム
      • 5.1.7 Linuxサブシステム
  • 6 カーネルモード
    • 6.1 NT Executive
    • 6.2 NTカーネル
    • 6.3 Hardware Abstraction Layer
  • 7 Windows NT系サービス
  • 8 デバイスドライバ
  • 9 32ビットと64ビット
  • 10 脚注
  • 11 関連項目
  • 12 外部リンク

バージョンの変遷

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 | ? | Windows Server Limited Edition | Advanced Server[1], Datacenter Server[2] | 2001年
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(無印(Core)) , Windows 8 Pro, Windows 8 Enterprise, Windows RT | 2012年
NT 6.2 | 9200 | Windows Server 2012 | Datacenter, Standard, Essentials, Foundation | 2012年
NT 6.3 | 9600 | Windows 8.1 | Windows 8、およびWindows RTのメジャーアップデート | 2013年
NT 6.3 | 9600 | Windows Server 2012 R2 | Datacenter, Standard, Essentials, Foundation | 2013年
NT 10.0 | 10240(1507)
10586(1511)
14393(1607)
15063(1703)
16299(1709)
17134(1803)
17763(1809)
18362(1903)
18363(1909) | Windows 10
Windows 10 Mobile
Windows 10 IoT | Home, Pro, Enterprise, Education
Mobile, Mobile Enterprise
IoT Enterprise, IoT Core | 2015年
NT 10.0 | 14393 | Windows Server 2016 | Standard,Datacenter | 2016年
NT 10.0 | 17763 | Windows Server 2019 | Standard,Datacenter | 2018年

クライアント向け製品とサーバ向け製品の呼称

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 2000 Serverの後継となるサーバ版はItanium/Itanium2専用のWindows Advanced Server/Datacenter Server, Limited Editionを経て、XPに遅れる形でWindows Server 2003として異なるラインナップの位置付けに改まっている。

歴史

マイクロソフトはMS-DOSの後継OSとしてOS/2IBMと共同開発しており、1980年代末にはOS/2 3.0の開発を主に担当していたが、契約関係・開発の進め方等においてIBM側としばしば対立、プロジェクトの進捗が大きく停滞する状況となっていた。

そこでビル・ゲイツは事態の打開策としてプロジェクトマネージャーを社外に探し、当時DEC に在籍していたデヴィッド・カトラーを抜擢した。カトラーはDECのVAXマシン用OSであるVMSの開発者として名を上げた人物である。カトラーは当初OS/2 3.0のプロジェクトに参加したが、難航するIBMとの交渉の過程でOS/2に事実上見切りをつけ、後にNTと名付けられることになる新OS開発を水面下で推進するようになった。それは彼がかつてDECで手がけたVMSのアーキテクチャを基礎とする極めて近代的な構成でポータビリティの高いOSであった。

OS/2次期バージョンの開発が遅延する中で、マイクロソフトはストップギャップとして80386搭載マシンを主なターゲットとして開発していたWindows 3.01990年に発売する。この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シェルを被せ、またそこで実装されていた16ビットWindows API (Win16) との互換性を持たせたOSを自社開発することとし、1993年にはNT系第一弾となるWindows NT 3.1の発売を果たした。

NTは極めてコンパクトなマイクロカーネル、サブシステムの概念を導入し、Win32、OS/2、POSIXのサブシステムをユーザ空間に配置した。サブシステムで致命的な問題が起きてもクラッシュと呼ばれるシステム全体の破綻を起こさない、当時のPCで動作するOSとしては画期的なシステムであった。しかしこの構造は当時のPCには負荷が大きく、結果として重いOSと評されることになる。殊にバージョン3.1リリース時にはプログラムの最適化が不十分であったこともあって当時の標準的なPC環境よりも遙かに過大なメモリを必要としたため、「メモリ・イーター」との不名誉な呼ばれ方をされたこともあった。

当初は重いOSにPC側の性能がついていかず、この新しいOSをビジネスPC用OSの後継にしようというマイクロソフトの目論みは失敗した。しかし、NT 3.1、NT 3.5に続いて発表した NT 3.51において、時をほぼ同じくしてリリースしたWindows 95をクライアントとしたサーバOSとしての性格を強調するマーケティングを行い、NetWareの牙城であったNOSの市場に足場を確保することに成功した。

バージョンアップを重ねる際にマイクロカーネル概念の一部を放棄してWin32サブシステムやグラフィクス・デバイスドライバの論理層などをカーネル空間に展開してスループットを向上するなど、重いオペレーティングシステムという汚名を払拭するためのいくつもの改修が行われた。UNIXnfsの一部をカーネルに移転してスループットを向上させる技術を参考に、ファイルサーバとしての性能向上を図った。OSI参照モデルに倣ったプロトコルスタックを廃しBSDの単純かつ高性能なプロトコルスタックを取り入れたWinsock 2と新しいプロトコルスタックの搭載はネットワーク性能を大幅に向上させた。日々進歩するUNIXやBSDは、マイクロソフトにとって欠かせぬ教材であったとも言えよう。あわせてNTに本格的に対応した新バージョンのVisual C++がリリースされ、サードパーティーやソフトハウスがNT向けアプリケーションの開発を本格的に行えるようになった。当時大変人気のあったMMORPG Diabloが安定して動作し、TCP/IPによるイントラネットインターネット接続によるネットワークプレイが実現できたのは、これらの改修による。

その後もマイクロソフトはデスクトップ用の業務用OSの後継としても売り込みを図るが、当時Windows 95からサポートが始まりゲーム市場で急速に普及し始めていたDirectXの対応が不十分であったこともあって一部のITプロフェッショナルを除いては市場に浸透せず、2000年にリリースしたWindows 2000においてようやくデスクトップOSとしても市場に認められることとなった。Windows 2000が認められたのは、Windows 9xシリーズのプラグアンドプレイACPI等の電源管理機能、USBへの対応などユーザビリティの高い機能を実装したことと、DirectXのサポートやマルチメディア機能が強化されたこと、それにこの頃にはハードウェアの性能がNT系OSの重さを問題としない(つまり重たくない)レベルにまで向上していたことによると考えられる

Windows 2000は業務用のデスクトップOSとして歓迎されたが、一般家庭向けの市場でNT系OSが普及するのは次のWindows XPまで待つことになる。Windows XPが発売されてからはセキュリティの問題が取り上げられるようになった。そのため、Windows XPはService Pack 2にてCPUのセキュリティ機能DEPを利用したり、インターネットからの攻撃にはファイアウォールを標準で搭載することとなった。Windows XP Service Pack 2開発前後に開発中であったサーバー用Windowsは予定よりも遅くずれることが発表され、Windows XP Service Pack 2で搭載された各セキュリティ保護機能を搭載するとともに、Windows 2000のサーバーエディションで問題となったIISのインストール直後に機能し始めるといった設計が見直されることとなった。

Windows Vistaは予定が何度も変更された。変更規模の計画が大小含め幾度も変更されたことに加えて、従業員に対するセキュリティ訓練のための開発中断、Windows XP Service Pack 2とWindows Serverの開発があったこと、搭載が予定されている機能の開発で問題が多かったことによる。Windows Vistaは発売されると動作の重さが問題となった。Windows Vistaのサービスパックにて重さへの問題が対処されるが、結局次のWindows 7が発売されるまで話題が収まることはなかった。Windows Vistaと同じソースコードベースであるWindows Server 2008ではハードウェア仮想化機能であるHyper-Vが搭載された。Windows 7では、重さに対処する問題、同じソースコードベースであるWindows Server 2008 R2では仮想化機能の更なる対応などが行われた。Windows VistaのバージョンであるNT 6世代はクライアント版もサーバー版も機能と価格が異なるバリエーションとなる多くのエディションが登場した。

Windows 7がリリースされた時点で、既に従来のスタイラス操作ではなく複数の指による画面操作(マルチタッチ)が可能で、また一つのチップで低消費電力かつ低発熱で長時間動作可能なARMアーキテクチャが採用された小型機器のスマートフォンタブレットが世に出回っていた。これを受けて、Windows 8ではそれらのデバイスで同様に動作するように開発が行われた。Windows 8が完成する以前、ARMアーキテクチャに対応するWindowsとして既にWindows CEが存在していたが、Windows NTとは採用対象となるセグメントの違いからOSアーキテクチャが異なり、デスクトップアプリケーションやデバイスドライバ用APIの互換性も乏しく、そもそもNT用に設計されCEでは導入されていないAPIがあるなど、それらの問題に対応する必要があった。ARMタブレット向けのWindows 8はWindows RTという名称でリリースされた。ARMアーキテクチャにNTカーネルが対応することにより、自社のスマートフォン用OSのWindows Phone OSでもバージョン8以降からNTカーネルが採用された。他のスマートフォン・タブレット用OSでは一般的であったアプリケーション販売のサービス、SNSサービスや自社のオンラインストレージサービスであるOneDrive等、自社他社問わず既に広く利用されているインターネットオンラインサービスに対応した。また、Windows 8ではModern UIスタイルアプリケーション(Windowsストアアプリ)の開発・実行基盤として、ARMアーキテクチャとx86/x64アーキテクチャとで共通のWindowsランタイムが開発された。Windows 8.1/Windows RT 8.1およびWindows Phone 8.1では、さらにWindowsランタイムおよび開発環境の統合が進められ、互換性が向上した。

Windows 10では、Windowsランタイムの発展型であるユニバーサルWindowsプラットフォームおよびユニバーサルWindowsドライバーにより、モバイルやIoTを含めてすべてのOSのカーネルやコアAPIが統合・共通化された。

動作プラットフォーム

Windows NT系が対応しているプラットフォーム
NT ver. x86 x64 IA-64 Alpha / MIPS PowerPC ARM ARM64
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 | N/A | 非対応 | 非対応 | 非対応 | 非対応
NT 5.1 | 対応 | N/A | 一部 | 非対応 | 一部 | 非対応 | 非対応
NT 5.2 | 対応 | 対応 | 対応 | 非対応 | 非対応 | 非対応 | 非対応
NT 6.0 | 対応 | 対応 | 一部 | 非対応 | 非対応 | 非対応 | 非対応
NT 6.1 | 一部 | 対応 | 一部 | 非対応 | 非対応 | 非対応 | 非対応
NT 6.2/6.3 | 一部 | 対応 | 非対応 | 非対応 | 非対応 | 一部 | 非対応
NT 10.0 | 一部 | 対応 | 非対応 | 非対応 | 非対応 | 一部 | 対応
  1. ^ PC-9800シリーズを含む
  2. ^ サーバのみ、クライアント向けは非対応
  3. ^ 初期の Xbox 360 用のソフトウェア開発環境として提供
  4. ^ クライアントのみ、サーバ向けは非対応
  5. ^ モバイルおよびエンベデッド向けの一部のみ、デスクトップおよびサーバ向けは非対応
  6. ^ サーバー向けは存在するがMicrosoft社外には未公開

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を搭載したIBMThinkPad Power Seriesでも動作した。このほか、ClipperアーキテクチャSPARCに移植されたが、リリースされなかった 。

Windows 2000 (NT 5.0) ではAlpha版の開発は行われたもののβ3で開発が中止されたため発売には至らず、製品版ではデータセンターエディションにIA-64版をリリースした以外はインテル・アーキテクチャ系のみの提供となった。Windows Server 2008 R2 (NT 6.1)では、IA-32に非対応となったと同時にIA-64への対応を終了することが明らかとなっている。

後にマイクロソフトがXbox 360でPowerPCを採用した際、搭載されるOSはPowerPC版Windows NTの資産を利用したのではないかとの憶測が流れたが、マイクロソフトはこれを否定し、x86を採用したXbox初代のOSを新たにPowerPCに移植したものであるとしている。Xbox 360の開発環境として、PowerPC G5を搭載するアップルPower MacにPowerPC用に新たに移植されたWindows XP (NT5.1) が搭載されているが、市販はされていない。

Windows RTタブレットコンピュータに多く採用されているARMアーキテクチャでNTカーネルが動作するように開発されたものである。

2016年12月、ARM64への対応が発表された。

セキュリティ

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 2000アーキテクチャのブロックダイアグラム

ユーザーモードには、ユーザーが利用するアプリケーションやWindowsのサブシステム、システムプロセスの一部が配置されるメモリ領域を言う。ユーザーモードの権限のもとでは、ハードウェアやカーネルモードプロセス、カーネルモードにあるメモリへのアクセスはできない。

サブシステム

各アプリケーションの実行環境を提供する。

Win64サブシステム

Windows XPを含めそれ以降の64ビット版では、Win64サブシステムが基本となる。Win32サブシステムはWOW64機能を用いて実装される。

Win32サブシステム

Windows NT系の基本的なサブシステムである。

Win16サブシステム

従来のMS-DOS/Windows 3.1系列のソフトウェアを動作させるためのサブシステムであり、WoW(Win16 on Win32)機能により互換性を保つようになっている。

Vista以降では英語版相当の機能は提供されているが、日本語版独自の機能は提供されていない。

厳密に言うとサブシステムの本体は仮想86モード、286プロテクトモード、386プロテクトモードをハンドリングする仮想マシンモニタNTVDM (NT Virtual DOS Machine) で、WOWはNTVDMがトラップしたWin16 API呼び出しをWin32 APIに呼び変えを行うグループログラムである。NTVDMは16ビットDOSシステムコールとWin16 APIを動作させることに特化した実装となっており、例えばVESA VGA BIOSなどはサポートしていない。このことは初期のDOS+Windows環境の下でDOSアプリケーションとWindowsアプリケーションを共に利用していたユーザーがNTへ乗り換える際に大きな壁となった。

x64およびIA-64エディションにはWin16サブシステムが搭載されていない。特にx64の場合、Longモード、つまり64ビット命令セットが利用可能な状態での動作時に、16ビット命令セットの動作に必要な仮想86モードがサポートされなくなったという事情もある。

OS/2サブシステム

初期のOS/2プログラムを動作させるためのサブシステムである。セキュリティ面からこのサブシステムは停止することが望ましいとされる。Windows XPおよびWindows Server 2003以降ではサポートされていない。

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に依存した部分がいくつか存在し、コンパイルする際にソースコードの書き換えが必要となることがある。惜しまれつつもWindows8.1 / Windows2012 R2よりInterixサブシステムは廃止された。代替手段としてHyper-Vを利用した仮想Unix環境、もしくはCygwinの利用が推奨されている。

Linuxサブシステム

詳細は「Windows Subsystem for Linux」を参照

Windows Subsystem for Linuxとして2016年3月に発表されたネイティブLinuxレイヤーを提供するサブシステムである。LinuxカーネルのシステムコールをNTカーネルのシステムコールに変換することによりLinuxアプリケーションのネイティブ動作を実現している。Interixサブシステムではソースコードの修正やInterix用にコンパイルを行う必要があったが、Subsystem for Linux ではUbuntu Linuxとバイナリレベルでの互換性を実現しているため、Ubuntuでビルドしたバイナリをそのまま実行できる。bashやEmacsなどUnix/Linuxのソフトウェアが利用可能となる。

カーネルモード

カーネルモードには、NT Executiveやカーネル、各デバイスドライバが配置されるメモリ領域を言う。カーネルモードにおかれるプロセスには、ユーザーモードに存在した各種の制限はない。

NT Executive

Cache Manager
Memory Managerに一部機能は依存するが、I/Oのパフォーマンス管理をする。
Configuration 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に統一された。

等、幾つか実装が分かれていた。

Hardware Abstraction Layer

詳細は「Hardware Abstraction Layer」を参照

HALを除くカーネルモードで動作するプログラムをハードウェアから分離する層である。カーネルとの分離が理想だが、HALはカーネルと共存関係にある。また、極僅かのx86用の命令が含まれている(カーネルでエミュレートされる)。NTカーネルとHALは独立しておらず、NTカーネルがハードウェアに直接アクセスを行うこともあったが、Windows VistaからNTカーネルとHALの依存関係は無くなり、hal.dllに統一された。

等、幾つかのHALが存在していた。HALはOSインストール時に自動的に選択される。

Windows NT系サービス

Windowsサービス」も参照

NT系列のOSは当初より従来のWindows 9x系には見られない「サービス」という概念を採用している。基本的にはUNIXデーモンとそれらをコントロールする体系(RC)を統合したものである。サブシステムと似ているが必ずしもカーネルと密に連携を取る必要はない点が異なっており、マイクロカーネルにおけるサーバプログラムも含まれている。サーバプログラム、クライアントプログラム、セキュリティ管理、プロトコルスタック、デバイスドライバ、ファイルシステム、仮想マシンマネージャ等は全部サービスとして構成されている。

サービスとしてシステムに組み込まれているモジュール群は標準状態で100を超えるが、そのうち常時稼動しているサービスは20–30個であり、全サービスが常に起動しているわけではない。

サービスのメリットは、オペレーティングシステムの構成要素をモジュール化し運用上必要なサービスを精査して管理することで、セキュリティを向上させリソースの無駄を排除しシステムのパフォーマンスを高められることなどである。

サービスは、特定のユーザーのもとで動作する。一般的には、サービス用として用意された次のユーザーのいずれかを用いる。なお、LocalSystem以外はWindows XPで新設された。

LocalService
下2つに当てはまらないほとんどのサービスに適する。
NetworkService
Windowsネットワークへのアクセスの際、コンピュータ自身のアカウントで認証を受けられる点がLocalServiceと異なる(この点、LocalServiceでは権限の低い匿名アクセスとなる)。
LocalSystem
ユーザーモードにおいて最も強力なSYSTEM権限のもと動作する。システム全体に影響を与えるようなサービスで使用する。

それ以外のユーザー権限を割り当てることも可能である。これには、サービスがアクセスできる範囲を限定しセキュリティを高める効果がある。例えば、不特定多数からアクセスが予想されるサービスに特定のディレクトリへのみアクセスを許可し、それ以外は不許可にしたとする。こうすることにより読み取られたくないファイルへのアクセスが抑制できる。これらの管理権限の管理は各種資源が持つアクセス制御リストへの適切な編集が必要である。

サービスの管理をWindows NT 4.0までは「コントロールパネル」で、Windows 2000以降では「サービスマネージャ」によって行える。NT 4.0まではNTサービスという名称であり、Windows 2000からWindowsサービスに名称が変更された。

デバイスドライバ

ユーザーやシステムからハードウェアへのI/Oをそのハードウェア固有の機能から抽象化するものと、システムサービスを提供するものと両方ある。64ビット版Windowsでは、セキュリティと動作の安定性向上のため原則としてデバイスドライバの署名が必須とされている。NT 4.0まではWindows NTカーネルモードドライバが使われ、Windows 2000以降はWindows Driver Modelが使われている。WDMはWindows 98やWindows Meでも同じソースコードでドライバが開発できるように作られている。

32ビットと64ビット

32ビット版 (x86) と64ビット版 (x64/IA-64) では、CPUやメモリの制約が異なる。

CPUやメモリの制約
【制約】
【x86】
x64
全仮想アドレス空間 | 4GB | 16TB / 256TB(注8)
32ビットプロセスごとの仮想アドレス空間 | 2GB / 3GB(注1) | 2GB / 4GB(注2)
64ビットプロセスごとの仮想アドレス空間 | N/A | 8TB / 128TB(注8)
Paged Pool(カーネルメモリ) | 470MB / 650MB(注3) / 2GB(注4) | 128GB / 384GB(注7) / 15.5TB(注8)
Non-Paged Pool(カーネルメモリ) | 256MB / 128MB(注5) / 2GB(注4) | 128GB / 16TB(注8)
システムキャッシュ | 512MB / 432MB(注5) / 960MB(注6) / 2GB(注4) | 1TB / 16TB(注8)
Windows XPでの上限物理メモリ | 4GB | 128GB
Windows XPでの上限CPU数 | 2 | 2

32ビット Windows において、Windows 2000 Professional、Windows XP、Windows VistaWindows 7Windows 8など、パソコン向けのOSでは4GB(実際は約3.2GBまで)が上限物理メモリとなっているが、Windows Server ではエディションによっては 128GB まで使える。また、Address Windowing Extensionsを使うと4GBよりも大きなメモリにアクセスできる。さらに、Physical Address Extensionを使い、OSの管理下にない4GBよりも大きなメモリに直接アクセスしてしまうソフトウェアも存在する。

脚注

  1. ^ ただし、この時点ではGUIの実装は基本構想になく、MS-DOSなどと同様のコマンドライン入力によるCUIのみを備えるものとして計画されていた。
  2. ^ 実際には平行して開発が進められていたWindows 3.1に準じたものとなった。
  3. ^ 一般的なPCのメモリ搭載量が8MB前後であった時期に、最低でも32MBのメモリ搭載が要求された。
  4. ^ Memory eater:直訳すれば「メモリを喰らう者」。「メモリを浪費するやつ」という揶揄的表現。
  5. ^ それだけでなく実装APIの修正を行い、ハードウェア依存性の高いゲームやシステム系ソフトウェアなどを除く一般的なWindows 95用アプリケーションの大半が動作可能なよう改良されていた。
  6. ^ NT 3.1のTCP/IPネットワーク能力は9,600bpsのモデム程度であった。
  7. ^ NT 4.0ではSP3でDirectX 3が限定的にサポートされたが、DirectX 5以降への対応は行われなかった。
  8. ^ ARMサーバで動く「Windows Server」Q&A--マイクロソフトに聞く - ZDNet Japan” (2017年3月15日). 2019年8月21日閲覧。
  9. ^ ・・・・・・・・・・・・・・・・・・
出典:wikipedia
2020/02/15 14:26

HAPPY Wikipedia

あなたの考える「Windows_NT系」の意味を投稿しよう
「Windows_NT系」のコンテンツはまだ投稿されていません。
全部読む・投稿 

Windows_NT系スレッド一覧

・・・・・・・・・・・・・・・・・・
「Windows_NT系」のスレッドを作成する
Windows_NT系の」
友達を探す
掲示板を探す
このページ
友達に教える
URLをコピー

注目のキーワード

錦織圭/北島康介/2014_FIFAワールドカップ・アジア予選/サッカー日本女子代表/消費税/東京スカイツリー/ダルビッシュ有/イチロー/香川真司/野田内閣/復興庁/石川遼/HKT48/AKB48/ワールド・ベースボール・クラシック日本代表/黒田博樹/尖閣諸島/バレンタインデー/ONE_PIECE

キーワードで探す

 
友達を探す
掲示板を探す
ハッピーWiki
ハッピーメール
ハッピーランド
HAPPY NEWS
2010Happy Mail