仮想記憶アクセス方式(カソウキオクアクセスホウシキ)とは | 意味や読み方など丁寧でわかりやすい用語解説

仮想記憶アクセス方式(カソウキオクアクセスホウシキ)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。

作成日: 更新日:

読み方

日本語表記

仮想記憶アクセス方式 (カソルウメモリアクセスホウシキ)

英語表記

Virtual Memory Access Method (バーチャルメモリ・アクセス・メソッド)

用語解説

仮想記憶アクセス方式は、英語のVirtual Storage Access Methodの頭文字を取ってVSAMとも呼ばれ、主にIBMのメインフレームコンピュータのオペレーティングシステムであるz/OS環境で広く利用されている高性能なデータアクセス方式である。これは単なるファイルの読み書き機能を提供するだけでなく、レコード単位での柔軟なデータ管理を実現するための高度な仕組みを持つ。VSAMは、アプリケーションプログラムがディスク上のデータセット、すなわちファイルに対して効率的にアクセスするためのインターフェースを提供する。従来の順次アクセス方式や直接アクセス方式が持つ課題を克服し、高速なデータ処理、データの整合性保持、そして多様なデータアクセス要求への対応を可能にすることを目的として開発された。

VSAMデータセットの物理的な構造の基本単位は、コントロールインターバル(CI)と呼ばれる。これはディスクにデータを読み書きする際の最小単位であり、従来のアクセス方式におけるブロックに相当する。一つのCIには複数のデータレコードや、レコードの配置を管理するための制御情報が含まれる。そして、複数のCIが集まってコントロールエリア(CA)を形成する。VSAMデータセットは、このCAを単位としてディスク領域が割り当てられる。論理的には、VSAMデータセットはクラスタと呼ばれ、これは実際のデータが格納されるデータコンポーネントと、データへのアクセスを高速化するための索引情報が格納されるインデックスコンポーネントから構成される場合がある。

VSAMには、データの格納方法とアクセス方法の違いによっていくつかの種類が存在する。最も代表的なものは、キー順データセット(KSDS)である。KSDSでは、各レコードが一意のキーを持っており、データはそのキーの昇順で論理的に格納される。KSDSはデータコンポーネントとインデックスコンポーネントの両方を持ち、このインデックスを利用することで、特定のキーを持つレコードに直接アクセスすることが可能である。また、キーの順序に従ってデータを順次読み出すこともできる。レコードの追加、更新、削除が容易であり、オンラインのトランザクション処理システムなど、高速なランダムアクセスと順次アクセスの両方が求められるアプリケーションで広く利用される。

次に入力順データセット(ESDS)がある。これはレコードがデータセットに書き込まれた順、つまり入力された順に格納される形式である。ESDSにはキーという概念はなく、レコードの順序は物理的な格納順と一致する。アクセス方法は、データセットの先頭から順に読み出す順次アクセスか、RBA(相対バイトアドレス)と呼ばれるデータセット先頭からの物理的な位置を指定して直接アクセスする方法に限られる。一度書き込まれたレコードの削除や長さの変更はできず、データの追記のみが許される。この特性から、システムの操作ログや処理履歴など、時系列でデータを蓄積していく用途に適している。

三つ目は相対レコードデータセット(RRDS)である。RRDSは、データセット内をあらかじめ固定長のレコードを格納するためのスロットに分割して管理する。各レコードは、相対レコード番号(RRN)と呼ばれる1から始まる連番によって一意に識別される。アプリケーションは、このRRNを指定することで、目的のレコードが格納されているスロットに直接アクセスできる。レコードが存在しないスロットは空き状態として扱われる。すべてのレコードが同じ長さで、かつレコード番号のような整数値でデータを一意に管理したい場合に有効な形式である。

最後に線形データセット(LDS)がある。これは比較的新しい形式で、VSAMが持つレコード管理構造を一切持たない。データは単なるバイトの連続、すなわちバイトストリームとして扱われ、アクセスはコントロールインターバル(CI)単位で行われる。LDSは、データベース管理システム(DBMS)などが、自身で独自のデータ管理構造を実装するための基礎的な記憶領域として利用することを想定しており、一般的なアプリケーションプログラムが直接利用するケースは少ない。

これらのVSAMデータセットを操作するためには、アクセス方式サービス(IDCAMS)というユーティリティプログラムが用いられる。IDCAMSを使用することで、データセットの定義(作成)、データのロード、バックアップ、再編成、削除といったさまざまな管理操作を行うことができる。また、VSAMは複数のプログラムが同時に一つのデータセットにアクセスする際の排他制御機能も備えており、データの整合性を保つための重要な役割を担っている。このように、仮想記憶アクセス方式(VSAM)は、メインフレーム環境におけるデータ管理の中核をなす技術であり、その高いパフォーマンスと信頼性、柔軟性によって、今日でも多くの基幹システムで利用され続けている。システムエンジニアを目指す上で、この仕組みを理解することは非常に重要である。