• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:32bitOSのメモリについて)

32bitOSのメモリについて

このQ&Aのポイント
  • 32bitOSのメモリについて調べてみました。
  • 32bitOSでは、システム・デバイスのためにアドレス空間が消費されるため、実際に利用できるメモリは3~3.5Gbytes程度に制限されることがあります。
  • ただし、管理外メモリを利用するRAMディスクなどでは、通常のアプリケーションから利用できない1Gbytes分のメモリを利用することができます。

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

  • ベストアンサー
  • mako2_u
  • ベストアンサー率68% (493/718)
回答No.7

No.6様がおっしゃるように、 「CPUがアクセス出来るメモリ空間」と 「搭載している物理メモリ量」を 混同されていると思います。 (両方に4GBっていう数字が出てくると混同しちゃうんですよね) 「CPUがアクセス出来るメモリ空間」は32bitなので 2の32乗=4(ギガ),294(メガ),967(キロ),296Byte(約4GB)です。 PCにはマウス/キーボード/画面表示/LANなど、 いろいろな入出力がありますよね。 これらのやりとりをメモリアクセスに見立ててやるために、 メモリ空間の一部をこれらのデバイス(数百MB)用に割り当てます。 なので、メモリをいくら搭載しても 物理メモリ用に割り当てられる空間は デバイスに割り当てた領域を除いた3GB少々しかありません。 メモリを使っちゃうんじゃなくてメモリ空間を喰っちゃうんです。 で、メモリ空間を割り当てられなかった分の物理メモリ (OS管理外メモリ)をRAMディスクとかに使うんです。 ちなみにグラフィックボード搭載のメモリ量と デバイス用に喰われちゃうう空間の量は関係ありません。 グラフィックメモリはCPUがアクセスするんじゃなくて グラボ上のGPU(グラフィックプロセッサ)が アクセスしますから。 メモリ256MBのグラボでも1GBのグラボでもCPUとグラボの やり取りに割り当てる空間量は変わりません。

その他の回答 (6)

  • ymmasayan
  • ベストアンサー率30% (2593/8599)
回答No.6

矛盾していません。 まず、アドレス空間とメモリーサイズを別物として考えてください。 32ビットOSでは4GBのアドレス空間しか持てません。(2^32) しかし他の高速装置に1GB程度のアドレス空間を割り当ててしまうため メモリーに残されたアドレス空間が3~3.5GBになってしまいます。 従って4~8GBのメモリーを実装してもOSでアクセスできない部分が 出来てしまいます。 この余った部分は特別なソフトウエアを使うことによってRAMディスクとして 使用することが出来ます。OSの管理外です。(主記憶の扱いではない) あくまでもソフトウエアを介して管理されているのでアクセス速度は主記憶よりは遅く HDDよりは桁違いに早いと言うことになります。 HDDと違うのは電源を切るとかフリーズで消えるということです。 一時的記憶に使うのが有効です。

  • mindatg
  • ベストアンサー率48% (110/227)
回答No.5

No2返答に関して >システムデバイスさんは電話番号しか持っていないのでしょうか? >携帯電話(メモリ領域?)は持っていないのでしょうか? >電話番号(アドレス?)だけ持っていて携帯電話(メモリ領域?)が無くてもシステムデバイスさんは >困らないのでしょうか? システムデバイスさんは自前の携帯電話(メモリ)を持っています。 電話番号だけを32BitOS社のを使用している状態です。 http://homepage2.nifty.com/kamurai/VGA.htm#3264

miya2004
質問者

お礼

何となく分かってきました。 システムデバイスが自前でメモリ領域を持っていることとメモリ領域とアドレス空間を別々に考えなくてはいけないのですね。

  • kbps
  • ベストアンサー率40% (142/349)
回答No.4

確かに矛盾していますね。 本文では4GBをOSが扱える領域+メモリマップ領域で終わらせていますので、 http://shopdd.blog51.fc2.com/blog-entry-758.html の上の方にある図と同じで、4GB積んだ場合はRAMディスクが使用する領域が存在しないように受け取れます。 >RAMディスクなどでのみ利用可能 この領域がどこから出てくるのかあのページからはわかりません。

miya2004
質問者

お礼

ありがとうございます。 自分の勉強不足かもしれませんが、このページだけだと、RAMディスクに1GBを割り当てると システム・デバイスが使っていた1GB分はどこに行ったの?という疑問が生じます。

  • A88No8
  • ベストアンサー率52% (836/1606)
回答No.3

こんにちは >2つの言っていることは矛盾してませんか?  ん~(-.-;  32bitで表現できる最大値が4GBでCPU がメモリ空間を直接制御しているならそれを超えることは出来ないけれどハードウェアで昔あったようなEMSメモリのような一種のページング切り替えの仕組みがあればいくらでも可能な仕掛けを作れますが..  ここではWindowsをいうOSというプログラムについての解説なので「32bit版では4GBのメモリ空間のうち1GBをシステム領域として特別に管理しアプリケーションプログラムには解放しない」、「システム領域はシステムデバイス(グラフィックスカードのアクセスウィンドウやRAMディスクといった)やOS自体のワークエリアとして使用される。」  といっているのではないでしょうか。  質問者さんが引っかかったのは「RAMディスクがシステムデバイスではない」といった固定観念があるような気がします。 アプリケーションソフトとシステムデバイス(ドライバーとか)の違いは、本質的には動作するためのアドレスを不定の状態でOS任せにするかシステム領域で固定するかの違いぐらいです。  本当はアプリケーションソフトでもOSをだましてシステム領域に常駐させるくらいのことは昔からある手法です(でもRAMディスクやDISKキャッシュはシステムデバイスですよ~(^^;)。  意図している回答としてはずしていたらごめんなさい<(__;>

  • mindatg
  • ベストアンサー率48% (110/227)
回答No.2

違うだろ、と突っ込みが入るかもしれませんが例として 32BitOS社は4,000個の電話番号を持っています。 うち、1000個分の電話番号はシステムデバイスさんが既に使用しています。 メモリという携帯電話は4000個以上ありますが、その携帯電話に割り当てる番号が足りません。 実際に32BitOS社で使える携帯電話は3000個までになります。 余った携帯電話はRAMディスク社に持っていけば32BitOS社とは違う電話番号を割り当ててくれます。

miya2004
質問者

お礼

システムデバイスさんは電話番号しか持っていないのでしょうか? 携帯電話(メモリ領域?)は持っていないのでしょうか? 電話番号(アドレス?)だけ持っていて携帯電話(メモリ領域?)が無くてもシステムデバイスさんは 困らないのでしょうか?

  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.1

矛盾してませんが…。  管理できる(3~3.5MB)メモリは普通に使える。  管理できない(3~3.5MBを超える)メモリは RAMDISK などで使うしかない。 これだけですよ?

miya2004
質問者

お礼

たとえば、4GBのメモリを積んでいてタスクマネージャで物理メモリ3GBと表示された場合 1GBは「システム・デバイス(グラフィックス・カードなど)」が使用しているのですよね。 これは記事の最初に書いてあります。 この時、使われている1GBをRAMディスクとして使うことができるのでしょうか? 仮にRAMディスクとして使った場合はシステム・デバイスが使っていた1GBはどこに行ったのでしょうか?

関連するQ&A