JPH0635772A - 入出力処理システム - Google Patents

入出力処理システム

Info

Publication number
JPH0635772A
JPH0635772A JP4212122A JP21212292A JPH0635772A JP H0635772 A JPH0635772 A JP H0635772A JP 4212122 A JP4212122 A JP 4212122A JP 21212292 A JP21212292 A JP 21212292A JP H0635772 A JPH0635772 A JP H0635772A
Authority
JP
Japan
Prior art keywords
record
input
file
output
storage device
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.)
Pending
Application number
JP4212122A
Other languages
English (en)
Inventor
Jitsushiyun Kuruma
日▲濬▼ 車
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP4212122A priority Critical patent/JPH0635772A/ja
Publication of JPH0635772A publication Critical patent/JPH0635772A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【目的】 直編成ファイルのレコード長が小さい場合で
も命令発行のオーバヘッドを小さくし、レコード長に関
係なくファイル入出力の高速化を可能とする。 【構成】 オペレーティングシステム部4は直編成ファ
イルを新規に作成する場合、直編成ファイルを構成する
各レコードをハードウェア部5の補助記憶装置上に可能
な限り連続して割り当てるようにする。オペレーティン
グシステム部4は各レコードの先頭データを指すポイン
タと、各レコードが連続して配置されているか否かを示
すレコード番号とを基にブロックアドレステーブルを作
成する。オペレーティングシステム部4は論理的に連続
するレコードのブロックに対する入出力命令が発生する
と、ブロックアドレステーブルの内容を基に該入出力命
令を物理的に連続して配置されたレコードの入出力命令
と、物理的に独立して配置されたレコードの入出力命令
とに分割してハードウェア部5に入出力要求を出す。

Description

【発明の詳細な説明】
【0001】
【技術分野】本発明は入出力処理システムに関し、特に
補助記憶装置上に作成された直編成ファイルに対するフ
ァイルアクセスに関する。
【0002】
【従来技術】データ量が多いために主記憶装置上に格納
できないような大規模な問題を扱う応用プログラムにお
いては、その大量のデータを格納するために補助記憶装
置を用いる必要がある。
【0003】例えば、FORTRAN言語などの高級言
語で記述した応用プログラムが補助記憶装置を扱う場
合、補助記憶装置上のデータはファイルと呼ばれる論理
単位で管理される。FORTRAN言語で直接扱えるフ
ァイルには順編成ファイルと直編成ファイルとがある
が、上述のような大規模な問題を扱う場合にはデータに
対してランダムアクセスを実現する必要があるので、補
助記憶装置上のデータは直編成ファイルで管理される。
【0004】直編成ファイルでは、図5に示すように、
データがレコード単位で管理されている。直編成ファイ
ルのレコードの大きさはファイル作成時に一意的に定め
られ、第1レコードから第7レコードまでの各レコード
の先頭データを指すポインタp1 〜p7 がポインタテー
ブル8にまとめられている。
【0005】このポインタテーブル8を用いることによ
って、補助記憶装置9上の第1レコードから第7レコー
ドまでの各レコードに対して同等にアクセスすることが
できる。
【0006】従来、直編成ファイルにおいては、ポイン
タテーブル8がファイルの先頭に制御情報としておかれ
ており、その後に各レコードのデータをレコード毎にま
とめて配置することで実現されている。この場合、各レ
コードの並ぶ順番などは管理されていない。
【0007】一方、上記のような大規模な問題をスーパ
コンピュータで処理するためには、ファイルの入出力を
高速化することが非常に重要である。一般に、スーパコ
ンピュータに代表される計算機においては、データをあ
る単位でまとめて入出力することでファイルの入出力を
高速化している。
【0008】しかしながら、直編成ファイルの場合には
ファイルを構成する各レコードの並ぶ順番などについて
の規定がなく、入出力単位としてのブロックの大きさが
レコード長によって制限されている。したがって、直編
成ファイルにおける入出力の処理速度が、直編成ファイ
ルを作成するときに決定されるレコード長によって大き
く左右される。
【0009】また、同じ量のデータを主記憶装置(図示
せず)と補助記憶装置9との間で転送する場合でも、直
編成ファイルのレコード長が小さければ、レコード長が
大きいときに比べて多数の入出力命令を発行する必要が
生じる。そのため、命令発行のオーバヘッドが大きくな
るという問題がある。
【0010】直編成ファイルのレコード長はファイル作
成時に決定できるだけで、そのレコード長を変更するこ
とができない。このため、応用プログラムにおいてどう
しても小さいレコード長を扱う必要がある場合には、そ
のレコード長のレコード毎にいくつもの入出力命令を発
行しなければならないので、性能が大きく低下するとい
う問題がある。
【0011】
【発明の目的】本発明は上記のような従来のものの問題
点を除去すべくなされたもので、直編成ファイルのレコ
ード長が小さい場合でも命令発行のオーバヘッドを小さ
くすることができ、レコード長に関係なくファイルの入
出力を高速に行うことができる入出力処理システムの提
供を目的とする。
【0012】
【発明の構成】本発明による入出力処理システムは、補
助記憶装置上の直編成ファイルと主記憶装置との間で高
速にデータのやりとりを行う入出力処理システムであっ
て、前記直編成ファイルを構成するレコードの前記補助
記憶装置上での格納位置を示すポインタと該レコードを
含む論理的に連続する複数のレコードが物理的に連続し
て配置されているか否かを示す配置情報とを対応付けて
格納する格納手段と、前記格納手段の内容を基に前記直
編成ファイルに対する入出力命令が物理的に連続して配
置された複数のレコード各々に対するものであるときに
該入出力命令を前記複数のレコードを一括して入出力す
る命令に置換える手段とを設けたことを特徴とする。
【0013】
【実施例】次に、本発明の一実施例について図面を参照
して説明する。
【0014】図1は本発明の一実施例の構成を示すブロ
ック図である。図において、応用プログラム1はFOR
TRAN言語で記述されており、コンパイラ(CL)部
2によって実行形式プログラム3に変換される。ここ
で、コンパイラ部2でのコンパイラの動作にはライブラ
リ(図示せず)とのリンクなどの処理が含まれている。
【0015】オペレーティングシステム(OS)部4は
実行プログラム3の実行時にオペレーティングシステム
の動作を規定する。ハードウェア(HW)部5はオペレ
ーティングシステムによって制御されるハードウェア
(補助記憶装置など)を規定する。
【0016】図2は本発明の一実施例による直編成ファ
イルの概念を示す図である。図において、ブロックアド
レステーブル6は連続して配置されたレコード番号
「1」〜「7」を格納する配置情報部6aと、補助記憶
装置7上における各レコードの先頭データを指すポイン
タp1 〜p7 を格納するポインタ部6bとからなってい
る。尚、連続して配置された第2レコードから第4レコ
ードに対応する配置情報部6aには、連続して配置され
ている最後の第4レコードのレコード番号「4」が格納
される。
【0017】これら図1および図2を用いて直編成ファ
イルを新規に作成する場合の動作について説明する。オ
ペレーティングシステム部4は直編成ファイルを新規に
作成する場合、直編成ファイルを構成する第1レコード
から第7レコードまでの各レコードを補助記憶装置7上
に可能な限り連続して割り当てるようにする。
【0018】このとき、オペレーティングシステム部4
は第1レコードから第7レコードまでの各レコードの先
頭データを指すポインタp1 〜p7 と、各レコードが連
続して配置されているか否かを示すレコード番号1〜7
とを基にブロックアドレステーブル6を作成する。
【0019】この場合、第2レコードから第4レコード
が補助記憶装置7上で連続して割り当てられているた
め、第2レコードから第4レコードに対応する配置情報
部6aには夫々最後の第4レコードのレコード番号
「4」が格納される。
【0020】図3および図4は本発明の一実施例による
入出力処理システムで動作するプログラム例を示す図で
ある。これらの図においては、直編成ファイルのオープ
ン11,21と、ファイル入出力12,22と、ファイ
ルのクローズ13,24とを行うFORTRANプログ
ラム(PROGRAM EX1 ,PROGRAM EX
2 )を示している。
【0021】図3に示すPROGRAM EX1 と図4
に示すPROGRAM EX2 との違いは、PROGR
AM EX1 によって作成されるファイルのレコード長
がPROGRAM EX2 によって作成されるファイル
のレコード長のM倍(M=1000)であるということ
である。
【0022】これに対応して、FORTRAN言語レベ
ルでのライト(WRITE)命令の発行回数はPROG
RAM EX2 でのライト命令の発行回数がPROGR
AMEX1 でのライト命令の発行回数のM倍となってい
る。
【0023】これは従来の方法で直編成ファイルを実現
した場合、PROGRAM EX1とPROGRAM
EX2 とを単純に比較すると、命令発行のオーバヘッド
がPROGRAM EX2 がPROGRAM EX1 の
M倍になるということを意味する。この差はスーパコン
ピュータのような高速性を追及するコンピュータにおい
ては非常に重要である。
【0024】そのため、まずコンパイラ部2でPROG
RAM EX2 を実行形式プログラム3に翻訳する場合
に、ファイル出力を行うループ23を1つの命令に置き
換える。
【0025】これは下記のような入出力命令(以下パイ
プライン入出力命令とする)を命令セットに加えること
によって実現可能である。 PIN port,addrtbl POUT port,addrtbl
【0026】ここで、の命令およびの命令は夫々補
助記憶装置7から主記憶装置(図示せず)へのパイプラ
イン転送命令、および主記憶装置から補助記憶装置7へ
のパイプライン転送命令に対応する。また、portは
補助記憶装置7のポート番号を、addrtblは転送
すべきデータについての情報を持つ転送データテーブル
へのポインタを示す。
【0027】PROGRAM EX2 のファイル出力を
行うループ23の場合、直編成ファイルの第Kレコード
から第(K+M−1)レコードまで連続して各レコード
毎にN要素(直編成ファイルのレコード長に等しい)ず
つ書込む。よって、転送データテーブルにはレコード長
Nと書込み開始レコードKと書込み終了レコード(K+
M−1)との3つの情報が含まれている。
【0028】書込むレコードが不連続である場合には書
込み開始レコードKおよび書込み終了レコード(K+M
−1)のかわりに書込むレコードの番号のリストが含ま
れている。コンパイラ部2では上記のようなパイプライ
ン入出力命令と転送データテーブルとを実行形式プログ
ラム3に埋め込む。
【0029】これら図1〜図4を用いて本発明の一実施
例の動作について説明する。但し、直編成ファイルを構
成する第1レコードから第7レコードが、図2に示すよ
うに補助記憶装置7上に割り当てられ、コンパイラ部2
が実行形式プログラム3に、上記のようなパイプライン
入出力命令と転送データテーブルとを埋め込んでいるも
のとする。
【0030】このような場合に、第2レコードから第6
レコードまでのブロックに対するパイプライン入出力命
令が発生すると、オペレーティングシステム部4はこの
パイプライン入出力命令を第2レコードから第4レコー
ドまでのパイプライン入出力命令と、第5レコードのパ
イプライン入出力命令と、第6レコードのパイプライン
入出力命令との3つのパイプライン入出力命令に分割し
てハードウェア部5に入出力要求を出す。
【0031】このようにすることによって、従来、第2
レコードから第4レコードまでのブロックに対するパイ
プライン入出力命令が3回の入出力要求が必要だったも
のが、第2レコードから第4レコードまでのパイプライ
ン入出力命令の1回の入出力要求に減少する。
【0032】説明を簡単にするために単純な例を用いて
説明したが、例えばPROGRAMEX2 のようなプロ
グラムをスーパコンピュータで実現する場合、すべての
レコードが論理的に連続して割り当てられるということ
も多々あるので、必要な入出力要求の数が激減する。
【0033】また、複数の論理的に連続したレコードが
一括して扱われるので、1回の転送当りのデータ長も増
大し、転送効率がよくなる。したがって、図4に示すP
ROGRAM EX2 においても、図3に示すPROG
RAM EX1 と同等の性能を得ることができる。
【0034】このように、オペレーティングシステム部
4による直編成ファイルの作成時に論理的に連続する複
数のレコードを可能な限り物理的に連続して配置し、各
レコードの補助記憶装置7上での格納位置を示すポイン
タと該レコードを含む論理的に連続する複数のレコード
が物理的に連続して配置されているか否かを示す配置情
報とを対応付けてブロックアドレステーブル6に格納
し、直編成ファイルに対する入出力命令が物理的に連続
して配置された複数のレコード各々に対するものである
ときに、ブロックアドレステーブル6の内容を基に該入
出力命令をオペレーティングシステム部4によって複数
のレコードを一括して入出力する命令に置換えるように
することによって、直編成ファイルのレコード長が小さ
い場合でも命令発行のオーバヘッドを小さくすることが
でき、レコード長に関係なく高速なファイル入出力を実
現することができる。これはデータが多くて主記憶装置
に格納できないような大規模な問題を解く場合に非常に
有効である。
【0035】
【発明の効果】以上説明したように本発明によれば、直
編成ファイルを構成するレコードの補助記憶装置上での
格納位置を示すポインタと該レコードを含む論理的に連
続する複数のレコードが物理的に連続して配置されてい
るか否かを示す配置情報とを対応付けて格納し、この格
納した内容を基に直編成ファイルに対する入出力命令が
物理的に連続して配置された複数のレコード各々に対す
るものであるときに該入出力命令を複数のレコードを一
括して入出力する命令に置換えるようにすることによっ
て、直編成ファイルのレコード長が小さい場合でも命令
発行のオーバヘッドを小さくすることができ、レコード
長に関係なくファイルの入出力を高速に行うことができ
るという効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例の構成を示すブロック図であ
る。
【図2】本発明の一実施例による直編成ファイルの概念
を示す図である。
【図3】本発明の一実施例による入出力処理システムで
動作するプログラム例を示す図である。
【図4】本発明の一実施例による入出力処理システムで
動作するプログラム例を示す図である。
【図5】従来例による直編成ファイルの概念を示す図で
ある。
【符号の説明】
2 コンパイラ部 4 オペレーティングシステム部 5 ハードウェア部 6 ブロックアドレステーブル 6a 配置情報部 6b ポインタ部 7 補助記憶装置

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 補助記憶装置上の直編成ファイルと主記
    憶装置との間で高速にデータのやりとりを行う入出力処
    理システムであって、前記直編成ファイルを構成するレ
    コードの前記補助記憶装置上での格納位置を示すポイン
    タと該レコードを含む論理的に連続する複数のレコード
    が物理的に連続して配置されているか否かを示す配置情
    報とを対応付けて格納する格納手段と、前記格納手段の
    内容を基に前記直編成ファイルに対する入出力命令が物
    理的に連続して配置された複数のレコード各々に対する
    ものであるときに該入出力命令を前記複数のレコードを
    一括して入出力する命令に置換える手段とを設けたこと
    を特徴とする入出力処理システム。
  2. 【請求項2】 前記格納手段に格納された前記配置情報
    を、前記複数のレコードが論理的に連続する範囲を示す
    情報としたことを特徴とする請求項1記載の入出力処理
    システム。
JP4212122A 1992-07-15 1992-07-15 入出力処理システム Pending JPH0635772A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4212122A JPH0635772A (ja) 1992-07-15 1992-07-15 入出力処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4212122A JPH0635772A (ja) 1992-07-15 1992-07-15 入出力処理システム

Publications (1)

Publication Number Publication Date
JPH0635772A true JPH0635772A (ja) 1994-02-10

Family

ID=16617250

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4212122A Pending JPH0635772A (ja) 1992-07-15 1992-07-15 入出力処理システム

Country Status (1)

Country Link
JP (1) JPH0635772A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008299456A (ja) * 2007-05-30 2008-12-11 Sony Corp データ記憶装置及びデータ管理方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008299456A (ja) * 2007-05-30 2008-12-11 Sony Corp データ記憶装置及びデータ管理方法

Similar Documents

Publication Publication Date Title
TWI848131B (zh) 資料結構處理
US6223339B1 (en) System, method, and product for memory management in a dynamic translator
JPS61190638A (ja) 仮想計算機のフアイル制御方式
GB2519801A (en) Computing architecture and method for processing data
JPH1097423A (ja) ループ処理の並列実行制御に適したレジスタ構成を有するプロセッサ
US20150089149A1 (en) Arithmetic processing device and control method for arithmetic processing device
US5745749A (en) Method and system of file version clustering of object blocks using a compiler and database and having a predetermined value
JPH0635772A (ja) 入出力処理システム
JPH0192856A (ja) アクセス及び欠陥論理信号を用いて主メモリユニットを保護する装置及び方法
JPS6261132A (ja) デ−タ転送命令制御方式
US12124699B2 (en) Processing device for handling misaligned data
Spinellis Optimizing File Streaming Input/Output
KR920008959B1 (ko) 가상 컴퓨터 시스템의 정보 이송 방법
JPS6116336A (ja) Fortran入出力制御処理方式
JPH04253239A (ja) 仮想記憶方式
JPH0260011B2 (ja)
JPS61204742A (ja) デ−タ処理システムのスプ−ル制御方式
JP3301551B2 (ja) ソート処理機能を持つデータ処理装置
JPH04314130A (ja) 直接編成ファイルへの入出力方法
JPS59117620A (ja) 計算機システム
JPH0490038A (ja) データ処理装置
JPH04147340A (ja) データ管理呼出方式
JPS6086638A (ja) プログラムの記憶管理方式
Caccin et al. Minicomputer version of the NLTE line transfer program of Auer, Heasley, and Milkey
JPH04182750A (ja) データ処理装置