- ベストアンサー
物理メモリーなどメモリーについて混乱してきました。どなたかご教授を・・・
RAMと物理メモリー、仮想メモリー、メインメモリーのが混乱してきて分からなくなりました。一体、どれとどれが同じもので、他のものとはどういう関係にあるのでしょうか? ご教授願えませんか?よろしくお願いします。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
やっぱり少しわかりづらいですね。 ごく単純にいうと、 アプリケーションが使えるメモリ =仮想メモリ =HDD(スワップ領域)+メ物理メモリ これを仮想メモリ機構(OS)が実行している という感じでしょうか。 仮想メモリと、物理メモリの関係については http://www.archi.is.tohoku.ac.jp/~suzuki/comp/unix/unix09jpgs/mgp00004.html この図がわかりやすいかと。 この図のLogical addresと書いてある側が仮想メモリ側で、 Process(=アプリケーションと考えてよい)ごとに仮想メモリがあります。 Phisical Memoryとあるのは物理メモリーです。 この仮想メモリーの必要な部分を物理メモリーに配置し、 不必要な部分をスワップ領域(Swapoutedとあるとこ)に配置しています。 この物理メモリと仮想メモリの変換をAddress translation tables(=アドレス変換テーブル)によって行います。 またスワップ領域のデータが必要になれば物理メモリーに呼び出し、 必要ないデータをスワップ領域に退避させます。
その他の回答 (5)
- noranuko
- ベストアンサー率46% (620/1332)
ちょっと追記。 補完メモリーや補充メモリー、仮メモリーと呼ばないのは、 HDDに作られた仮想メモリ用の部分を仮想メモリとはいわないからです。 ここはスワップ領域といったりします。 逆に言うとここに名前をつけるなら、挙げられた名前も候補になるかもしれません。 メインメモリ+仮想メモリ=PCが使えるメモリ ではないということです。 つまり物理メモリーとHDDを使って作った仮想的なメモリを仮想メモリといい、 仮想メモリ機構が仮想メモリと物理メモリやHDDとの変換を行います。 つまりこの機能をさして、HDDをメモリ代わりに使うといった表現になるわけです。
お礼
>メインメモリ+仮想メモリ=PCが使えるメモリ ではないということです。 →そうなんですか。私はメインメモリ=RAMで=物理メモリ、仮想メモリはHDD上に作られたRAMを補完するメモリーと考えていました。ただし、仮想メモリーとRAMは同時に共有されるのではなく、RAMからスワップされてHDDに随時書き込まれたり、読み出したりされる。また、仮想メモリーはRAMよりも作動がスワップされるために遅くなるということだと思っていました。うーん、難しいです。 何度も、ご回答を頂き、誠にありがとうございました。もっと勉強をしますね。m(_ _)m
- noranuko
- ベストアンサー率46% (620/1332)
そうですね。少し混乱させたかもしれません。 もちろんHDDをメモリ代わりに使うことを仮想メモリと呼ぶこともあります。 しかし、実際にはアプリケーションは仮想メモリ領域を使用して動作し、 その仮想メモリの内容をOSが物理メモリ上やHDD上のスワップ領域に配置しています。 http://yougo.ascii24.com/gh/05/000533.html この説明の方がわかりやすいかも。
お礼
ご提示のページを読みましたが、私には難しいですね。(^^) まだまだ、勉強が足らないようです。努力します。(^^;) ご回答を頂き、誠にありがとうございました。m(_ _)m
- noranuko
- ベストアンサー率46% (620/1332)
仮想メモリーは確かに訳し方が悪いです。 もちろんVirtual memoryからきているわけですが、 これを直訳すると事実上の記憶となります。 仮想と訳すのはコンピュータ関係だけで、本当の意味は実質上や事実上のといった意味になります。 http://dictionary.goo.ne.jp/search.php?MT=virtual&kind=ej&mode=0 つまりアプリケーション側や、私たちユーザーが使う事実上のメモリはこの仮想メモリです。 この仮想メモリ(正確には仮想メモリ空間)は、 物理メモリ=メインメモリとHDDのスワップ領域からできています。 この仮想メモリをユーザやソフトは普通にメモリとして使用するため、 事実上のメモリと呼ばれるわけです。
お礼
>この仮想メモリ(正確には仮想メモリ空間)は、物理メモリ=メインメモリとHDDのスワップ領域からできています。この仮想メモリをユーザやソフトは普通にメモリとして使用するため、事実上のメモリと呼ばれるわけです。 →これは私が#1で書いたこととは若干違うと思うのですが、私の考えたことは間違っているんですか?間違っていたら、できれば指摘して頂けませんか?よろしくお願いします。
- ZENO888
- ベストアンサー率49% (8944/18242)
>仮想メモリーはどの程度がいいと 下記辺り参考 http://www.atmarkit.co.jp/fwin2k/win2ktips/166memoryusage/memoryusage.html http://www.atmarkit.co.jp/fwin2k/win2ktips/076pgfilesize/076pgfilesize.html
お礼
私にはまだちょっと理解が難しいです。(^^;) あるていどは分かりますけど。でも、いいページを教えて頂きました。また、勉強しますね。(^^) ご回答を頂き、誠にありがとうございました。
- ZENO888
- ベストアンサー率49% (8944/18242)
>RAM Random Access Memory の略 半導体素子を利用した記憶装置 http://e-words.jp/w/RAM.html >物理メモリー 仮想メモリーに対しての言葉。 実際にRAMで構成されているメモリーの事 >仮想メモリー 物理メモリーを補う為に、HDD上に仮想的に作られるメモリー領域の事 http://e-words.jp/w/E4BBAEE683B3E383A1E383A2E383AA.html >メインメモリー PCのデータやプログラムを一時保存する作業用のメモリー RAMで構成されます。 http://e-words.jp/w/E383A1E382A4E383B3E383A1E383A2E383AA.html
お礼
ZENO888さん、いつもご回答を頂きありがとうございます。 ということは、RAMと物理メモリーは同じものですね。これを補うためのものが仮想メモリーですね。メインメモリーはRAMで構成されるということは、メインメモリは仮想メモリーを使うということはありませんね。いつも思うのですが、この仮想メモリーという言葉が分かりにくいんです。補完メモリーや補充メモリー、仮メモリーという言葉なら分かり易いのですが、英語の virtual memory の訳し方から来ているのでしょうね。virtual reality を仮想現実と訳したものだから・・・。 これまで、ZENO888さんの説明で理解してきましたが、この後でご提示のサイトで勉強したいと思います。感想は補足で述べさせて下さいね。ご回答を頂き、誠にありがとうございました。
補足
素人が仮想メモリーの大きさをいじってはいけないと言われますが、実際には私はいじったことがあります。一体、RAMの大きさがどの程度なら、仮想メモリーはどの程度がいいと決まっているのしょうか?RAMが小さいと仮想メモリーは多く必要だろうし、でも多すぎると動作に問題がでてくるだろうし・・・。RAMが大きいと仮想メモリーは必要ないかも知れないし・・・。分かりません。というのが私の感想でした。ありがとうございました。
お礼
noranuko さん、お待たせしてどうもすみませんでした。私にはもうしばらく時間が必要です。また、報告したく思いますので、も少し待って下さるようお願いします。m(_ _)m
補足
私の勘違いのために時間がかかりました。ごめんなさい。noranukoさん、何度もご回答を下さり、大変ありがとうございました。厚くお礼申し上げます。m(_ _)m