假想 記憶 接近 方式

위키百科, 우리 모두의 百科事典.

假想 記憶 接近 方式 (Virtual Storage Access Method, VSAM)은 OS/VS1 , OS/VS2 릴리즈 1 (SVS), 릴리즈 2 (MVS) 運營 體制에 最初로 使用되었고 나중에 多重 假想 스토리지 (MVS) 아키텍처를 통해 現在는 z/OS 에서 使用되는 IBM 디스크 파일 스토리지 接近 方式 이다. VSAM은 KSDS(Key Sequenced Data Set), RRDS(Relative Record Data Set), ESDS(Entry Sequenced Data Set), LDS(Linear Data Set)라는 4가지 데이터 셋이 있다. KSDS, RRDS, ESDS 組織에는 레코드를 包含하고 있지만 LDS 組織(나중에 VSAM에 追加됨)은 單純히 메모리 맵 파일 로 使用하기 위해 本質的인 레코드 構造가 없는 一連의 페이지만 包含한다.

IBM은 公式 文書에서 데이터 셋(data set)이라는 用語를 파일(file)로, DASD 는 디스크 드라이브와 類義語로 使用하고 있다.

IDCAMS 라는 接近 方式 서비스 유틸리티는 VSAM 데이터셋을 造作(削除 및 正義)하는데 흔히 使用된다.

IMS/DB DB2 둘 다 VSAM 床에 具現되어 있으며 基盤이 되는 資料 構造 를 使用한다.

VSAM 파일 [ 編輯 ]

物理的인 VSAM 데이터셋 組織은 다른 接近 方式이 使用하는 組織들에 견주어 相當한 差異點이 있다.

VSAM 데이터셋은 CI(制御 區間: control interval)와 CA(制御 區域: control area)를 이루고 있다. CI와 CA의 크기는 一般的으로 接近 方式에 依해 決定되며 이들이 어떻게 쓰이는지는 使用者에게 보이지 않는다. 各各의 制御 區域(CA)에는 固定된 數의 制御 區間(CI)이 있다.

制御 區間은 一般的으로 여러 레코드를 包含하고 있다. 이 레코드들은 낮은 住所에서부터 위쪽으로 制御 區間 안에 貯藏된다. 制御 情報는 制御 區間의 反對便 끝에서부터 아래로 貯藏된다. 레코드와 制御 情報 사이의 空間은 餘裕 空間이다. 制御 情報는 두 個의 엔트리를 이룬다: 늘 存在하는 CIDF(制御 區間 敍述者 필드: control interval descriptor field), 制御 區間에 레코드가 있고 聯關 레코드의 길이를 記述할 때 存在하는 RDF(레코드 敍述者 필드: record descriptor field). CI 안의 餘裕 空間은 언제나 順次的이다.

레코드들이 制御 區間에 揷入될 때, 이 레코드들은 다른 레코드들에 相對的으로 正確한 順序에 位置된다. 이 境遇 레코드들이 制御 區間을 向해 위쪽으로 移動되어야 한다. 反對로 하나의 레코드가 削除되면 나중에 레코드들은 아래로 내려감으로써 餘裕 空間이 順次的으로 남게 된다. 揷入할 레코드에 對한 制御 區間 안에 餘裕 空間이 充分하지 않으면 制御 區間은 分割된다. 거의 折半의 레코드들이 元來의 制御 區間에 貯藏되고, 남아있는 레코드들은 새로운 制御 區間으로 移動된다. 새로운 制御 區間은 元來의 制御 區間과 同一한 制御 區間 內의 餘裕 制御 區間들의 풀에서 가져온다. 該當 制御 區域 안에 남아있는 餘裕 制御 區間이 없다면 制御 區域은 알아서 分割되며 制御 區間들은 오래된 制御 領域과 새로운 制御 領域 사이에 同等하게 分配된다.

VSAM으로 세 種類의 레코드 志向 파일 組織을 使用할 수 있다(선형 데이터셋/LDS의 內容에는 레코드 構造가 없다):

順次 VSAM 組織 [ 編輯 ]

엔트리 順次 데이터셋(ESDS, Entry Sequenced Data Set)은 代替 索引(Alternate Index)을 定義함으로써, 키를 통한 接近을 活性化하도록 索引을 定義할 수 있다. ESDS 안의 레코드들은 住所 接近을 통해 만들어진 順序대로 貯藏된다. 레코드들은 自身들의 內容에 相關 없이 로드되며 이들의 바이트 住所는 變更되지 않는다.

索引 VSAM 組織 [ 編輯 ]

키 順次 데이터셋(KSDS, Key Sequenced Data Set)은 두 部分으로 나뉜다: 索引 要素(index component), 데이터 要素(data component) 이들은 各其 다른 디스크 볼륨에 貯藏된다.

基本 KSDS가 하나의 基本 키만을 갖고 있지만 大體 指數를 定義하여 追加 필드를 補助 키로 使用할 수 있게 許容시킬 수 있다. 代替 索引 (AIX)은 그 自體가 KSDS이다.

KSDS가 使用하는 데이터 構造는 오늘날 B+ 트리 로 알려져 있다.

相對的 VSAM 組織 [ 編輯 ]

相對的 레코드 데이터셋(RRDS, Relative Record Data Set)은 代替 索引(Alternate Index)을 定義함으로써, 키를 통한 接近을 活性化하도록 索引을 定義할 수 있다.

線型 VSAM 組織 [ 編輯 ]

線型 데이터셋(LDS, Linear Data Set)은 여러 4K의 制御 區間 크기가 있는, 構造化되지 않은 VSAM 데이터셋이다. 특정한 시스템 서비스에 使用된다.

VSAM 데이터 接近 技術 [ 編輯 ]

VSAM 데이터의 接近 技術에는 3가지 種類가 있다.

  • LSR (Local Shared Resources, 地域 共有 自願)
  • GSR (Global Shared Resources, 轉役 共有 自願)
  • NSR (Non-Shared Resources, 非共有 自願)

이들은 各其 다른 接近 패턴에 最適化되어 있다. 이를테면 LSR은 任意 또는 直接 接近 方式에 最適化되어 있는 反面 NSR은 順次 接近에 最適化되어 있다.

이 밖에도 特定한 實行 및 프로그래밍 環境에서 一部 接近 技術들을 더 利用할 수 있다는 點이 다르다. 이를테면 LSR 接近은 CICS 로부터의 保管(아카이브)李 쉬운 反面 NSR 接近은 歷史的으로 LSR에 比해 配置 프로그램을 使用하기 더 쉽다.

VSAM 데이터 共有 [ 編輯 ]

CICS 區域(region) 間에 VSAM 데이터를 共有하는 일은 VSAM RLS(Record-Level Sharing, 레코드 水準 共有)가 處理한다. 레코드 캐시 機能과 레코드 잠금 機能을 追加한다. 로그 및 커밋 處理는 CICS가 떠맡음으로써 CICS 環境 밖의 VSAM 데이터 共有는 嚴格하게 制限된다.

CICS 區域과 配置 잡 사이에 共有할 때에는 DFSMStvs라는 트랜잭셔널 VSAM을 要求한다.

이는 基盤이 되는 z/OS 시스템 서비스를 利用하여 로그 機能 및 2PC 커밋을 追加함으로써 VSAM RLS 床에 빌드하는 選擇的 프로그램이다. 이를 通해 VSAM 데이터의 一般化된 共有를 可能케 한다.

歷史 [ 編輯 ]

VSAM은 性能 및 裝置 依存性 問題를 克服하고 쉽게 使用할 수 있게 할 目的으로 求刑 接近 方式을 代替하고 새로운 機能을 追加하기 위해 導入되었다. VSAM은 IBM이 새로운 시스템/370 시리즈를 위한 DOS/VS, OS/VS1, OS/VS2라는 假想 스토리지 運營 體制를 發表한 1970年代에 모습을 드러냈다. 下位 互換性을 維持하였으나 求刑 接近 方式들은 假想 記憶裝置에 必要한 住所 變換으로 因해 性能 問題를 일으켰다.

KSDS 組織은 ISAM (索引 順次 接近 方式)을 代替하기 위해 設計되었다. 디스크 技術 變化로 말미암아 ISAM 데이터셋의 데이터를 檢索하는 일은 매우 非效率的인 일이 되었다. ISAM 데이터셋을 移動하는 것도 어려운 일이었는데, 데이터가 移動되면 有效하지 않게 되는 物理的 디스크 位置를 가리키는 포인터들이 생기기 때문이다.

RRDS 組織은 BDAM (基本 直接 接近 方式)을 代替하기 위해 設計되었다. 어떠한 境遇에 BDAM 데이터셋은 데이터셋 移動을 防止하는 포인터를 包含했다. 그러나 大部分의 BDAM 데이터셋은 이러한 포인터들을 包含하지 않았으며, BDAM을 VSAM RRDS로 移動하는 일은 ISAM을 VSAM KSDS로 移動하는 일 보다 덜 魅力的이었다.

以後에 線形 데이터셋, VSAM RLS, 트랜잭셔널 VSAM이 뒤이어 追加되었다.

參考 文獻 [ 編輯 ]