• ベストアンサー

Windows2000について

私は今98のSEを使っているんですが、システムリソースの不足に悩まされています。そこで友達から2000はそういうことはないからWindows2000にしたら?と言われたのですが、なぜ2000はシステムリソースの不足にならないんでしょうか?私はまったくの初心者でなにもわからず、初歩的な質問で申し訳ないんですけど、どなたか分かる方よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

簡単にいえば、 WinNT/2K系は OS内部のメモリ等の管理方法やOSの利用側(一般的なユーザではなく アプリケーションプログラム等広義のプログラムを指します) がOSを利用する為のお約束 (BIOSを直接いじらない様にしWindowsが提供するインターフェースプログラム (WindowsAPI等)を使用するリソースの確保と開放方法等のお約束の事) を変更したのでリソース不足等が Win9xよりもなりにくいのです。 どうもイメージが湧きにくいと思います。 どんなかんじかなぁと、 駅の改札とかの切符売り場を考えて下さい。 切符を買う人が50人居ます。 MS-DOS系は 窓口は1つしかありません。係りの人が1人います。 そこに、切符を買う人が並んでいて、前に並んでいる人が買い終わるまで 自分の番はきません。 先に動いているプログラムが終わってOSに次ぎは貴方といわれるまで 自分というプログラムは動けないみたいなイメージです。 前の人が時間がかかったりしたら列が止まってしまい 自分の番までなかなか来ません。 Win9x系は 窓口は5つあります。窓口毎に係りの人が1人います。。 これで窓口が1の時より早く切符がかえますね。 でも、窓口の人は買う人から行き先とかを聞きながらやっているので ちょっと時間がかかることがあります。 受付の人も間違って発券してしまうことも有ります。 でも、前の人が時間がかかったりしたら列を変わることができますものね。 (マルチプロセス/スレッド概念の本格導入かな。MS-DOSの頃も疑似的なものは あったんだけど) WinNT/2K系は 窓口は5つあります。 発券装置を導入しました。(OS内部の管理方法の改善) 切符を買う前に何処から何処までの切符が欲しいかを買う人に書いてもらうことに しました。(OSを使う側のお約束) 窓口で書いたモノを窓口に渡すと即座に切符が出て来ました。 あー、以前に比べるとなんてスムースに切符が買えるんでしょう。 こんな、イメージでいいんじゃないでしょうか。 アプリ開発者ではもっと詳細な情報を持つべきですが。 partsさんへ すいません余計なお世話かもしれませんが。 >カーネル、コア、マイクロカーネル コンピュータ業界でマイクロカーネルっていえば カーネルに内在されるコア部分をマイクロカーネルとかっていうんじゃ・・・。 マイクロカーネルとサブシステム群をカーネルと呼ぶ場合も有ります。 WinNTなんかはこのタイプの筈です。 UNIXとかでも、障害発生時にFDベースで収まるようなカーネルのコアで (通常マイクロカーネルと呼称する)緊急運用することもあるけど。 Windowsっていうかマイクロソフトでは、 同じ意味のものをコア(核)とマイクロカーネルの様に読み分けているの。 因みに OSをマイクロカーネル化すると従来の一体型のカーネルに比べると 若干パフォーマンスが低下するんですよ。 マイクロカーネルとサブシステム群とのオーバヘッドがあるため。 (カーネルモードとユーザモードへの状態遷移の為の時間等) パフォーマンス低下解消の為 WinNTだとNT Executiveという中間的な層を設け、 サブシステム呼び出し時のコンテキスト切り換えを抑えパフォーマンス低下を補っている筈です。 >16ビットOSではユーザーリソースはメモリの64KBしか占有できません。 MS-DOS以前ならそうですが、 MS-DOS以降でx86系の話ならば 以前は16ビットなので 2の16乗で単純に考えると64Kなのですが、 実際には 8086系CPUにはアドレスバスが20本あるので セグメントとオフセットの組み合わせで 1MBのメモリ領域をいじることができますよ。 でも実際は システムで必要なメモリ(VRAM等)などで約380KB位使っちゃうので 約640KBしか使えません。 これが昔俗にいわれていた640KBの壁といわれるものです。 以降にでてきた80486系CPUでは アドレスバスが32本に増え2の32乗(4GB)までのメモリ領域を 理論上はいじれることになりました。 64KBって?

yugopixy10
質問者

お礼

細かい説明ありがとうございました。 また次回もよろしくお願いします。

その他の回答 (1)

  • parts
  • ベストアンサー率62% (6366/10151)
回答No.1

ウィンドウズには現在大きく分けて2種類あるのですが、一つがWinMeを中心とした9xカーネルと呼ばれるコア(基幹部分)を利用したもの、もう一つが2000を中心としたNTカーネル(マイクロカーネル)と呼ばれるものです。いずれも32ビットコアが基本です。 前者はwindows95/98/Meに共通のコアコンポーネントを利用した物で、互換性を最重視して作られているのが特徴です。もっと深く言えば、windows95より以前の3,xやMS-DOSと呼ばれる16ビットのOSにも互換しているのが特徴です。 もっと言えば、これまでのソフトを動かすためにリソースやメモリの管理を犠牲にして互換性を維持しています。 16ビットOSではユーザーリソースはメモリの64KBしか占有できません。9xでは、互換のために同一の64kB以上のリソースが確保できないためにリソース不足になりやすいのです。 NTカーネルは、次世代windowsXPでも利用されるもので、NTはNew Technologyの略です。 これまでの互換性にとらわれないOSコアとして開発されました。全ての処理は32ビットで優れたシステム・メモリ管理を行います。リソース空間は9xほど限られておらず、メモリを増設するほど性能が向上するのが特徴です。 (2000のプロフェッショナルでメモリ4GBまで対応) 古い物を捨て互換性を犠牲にした結果が2000やXP、NT4などになったというわけです。 今までは、ビジネス・サーバー向けのOSでNTは利用されてきましたが、次世代ウィンドウズXPでは個人向けのHomeと、オフィス・プロフェッショナル向けのプロフェッショナルなどが登場し、安定性のない9xは現在のMeが最後となります。 <用語> コアコンポーネント=karnel、gdi、user、の名称が付くファイルをウィンドウズではコアコンポーネントという、karnelはシステム全般を、gdiは画像などを、userはデスクトップや利用者が直接目にする部分の中枢を管理します。9xでは拡張子exeが付く16ビットコアのgdi、karnel、userと、拡張子DLLが付く32ビットのgdi、karnel、userがあり、NTでは32ビットのみのコンポーネントがある。 windowsXP=次世代のウィンドウズで9xの使いやすさや効率と、NTの安定性やセキュリティを継承した物。コアはNTを利用。

yugopixy10
質問者

お礼

回答ありがとうございました。 参考になりました。 また次回もよろしくお願いします。

関連するQ&A