JPH0432419B2 - - Google Patents
Info
- Publication number
- JPH0432419B2 JPH0432419B2 JP57128608A JP12860882A JPH0432419B2 JP H0432419 B2 JPH0432419 B2 JP H0432419B2 JP 57128608 A JP57128608 A JP 57128608A JP 12860882 A JP12860882 A JP 12860882A JP H0432419 B2 JPH0432419 B2 JP H0432419B2
- Authority
- JP
- Japan
- Prior art keywords
- page
- file
- record
- information
- records
- 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 - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【発明の詳細な説明】
〔発明の技術分野〕
本発明は順編成フアイルが格納される補助記憶
装置を備えたシステムに好適する順編成フアイル
の更新方式に関する。
装置を備えたシステムに好適する順編成フアイル
の更新方式に関する。
従来の順編成フアイルにおいては、データやテ
キストの動的な追加、挿入、削除に対し、一般に
更新用の別のフアイルを用意し、変更のない部分
については更新フアイルにコピーし、変更、追加
部分になると変更、追加データを加えていく更新
方式が適用されていた。
キストの動的な追加、挿入、削除に対し、一般に
更新用の別のフアイルを用意し、変更のない部分
については更新フアイルにコピーし、変更、追加
部分になると変更、追加データを加えていく更新
方式が適用されていた。
この方式では、変更のない部分を更新フアイ
ルにコピーするための入出力処理、更新用の別
フアイル、いわゆるワークフアイルの確保、更
新後に更新フアイルを元のフアイルへ戻すための
処理などが必要となる不都合があつた。したがつ
て従来の方式では、特にオンライン、リアルタイ
ム処理環境下においてオーバヘツドが大きく処理
速度が低下するため、一般に順編成フアイルに対
する動的な変更は避けるべきものとされていた。
ルにコピーするための入出力処理、更新用の別
フアイル、いわゆるワークフアイルの確保、更
新後に更新フアイルを元のフアイルへ戻すための
処理などが必要となる不都合があつた。したがつ
て従来の方式では、特にオンライン、リアルタイ
ム処理環境下においてオーバヘツドが大きく処理
速度が低下するため、一般に順編成フアイルに対
する動的な変更は避けるべきものとされていた。
本発明は上記事情に鑑みてなされたものでその
目的は、オンライン、リアルタイム処理環境下で
も順編成フアイルに対して追加、削除などの更新
作業が効率良く容易に行なえる順編成フアイルの
更新方式を提供することにある。
目的は、オンライン、リアルタイム処理環境下で
も順編成フアイルに対して追加、削除などの更新
作業が効率良く容易に行なえる順編成フアイルの
更新方式を提供することにある。
本発明では、上記目的を達成するために新規な
順編成フアイルの構造を提案している。本発明で
提案されている順編成フアイルはページ番号がふ
られた一定サイズのページの列からなつている。
そして各ページ番号には自身のページ番号C、前
ページのページ番号P、次ページのページ番号
N、およびページ内格納レコード数nを示すペー
ジ情報が付加されている。すなわち従来の順編成
フアイルがいわゆる巻物式フアイルであるのに対
し、本発明に係る順編成フアイルはページリンク
機構を持ついわばルーズリーフ式フアイルであ
る。そして上述のように、各ページに、その前後
のページのページ番号を付加しておくことによ
り、論理的な順序関係が保たれるようになつてい
る。
順編成フアイルの構造を提案している。本発明で
提案されている順編成フアイルはページ番号がふ
られた一定サイズのページの列からなつている。
そして各ページ番号には自身のページ番号C、前
ページのページ番号P、次ページのページ番号
N、およびページ内格納レコード数nを示すペー
ジ情報が付加されている。すなわち従来の順編成
フアイルがいわゆる巻物式フアイルであるのに対
し、本発明に係る順編成フアイルはページリンク
機構を持ついわばルーズリーフ式フアイルであ
る。そして上述のように、各ページに、その前後
のページのページ番号を付加しておくことによ
り、論理的な順序関係が保たれるようになつてい
る。
また本発明ではフアイルアクセスのために、各
種順編成フアイルの占めるエクステント(補助記
憶装置内の格納アドレス領域)を各フアイル単位
で管理するための情報リストであるフアイル・コ
ントロール・ブロツク(以下、FCBと称する)
と、FCBで記述されるフアイルに対し、、プログ
ラム(タスク)毎でアクセスされているフアイル
の現在位置を管理するためのフアイル・アクセ
ス・コントロール・ブロツク(以下、FABと称
する)が用いられている。このFABはフアイル
の先頭ページ(指定ページであつてもよい)を開
くためのオープン指令がプログラムによりタスク
毎に発行された場合に演算制御装置によつて主記
憶上に初期設定される。また、演算制御装置がオ
ープン指令を出力することにより、当該指令で指
定されるフアイルに対応したFCBが主記憶にロ
ードされるようになつている。そして、演算制御
装置からの位置けに関する指令によつてフアイル
アクセス位置(アクセスすべきページ位置)が確
定され、主記憶上のFABの内容も確定された位
置に一致させられる。
種順編成フアイルの占めるエクステント(補助記
憶装置内の格納アドレス領域)を各フアイル単位
で管理するための情報リストであるフアイル・コ
ントロール・ブロツク(以下、FCBと称する)
と、FCBで記述されるフアイルに対し、、プログ
ラム(タスク)毎でアクセスされているフアイル
の現在位置を管理するためのフアイル・アクセ
ス・コントロール・ブロツク(以下、FABと称
する)が用いられている。このFABはフアイル
の先頭ページ(指定ページであつてもよい)を開
くためのオープン指令がプログラムによりタスク
毎に発行された場合に演算制御装置によつて主記
憶上に初期設定される。また、演算制御装置がオ
ープン指令を出力することにより、当該指令で指
定されるフアイルに対応したFCBが主記憶にロ
ードされるようになつている。そして、演算制御
装置からの位置けに関する指令によつてフアイル
アクセス位置(アクセスすべきページ位置)が確
定され、主記憶上のFABの内容も確定された位
置に一致させられる。
この状態で演算制御装置からレコードの追加
(挿入を含む)指令が出された場合には、上記確
定されたフアイルアクセス位置のページのページ
情報中の格納レコード数nに基づいて、該当ペー
ジに新レコードを追加できる空きがあるか否かが
調べられ、空きがあれば、該当ページ内に新レコ
ードが追加されると共に、当該ページ情報中の格
納レコード数nが更新されるものである。これに
対して空きがなければ、当該ページ情報中の上記
前ページ番号Pを示す前ページまたは上記次ペー
ジ番号Nの示す次ページのページ情報中の格納レ
コード数nをもとに、隣接ページに空きがあるか
否かが調べられ、隣接ページに空きがあれば、そ
の隣接ページに該当ページから必要レコードが移
されて該当ページに空き領域が作られ、その空き
領域に新レコードが格納されると共に、該当ペー
ジおよび上記必要レコードが移された隣接ページ
の各ページ情報中の格納レコード数nが更新され
るものである。
(挿入を含む)指令が出された場合には、上記確
定されたフアイルアクセス位置のページのページ
情報中の格納レコード数nに基づいて、該当ペー
ジに新レコードを追加できる空きがあるか否かが
調べられ、空きがあれば、該当ページ内に新レコ
ードが追加されると共に、当該ページ情報中の格
納レコード数nが更新されるものである。これに
対して空きがなければ、当該ページ情報中の上記
前ページ番号Pを示す前ページまたは上記次ペー
ジ番号Nの示す次ページのページ情報中の格納レ
コード数nをもとに、隣接ページに空きがあるか
否かが調べられ、隣接ページに空きがあれば、そ
の隣接ページに該当ページから必要レコードが移
されて該当ページに空き領域が作られ、その空き
領域に新レコードが格納されると共に、該当ペー
ジおよび上記必要レコードが移された隣接ページ
の各ページ情報中の格納レコード数nが更新され
るものである。
また、演算制御装置からレコードの削除指令が
出された場合には、上記確定されたフアイルアク
セス位置のページから指定レコードが削除され、
同ページのページ情報中の格納レコード数nが更
新されるものである。
出された場合には、上記確定されたフアイルアク
セス位置のページから指定レコードが削除され、
同ページのページ情報中の格納レコード数nが更
新されるものである。
すなわち本発明は、順編成フアイルがページ単
位で管理され、しかも各ペーの論理的な順序関係
が保たれるように管理される構成とすることによ
つて、従来のようにフアイル単位ではなくページ
単位でフアイル更新が行なえるようにし、部分的
なページ修正でのフアイル更新を可能とするもの
である。
位で管理され、しかも各ペーの論理的な順序関係
が保たれるように管理される構成とすることによ
つて、従来のようにフアイル単位ではなくページ
単位でフアイル更新が行なえるようにし、部分的
なページ修正でのフアイル更新を可能とするもの
である。
以下、本発明の一実施例を図面を参照して説明
する。第1図は本発明が適用される情報処理シス
テムの構成を示すもので、11はシステム全体を
制御する演算制御装置、12は主記憶(以下、
MMと称する)、13は磁気デイスク記憶装置な
どの補助記憶装置である。補助記憶装置13には
各種順編成フアイルが格納されている。このフア
イルは補助記憶装置13における物理的に連続し
た領域に必ずしも格納されているわけではなく、
例えば物理的に不連続の幾つかのエクステント
(1つのエクステントは物理的連続領域である)
に分割格納されている。上記順編成フアイルはペ
ージ番号がふられた一定サイズのページの列から
なつている。そして各ページには第2図に示され
るように自身のページ番号(自ページ番号)C、
前のページのページ番号(前ページ番号)P、次
のページのページ番号(次ページ番号)N、およ
びそのページに格納されているレコード数(格納
レコード数)nからなるページ情報が付加されて
いる。ページはフアイルの先頭から順に例えば自
然数1,2,3…がふられ、物理的なアドレス情
報(エクステント)とは独立して管理される。こ
れら各ページは上述した第2図のページ情報を持
つことで、第3図に示される如く論理的な順序関
係(ページリンク)を保つている。また、補助記
憶装置13には上記各種順編成フアイルの占める
補助記憶領域を示す情報リストであるFCB(フア
イル・コントロール・ブロツク)がフアイル単位
で格納されている。このFCBは該当フアイルの
消長に対応して当該フアイルの占める幾つかのエ
クステントを管理するための情報リストともいえ
る。FCBの内容としては、各エクステントの論
理的な順序を示す情報、各エクステントの先頭ア
ドレスとサイズ、ページのサイズ、エクステント
への収容ページ数、レコード長、ページに収容可
能なレコード数、ページリンクされた空きページ
の先頭アドレスなどである。
する。第1図は本発明が適用される情報処理シス
テムの構成を示すもので、11はシステム全体を
制御する演算制御装置、12は主記憶(以下、
MMと称する)、13は磁気デイスク記憶装置な
どの補助記憶装置である。補助記憶装置13には
各種順編成フアイルが格納されている。このフア
イルは補助記憶装置13における物理的に連続し
た領域に必ずしも格納されているわけではなく、
例えば物理的に不連続の幾つかのエクステント
(1つのエクステントは物理的連続領域である)
に分割格納されている。上記順編成フアイルはペ
ージ番号がふられた一定サイズのページの列から
なつている。そして各ページには第2図に示され
るように自身のページ番号(自ページ番号)C、
前のページのページ番号(前ページ番号)P、次
のページのページ番号(次ページ番号)N、およ
びそのページに格納されているレコード数(格納
レコード数)nからなるページ情報が付加されて
いる。ページはフアイルの先頭から順に例えば自
然数1,2,3…がふられ、物理的なアドレス情
報(エクステント)とは独立して管理される。こ
れら各ページは上述した第2図のページ情報を持
つことで、第3図に示される如く論理的な順序関
係(ページリンク)を保つている。また、補助記
憶装置13には上記各種順編成フアイルの占める
補助記憶領域を示す情報リストであるFCB(フア
イル・コントロール・ブロツク)がフアイル単位
で格納されている。このFCBは該当フアイルの
消長に対応して当該フアイルの占める幾つかのエ
クステントを管理するための情報リストともいえ
る。FCBの内容としては、各エクステントの論
理的な順序を示す情報、各エクステントの先頭ア
ドレスとサイズ、ページのサイズ、エクステント
への収容ページ数、レコード長、ページに収容可
能なレコード数、ページリンクされた空きページ
の先頭アドレスなどである。
14は補助記憶制御装置である。補助記憶制御
装置14は演算制御装置11から入出力バス15
を介して与えられる指令に応じて補助記憶装置1
3を制御し、フアイル更新等を行なういわゆるフ
アイルサーバとしての機能を有している。補助記
憶装置14は演算制御装置11からのオープン指
令に応じ、指定されたフアイルに対応するFCB
をMM12にロードするようになつている。MM
12にはプログラム(タスク)毎でアクセスされ
ているフアイルの現在位置を管理するための情報
リストであるFAB(フアイル・アクセス・コント
ロール・ブロツク)も置かれるようになつてい
る。FABの内容としてはページ番号とレコード
番号(何ページの何番目のレコードかを示す情
報)である。このFABはプログラムによるタス
ク毎のオープン指令発行時に演算制御装置11に
よつてMM12上に初期設定されるもので、同一
フアイルに対して複数存在することがありうる。
これは、本実施例では、マルチプログラミング下
でのコンカレントアクセス(同時アクセス)をレ
コードまたはブロツク単位で許可しているためで
ある。また、補助記憶制御装置14は第4図に示
されるようにフアイル名、ページ番号、フアイル
参照/更新フラグF1、ページ情報変更フラグF2、
およびタスク数Tからなる同時アクセス管理リス
トを管理している。このリストは、現在参照また
は更新されているのはどのフアイルの何ページで
あるのか、そのページ情報は変更されたか否か、
並びにそのページをアクセスしているタスク数を
示すものであり、例えばMM12上に置かれる。
装置14は演算制御装置11から入出力バス15
を介して与えられる指令に応じて補助記憶装置1
3を制御し、フアイル更新等を行なういわゆるフ
アイルサーバとしての機能を有している。補助記
憶装置14は演算制御装置11からのオープン指
令に応じ、指定されたフアイルに対応するFCB
をMM12にロードするようになつている。MM
12にはプログラム(タスク)毎でアクセスされ
ているフアイルの現在位置を管理するための情報
リストであるFAB(フアイル・アクセス・コント
ロール・ブロツク)も置かれるようになつてい
る。FABの内容としてはページ番号とレコード
番号(何ページの何番目のレコードかを示す情
報)である。このFABはプログラムによるタス
ク毎のオープン指令発行時に演算制御装置11に
よつてMM12上に初期設定されるもので、同一
フアイルに対して複数存在することがありうる。
これは、本実施例では、マルチプログラミング下
でのコンカレントアクセス(同時アクセス)をレ
コードまたはブロツク単位で許可しているためで
ある。また、補助記憶制御装置14は第4図に示
されるようにフアイル名、ページ番号、フアイル
参照/更新フラグF1、ページ情報変更フラグF2、
およびタスク数Tからなる同時アクセス管理リス
トを管理している。このリストは、現在参照また
は更新されているのはどのフアイルの何ページで
あるのか、そのページ情報は変更されたか否か、
並びにそのページをアクセスしているタスク数を
示すものであり、例えばMM12上に置かれる。
再び第1図を参照すると16はDMA(Direct
Memory Access)バス、17はMM12と補助
記憶装置13との間のデータ転送を制御する入出
力チヤンネルである。
Memory Access)バス、17はMM12と補助
記憶装置13との間のデータ転送を制御する入出
力チヤンネルである。
次に本発明の一実施例を説明する。本実施例に
おいて(データ)レコードの追加(挿入)、削除
などのフアイル更新は次の手順で行なわれる。
おいて(データ)レコードの追加(挿入)、削除
などのフアイル更新は次の手順で行なわれる。
対象フアイルのオープン
対象フアイルの位置付け(カレントの確定)
対象(データ)レコードの追加(挿入)/削
除 対象フアイルのクローズ まず対象フアイルのオープンについて説明す
る。MM12から読み出された命令語がオープン
命令の場合、演算制御装置12は当該命令で指定
されているフアイルの第1ページ(ページ1)第
1レコードを示すFABをMM12上に切期設定
する一方、入出力バス15を介して補助記憶制御
装置14にオープン指令を与える。補助記憶制御
装置14はこのオープン指令で指定されているフ
アイルに対応するFCBを補助記憶装置13から
読み出してMM12にロードし、しかる後演算制
御装置11に終了割り込みを行なう。これが対象
フアイルのオープンである。
除 対象フアイルのクローズ まず対象フアイルのオープンについて説明す
る。MM12から読み出された命令語がオープン
命令の場合、演算制御装置12は当該命令で指定
されているフアイルの第1ページ(ページ1)第
1レコードを示すFABをMM12上に切期設定
する一方、入出力バス15を介して補助記憶制御
装置14にオープン指令を与える。補助記憶制御
装置14はこのオープン指令で指定されているフ
アイルに対応するFCBを補助記憶装置13から
読み出してMM12にロードし、しかる後演算制
御装置11に終了割り込みを行なう。これが対象
フアイルのオープンである。
次に対象フアイルの位置付け(カレントの確
定)について説明する。オープン命令が実行され
ると、ゲツト命令またはポジシヨン命令がMM1
2から読み出され(先読みされていてもよい)、
対応する指令が演算制御装置11から補助記憶制
御装置14に与えられる。ゲツト命令は追加(挿
入)/削除位置の目的となるレコード(FABで
示されているレコード)を読み出すための命令で
あり、ポジシヨン命令は位置付けるための命令で
ある。ポジシヨン命令では、ページ番号の指定に
よる位置付け、或いはFABで示されているペー
ジから何ペー後といつた相対的指定による位置付
けが可能となる。補助記憶制御装置14はゲツト
指令が与えられるとMM12上のFAB,FCBに
基づいて該当ページ内の該当レコードの補助記憶
装置13内の物理的なアドレス位置を求める。補
助記憶制御装置14は当該アドレス位置から該当
レコードを読んでMM12にロードすると共に、
MM12上のFABを更新する。これによりFAB
は次のレコードを示すようになる。演算制御装置
11はMM12にロードされたレコードを参照
し、追加(挿入)/削除位置の目的となる所望の
レコードでなければ再びゲツト指令を補助記憶制
御装置14に与える。そして、所望のレコードが
MM12にロードされることにより、演算制御装
置11は目的とする追加(挿入)/削除位置の確
定を判断する。
定)について説明する。オープン命令が実行され
ると、ゲツト命令またはポジシヨン命令がMM1
2から読み出され(先読みされていてもよい)、
対応する指令が演算制御装置11から補助記憶制
御装置14に与えられる。ゲツト命令は追加(挿
入)/削除位置の目的となるレコード(FABで
示されているレコード)を読み出すための命令で
あり、ポジシヨン命令は位置付けるための命令で
ある。ポジシヨン命令では、ページ番号の指定に
よる位置付け、或いはFABで示されているペー
ジから何ペー後といつた相対的指定による位置付
けが可能となる。補助記憶制御装置14はゲツト
指令が与えられるとMM12上のFAB,FCBに
基づいて該当ページ内の該当レコードの補助記憶
装置13内の物理的なアドレス位置を求める。補
助記憶制御装置14は当該アドレス位置から該当
レコードを読んでMM12にロードすると共に、
MM12上のFABを更新する。これによりFAB
は次のレコードを示すようになる。演算制御装置
11はMM12にロードされたレコードを参照
し、追加(挿入)/削除位置の目的となる所望の
レコードでなければ再びゲツト指令を補助記憶制
御装置14に与える。そして、所望のレコードが
MM12にロードされることにより、演算制御装
置11は目的とする追加(挿入)/削除位置の確
定を判断する。
また補助記憶制御装置14は(上述のゲツト指
令でなく)ポジシヨン指令が与えられた場合、こ
の指令に応じてM12上のFABの内容を更新す
る。これによりフアイルアクセス位置が確定され
る。以上が対象フアイルの位置付けである。
令でなく)ポジシヨン指令が与えられた場合、こ
の指令に応じてM12上のFABの内容を更新す
る。これによりフアイルアクセス位置が確定され
る。以上が対象フアイルの位置付けである。
次に対象(データ)レコードの追加(挿
入)/削除について、まずレコードの追加(挿
入)の場合を例にとつて説明する。上述のように
ゲツト命令またはポジシヨン命令が発行されて例
えば追加位置が確定された後、新レコードの追加
(挿入)を指示するプツト命令が発行されたもの
とする。演算制御装置11は該当命令に対応する
指令を入出力バス15経由で補助記憶制御装置1
4に与える。補助記憶制御装置14はMM12上
のFAB,FCBに基づいて補助記憶装置13内の
アクセスすべきページ例えばページCの物理的な
アドレス位置を求め、当該ページCに付加されて
いるページ情報を参照する。そして補助記憶制御
装置14はこのページ情報に基づいて次のような
処理を行なう。
入)/削除について、まずレコードの追加(挿
入)の場合を例にとつて説明する。上述のように
ゲツト命令またはポジシヨン命令が発行されて例
えば追加位置が確定された後、新レコードの追加
(挿入)を指示するプツト命令が発行されたもの
とする。演算制御装置11は該当命令に対応する
指令を入出力バス15経由で補助記憶制御装置1
4に与える。補助記憶制御装置14はMM12上
のFAB,FCBに基づいて補助記憶装置13内の
アクセスすべきページ例えばページCの物理的な
アドレス位置を求め、当該ページCに付加されて
いるページ情報を参照する。そして補助記憶制御
装置14はこのページ情報に基づいて次のような
処理を行なう。
補助記憶制御装置14はページ情報中の格納レ
コード数nに基づいて該当ページCに新レコード
を追加(挿入)できる空きがあるか否かを判断す
る。第5図イに示されるように該当ページCに空
きがある場合、補助記憶制御装置14は第5図ロ
に示されるようにそのページC内に新レコードを
追加(挿入)する。
コード数nに基づいて該当ページCに新レコード
を追加(挿入)できる空きがあるか否かを判断す
る。第5図イに示されるように該当ページCに空
きがある場合、補助記憶制御装置14は第5図ロ
に示されるようにそのページC内に新レコードを
追加(挿入)する。
これに対し、第6図イや第7図イに示されるよ
うに該当ページC(Current)に空きがない場合、
補助記憶制御装置14は当該ページCのページ情
報中の前ページ番号Pまたは次ページ番号Nに基
づいて前のページP(Prior)または後のページ
(Next)を知り、そのページ情報を参照する。そ
して、このページ情報中の格納レコード数によつ
て隣接ページ(前または後のページ)に空きがあ
るか否かの判断が行なわれる。第6図イに示され
ているように、例えば前のページPに空きがある
場合、補助記憶制御装置14は第6図ロに示され
るように該当ページCから必要なレコードを前の
ページPへ移して(あふれ処理)該当ページCに
空きを作り、この空き領域に新レコードを格納す
る。このとき、ページPおよびペーCのページ情
報中の格納レコード数が図示の如く更新される。
うに該当ページC(Current)に空きがない場合、
補助記憶制御装置14は当該ページCのページ情
報中の前ページ番号Pまたは次ページ番号Nに基
づいて前のページP(Prior)または後のページ
(Next)を知り、そのページ情報を参照する。そ
して、このページ情報中の格納レコード数によつ
て隣接ページ(前または後のページ)に空きがあ
るか否かの判断が行なわれる。第6図イに示され
ているように、例えば前のページPに空きがある
場合、補助記憶制御装置14は第6図ロに示され
るように該当ページCから必要なレコードを前の
ページPへ移して(あふれ処理)該当ページCに
空きを作り、この空き領域に新レコードを格納す
る。このとき、ページPおよびペーCのページ情
報中の格納レコード数が図示の如く更新される。
一方、第7図イに示されているように隣接ペー
ジに空きがない場合、補助記憶制御装置14はペ
ージリンクされた空きページの先頭の空きページ
例えばページN′(ページ番号は連続とは限らな
い)を確保する。そして、補助記憶制御装置14
は第7図ロに示されるように該当ページCから必
要なレコードをページN′に移し、ページC(ペー
ジC,N′のいずれか空き領域が大きい方)に新
レコードを格納する。また、補助記憶制御装置1
4は各ページの論理的な順序関係を保つためペー
ジC,N′,Nのページ情報中の隣接ページ情報
(すなわち前ページ番号、次ページ番号)を図示
の如く更新する。このとき、ページC,N′のペ
ージ情報中の格納レコード数も更新される。ま
た、FCB内のページリンクされた空きページの
先頭アドレスも更新される。
ジに空きがない場合、補助記憶制御装置14はペ
ージリンクされた空きページの先頭の空きページ
例えばページN′(ページ番号は連続とは限らな
い)を確保する。そして、補助記憶制御装置14
は第7図ロに示されるように該当ページCから必
要なレコードをページN′に移し、ページC(ペー
ジC,N′のいずれか空き領域が大きい方)に新
レコードを格納する。また、補助記憶制御装置1
4は各ページの論理的な順序関係を保つためペー
ジC,N′,Nのページ情報中の隣接ページ情報
(すなわち前ページ番号、次ページ番号)を図示
の如く更新する。このとき、ページC,N′のペ
ージ情報中の格納レコード数も更新される。ま
た、FCB内のページリンクされた空きページの
先頭アドレスも更新される。
次にレコードの削除について説明する。この場
合、前述のようにゲツト命令またはポジシヨン命
令が実行されて削除位置が確定されると、レコー
ドの削除を指示するデリート(DELETE)命令
が発行される。補助記憶制御装置14は前述した
追加(挿入)の場合と同様に削除の対象となるペ
ージに付加されているページ情報を参照する。そ
して、補助記憶制御装置14はこのページ情報に
基づいて次のような処理を行なう。
合、前述のようにゲツト命令またはポジシヨン命
令が実行されて削除位置が確定されると、レコー
ドの削除を指示するデリート(DELETE)命令
が発行される。補助記憶制御装置14は前述した
追加(挿入)の場合と同様に削除の対象となるペ
ージに付加されているページ情報を参照する。そ
して、補助記憶制御装置14はこのページ情報に
基づいて次のような処理を行なう。
すなわち、補助記憶制御装置14は該当ページ
内で削除レコードを詰める。このとき、領域有効
利用の指示が出されていれば、補助記憶制御装置
14は該当ページ内の格納レコードが削除対象レ
コードだけであつたか否かを格納レコード数によ
つて判断する。該当ページ内で対象レコードのみ
の場合、補助記憶制御装置14は当該ページを有
効ページリストからはずして空きページリストに
置く(ページ削除)と共に、前のページのページ
情情報中の次ページ番号並びに後のページのペー
ジ情報中の前ページ番号を更新する。また、補助
記憶制御装置14は該当ページ内に対象レコード
以外のレコードも存在する場合、格納レコード数
が所定数以下であるか否かの判断を行なう。そし
て所定数以下の場合、補助記憶制御装置14は隣
接ページとの間で併合が可能か否かの併合チエツ
クを行ない、該当ページ並びに隣接ページに格納
されているレコードが1つのページに収容可能で
あれば1つのページに併合する(併合処理)。こ
の併合によつて不要になつたページは空きページ
リストに置かれ、今後のページ再利用に備えられ
る。
内で削除レコードを詰める。このとき、領域有効
利用の指示が出されていれば、補助記憶制御装置
14は該当ページ内の格納レコードが削除対象レ
コードだけであつたか否かを格納レコード数によ
つて判断する。該当ページ内で対象レコードのみ
の場合、補助記憶制御装置14は当該ページを有
効ページリストからはずして空きページリストに
置く(ページ削除)と共に、前のページのページ
情情報中の次ページ番号並びに後のページのペー
ジ情報中の前ページ番号を更新する。また、補助
記憶制御装置14は該当ページ内に対象レコード
以外のレコードも存在する場合、格納レコード数
が所定数以下であるか否かの判断を行なう。そし
て所定数以下の場合、補助記憶制御装置14は隣
接ページとの間で併合が可能か否かの併合チエツ
クを行ない、該当ページ並びに隣接ページに格納
されているレコードが1つのページに収容可能で
あれば1つのページに併合する(併合処理)。こ
の併合によつて不要になつたページは空きページ
リストに置かれ、今後のページ再利用に備えられ
る。
次にマルチプログラミング下でのコンカレント
アクセス(同時アクセス)について説明する。本
発明では従来のようなフアイル単位でなくページ
単位でフアイル更新が行なえるため、一方のタス
クがフアイル更新中であつても、(ページさえ異
なれば)他方のタスクが当該フアイルを参照する
といつた特殊なコンカレントアクセスが可能とな
る。本実施例では、このようなコンカレントアク
セスがどのような条件下でも正しく行なわれるよ
うに、前述した如く同時アクセス管理リスト(第
4図参図)が用意されている。このリストは補助
記憶制御装置14がMM上に作成するようになつ
ている。今、上記リストにフアイル名としてA
が、ページ番号としてCが書き込まれているもの
とする。この状態で別のタスクが同じフアイルA
のページCを同時に参照または更新しようとする
場合、補助記憶制御装置14は上記リスト中に該
当するフアイル名並びにページ番号が存在するか
否かを判断する。上述のように存在する場合、補
助記憶制御装置14は対応するフアイル参照/更
新フラグF1が“1”,“0”いずれであるかを調
べる。F1=“1”であれば該当ページCが更新状
態にあるため、補助記憶制御装置14はページC
への同時アクセスが禁止されているものと判断す
る。一方、F1=“0”であれば、補助記憶制御装
置14はタスク数Tが「0」であるか否かを調
べ、該当ページCへの同時アクセスが可能である
か否かを判断する。(F1=“0”で)Tが「0」
でない場合、該当ページCが参照されていること
を示している。この場合、上記別のタスクがペー
ジCの参照を要求していれば、同時アクセスは許
可され、ページCの更新を要求していれば同時ア
クセスは禁止される。これに対し、(F1=“0”
で)Tが「0」の場合には、該当ページCが参照
もされていないことを示しており、参照、更新い
ずれの要求に対しても同時アクセスが許可され
る。補助記憶制御装置14は同時アクセスが可能
であるものと判断した場合、Tを+1とすると共
に、フアイル更新であればF1をセツトし、該当
ページCに対する参照または更新を行なう。
アクセス(同時アクセス)について説明する。本
発明では従来のようなフアイル単位でなくページ
単位でフアイル更新が行なえるため、一方のタス
クがフアイル更新中であつても、(ページさえ異
なれば)他方のタスクが当該フアイルを参照する
といつた特殊なコンカレントアクセスが可能とな
る。本実施例では、このようなコンカレントアク
セスがどのような条件下でも正しく行なわれるよ
うに、前述した如く同時アクセス管理リスト(第
4図参図)が用意されている。このリストは補助
記憶制御装置14がMM上に作成するようになつ
ている。今、上記リストにフアイル名としてA
が、ページ番号としてCが書き込まれているもの
とする。この状態で別のタスクが同じフアイルA
のページCを同時に参照または更新しようとする
場合、補助記憶制御装置14は上記リスト中に該
当するフアイル名並びにページ番号が存在するか
否かを判断する。上述のように存在する場合、補
助記憶制御装置14は対応するフアイル参照/更
新フラグF1が“1”,“0”いずれであるかを調
べる。F1=“1”であれば該当ページCが更新状
態にあるため、補助記憶制御装置14はページC
への同時アクセスが禁止されているものと判断す
る。一方、F1=“0”であれば、補助記憶制御装
置14はタスク数Tが「0」であるか否かを調
べ、該当ページCへの同時アクセスが可能である
か否かを判断する。(F1=“0”で)Tが「0」
でない場合、該当ページCが参照されていること
を示している。この場合、上記別のタスクがペー
ジCの参照を要求していれば、同時アクセスは許
可され、ページCの更新を要求していれば同時ア
クセスは禁止される。これに対し、(F1=“0”
で)Tが「0」の場合には、該当ページCが参照
もされていないことを示しており、参照、更新い
ずれの要求に対しても同時アクセスが許可され
る。補助記憶制御装置14は同時アクセスが可能
であるものと判断した場合、Tを+1とすると共
に、フアイル更新であればF1をセツトし、該当
ページCに対する参照または更新を行なう。
一方、上記リスト中に該当するフアイル名並び
にページ番号が存在しない場合、補助記憶制御装
置14は当該リストの空き領域(T=「0」の領
域も含まれる)に、フアイル名、ページ番号を書
き込むと共にT=「1」を書き込み、かつフアイ
ル更新であればF1をセツトする。しかして、該
当ページに対する参照または更新が行なわれる。
にページ番号が存在しない場合、補助記憶制御装
置14は当該リストの空き領域(T=「0」の領
域も含まれる)に、フアイル名、ページ番号を書
き込むと共にT=「1」を書き込み、かつフアイ
ル更新であればF1をセツトする。しかして、該
当ページに対する参照または更新が行なわれる。
フアイル更新をしているタスク(補助記憶制御
装置14)は、隣接ページをアクセスしているタ
スクが存在する(これは、上記リストから判断で
きる)場合、同一ページ内での更新が不可であれ
ば、あふれ処理(第6図イ,ロ参照)を行なわな
いで分割処理(第7図イ,ロ参照)を行なう。こ
れは隣接ページの格納レコードが変更されないよ
うにするためである。この場合、ページリンクが
変わるため、上記フアイル更新をしているタスク
は上記リスト中の該当するページ情報変更フラグ
F2をセツトする。これに対し、上記隣接ページ
を参照しているタスク(補助記憶制御装置14)
は、上記ページ情報変更フラグF2がセツトされ
た時点でページ情報を取り込んでいれば、ページ
情報を再読み出しする。これによつてフアイル更
新後の正しいレコードの参照が可能となる。な
お、補助記憶制御装置14は或るタスクからのフ
アイル参照または更新の要求を実行し終えると、
上記リスト中の該当するTを−1すると共に、フ
アイル更新の終了であればF1,F2をリセツトす
る。
装置14)は、隣接ページをアクセスしているタ
スクが存在する(これは、上記リストから判断で
きる)場合、同一ページ内での更新が不可であれ
ば、あふれ処理(第6図イ,ロ参照)を行なわな
いで分割処理(第7図イ,ロ参照)を行なう。こ
れは隣接ページの格納レコードが変更されないよ
うにするためである。この場合、ページリンクが
変わるため、上記フアイル更新をしているタスク
は上記リスト中の該当するページ情報変更フラグ
F2をセツトする。これに対し、上記隣接ページ
を参照しているタスク(補助記憶制御装置14)
は、上記ページ情報変更フラグF2がセツトされ
た時点でページ情報を取り込んでいれば、ページ
情報を再読み出しする。これによつてフアイル更
新後の正しいレコードの参照が可能となる。な
お、補助記憶制御装置14は或るタスクからのフ
アイル参照または更新の要求を実行し終えると、
上記リスト中の該当するTを−1すると共に、フ
アイル更新の終了であればF1,F2をリセツトす
る。
ところで、本発明では、各ページ毎の格納レコ
ード数を保持する一種のインデツクスページを作
成しておくことにより、動的な順編成フアイルに
対してレコード番号などによるダイレクトアクセ
スも可能となる。また、本発明は索引順編成フア
イルのデータレコード部分にも適用実施可能であ
る。
ード数を保持する一種のインデツクスページを作
成しておくことにより、動的な順編成フアイルに
対してレコード番号などによるダイレクトアクセ
スも可能となる。また、本発明は索引順編成フア
イルのデータレコード部分にも適用実施可能であ
る。
以上詳述したように本発明の順編成フアイルの
更新方式によれば、以下に列挙されれている種種
の作用効果を奏することができる。
更新方式によれば、以下に列挙されれている種種
の作用効果を奏することができる。
順編成フアイルにおけるデータレコードの追
加(挿入)、削除が可能となる。
加(挿入)、削除が可能となる。
追加(挿入)、削除に際し、従来のようにワ
ークフアイルを必要とせず部分的なページ修正
で済むため、○イ高速処理、○ロオンライン、リア
ルタイム環境下での使用、○ハマルチプログラミ
ング環境下のコンカレントアクセスがそれぞれ
可能となる。
ークフアイルを必要とせず部分的なページ修正
で済むため、○イ高速処理、○ロオンライン、リア
ルタイム環境下での使用、○ハマルチプログラミ
ング環境下のコンカレントアクセスがそれぞれ
可能となる。
フアイル領域の有効利用が図れる。
順編成フアイルを修正するプログラムの単純
化が図れる。
化が図れる。
第1図は本発明の一実施例を示すブロツク図、
第2図は上記実施例で適用されるページ情報のフ
オーマツトを示す図、第3図は論理的な順序関係
を保つページ列を説明するための図、第4図は同
時アクセス管理リストの一例を示す図、第5図
イ,ロ、第6図イ,ロ、第7図イ,ロはそれぞれ
レコード追加(挿入)前後のページの状態を説明
するためのものでイは追加(挿入)前、ロは追加
(挿入)後の状態図である。 11…演算制御装置、12…主記憶(MM)、
13…補助記憶装置、14…補助記憶制御装置。
第2図は上記実施例で適用されるページ情報のフ
オーマツトを示す図、第3図は論理的な順序関係
を保つページ列を説明するための図、第4図は同
時アクセス管理リストの一例を示す図、第5図
イ,ロ、第6図イ,ロ、第7図イ,ロはそれぞれ
レコード追加(挿入)前後のページの状態を説明
するためのものでイは追加(挿入)前、ロは追加
(挿入)後の状態図である。 11…演算制御装置、12…主記憶(MM)、
13…補助記憶装置、14…補助記憶制御装置。
Claims (1)
- 【特許請求の範囲】 1 ページ番号がふられた一定サイズのページの
列からなる順編成フアイルであつて、各ページに
は自身のページ番号C、前ページ番号P、次ペー
ジのページ番号Nおよび格納レコード数nを示す
ページ情報が付加されている各種順編成フアイ
ル、並びにこれらフアイルの占めるエクステント
を各フアイル単位で管理するための情報リストで
あるフアイル・コントロール・ブロツクが格納さ
れている補助記憶装置と、 プログラムによるタスク毎のオープン指令発行
時に当該指令で指定されるフアイルの現在位置を
示すフアイル・アクセス・コントロール・ブロツ
クを主記憶上の初期設定する演算制御装置と、 この演算制御装置からのオープン指令に応じ、
指定されたフアイルに対応するフアイル・コント
ロール・ブロツクを上記補助記憶装置から読み出
して上記主記憶にロードする手段と、 上記演算制御装置からの位置付けに関する指令
に応じ、フアイルアクセス位置を確定すると共に
上記主記憶上の対応するフアイル・アクセス・コ
ントロール・ブロツクを更新する手段と、 上記演算制御装置からのレコードの追加指令に
応じ上記確定されたフアイルアクセス位置のペー
ジの上記ページ情報を参照し、当該ベージ情報に
基づいてページ単位でレコードの追加を行なうと
共に更新ページのページ情報を更新する追加手段
と、 上記演算制御装置からのレコードの削除指令に
応じ上記確定されたフアイルアクセス位置のペー
ジから指定レコードを削除し、同ページの上記ペ
ージ情報中の格納レコード数nを更新する削除手
段とを具備し、 上記追加手段は、上記参照したページ情報中の
上記格納レコード数nに基づいて、該当ページに
新レコードを追加できる空きがあるか否かを調
べ、空きがあれば、該当ページ内に新レコードを
追加して、当該ページ情報中の格納レコード数n
を更新し、空きがなければ、当該ページ情報中の
上記前ページ番号Pの示す前ページまたは上記次
ページ番号Nの示す次ページのページ情報中の格
納レコード数nをもとに、隣接ページに空きがあ
るか否かを調べ、隣接ページに空きがあれば、そ
の隣接ページに該当ページから必要レコードを移
して該当ページに空き領域を作り、その空き領域
に新レコードを格納すると共に、該当ページおよ
び上記必要レコードが移された隣接ページの各ペ
ージ情報中の格納レコード数nを更新することを
特徴とする順編成フアイルの更新方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP57128608A JPS5920068A (ja) | 1982-07-23 | 1982-07-23 | 順編成ファイルの更新方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP57128608A JPS5920068A (ja) | 1982-07-23 | 1982-07-23 | 順編成ファイルの更新方式 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS5920068A JPS5920068A (ja) | 1984-02-01 |
| JPH0432419B2 true JPH0432419B2 (ja) | 1992-05-29 |
Family
ID=14988985
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP57128608A Granted JPS5920068A (ja) | 1982-07-23 | 1982-07-23 | 順編成ファイルの更新方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS5920068A (ja) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2608093B2 (ja) * | 1988-03-18 | 1997-05-07 | 富士通株式会社 | デ−タ管理装置 |
| JPH05303521A (ja) * | 1992-04-06 | 1993-11-16 | Nec Corp | 順編成ファイルアクセス方式 |
-
1982
- 1982-07-23 JP JP57128608A patent/JPS5920068A/ja active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS5920068A (ja) | 1984-02-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR100398753B1 (ko) | 효과적인 파일 갱신 처리 및 복구 처리를 이용하는트랜잭션 처리 시스템 | |
| RU2182360C2 (ru) | Способ обращения к данным, хранимым в компьютерной системе, способ архивирования данных и компьютерная система для осуществления способов | |
| JPH0827754B2 (ja) | コンピュータシステムにおけるファイル管理方法及びファイル管理システム | |
| JPH04229355A (ja) | データアクセス方法及びデータ処理システム | |
| US5442765A (en) | Database system which adjusts the data storage order based on the processing speed of the storage media | |
| JPS62239226A (ja) | 直接アクセス記憶装置のデ−タ・レコ−ドの部分的変更方法 | |
| JP2539347B2 (ja) | フアイル管理方法 | |
| JPH0432419B2 (ja) | ||
| JP3138575B2 (ja) | フアイル複写移行方式 | |
| US5978810A (en) | Data management system and method for storing a long record in a set of shorter keyed records | |
| JPS5947341B2 (ja) | 索引順編成フアイルの動的排他制御方式 | |
| US5659744A (en) | Data file store system with means for efficiently managing freeing of data blocks | |
| JPH04260141A (ja) | データ共有処理装置 | |
| JP2767966B2 (ja) | 高速ファイルアクセス方式 | |
| JPH01255028A (ja) | 外部記憶装置のアクセス方法 | |
| JP2605476B2 (ja) | ダンプ採取処理方法 | |
| JP2735400B2 (ja) | 非同期入出力制御方式 | |
| JPH0221610B2 (ja) | ||
| JPH01207824A (ja) | モジュール結合制御方式 | |
| JP2988048B2 (ja) | 辞書情報常駐アクセス装置 | |
| JPH06139122A (ja) | ファイル記憶装置 | |
| JPH04156626A (ja) | Vtocのファイルエントリ作成方式 | |
| JPH06110763A (ja) | ファイルシステム | |
| JP2000057049A (ja) | フラッシュメモリ・ファイルシステム | |
| CN115705145A (zh) | 基于存储器的数据迁移方法及装置 |