アプリ版:「スタンプのみでお礼する」機能のリリースについて

オーバレイ方式は容量が大きくて、一度にローディングできないプログラムをセグメントに分割して必要なセグメントだけをロードして実行する方式。

仮想記憶システムはプログラムを分割して、必要な部分だけを主記憶装置にロードする。

オーバレイ方式は実記憶管理らしいのですが、上記のような感じに考えるとオーバレイ方式も仮想記憶管理になるような気がするのですが、何がどう違うのですか?

A 回答 (3件)

No.1の補足です。



> 仮想記憶システムはプログラムを分割して、必要な部分だけを主記憶装置にロードする。

> オーバレイ方式は実記憶管理らしいのですが、上記のような感じに考えると
> オーバレイ方式も仮想記憶管理になるような気がするのですが、何がどう違うのですか?

仮想記憶の説明が中途半端で確かに紛らわしいですね。
仮想記憶の場合、すでに説明したように、プログラムの分割も必要な部分のメモリーへの
ロードも全てハードとOSがアプリケーションに気づかせる事無く勝手に行ないます。

オーバレイ方式ではこれを全てアプリケーションがやらないといけないのです。

次にオーバレイ方式が仮想記憶管理でない証拠をお見せしましょう。
オーバレイ構造の図を使いましょう。
参考URLがdocファイルなのでここにURLを載せられません。
Googleで「コンピュータシステム入門 オーバレイ構造」で検索してください。
問14にオーバレイ構造図があります。

このプログラムの本当の大きさは(A+B+C+D+E+F+G)です。
しかし、実際に使うメモリーの大きさは(A+B+D+F)のように小さいです。
一方、このプログラムを仮想記憶で動かす時には使う仮想メモリーの大きさは
(A+B+C+D+E+F+G)です。
使われる実記憶はこれよりも少ないはずですが実際にいくら使うかは
アプリケーションはノータッチです。

このようにアプリケーションから見た使用メモリー量と実際に使われるメモリー量の間に
差があるものが仮想記憶管理と言われるのです。
    • good
    • 0
この回答へのお礼

お礼が遅くなりまして、すいません。
とても、わかりやすい回答ありがとうございました。

お礼日時:2005/02/28 20:21

ymmasayanさんが、回答されているとおりです。


オーバーレイ方式では、分割されたセグメント同士は同時に主記憶に存在しません。
一方仮想記憶システムでは、必要な部分が自動的に主記憶にロードされます。任意の部分が同時に主記憶に存在できます。

最近のコンピューターでは、オーバーレイ方式なんて使うことはないでしょう。例外はゲーム機で、場面が進むごとにプログラムをDVDからロードしていくようになっています。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
また、お世話になることがありましたら
よろしくお願いします。

お礼日時:2005/02/28 20:23

まず仮想記憶システムは


1.ハードとOSで全て管理している。従ってアプリケーションは記憶管理にノータッチ
2.仮想アドレスと言うものが使用される

一方、オーバーレイ方式は
1.記憶管理はアプリケーションとOSという完全なソフトレベルで行なう
2.セグメント分割とセグメントのローディングタイミングの管理は当然アプリケーションの仕事
3.仮想アドレスは使用しない。
4.仮想アドレス方式でない計算機上でもオーバーレイ方式は使える。

> オーバレイ方式も仮想記憶管理になるような気がするのですが、何がどう違うのですか?

オーバーレイ方式はあくまでも実アドレスをベースにメモリーの節約を考えているのでこれは仮想アドレス方式とはいえません。

もし、判りにくければ補足してください。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!