• ベストアンサー

仮想記憶、仮想メモリ、コンピュータの仕組み

仕組みの違いがわからなくて困っております。どれも同じように思えてしまいます。 もう少し、やさしく違いを解説していただけないでしょうか、宜しくお願い致します。 1、ガベージコレクション、デフラグメンテーション、メモリコンパクションは、全て同じことですか? 2、スプーリング、スワッピングは、同じことですか? 3、ページングも、大体、1と2と同じようなことですか?

  • gold19
  • お礼率95% (722/758)

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

  • ベストアンサー
  • hue2011
  • ベストアンサー率38% (2800/7250)
回答No.4

台所で料理をつくると思ってください。二人いるとしましょうか。 とりあえずあなたが行動を起こします。 まな板があります。この上でものを切ったりたたいたりまとめたりします。 ここが、メモリです。 すべての調理はここで行います。 フライパンだとか鍋のようなものはCPUだと思ってください。 ここで加工がおこなわれるのです。 芋や玉ねぎの入っているバケツがあります。魚が乗っているトレイがあります。 これは外部記憶装置です。 まな板で加工したいとき、外部記憶装置にあるタラをもってきて包丁を入れます。 だけど、これをフライにして、タルタルソースで提供したいと考えるなら、いま触ったタラはまな板からどかさないといけない。 きれいな皿をもってきてそこに置くとします。 これ、仮想記憶です。まな板の延長線で見えていて、いま調理しようとする食材が一望にわかるのです。 だけどまな板自体ではないから、メモリではありません。 まな板に、タラの皮とかしっぽとか、いろいろ残っています。 取り合えずこれ、洗いましょう。そうしないと次に乗せたものににおいがうつってしまいますから。 これがガベージコレクションです。 タラをシソの葉でくるんであげたいとかんがえ、いまシソをまな板にのせ、皿においた切り身の魚を巻いていきます。 この巻いたものをまとめないでおくと、まな板の隅からぼろりと落っこちたりするし、切り身どうしでからまってしまいます。 だから、まな板にきれいに並べておきながら調理すべきです。 これがメモリコンパクションです。 ついでに、すでにしたごしらえをしておいたニンジンを添えることにしましょう。 冷蔵庫、これは外部記憶ですが、この中に、タッパウェアにまとめて、「ニンジン」「きゅうり」「大根」があります。 こういうしまい方をしたというのは、ページングです。 何がどこにあるかわかるやりかたです。 まな板にすでに、シソで巻いた魚が並んでます。 そこの空きエリアにニンジンを並べます。できれば空きをつくらないで、きれいに並べます。 これがデフラグメンテーションです。 ニンジンをさくさくさくさく細かく切ります。 もう一人はこのあたりまで待っていますがいよいよ出番です。 こいつは揚げ鍋に油をいれて火にかけています。 フライを作りたいのですから、バットに小麦粉を入れ、ボウルに卵を溶き、もうひとつのバットにパン粉を敷いて待っています。 かたっぱしから魚が作られていくのですが、ひとつずつ粉をまぶし油にいれるということをすると、小麦粉は湿ってしまい、油の温度は同じようにならず、不揃いの変なものになります。 そこで、まな板に魚が積みあがるのを待っています。 これをスプーリングといいます。全部できてから仕事を一気にやりたいからです。 次つぎに魚をまぶし、油にいれるとどんどんできてきます。 これを配膳用の皿に積み上げ、さっきのニンジンと玉ねぎをマヨネーズで混ぜたものを載せます。 このタルタルソースは、火を使っていません。 つまり、CPUの処理を受けません。 にもかかわらず、お皿に載せられます。 これがDMAです。 このたとえでおわかりでしょうか。

gold19
質問者

お礼

早速の御回答ありがとうございます。大変わかりやすく、料理の過程のお話しでコンピュータの流れがイメージ出来ました。ありがとうございました。

その他の回答 (5)

回答No.6

補足です > 物理メモリ メイン・メモリ > メモリ空間 メモリ領域のアドレス空間 例えばメイン・メモリが2G(ギガ)バイトだったとして、ハードディスクに仮想メモリを4G(ギガ)バイト設定すると、合計6G(ギガ)バイトのアドレス空間が使えるようになります。

gold19
質問者

お礼

早速の御回答ありがとうございます。理解しました。これからも勉強していきますので宜しくお願い致します。ありがとうございました。

回答No.5

> 仮想記憶、仮想メモリ、ページング 仮想メモリ 【 virtual memory 】 仮想記憶 / バーチャルメモリー http://e-words.jp/w/%E4%BB%AE%E6%83%B3%E3%83%A1%E3%83%A2%E3%83%AA.html > 仮想メモリとは、OSによるメモリ管理の方式の一つで、メモリ領域に物理的なアドレス(番地)とは別に仮想的なアドレスを割り当てて管理する方式。細切れのメモリ空間を連結して一つの連続した空間として利用したり、補助記憶装置(ハードディスクなど)上にも仮想的なメモリ領域を確保することで、物理メモリの容量を超えてメモリ空間を利用することができる。 > OSは物理メモリ上の領域と仮想メモリ上の領域の対応付け(マッピング)を行い、MMU(Memory Management Unit)と呼ばれる専用のハードウェアによって相互のアドレスの変換を行う。物理メモリ空間でのアドレスを物理アドレスあるいは実アドレス、仮想メモリ空間でのアドレスを仮想アドレスあるいは論理アドレスと呼ぶ。 > 仮想メモリの管理を一定の大きさの領域を単位として行う方式をページング方式、プログラムやデータのまとまりごとに不定長の大きさで管理する方式をセグメント方式と呼ぶ。現代ではほとんどの場合ページング方式が用いられる。 ページング方式の仮想メモリでは、ページと呼ばれる決まった大きさ(4KBを採用しているシステムが多い)にメモリ領域を分割し、ページごとに仮想メモリとメインメモリを対応付けさせる。 仮想メモリとは http://www.pc-master.jp/words/k-memory.html > 仮想メモリとは、ハードディスクの一部の領域をメモリーの一部として利用するさいに作成されるハードディスク上の領域、ファイルのこと > バーチャルメモリ、ページファイル、ページングファイルともいいます。 例えばメイン・メモリが2G(ギガ)バイトだったとして、ハードディスクに仮想メモリを4G(ギガ)バイト設定すると、OSは合計6G(ギガ)バイトのメモリが使えるようになります。 ただし、CPUはハードディスク上の仮想メモリに直接アクセスできないので、ハードディスク上の仮想メモリのデータをアクセスしたい場合は、メイン・メモリに空きが無い場合は、メイン・メモリの一部のデータをハードディスク上の仮想メモリに退避(スワップアウト)し、アクセスしたいハードディスク上の仮想メモリのデータをメイン・メモリに戻し(スワップイン)てやりアクセスするので、デメリトは動作が遅くなる、メリットはメイン・メモリ以上のメモリ領域が使える。 > スワップ、スワッピング スワップ 【 swap 】 メモリスワップ / memory swap http://e-words.jp/w/%E3%82%B9%E3%83%AF%E3%83%83%E3%83%97.html > スワップとは、ハードディスクなどの補助記憶装置を利用して使用可能なメモリ容量を増やすOSの機能の一つ。 > ハードディスク上に「スワップファイル」あるいは「スワップ領域」と呼ばれる専用の保存領域を用意して、メモリ容量が不足してきたら現在使われていないプログラム(プロセス)を一時的にスワップファイルに書き出して消去し、占有していたメモリを開放する。メモリからハードディスクに退避する動作を「スワップアウト」(swap-out)、ハードディスクからメモリに書き戻す動作を「スワップイン」(swap-in)という。 > また、ページング方式の仮想記憶(仮想メモリ)において、物理メモリと補助記憶との間でページの入れ替えを行うこともスワップあるいはページスワップということがある。前述のプロセス単位のスワップは本来は仮想記憶に含めないが、ページの入れ替えをスワップと呼ぶことや、Windowsではスワップ機能を「仮想メモリ」と称していることなどから、よく混同されている。 説明が難しいですが、こちらは処理がプロセス単位(プロセスを丸ごと)であり、仮想メモリではないと言うことです。 プログラムとプロセスでは意味が違いますが、喩えとしてプログラム単位でハードディスクに保存するみたいなイメージです。 ちなみに仮想メモリはメモリのページ単位の処理になります(仮想メモリの1ページは一般的なWindowsでは4k(キロ)バイトのようです)。 > ガベージコレクション (以前、使われていて)使われなくなったメモリ領域を回収し、それをメモリの空き領域として利用可能にする。 > デフラグメンテーション デフラグ 【 defrag 】 デフラグメンテーション / defragmentation / ディスク最適化 / ディスクデフラグ http://e-words.jp/w/%E3%83%87%E3%83%95%E3%83%A9%E3%82%B0.html > デフラグとは、ハードディスクなどのストレージ装置(外部記憶装置)のデータを記録した領域を再配置し、各ファイルの記憶領域や空き領域がなるべく連続した状態にすること。また、そのような処理を行うソフトウェア。 > ストレージは通常ある決まった大きさ(数キロバイト程度が多い)の領域を単位に管理され、ファイルなどを保存する際には空いている領域から必要なデータ量の領域を確保して記録する。使用開始当初はほとんどが空き領域のため、端から連続した領域に保存されていくが、書き込みと削除を繰り返していくと次第に細かな空き領域が増え、大きなファイルを保存する際に少しずつ分割されて様々な領域にまたがって飛び飛びに記録されるようになる。 > ハードディスクなど回転する円盤を利用した記憶装置はデータの配置が物理的に連続している時に最も高速に読み書きできるため、このようにファイルの保存領域や空き領域の断片化(fragmentation:フラグメンテーション)が進むと次第に性能が劣化してくる。また、同じ量のデータの読み書きに、より多くのディスクの回転やヘッダの移動を要するため、そのまま使用を継続すると耐用年数が低下するとも言われる。 デフラグはこのようなハードディスク領域の断片化(不連続化)を解消するために行われる操作で、記録されたデータを端から順番に連続した並びになるよう再配置し、ハードディスク上のデータを高速に読み書きできるようにする。 > メモリコンパクション メモリコンパクション 【 memory compaction 】 http://e-words.jp/w/%E3%83%A1%E3%83%A2%E3%83%AA%E3%82%B3%E3%83%B3%E3%83%91%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3.html > メモリコンパクションとは、OSや言語処理系などが持つ機能の一つで、メモリ(メインメモリ、主記憶装置)上の空き領域の断片化を解消し、連続した広い空き領域に再編すること。 > プログラムを長時間実行していると、コードやデータの生成と破棄のためにメモリ領域の確保と解放が繰り返され、確保済みの領域が飛び飛びの場所に存在するようになる。メモリコンパクション処理が実行されると、これを移動して隙間なく再配置し、空き領域を連続した状態にする。 つまり、原理はデフラグと同じで対象がメモリーかハードディスクかの違いですね。 > スプーリング スプール 【 spool 】 Simultaneous Peripheral Operations On-Line / スプーリング / spooling http://e-words.jp/w/%E3%82%B9%E3%83%97%E3%83%BC%E3%83%AB.html > スプールとは、処理能力に大きな差のある装置やソフトウェア、通信回線などを協調して動作させる際に、速い側の待ち時間を短くするために、処理すべきデータを一時的に記憶装置に保存し、遅い側に少しずつ転送して処理させる仕組み。また、そのための専用の保存領域。

noname#242220
noname#242220
回答No.3

PCの場合物理メモリと論理メモリが有り、仕様上論理メモリを『仮想メモリ(仮想記憶)』と称します。 *最初にデータを保管するのは仮想メモリ上(HD等) デフラグはHDのデータを整理整頓する事。 ガベレージコレクションはメモリの未使用領域を整理する事。 スワッピングは使用データをHDからメモリに交換する事。 PCではアプリ、データを一度HDに展開して必要なデータを仮想メモリに読み込む ページングはメモリ全体をある一定の量で分割して管理する手順 *論理メモリと物理メモリが有るのはPCだけです。 登場した時の仕様を拡張する時に必要になった。 Macはデータ自体が分割されてますので、物理メモリのメモリコントローラで十分なのです。

gold19
質問者

お礼

早速の御回答ありがとうございます。理解しました。物理メモリ、論理メモリの話し、大変勉強になりました。ありがとうございました。

回答No.2

 ガベージコレクション=半導体メモリの領域で要らなくなったものを捨てて整理する デフラグメンテーション=HDD(ハードディスク)の断片化を解消してデーターをシーケンシャルに近づける  メモリコンパクション=メモリをコンパクトにする=断片化を解消して、すみに寄せ集める  スプーリング=データーをプールする=応答が遅いデバイスに対してCPUの監視をやめて、DMA(Direct Memory Access=CPU内部の演算子を使わないメモリ管理専用の部分、Core 2Duoの時はチップセット内にあった)でのデーター転送 DMA=「プログラムされた機械語の命令群の実行によってアキュムレータなどを介する方法によらず、メモリとメモリまたはメモリとI/Oデバイスの間で直接データを転送することである。」  スワッピング=交換=メモリ上の使用頻度の少ない物をHDD上の使用頻度が少し高いものと入れ替えて高速化する  ページング=仮想記憶の考え方の一つ、本のページをめくるように小さな単位のエリアを切り替えて使うやり方、住所で言う何丁目何番地という感じに割り振られた座標をページとして使う、物理メモリのオーバーフローの対処法である、仮想メモリのブロック化とも言える。

gold19
質問者

お礼

早速の御回答ありがとうございます。理解しました。DMAという用語も覚えることが出来ました。ありがとうございました。

  • ubku
  • ベストアンサー率37% (227/608)
回答No.1

1.ガベージコレクションとはJava等で実装されている、未使用になったメモリ領域を回収し再利用できるようにする機能の事です。デフラグメンテーションとはディスクの断片化を解消することです。メモリコンパクションとはメモリの断片化を解消することです。 2.スプーリングはプリンタなどの遅い機器を扱う場合にデータをメモリ上に一時保管することです。スワッピングは、メモリ上で使わなくなってきたデータを、ディスク上の必要なデータと交換することです。 3.ページングはスワッピングをある決まった大きさで行う事です。

gold19
質問者

お礼

早速の御回答ありがとうございます。理解しました。メモリとディスクの断片化を区別していませんでした。ありがとうございました。

関連するQ&A

  • 仮想記憶方式とは

     今晩は。  HDDを仮想記憶として使う方法として、ページングとかスワッピングとかがありますが、 実はよく調べてみると2つの意味はどうも違うことが分かりましたが、一体どの様に違うのかはよく分かりません。  どなたか、この違いを教えて下さい。  また、仮想記憶方式とは正確にはどちらを指すのでしょうか。    以上宜しくお願い致します。

  • 仮想メモリについて(Windows10です)

    ご質問です。 (1)パフォーマンスオプションの詳細設定で「次を最適なパフォーマンスに調整」項目が現在プログラムになっております。もう一つの項目のバックラウンドサービスでなくてもいいのでしょうか?また、2つの違いは何なのでしょうか? (2)同じく詳細設定の仮想メモリの「すべてのドライブの総ページングファイルサイズ」が3072MBになっており「変更」をクリックすると「すべてのドライブのページングファイルサイズを自動に管理する」にチェックが入っております。そして、下段の「すべてのドライブの総ページングファイルサイズ」の最小限が16MB・推奨が1270MB・現在が3072MBになっております。推奨の数値でなくてもいいのでしょうか?また、いろんなサイトを見たのですがページングファイルとはどのようなもので、どのような領域(?)なのでしょうか? OSはWindows10・32ビット・搭載メモリは4Gで2.93G使用可能になっております。 よろしくお願いします。

  • 仮想メモリをどれぐらい増やせばいいですか?

    仮想メモリの容量が少ないと表示されだしてから、プリンターまでも動かなくなってしまいました。筆まめで作成した物を印刷しようとしても印刷出来ず落ちてしまいます。 PCはXPでVAIO(PCV-HS91B/HS31シリーズ)です。 マイコンピューターを開いたところ 仮想メモリ「全てのドライブの総ページングファイルサイズ 557MB」となっております。 カスタムサイズというところに印がついており、 初期サイズ(MB)(I)384 最大サイズ(MB)(X)768 となっています。 全てのドライブの総ページングファイルサイズ 最小限  2MB 推奨   381MB 現在の割り当て   557MB となっております。 どれをどれぐらいの数値に変更したらいいか全く分りません。どうしたらいいのでしょうか? プリンターが動いてくれないのもこのせいでしょうか? 宜しくお願い致します。

  • 仮想メモリが少なすぎます・・変更値を教えていただけますか?

    PC種類:FMV ノートPC 使用状況:5年使用、用途は主にネットで、ダウンロードなどはあまりしていないつもりです ドライブC 空き領域:36348MB カスタムサイズ:初期サイズ336         最大サイズ672 すべてのドライブの総ページングファイルサイズ 最小限:2MB 推奨:717MB 現在の割り当て:359MB ドライブD 空き領域:10194MB ページングファイルなし 以上が、現在の状況です。 しょっちゅう、「仮想メモリが少なすぎます」というようなメッセージがでますので、直したいと思っています。 1、変更値 2、変更の仕方 を、初心者にも分かりやすくお教えいただけましたら幸いです。 どうぞよろしくお願い致します。

  • 仮想メモリについて

    皆さんこんばんわ 仮想メモリについて恐れ入りますが、教えてください。 実は最近ショップでPC(メーカー品ではないです) を買ったのですがゲームをした後右下に仮想メモリの 最小値が低すぎると表示されてしまうのです 実はこのPCはネットゲーム用に買ったので スペック的には申し分ないと思うのですが 幾分、知識が乏しいので もし御分かりの方は教えてください。 現在の仮想メモリは 空   298163MB カスタムサイズ 初期サイズ2046MB 最大   4062MB すべてのドライブの総ページングファイルサイズ 最小限      2MB 推奨      3070MB 現在の割り当て 2369MB と表示されています。 このPCのスペック的には Core2 Quad 6600Q メモリ  2G HD  320G グラボ GF8600GTSです。 宜しくお願い致します。

  • 点滴の仕組み

    いつもお世話になっております。 点滴が一定のリズムでぽたぽた落ちている部分の仕組みをしらべているのですが、どなたかご存知でしょうか? 図解で解説しているものがありましたら、大変助かります。 よろしくお願い申し上げます。

  • 仮想記憶の仕組み

    仮想記憶の仕組みでスワップ領域には分割したプロセスが置かれ、セグメント番号が付けられたりします。 もし、必要なプロセスの一部分がメインメモリにない場合このスワップ領域からメインメモリにロードしないといけませんよね。 そこで補助記憶装置上の スワップ領域にある必要とするプロセスの一部分を、探し出すとき、ファイルシステム(FAT)を使うのでしょうか? またそれならクラスタ番号とセグメント番号は対応されて管理されてるのでしょうか。

  • この装置の仕組みを教えて下さいませ。

    http://www.sociac.jp/sociac/anzen.html 上記のウェブページの内容によりますと、400℃で作動しているそうですが、 どんなサーミスタが使われているから400℃になるのでしょうか? サーミスタの仕組み自体をよく分かっていない段階での質問ですから、 御手柔らかな解説を御願い申し上げます。

  • さびた橋桁の仕組みは?

    近頃といっても10年以上前からになるのかな? 橋桁(鉄骨)を塗装せずに錆びた状態のものがあります。新しく造る橋はすべてではないにしろ 私の行動範囲では増えてきています。塗装より耐久性とかメンテナンスが楽だから増えていると 思います。 原理は、おそらく酸化鉄を利用してるのではないかと思うのですが詳しい仕組みが知りたいのです。 ページの紹介なり解説などお願いします。

  • サーチエンジンの仕組み

    "業務などでこの情報を探したい" ということがよくあるのですが、なかなか自分の思ったとおりの情報に行き着くことが出来ないときがあります。 そのため時間をかなりロスしているので、いいかげん嫌になってきたので、改めてサーチエンジンの仕組みをしっかりと頭に入れて効率よく情報を引き出せたらと思っています。 そこでどなたかサーチエンジンの仕組みについてわかりやすく詳しく解説されているページを知っている方がいらっしゃったら教えていただけないでしょうか? 個々ののサーチエンジンの使い方については各ヘルプを見て大体理解しているつもりなので、使い方ではなくある程度内部的な動きを説明しているページなどをじっくり読んでみたいと思っています。 お願いいたします。