BeboxOS
べぼっくすおーえす
スポンサーサイト
--年--月--日 (--) --:-- | 編集
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
32bitWindowsXPでメモリ8GBを使い切れ!Gavotte Ramdiskで4GBの壁を超える 注意事項とか
2008年05月10日 (土) 16:11 | 編集



一連のシリーズ
入門編
傾向と対策
導入編
注意事項とか
活用編1
活用編2
活用編3


とりあえずRAMDiskの導入が終わったがここでいくつか注意することが

・RAMDiskはPCの電源を落とすとデータが消滅する
PCの物理メモリをディスクドライブみたいに扱っているだけだからメモリへの電力供給が無くなれば当然データは消える
だから「OSをRAMDiskにインストールして超高速起動だ!」とかは基本的には出来ない


・スタンバイ、休止状態にすると復帰できなくなるかも

スタンバイはビデオカード、HDD、ディスプレイなどの電源を落として低消費電力になるモード
この状態ではCPUやメモリには電気が流れてるのでスタンバイから復帰しても
原理的にはRAMDiskのデータは残っている

休止状態はメモリのデータをHDDにコピーして全ての電源を落としてしまうモード
このときにHDDにコピーされるメモリのデータとはOSが管理するメモリだけ
RAMDiskになってるメモリはOSからすればHDDと同じで電源を落としてもデータは消えないと判断するし
そもそもOSがメインメモリとして認識していないのでHDDへコピーするようには出来てない

更に言うとデバイス自体がプログラムで出来ている仮想的なものだから
休止状態から復帰した時にデバイスそのものが消滅してる可能性があり
復帰そのものが出来ないということも考えられる
たとえ復帰が出来たとしてもRAMDiskのデータはきれいに消滅することになる


家の環境だとスタンバイは正常に復帰したけど休止状態からは復帰できなかった
どちらの場合でも復帰が可能かどうかはPCの環境に依存しているらしく
実際に復帰できるかは試してみないと分からないようだ

一番いいのはスタンバイと休止状態を使わないこと、なんだけどね



・メモリリマップについて

OSが管理している4GBのメモリアドレス空間はメモリだけが使っているものではなく
実際にはビデオカードやPCI機器等の各種デバイスなんかも使用している
この技術はメモリマップドI/Oと呼ばれている
で、メモリマップドI/Oで使用されちゃったアドレス分はメモリとしては使えないので
たとえメモリを4GB搭載しても実際には3.25GBくらいまでしかメモリが使えなかった

メモリリマップはこのメモリマップドI/Oの領域をメモリアドレス空間から追い出して
OSのはるか彼方のどこかに設置するようにする技術
これで4GB以上のメモリを搭載してもフルにメモリを使用することが出来るようになる

元々は64bitOSが4GB以上のメモリを認識するための機能なんだけど
今回の場合はOS管理内にあるメモリマップドI/Oの領域を追い出して
そこの領域をRAMDiskとして使うために使用している


メモリリマップ無効時
ramdisk_inst09.jpg

メモリリマップ有効時
ramdisk_inst10.jpg
RAMDiskのサイズが増えていることが分かる

「メモリリマップすればOSは4GBのメモリ確保できるんじゃねーの?」
と考える人もいると思うが
メモリマップドI/Oがメモリアドレスから追い出されたのはハードウウェア上の話で
OS側では未だに32bitのメモリアドレスから全てのデバイスをコントロールするためやり繰りせねばならず
メモリリマップを行ったところで結局のところ4GB全てをメモリとして使えるようになるわけではない

64bitOSの場合メモリアドレスは16エクサまであるので
4GBくらいメモリアドレスを確保しても
メモリマップドI/Oとメインメモリのアドレスがかぶる事はまずありません
(メモリ16エクサバイト積めば認識できないメモリ領域が出現するかも・・・)

メモリリマップの設定を変更するには
BIOSメニューから
「Memory Hole Remapping」とか
「MemoryRemapping」とかを探してきて
Enabelに変更する

BIOSによって名称がまちまちなのでマニュアル見ながら変更しよう
良く分からないというなら変更しない方がいい
700MBくらいRAMDiskの量が減るだけだから気にしなければいいだけだ



次回はこのRAMDiskをどう有効活用するか考えてみる
32bitWindowsXPでメモリ8GBを使い切れ!RAMDiskで4GBの壁を超える 活用編1




スポンサーサイト
コメント
この記事へのコメント
2008/05/10(土) 18:55:19 | URL | すさのお #-[編集]
今回の仕掛け人です。
BIOSにメモリリマップの設定項目がなく、フルにメモリを使用することが出来たので常にEnabelのようです。
ちなみに、
ASRock AM2NF6G-VSTA
です。

コメントを投稿する
URL :
コメント :
パスワード :
秘密 : 管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
この記事へのトラックバック
copyright&template: himeco
  • まとめ
  • 上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。