システムイメージ
出典: フリー百科事典『ウィキペディア(Wikipedia)』
コンピューティングにおけるシステムイメージ(英語:system image)は何らかの形で蓄えられたコンピュータまたはソフトウェアのシステムの状態である。格納形式は通常ファイルである。システムを停止させ、後でまったく同じ状態に回復するためにシステムイメージを使うことがある(もしくは捨てる)。システムイメージはバックアップのために使用されることもある。
一般的に、2タイプのシステムイメージが存在する。
- コンピュータシステム全体のイメージ。
- 特定のプログラムなどのシステムのある部分のイメージ。
タイプ1のイメージは通常、他の場所のファイルにコンピュータの大容量記憶装置の内容をコピーすることによって作られる。プログラムはしばしばディスククローンプログラムである。しかし、ディスククローンプログラムでは多くのシステムで完全なシステムイメージは作ることができない。これは、いくらかの情報がディスクの外で(例えば不揮発性のメモリーで)保持されるためである。
タイプ2のイメージはしばしば永続性と関連した専用の目的を持っている。一例としてはデータベースマネージメントシステム(DBMS)がある。ほとんどのDBMSは、閉じられる前に、データベースそのものかデータベースの状態をファイルに蓄えることができる。DBMSは、データベースの情報そっくりそのままをもって後で再スタートし、ソフトウェアが一度も止まったことがなかったかのように進行することができる。別の例はたくさんのオペレーティングシステムのハイバーネイト機能である。ここで、すべてのRAMの状態がディスクに蓄えられ、コンピュータは省エネルギーモードに入り、後に通常の運転を回復する。
エミュレートされているシステムのイメージを保存するために、エミュレータによってはこの機能を提供する。これはsavestateとも呼ばれる。
あるプログラムのシステムイメージを取るために、いくつかのプログラミング言語はコマンドを提供している。これはLISPとSmalltalkの標準機能であり、他の言語でも同様の機能を持つものもある。これらの言語による開発は多くの他のプログラミング言語による開発とまったく違うことが多い。例えば、LISPを使用するとき、プログラマーは、read-eval-printループを使って、LISPの実装の実行の中にパッケージまたは他のコードをロードすることができる。プログラマーは、そのプリコンパイルされて、ことによるとカスタマイズされたコードを含んだ、その時のシステムイメージをダンプすることができる。このイメージは実行形式であることが多く、他のマシンの上で動作可能である。このシステムイメージが、実行可能プログラムが配布されるフォームであるかもしれない。この方法はLISPまたはSmalltalkによって記述されたプログラムでよく使われる。
その目的は違うけれども、システムイメージはコアダンプに構造がよく類似している。