JPH0445861B2 - - Google Patents
Info
- Publication number
- JPH0445861B2 JPH0445861B2 JP14257584A JP14257584A JPH0445861B2 JP H0445861 B2 JPH0445861 B2 JP H0445861B2 JP 14257584 A JP14257584 A JP 14257584A JP 14257584 A JP14257584 A JP 14257584A JP H0445861 B2 JPH0445861 B2 JP H0445861B2
- Authority
- JP
- Japan
- Prior art keywords
- dasd
- data set
- length
- block
- variable
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は固定長ブロツク・アーキテクチヤ
(FBA)のDASD(Direct Access Storage
Device)上にある区分編成データセツト(デイ
レクトリ部とメンバ部の領域に分かれ、デイレク
トリ部には、メンバ名とその本体が存在する位置
を示す情報、メンバ部にはメンバ本体が含まれる
構造を持つデータセツトである)を、一回でアク
セスできるデータ長が異なる可変長(CKD)形
式のデータシステムで使用できる区分データセツ
トに変換することを目的として、FBA形式
DASD上の区分データセツトをJSECOPYアンロ
ード版に変換する方法である。[Detailed Description of the Invention] [Industrial Application Field] The present invention is directed to DASD (Direct Access Storage) of fixed length block architecture (FBA).
Device) has a partitioned data set (divided into a directory part and a member part area, the directory part has information indicating the member name and the location where the body exists, and the member part has a structure that contains the member body. For the purpose of converting a data set (a data set) into a partitioned data set that can be used in a variable length (CKD) format data system with different data lengths that can be accessed at one time.
This is a method to convert a partitioned data set on DASD to a JSECOPY unloaded version.
DASDにおけるデータ形式の種類には大きくわ
けて固定長ブロツク・データと可変長データの2
種類あり、それぞれアドレスの表現が異なる。 There are two main types of data formats in DASD: fixed-length block data and variable-length data.
There are different types, each with a different address expression.
すなわち、FBA形式のDASD上の区分データ
セツトは、第2図に示す如く、CI(Control
Interval)という長さが全て等しいデータの集ま
りで構成されている。そしてこのCIは可変長の
ブロツクA,B……で構成され、ブロツクの位置
は3バイト長のCCBで表現される。ここでCCは
データセツト内の相対CI番号(0〜n)であり、
Bは各CI内のブロツク番号(0〜m)である。
例えば第2図のブロツクEはCC=1、B=2と
して「000102」(16進)という形で表現される。
ところでこのデータセツトは、第3図に示す如
く、フアイルFに設けられているが、データセツ
ト名α、β、γ……のデータセツトの先頭アドレ
スがどこに位置しているのかを示すVTOC
(Volume Table Of Contents)が設けられ、各
データセツト名α、β、γ……とそれらの先頭位
置を示すアドレスa,b,c……が絶対アドレス
で記入されている。そして各データセツトには、
第4図に示す如く、メンバー名G,H……とその
相対アドレス(前記CCBで記載)が例えばアル
フアベツト順で記入されているデレクトリ領域
DRCTと、実際にメンバーG,H……が記入さ
れているメンバー領域MNMBが設けられてい
る。したがつてデータセツトαに存在するメンバ
ーPをアクセスする場合、まず第3図のVTOC
からデータセツトαの先頭位置a(絶対アドレス)
を求め、これによりデータセツトαのデレクトリ
領域DRCTよりメンバーPを読出してそのメン
バーPの記入されている。ブロツクEの先頭アド
レス(CCBで記載)を得、これによりメンバー
Pをアクセスすることができる。 In other words, a partitioned data set on a DASD in FBA format is stored in a CI (Control
It consists of a collection of data called Intervals, all of which have the same length. This CI is composed of variable length blocks A, B, etc., and the position of the block is expressed by a 3-byte length CCB. Here CC is the relative CI number (0 to n) within the dataset,
B is the block number (0 to m) within each CI.
For example, block E in FIG. 2 is expressed in the form "000102" (hexadecimal) with CC=1 and B=2.
By the way, this data set is provided in file F as shown in Fig. 3, but the VTOC indicates where the start address of the data set with data set names α, β, γ, etc. is located.
(Volume Table Of Contents) is provided, in which data set names α, β, γ, . . . and addresses a, b, c, . . . indicating their starting positions are written as absolute addresses. And for each dataset,
As shown in Figure 4, a directory area in which member names G, H... and their relative addresses (described in the CCB) are written in alphabetical order, for example.
DRCT and a member area MNMB in which members G, H, . . . are actually written are provided. Therefore, when accessing member P existing in data set α, first access the VTOC in Figure 3.
Starting position a of data set α (absolute address)
Then, the member P is read from the directory area DRCT of the data set α, and the member P is written therein. The first address of block E (written in CCB) is obtained, and member P can be accessed from this.
またCKD形式のDASDではブロツクの位置は
5バイト長のCCHHRで表現される。ここでCC
は2バイト長のシリンダ番号であり、HHはこれ
また2バイト長のトラツク番号であり、Rは1バ
イト長のブロツク番号である。これらの関係は第
5図で図示する通りである。 In addition, in the CKD format DASD, the block position is expressed as a 5-byte long CCHHR. CC here
is a 2-byte long cylinder number, HH is a 2-byte long track number, and R is a 1-byte long block number. These relationships are as illustrated in FIG.
ところでFBA用システムで作成したロードモ
ジユールはアドレス表現の異なるCKD用システ
ムに使用できない。そのため従来ではターゲツト
のシステムにソースプログラムに持つてゆき、こ
れをコンパイルし、それから結合編集してロー
ド・モジユールを作成しなければならなかつた。
これはFBAの区分データセツトをCKDシムテム
のロード・モジユールに移行させる場合のみなら
ず、逆の場合も同様にソースを各システムに持ち
込み、コンパイル、結合編集を行つて必要とする
区分データセツトを作成しなければならなかつ
た。
By the way, load modules created in the FBA system cannot be used in the CKD system, which has a different address representation. Therefore, in the past, it was necessary to bring the source program to the target system, compile it, and then combine and edit it to create a load module.
This is useful not only when migrating FBA's partitioned dataset to the CKD system's load module, but also in the reverse case, by bringing the source to each system, compiling, and combining editing to create the required partitioned dataset. I had to.
前記の如き問題点を解決するため、本発明で
は、第6図に示す如く、FBAデバイス用に作成
された区分データセツトから、CKDシステムの
区分データセツトを作るために必要なJSECOPY
プログラムのアンロード版に変換するための移行
ツールを提供するものである。この移行ツールに
より作成された前記アンロード版をJSECOPYデ
ータセツトユーテリテイによりCKD用区分デー
タセツトを得ることができる。
In order to solve the above problems, in the present invention, as shown in FIG.
It provides a migration tool to convert to an unloaded version of the program. A CKD classification data set can be obtained from the unloaded version created by this migration tool using the JSECOPY data set utility.
このための移行ツール手段として、本発明では
固定長形式のデータが格納されている固定長形式
DASDと、該DASDより区分データセツトのデイ
レクトリ及びメンバ部を読み出す読出し部と、オ
ペレーテイングシステムから該DASDのシリンダ
当たりのトラツク数を獲得する部分と、可変長形
式DASD上の区分データセツトの開始と終了を表
わす絶対アドレス、トラツク数及びエクステント
数から構成される仮想エクステント情報の生成部
と、オペレーテイングシステムから固定長形式
DASD上の区分データセツトのメンバ部のアドレ
スであるCCB(*1)を獲得する部分と、CI番号
(CCBのCC部分)を前記のオペレーテイングシス
テムから獲得した該DASDのシリンダ当たりのト
ラツク数(*2)で割りその商と余りを算出する
演算部と、前記商である可変長形式DASDのシリ
ンダ番号、前記余りである可変長形式DASDのト
ラツク番号及びブロツク番号(CCBのB部分)
をそのまま流用した可変長形式DASDのレコード
番号を連結する連結部と、前記オペレーテイング
システムから得た該DASDのシリンダ当たりのト
ラツク数及び該仮想エクステント情報を特別情報
として、該DASDから読出した区分データセツト
のデイレクトリ部をデイレクトリとして、該
DASDから読出した区分データセツトのメンバ部
の各ブロツクに前記演算結果で得られた可変長形
式DASDのシリンダ番号、可変長形式DASDのト
ラツク番号及び可変長形式DASDのレコード番号
を付加したブロツクを外部データ記憶部に書き出
す読出し部を有することを特徴とする。 As a migration tool means for this purpose, the present invention uses a fixed-length format in which data in a fixed-length format is stored.
A DASD, a reading unit that reads the directory and member portion of a partitioned data set from the DASD, a unit that obtains the number of tracks per cylinder of the DASD from the operating system, and a start of the partitioned data set on the variable-length DASD. A virtual extent information generator consisting of an absolute address indicating the end, the number of tracks, and the number of extents, and a fixed length format from the operating system.
The part that acquires the CCB (*1) which is the address of the member part of the partitioned data set on the DASD, and the number of tracks per cylinder of the DASD (the CI number (CC part of the CCB) obtained from the above operating system). *2) An arithmetic unit that calculates the quotient and remainder, the cylinder number of the variable-length DASD that is the quotient, and the track number and block number of the variable-length DASD that are the remainder (part B of the CCB).
A concatenation part that concatenates the record numbers of a variable-length DASD that is used as is, and segmented data that is read from the DASD using the number of tracks per cylinder of the DASD obtained from the operating system and the virtual extent information as special information. The directory part of the set is used as a directory.
The cylinder number of the variable-length DASD, the track number of the variable-length DASD, and the record number of the variable-length DASD obtained from the above calculation results are added to each block of the member part of the partitioned data set read from the DASD, and the block is added to the external block. It is characterized by having a reading section that writes data to the data storage section.
*1:本発明の入力となる固定長形成DASDは、
FBA(Fixed Blocked Architecture)と呼ば
れる形式で、そのDASD内に格納できるデータ
セツト編成の一つとして、区分データセツトと
呼ばれる編成がある。この編成をもつデータセ
ツト内のデータは、VSAMデータセツトと同
様にCIと呼ばれる長さが固定のデータの集合
である。さらにそのCIの中には、長さが可変
のブロツクと呼ばれるデータの集合がある(第
8図参照)。*1: The fixed length forming DASD that is the input of this invention is
One type of dataset organization that can be stored in DASD in a format called FBA (Fixed Blocked Architecture) is an organization called partitioned dataset. The data in a dataset with this organization is a set of fixed-length data called CI, similar to a VSAM dataset. Furthermore, within the CI there is a collection of data called a block whose length is variable (see Figure 8).
そして、各CIにはデータセツトの先頭から
の相対番号が付けられていて、これを「CI番
号」と呼ぶ、CI内の各ブロツクには、CIの先
頭からの相対番号が付けられていて、これを
「ブロツク番号」と呼ぶ。 Each CI is assigned a relative number from the beginning of the data set, and this is called a "CI number." Each block within a CI is assigned a relative number from the beginning of the CI. This is called a "block number."
*2:FBAは固定長形式のDASDであるが、物
理構造としては第5図に示すような形式をして
おり、オペレーテイングシクテムのマクロによ
りシリンダ当たりのトラツク数を得ることがで
きる。*2: FBA is a fixed-length DASD, but its physical structure is as shown in Figure 5, and the number of tracks per cylinder can be obtained using operating system macros.
これによりFBA形式のデータをCDK形式のシ
ステムに使用するために必要なJSECOPYプログ
ラムのアンロード版を簡単に得ることができる。
This allows you to easily obtain an unloaded version of the JSECOPY program needed to use FBA format data in a CDK format system.
本発明を一実施例にもとづき詳述するに先立ち
その概略を説明する。
Before describing the present invention in detail based on one embodiment, an outline thereof will be explained.
例えばFBAデバイス用の区分データセツトを
CKDシステムに使用する場合JSECOPYプログラ
ムのアンロード版に変換することが必要である。
このアンロード版は、第7図の如きフオーマツト
で磁気テープMTに記入される。このMTには、
シリンダ当りのトラツク数、データ・エクステン
ト・ブロツク(DEB)内のエクステント情報等
の特殊情報領域SA、デレクトリ領域DRA、メン
バーA,B……等が記入されるメンバー領域MA
1,MA2……等が格納されている。そしてこの
メンバーデーターの各ブロツクの先頭には、第8
図に示す如く、元の区分データセツト(PO)上
でのデイスクアドレスが、CKD形式である
CCHHRで付加されている。 For example, a partitioned dataset for FBA devices.
When used in a CKD system, it is necessary to convert to an unloaded version of the JSECOPY program.
This unloaded version is written on the magnetic tape MT in the format shown in FIG. This MT has
Special information area SA such as the number of tracks per cylinder, extent information in the data extent block (DEB), directory area DRA, member area MA where members A, B, etc. are entered.
1, MA2, etc. are stored. At the beginning of each block of this member data is the 8th
As shown in the figure, the disk address on the original partitioned data set (PO) is in CKD format.
Added by CCHHR.
ところでDEB内のエクステント情報とはCKD
におけるデータセツトの分割領域(エクステン
ト)数と、各エクステント毎の先頭アドレス、最
終アドレス、トラツク数等で構成されている。例
えば第7図に示す如く、データセツトA′が図示
のシリンダ番号10のトラツク番号0〜3及び8〜
10に分割されて格納されているとき、このエクス
テント数は2であり、1番目のエクステントは先
頭アドレスがシリンダ番号10でトラツク番号0で
ありトラツク数が4であることによりその最終ア
ドレスを示す。同様に2番目のエクステントは先
頭アドレスがトラツク番号8でありトラツク数が
3である。しかしこれを本発明によりJSECOPY
プログラムのアンロード版に変換するとき、エク
ステント数を1、データセツト先頭アドレスを
「00000000」(16進)、データセツト最終アドレス
を「7FFF7FFF」(16進)トラツク数を「7FFF」
(16進)と仮想する。 By the way, the extent information in DEB is CKD
It consists of the number of divided areas (extents) of the data set, the start address, end address, number of tracks, etc. for each extent. For example, as shown in FIG. 7, data set A' includes track numbers 0 to 3 and 8 to
When the data is divided into 10 parts and stored, the number of extents is 2, and the first extent has a starting address of cylinder number 10, track number 0, and track number 4, which indicates its final address. Similarly, the start address of the second extent is track number 8, and the number of tracks is three. However, with this invention, this can be changed to JSECOPY.
When converting to the unloaded version of the program, the number of extents is 1, the data set start address is "00000000" (hexadecimal), the data set end address is "7FFF7FFF" (hexadecimal), and the number of tracks is "7FFF".
(hexadecimal).
デレクトリ領域DRAは、第4図に示す如く、
メンバーの記入されている先頭アドレスが格納さ
れている。FBAではこのデレクトリ領域は相対
アドレスをCCBで表現されているが、CKDの場
合にはTTRで表現されることになる。ここで
「TT」はデータセツト内相対トラツク番号であ
り、また「R」はトラツク内のレコード番号であ
る。したがつてデータセツト内での相対アドレス
のCCBをそのままCKDにおいてもデータセツト
内でのTTRと仮想する。すなわちFBAのDASD
の相対CI番号をCKDのDASDのトラツク番号TT
と仮想し、FBAのDASDのブロツク番号Bを
CKDのDASDのレコード番号と仮想するもので
ある。 The directory area DRA is as shown in Figure 4.
The first address where members are entered is stored. In FBA, this directory area is expressed as a relative address using CCB, but in the case of CKD, it is expressed as TTR. Here, "TT" is the relative track number within the data set, and "R" is the record number within the track. Therefore, the CCB of the relative address within the dataset is assumed to be the TTR within the dataset even in CKD. i.e. FBA DASD
Relative CI number of CKD DASD track number TT
Assuming that FBA's DASD block number B is
This is assumed to be the record number of CKD's DASD.
またこのJSECOPYプログラムのアンロード版
のMTのデータを、第6図に示す如く、
JSECOPYデータセツトユーテリテイによりCKD
のDASDに記入するときに必要な絶対アドレス
(CCHHR)をFBAの前記相対アドレスCCBより
次の如き演算により得、かくして得られた絶対ア
ドレスCCHHRを各メンバーに付加する。 In addition, the MT data of the unloaded version of this JSECOPY program is shown in Figure 6.
CKD by JSECOPY dataset utility
The absolute address (CCHHR) required when writing to the DASD of the FBA is obtained from the relative address CCB of the FBA by the following calculation, and the absolute address CCHHR thus obtained is added to each member.
次に相対アドレス(CCB)からDASD上の絶
対アドレス(CCHHR)を算出する方法について
説明する。 Next, we will explain how to calculate the absolute address (CCHHR) on the DASD from the relative address (CCB).
オペレーテイングシステムのマクロ−
DEVTYPEによりFBAのDASDの装置情報から
1シリンダ当りのトラツク数TRを求め、また前
記CCB(オペレーテイングシステムのマクロ−
NOTEにより獲得)からそのデータセツト内相
対CI番号すなわちCCを求め次の(1)式の演算を行
う。 Operating system macros
DEVTYPE calculates the number of tracks TR per cylinder from the FBA DASD device information, and also uses the CCB (operating system macro)
(obtained by NOTE), calculate the relative CI number within the data set, that is, CC, and perform the calculation of the following equation (1).
CC/TR ……(1)
前記(1)式の商をC0C0とし、余りをH0H0(いず
れも16進)としたとき、このC0C0がCKDに変換
後のシリンダ番号となり、H0H0がトラツク番号
となる。そしてCI内ブロツク番号Bはそのまま
R(レコード番号)とする。 CC/TR...(1) When the quotient of the above formula (1) is C 0 C 0 and the remainder is H 0 H 0 (both in hexadecimal), this C 0 C 0 is the cylinder after conversion to CKD. H 0 H 0 becomes the track number. Then, the CI block number B is set as R (record number).
この変換演算の実施を第8図により説明する。
第8図では、FBAのDASDの1シリンダ当りの
トラツク数を10としたとき、ブロツクA,Bがデ
ータセツト内相対アドレスCC=1に格納され、
ブロツクC〜EがCC=2に格納され、ブロツク
FがCC=15に格納され、ブロツクG,HがCC=
16に格納され、各ブロツクは各CI内に第8図a
に示す順序で格納されているものとする。 The implementation of this conversion operation will be explained with reference to FIG.
In FIG. 8, when the number of tracks per cylinder of the FBA DASD is 10, blocks A and B are stored at relative address CC=1 in the data set,
Blocks C to E are stored at CC=2, block F is stored at CC=15, and blocks G and H are stored at CC=2.
16, and each block is stored in each CI as shown in Figure 8a.
Assume that they are stored in the order shown.
ブロツクAはCC=「0001」すなわち1のため、
前記(1)式による演算は、
0001(16進)/10=1/10
となり、商は0、余りは1となる。またBは
「01」である。それ故、CKDのDASDへの変換後
のCCHHR形式のアドレスは、第8図bのブロツ
クAに示す如く、「0000000101」となり、これが
第7図bのメンバーデータAのブロツクの先頭に
付加される。 Block A has CC="0001", that is, 1, so
The calculation using the above equation (1) is 0001 (hexadecimal)/10=1/10, where the quotient is 0 and the remainder is 1. Also, B is "01". Therefore, the CCHHR format address after converting CKD to DASD is "0000000101" as shown in block A in Figure 8b, and this is added to the beginning of block A of member data in Figure 7b. .
またブロツクCはCC=「0002」すなわち2のた
め、前記(1)式による演算は、
0002/10=2/10
となり、商は0、余りは2となる。そしてBは
「01」であるので、CCHHR形式のアドレスは、
「0000000201」となる。 Also, since block C has CC="0002", that is, 2, the calculation according to equation (1) is 0002/10=2/10, and the quotient is 0 and the remainder is 2. And since B is "01", the address in CCHHR format is
It becomes "0000000201".
ブロツクFはCC=「000F」のため、前記(1)式
による演算は、
000F/10=1…5
つまり商は1、余りは5となる。そしてBは
「01」のため、CCHHR形式のアドレスは、
「0001000501」となる。 Since block F has CC="000F", the calculation using equation (1) above is as follows: 000F/10=1...5 That is, the quotient is 1 and the remainder is 5. And since B is "01", the address in CCHHR format is
It becomes "0001000501".
そしてブロツクHはCC=「0010」であるので、
前記(1)式による演算は、
0010/10=1…6
つまり商は1、余りは6となる。そしてBは
「02」のためCCHHR形式のアドレスは
「0001000602」となる。このようにして、第8図
aの各ブロツクは、第8図bの如く、CKD用の
CCHHRに変換される。 And since block H is CC="0010",
The calculation using equation (1) is as follows: 0010/10=1...6 In other words, the quotient is 1 and the remainder is 6. Since B is "02", the CCHHR format address is "0001000602". In this way, each block in Figure 8a can be used for CKD as shown in Figure 8b.
Converted to CCHHR.
以上で、FBA DASDの区分データセツトを
JSECOPYアンロード版に変換する方式を述べた
が、JSECOPYがこのアンロード版をどのように
利用してCDKシステム用の区分データセツトに
復元するかを述べ、本移行ツールの正当性を示
す。 This completes the FBA DASD partitioned dataset.
Having described the method for converting to the JSECOPY unloaded version, we will also explain how JSECOPY uses this unloaded version to restore it to a partitioned data set for the CDK system, and demonstrate the validity of this migration tool.
JSECOPYのアンロード版のメンバ部は、第1
図に示す如くCCHHRを付加したブロツクが並べ
られているだけで、メンバ部だけではどのブロツ
クがどのメンバに対応するのかはわからない。そ
こで、まずアンロード版の特別情報(エクステン
ト情報が含まれている)とデイレクトリ部を読込
む。そして、この二つの情報から該メンバの先頭
CCHHRを求め、このCCHHRと同じ値を持つメ
ンバ部内のブロツクを見つける。この様子を以下
に示す。 The member part of the unloaded version of JSECOPY is the first
As shown in the figure, only the blocks with CCHHR added are arranged, and it is not possible to tell which block corresponds to which member just by looking at the member section. Therefore, first read the special information (including extent information) and directory part of the unload version. Then, from these two pieces of information, the beginning of the member is
Find CCHHR and find a block in the member section that has the same value as CCHHR. This situation is shown below.
CKD DASDの場合、デイレクトリ中のメンバ
を指すアドレスをTTRで表現している。「TT」
は、データセツトの先頭からの相対トラツク番号
で、「R」は、トラツク内のレコード番号である。
また、アンロード版の特別情報内にあるエクステ
ント開始CCHHのシリンダ番号をCCs、トラツク
番号をHHs、シリンダ当たりのトラツク数をn
とした場合、以下の式によりメンバの先頭を指し
ている絶対アドレスCCHHRが求められる。この
CCHHRと同じ値を持つメンバのブロツクをアン
ロード版のメンバ部を読むことにより対応付け
る。 In the case of CKD DASD, the address pointing to a member in the directory is expressed in TTR. "TT"
is the relative track number from the beginning of the data set, and "R" is the record number within the track.
Also, set the cylinder number of the extent start CCHH in the special information of the unload version to CCs, the track number to HHs, and the number of tracks per cylinder to n.
In this case, the absolute address CCHHR pointing to the beginning of the member can be found using the following formula. this
Correlate blocks of members with the same value as CCHHR by reading the member section of the unloaded version.
(TT+HHs)÷n
―――→
|
|
|
――→商+CCs→シリンダ番号(CC)
余り →トラツク番号(HH)
R→そのまま→レコード番号(R)
ここで、本移行ツールにより作成したアンロー
ド版では、仮想エクステント情報を特別情報とし
て作成している。上記の式に当てはめると、仮想
エクステント情報の開始CCHHは、「00000000」
(16進)なので、CCs、HHs共に0となり、以下
に示すように本移行ツールでアンロード版を作成
するときのCCBからCCHHRへの変換式と同じに
なる。 (TT+HHs)÷n ---→ | | | | ---→ Quotient + CCs → Cylinder number (CC) Remainder → Track number (HH) R → As is → Record number (R) Here, unload the data created using this migration tool. In this version, virtual extent information is created as special information. Applying the above formula, the start CCHH of virtual extent information is "00000000"
(Hexadecimal), so both CCs and HHs are 0, and as shown below, it is the same as the conversion formula from CCB to CCHHR when creating an unloaded version with this migration tool.
TT ÷n
―――→
|
|
|
――→商 →シリンダ番号(CC)
余り →トラツク番号(HH)
R→そのまま→レコード番号(R)
次に前記の如く、FBAのDASDからCKDの
DASDにデータをセツトするために必要な、前記
JSECOPYプログラムのアンロード版のMTを作
成するための移行ツールとなる、本発明の一実施
例構成を第1図にもとづき他図を参照しつつ説明
する。 TT ÷n ---→ | | | ---→ Quotient → Cylinder number (CC) Remainder → Track number (HH) R → As is → Record number (R) Next, as mentioned above, from the FBA DASD to the CKD
The above-mentioned items required to set data on DASD
The configuration of an embodiment of the present invention, which is a migration tool for creating an unloaded version of MT of the JSECOPY program, will be described based on FIG. 1 and with reference to other figures.
第1図において、1はFBAのDASDであつて
固定長のコントロール・インターバルCIにメン
バーの記入されたブロツクB−1、B−2、A−
1、C−1……が存在するもの、2はデータ読出
部であつてDASD1からデイレクトリ部分及びメ
ンバ部分を読み出すもの、3はCCB判別部であ
つて前記デレクトリ領域から読出されたCCBを
判別してこれをデータセツト内相対CI番号CCと
CI内ブロツク番号Bとに分けるもの、4はCI番
号レジスタ、5はブロツク番号レジスタであつて
それぞれ前記CCB判別部3から出力されたデー
タセツト内相対CI番号CC、CI内ブロツク番号B
が入力されるもの、6は演算部であつて前記(1)式
の演算を行うもの、7はシリンダ・レジスタであ
つてシリンダ当たりのトラツク数が保持されるも
の、8はシリンダ番号レジスタであつて前記(1)式
の商が保持されるもの、9はトラツク番号レジス
タであつて前記(1)式の余りが保持されるもの、1
0は連結部であつて前記シリンダ番号レジスタ8
の出力CC、トラツク番号レジスタ9の出力HH
及び後記のレコード番号レジスタ11のRを連結
してCCHHRを得るもの、11はレコード番号レ
ジスタであつて前記ブロツク番号レジスタ5から
出力されたデータを保持してこれをレコード番号
Rとして出力するもの、12は書出し部であつて
16のオペレーテイングシステムから得た前記シ
リンダ・レジスタ7から出力されるシリンダ当た
りのトラツク数及び18の本プログラムで生成し
た仮想エクステント情報を特別情報として、該
DASDから読み出した13のデイレクトリ部をデ
イレクトリとして、前記連結部10から出力され
るCCHHRと14のメンバ本体を磁気テープ15
に書き出すもの、13はデイレクトリ保持部のメ
モリであつてDASD1より読出されたデレクトリ
が保持されるもの、14はメモリであつてDASD
1より読出されたメンバのブロツクB−1、B−
2、A−1、C−1……が保持されるもの、15
は磁気テープであつてJSECOPYプログラムのア
ンロード版が格納されるもの、16はFBA
DASDのシリンダ当たりのトラツク数を得るため
にオペレーテイングシステムのマクロ
(DEVTYPE)を発行するもの、17はメンバブ
ロツクのCCBを得るためにオペレーテイングシ
ステムのマクロ(NOTE)を発行するもの、1
8は本移行ツールで生成するメモリ上の仮想エク
ステント情報保持部である。 In FIG. 1, 1 is the FBA DASD, and blocks B-1, B-2, A-
1, C-1... exists, 2 is a data reading unit that reads the directory part and member part from DASD 1, and 3 is a CCB discrimination unit that discriminates the CCB read from the directory area. and set this as the relative CI number CC in the dataset.
4 is a CI number register, and 5 is a block number register, in which the relative CI number CC in the data set and the intra-CI block number B output from the CCB discriminator 3 are respectively output.
6 is an arithmetic unit that performs the calculation of equation (1) above, 7 is a cylinder register that holds the number of tracks per cylinder, and 8 is a cylinder number register. 9 is a track number register that holds the quotient of the above equation (1); 1 is a track number register that holds the remainder of the above equation (1);
0 is the connection part and is the cylinder number register 8.
output CC, track number register 9 output HH
11 is a record number register which holds the data output from the block number register 5 and outputs it as record number R, Reference numeral 12 denotes a writing unit which uses the number of tracks per cylinder outputted from the cylinder register 7 obtained from the operating system 16 and the virtual extent information generated by this program 18 as special information, and writes the corresponding
The 13 directory sections read from the DASD are used as directories, and the CCHHR and 14 member bodies output from the connecting section 10 are placed on the magnetic tape 15.
13 is the memory of the directory holding unit where the directory read from DASD 1 is held; 14 is the memory and the DASD
Blocks B-1 and B- of members read from 1
2. Those in which A-1, C-1... are held, 15
16 is a magnetic tape that stores the unloaded version of the JSECOPY program, and 16 is a magnetic tape that stores the unloaded version of the JSECOPY program.
17 issues an operating system macro (DEVTYPE) to obtain the number of tracks per cylinder of a DASD; 17 issues an operating system macro (NOTE) to obtain the CCB of a member block; 1
Reference numeral 8 denotes a virtual extent information holding unit on memory generated by this migration tool.
第1図に示す本発明の一実施例構成の動作を説
明する。 The operation of the configuration of one embodiment of the present invention shown in FIG. 1 will be explained.
(1) オペレーテイングシステムのマクロ発行部1
6でDEVTYPEマクロを発行しFBA DASDの
シリンダ当たりのトラツク数を得てシリンダ・
レジスタ7に貯えると共に、この値及び本移行
ツールで生成した仮想エクステント情報18を
特別情報として磁気テープ15に書き出す。読
み出し部2は、FBAの区分データセツトの格
納されたDASD1からデイレクトリを順次読出
し、、書出し部15はそれを受取り順次磁気テ
ープ15に書き出す。読出し部2は、区分デー
タセツトからメンバ部のブロツクを1ブロツク
ずつ読み出す。この時、オペレーテイングシス
テムのマクロ発行部17でNOTEマクロを発
行し、読み込んだブロツクのCCBを得て、
CCB判別部3に送出する。(1) Operating system macro issuing unit 1
In step 6, issue the DEVTYPE macro to obtain the number of tracks per cylinder of FBA DASD and set the number of tracks per cylinder.
This value is stored in the register 7, and this value and the virtual extent information 18 generated by this migration tool are written to the magnetic tape 15 as special information. The reading unit 2 sequentially reads directories from the DASD 1 in which the FBA partitioned data set is stored, and the writing unit 15 writes them onto the magnetic tape 15 in the order in which they are received. The reading section 2 reads out the blocks of the member section one by one from the segmented data set. At this time, the macro issuing unit 17 of the operating system issues the NOTE macro, obtains the CCB of the read block, and
It is sent to the CCB discriminator 3.
(2) CCB判別部3はデータセツト内相対CI番号
CCとCI内ブロツク番号Bを識別し、前記CI番
号CCをCI番号レジスタ4にセツトし、前記ブ
ロツク番号Bをブロツク番号レジスタ5にセツ
トする。(2) CCB discriminator 3 is the relative CI number within the dataset
CC and intra-CI block number B are identified, the CI number CC is set in the CI number register 4, and the block number B is set in the block number register 5.
(3) 演算部6は、前記CI番号レジスタ4から伝
達されたデータセツト内相対CI番号CCと、シ
リンダ・レジスタ7から伝達されたFBAの装
置における1シリング当りのトラツク数TRに
もとづき、前記(1)式の演算を行う。そしてその
演算結果により得られた商をシリンダ番号レジ
スタ8にセツトし、余りをトラツク番号レジス
タ9にセツトする。(3) The arithmetic unit 6 calculates the above (( 1) Calculate the expression. Then, the quotient obtained from the calculation result is set in the cylinder number register 8, and the remainder is set in the track number register 9.
(4) 連結部10は前記シリンダ番号レジスタ8に
セツトされた商をCKDのシリンダ番号CCとし
て、トラツク番号レジスタ9にセツトされた余
りをCKDのトラツク番号として、また、ブロ
ツク番号レジスタ5から伝達されたレコード番
号レジスタ11のレコード番号を連結して
「CCHHR」を作成する。(4) The connecting unit 10 uses the quotient set in the cylinder number register 8 as the CKD cylinder number CC, and the remainder set in the track number register 9 as the CKD track number, which is also transmitted from the block number register 5. "CCHHR" is created by concatenating the record numbers in the record number register 11.
(5) 書出し部12は前記連結部10から出力され
る「CCHHR」をメモリ14から伝達されるメ
ンバブロツクB−1、B−2、A−1……等に
付加して、磁気テープ15上に記入する。(5) The writing section 12 adds "CCHHR" output from the connecting section 10 to the member blocks B-1, B-2, A-1, etc. transmitted from the memory 14, and writes them onto the magnetic tape 15. Fill in.
このようにしてFBA→CKD用のJSECOPYプ
ログラムのアンロード版を自動的に得ることがで
きるので、これから、第6図に示す如く、
JSECOPYデータセツトユーテリテイによりCKD
用の区分データセツトを得ることができる。 In this way, you can automatically obtain the unloaded version of the JSECOPY program for FBA→CKD, so from now on, as shown in Figure 6,
CKD by JSECOPY dataset utility
We can obtain a partitioned data set for
したがつて、従来の如くソースを各システムに
持ち込みコンパイル、結合編集等の作業を行つて
ロードモジユールを作成する必要がなくなつたの
で、本発明により各システムで作成したロード・
モジユールを磁気テープを経由してそのまま移行
することが可能となる。 Therefore, it is no longer necessary to bring the source to each system and perform compilation, combined editing, etc. to create a load module, as was the case in the past.
Modules can be transferred directly via magnetic tape.
本発明によればFBA用の区分データセツトを
CKD用のJSECOPYプログラムのアンロード版に
変換することができるので、各システムで作成し
たロード・モジユールを大量にそのまま移行する
ことができるので、データ処理効率を高めるもの
となる。
According to the present invention, a partitioned data set for FBA can be created.
Since the JSECOPY program for CKD can be converted to an unloaded version, a large amount of load modules created in each system can be migrated as is, increasing data processing efficiency.
第1図は本発明の一実施例構成図、第2図は
FBA形式のDASD上のフアイルの説明図、第3
図はデータセツトの説明図、第4図は区分データ
セツトの詳細図、第5図はCKD形式のDASDの
ブロツク位置説明図、第6図は本発明のアドレス
変換方式を使用した移行ツールの使用状態説明
図、第7図aはCKDにおけるデータセツトの分
割状態説明図と仮想エクステント情報説明図であ
りbはJSECOPYプログラムのアンロード版の磁
気テープの説明図、第8図はアドレス変換状態説
明図である。
図中、1はFBAのDASD、2は読出し部、3
はCCB判別部、4はCI番号レジスタ、5はブロ
ツク番号レジスタ、6は演算部、7はシリンダ・
レジスタ、8はシリンダ番号レジスタ、9はトラ
ツク番号レジスタ、10は連結部、11はレコー
ド番号レジスタ、12は書出し部、13はデレク
トリ保持部、14はメンバ本体保持部、16は
FBA DASDのシリンダ当たりのトラツク数を得
るためのオペレーテイングシステムのマクロ
(DEVTYPE)発行部、17はメンバブロツクの
CCBを得るためのオペレーテイングシステムの
マクロ(NOTE)発行部、18は本移行ツール
で生成する仮想エクステント情報保持部を示す。
Figure 1 is a configuration diagram of one embodiment of the present invention, Figure 2 is
Explanation diagram of files on DASD in FBA format, Part 3
Figure 4 is an explanatory diagram of a data set, Figure 4 is a detailed diagram of a partitioned data set, Figure 5 is an explanatory diagram of the block position of a CKD format DASD, and Figure 6 is the use of a migration tool using the address conversion method of the present invention. Fig. 7a is an explanatory diagram of the data set division state and virtual extent information in CKD, b is an explanatory diagram of the magnetic tape of the unloaded version of the JSECOPY program, and Fig. 8 is an explanatory diagram of the address conversion state. It is. In the figure, 1 is the FBA DASD, 2 is the readout section, and 3
is the CCB discrimination section, 4 is the CI number register, 5 is the block number register, 6 is the calculation section, 7 is the cylinder
8 is a cylinder number register, 9 is a track number register, 10 is a connection section, 11 is a record number register, 12 is a write section, 13 is a directory holding section, 14 is a member body holding section, 16 is a
Operating system macro (DEVTYPE) issuer for obtaining the number of tracks per cylinder of FBA DASD, 17 is a member block.
A macro (NOTE) issuing unit of the operating system for obtaining a CCB, and 18 indicate a virtual extent information holding unit generated by this migration tool.
Claims (1)
形式DASDと、該DASDより区分データセツトの
デイレクトリ及びメンバ部を読み出す読出し部
と、オペレーテイングシステムから該DASDのシ
リンダ当たりのトラツク数を獲得する部分と、可
変長形式DASD上の区分データセツトの開始と終
了を表わす絶対アドレス、トラツク数及びエステ
ント数から構成される仮想エクステント情報の生
成部と、オペレーテイングシステムから固定長形
式DASD上の区分データセツトのメンバ部のアド
レスであるCCBを獲得する部分と、CI番号
(CCBのCC部分)を前記のオペレーテイングシス
テムから獲得した該DASDのシリンダ当たりのト
ラツク数で割りその商と余りを算出する演算部
と、前記商である可変長形式DASDのシリンダ番
号、前記余りである可変長形式DASDのトラツク
番号及びブロツク番号(CCBのB部分)をその
まま流用した可変長形式DASDのレコード番号を
連結する連結部と、前記オペレーテイングシステ
ムから得た該DASDのシリンダ当たりのトラツク
数及び該仮想エクステント情報を特別情報とし
て、該DASDから読出した区分データセツトのデ
イレクトリ部をデイレクトリとして、該DASDか
ら読出した区分データセツトのメンバ部の各ブロ
ツクに前記演算結果で得られた可変長形式DASD
のシリンダ番号、可変長形式DASDのトラツク番
号及び可変長形式DASDのレコード番号を付加し
たブロツクを外部データ記憶部に書き出す読出し
部を有することを特徴とする固定長データセツト
と可変長データセツト間のアドレス変換方法。1. A fixed-length DASD in which fixed-length format data is stored, a reading unit that reads the directory and member part of a partitioned data set from the DASD, and a unit that obtains the number of tracks per cylinder of the DASD from the operating system. , a virtual extent information generation unit consisting of absolute addresses representing the start and end of the partitioned data set on the variable-length format DASD, the number of tracks, and the number of extents, and a generation unit for generating partitioned data set on the fixed-length format DASD from the operating system. an arithmetic unit that calculates the quotient and remainder by dividing the CCB, which is the address of the member part of and the cylinder number of the variable length DASD, which is the quotient, and the record number of the variable length DASD, which is the remainder, which is the track number and block number (part B of the CCB) of the variable length DASD. and the partitioned data set read from the DASD, using the number of tracks per cylinder of the DASD obtained from the operating system and the virtual extent information as special information, and using the directory part of the partitioned data set read from the DASD as a directory. The variable length format DASD obtained from the above calculation result is stored in each block of the member section of
between a fixed-length data set and a variable-length data set, characterized in that it has a reading unit that writes a block to which a cylinder number of a fixed-length data set, a track number of a variable-length data storage format DASD, and a record number of a variable-length data storage format data set are added to an external data storage unit. Address translation method.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP14257584A JPS6121525A (en) | 1984-07-10 | 1984-07-10 | Address converting system between fixed length data set and variable length data set |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP14257584A JPS6121525A (en) | 1984-07-10 | 1984-07-10 | Address converting system between fixed length data set and variable length data set |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS6121525A JPS6121525A (en) | 1986-01-30 |
| JPH0445861B2 true JPH0445861B2 (en) | 1992-07-28 |
Family
ID=15318505
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP14257584A Granted JPS6121525A (en) | 1984-07-10 | 1984-07-10 | Address converting system between fixed length data set and variable length data set |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS6121525A (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5544347A (en) | 1990-09-24 | 1996-08-06 | Emc Corporation | Data storage system controlled remote data mirroring with respectively maintained data indices |
| JP3264465B2 (en) | 1993-06-30 | 2002-03-11 | 株式会社日立製作所 | Storage system |
-
1984
- 1984-07-10 JP JP14257584A patent/JPS6121525A/en active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS6121525A (en) | 1986-01-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5117495A (en) | Method of sorting data records | |
| JPH0410650B2 (en) | ||
| JPH0445861B2 (en) | ||
| KR920018734A (en) | Data recording and reproducing apparatus, data recording method and data reproducing method | |
| US6493806B1 (en) | Method and apparatus for generating a transportable physical level data block trace | |
| JP2587417B2 (en) | File backup and restoration method | |
| JPH01319820A (en) | Memory medium control system | |
| SU1575238A1 (en) | Buffer memory | |
| JPS6253861B2 (en) | ||
| SU642775A1 (en) | Device for checking multichannel magnetic stores | |
| JPS6057849U (en) | information retrieval device | |
| SU1367041A1 (en) | Read-only memory | |
| JPH0619761A (en) | File management method | |
| JP2573579B2 (en) | File operating device for multiple file / volume type magnetic tape | |
| JPS6278638A (en) | File recording and control system | |
| JPS63317823A (en) | Data access system by index | |
| JPH01214925A (en) | Method and system for forming logical format for internal data of memory card in memory card system | |
| JPH0719210B2 (en) | Compiling device | |
| JPS62276655A (en) | Dma transfer system | |
| JPS6061851A (en) | Input and output processor | |
| JPH0239317A (en) | Storing processor for magnetic tape volume data | |
| JPH03214314A (en) | Data output device | |
| JPH01136252A (en) | File structure | |
| JPS62118451A (en) | File controller | |
| JPH04344953A (en) | File management method for storage medium |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |