オーバーレイ (情報工学)
出典: フリー百科事典『ウィキペディア(Wikipedia)』
オーバーレイ(Overlay)とは、何かの表面を薄く覆うこと(あるいは覆うもの)を意味する。転じて、情報工学においては以下のような意味で使われる。
目次 |
[編集] メモリのオーバーレイ
メモリのオーバーレイとは、使用可能なアドレス空間以上の大きさのプログラムを動作可能にするプログラミング手法である。
オーバーレイは、ある時点で必要な命令列やデータのみをアドレス空間上に置くという考え方が基本となっている。他の命令列が必要になったら、それまで別の命令列が置かれていたメモリ上の領域に必要な命令列をロードして使用する。仮想記憶をサポートする以前のコンピュータシステムでは、このような手法で実装している主記憶装置の容量以上の大きさのプログラムを実行した。オーバーレイは仮想記憶と違って完全自動あるいは透過的ではなく、プログラマが明示的に指定してやる必要があった。システムによってはオーバーレイは常に二次記憶装置からロードされたが、別のシステムでは一次記憶装置(メモリ)に余裕があればオーバーレイもメモリ上にロードしておき、アドレスを必要に応じて入れ替えてやることでメモリオーバーレイを実現していた。後者の方が高速だが、大容量のメモリを必要とする。
例えば、バンク切り換えはメモリオーバーレイの一種といえる。EMSはMS-DOSの扱えるアドレス空間の限界を超えるためのメモリオーバーレイである。制御システムに使用された16ビットのミニコンピュータでは、仮想アドレス空間そのものが限られていることと、仮想記憶機構による実行中のページ入れ替えによる遅延を避けるため、オーバーレイによって全プログラムを物理メモリにロードして切り替えながら実行するという手法が採られることもあった。
オーバーレイのためのリロケーションとリンクのアルゴリズムは特殊であり、非常に複雑なオーバーレイ構造を構成することもある。CPU性能の向上と利用可能な物理メモリ容量および仮想アドレス空間の拡大によって、オーバーレイ方式は使われなくなってきた。
[編集] exec システムコール
オペレーティングシステムでは、プロセスの実行するプログラムを入れ替えることをオーバーレイと呼ぶ。UNIX系システムでは、exec()システムコールでこれを実現している。UNIXで新たにプログラムを実行する場合、forkで動作中プロセスの子プロセスを作成し、そこに新たなプログラムをオーバーレイする。
[編集] オーバーレイ表示
画像データやビデオ信号を重ね合わせて表示することをオーバーレイ表示と呼ぶ。特にテレビなどのビデオ出力をアナログ信号として合成してコンピュータディスプレイに表示することをビデオオーバーレイと呼ぶ。また、画像処理ソフトや描画ソフトで複数のレイヤーを重ね合わせることもオーバーレイ表示と呼ぶ。
スペースインベーダーゲームでモノクロ画面をカラーに見せかけるために色付きセロファンを画面に貼り付けていたが、これも物理的なオーバーレイ表示の一種である。
[編集] フォームオーバーレイ
フォームオーバーレイとは、定型文書印刷の用語で、文書の定型部分を独立させプリンターやプリントサーバに格納したものである。使用頻度の高い文書形式を格納しておくことで、データ転送時間を短縮すると共に、データベースから多量の定型文書を自動的に作成して印刷するのにも使用される。
[編集] オーバーレイシート
タブレット表面に重ねる透明なシートをオーバーレイシートと呼ぶ。下に写真や絵を挟んでトレースするのにも使われる。また、電卓状のキーボードにちょうど嵌るように穴のあいたシートもオーバーレイシートと呼ぶ。こちらはアプリケーションソフトウェアに応じてキーに設定された機能を分かり易くするためのもので、キーの穴毎に機能を説明した文字列が印字されている。
[編集] オーバーレイ・ネットワーク
- 詳細はオーバーレイ・ネットワークを参照
コンピュータネットワークの下層のトポロジーとは関係なく構築された上層のネットワークをオーバーレイ・ネットワークと呼ぶ。例えば、IPネットワークのトポロジーとは無関係に構築されたP2Pネットワークなどを指す。
[編集] 関連項目
カテゴリ: コンピュータ関連のスタブ項目 | オペレーティングシステムの仕組み | プログラミング | DTP