JPS60176143A - プログラム呼び出し装置 - Google Patents

プログラム呼び出し装置

Info

Publication number
JPS60176143A
JPS60176143A JP59230480A JP23048084A JPS60176143A JP S60176143 A JPS60176143 A JP S60176143A JP 59230480 A JP59230480 A JP 59230480A JP 23048084 A JP23048084 A JP 23048084A JP S60176143 A JPS60176143 A JP S60176143A
Authority
JP
Japan
Prior art keywords
routine
sort
control
address
program
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.)
Granted
Application number
JP59230480A
Other languages
English (en)
Other versions
JPH0760380B2 (ja
Inventor
ゲイリー・デービツド・アーチヤー
ナーム・ジエイ・グリーンバーグ
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS60176143A publication Critical patent/JPS60176143A/ja
Publication of JPH0760380B2 publication Critical patent/JPH0760380B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00—Arrangements for program control, e.g. control units
    • G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46—Multiprogramming arrangements
    • G06F9/48—Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806—Task transfer initiation or dispatching
    • G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/22—Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
    • G06F7/24—Sorting, i.e. extracting data from one or more carriers, rearranging the data in numerical or other ordered sequence, and rerecording the sorted data on the original carrier or on a different carrier or set of carriers sorting methods in general
    • Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00—Data processing: database and file management or data structures
    • Y10S707/99931—Database or file accessing
    • Y10S707/99937—Sorting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Executing Machine-Instructions (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [産業上の利用分野] この発明は、ハイレベルのアプリケーションプログラム
からプログラムを動的に呼び出すための装置に関し、特
にソート(分類)ユテイリテイとアプリケーションプロ
グラムが一つのオペレーティングシステムの制御下で走
行するような多重プログラミング環境中で、アプリケー
ションプログラムから呼び出されたソートユテイリテイ
に関する入出力状況情報と入出力レコードとを転送する
ための装置に関するものである。
[従来技術] 従来においては、例えばC0BOLで書かれたアプリケ
ーションプログラムのようなユーザープログラムに入出
力情報及びデータセットの状況を与えるために、アプリ
ケーションプログラムによって呼び出されたソートプロ
グラムは、オペレーティングシステムの管理の下に実行
される。入力ファイルからの読み取り及び出力ファイル
への書き込みなどの入出力処理を管理するためのアプリ
ケーションプログラムに制御を戻すようにしている。と
ころが、この、ソートユテイリテイと呼び出しプログラ
ム(アプリケーションプログラム)の間の制御の転送に
はかなりの時間がかかり、このことによりソートの実行
速度が低下する惧れがある。ただし、長所としては、オ
ペレーティングシステムが状況情報をその呼び出しプロ
グラム(この場合、アプリケーションプログラム)にひ
き渡たすということがある。
コノ観点から、O8/VS 5ORT/MERCE リ
リース5(プログラム番号5740−8M1)を使用す
る、O8/VS用(7)IBM VSCOBOL (プ
ログラム番号5740−CBI)におけるソート動詞を
実行するためには、C0BOLが、C0BOLで書かれ
たアプリケーションプログラムとソートユテイリテイの
間のインターフェースに対してひき渡される一度に一つ
のレコードに関して、Iloの活動な管理する必要があ
る。このことは、I BM Publication 
GC−26−3857−2、O8/VS用(7)IBM
 VS C0BOLに若干の記載がある。また、ソート
ユテイリテイを動的に呼び出すときに使用されるO8/
VSSORT/MERGE リリース5パラメータリス
トは、I B M Publication 5C33
−4035−7、O8/ V S 5ort、/Mer
ge Progra+imer’ s Guide。
100〜112ページに記載されている。このパラメー
タリストは、特に設けられた出口E15(入力レコード
の処理用)及び出口E35(出力レコードの処理用)の
アドレスを提供する。しかし、これについてはまたあと
で述べるが、入出力レコード処理用の出口E15及びE
35は、個々のレコードの通過や、ソートユテイリテイ
とユーザーあるいはアプリケーションプログラムの間の
インターフェースに制御を転送に使用するには全く不十
分である。
この従来技術のパラメータリストはMERGE。
5ORT、RECORD、MODS、DEBUG、AL
TSEQのステートメントの開始及び終了アドレスを与
える。さらにこのパラメータリストの拡張部分はSUM
、INCLUDEloMIT、0UTREC,INRE
Cのステートメントの開始及び終了アドレスを与える(
これらのパラメータリストについては本発明の実施例に
関連して詳しく説明する)。しかしながら、このパラメ
ータリストにはすべての制御ステートメントが与えられ
ている訳ではなく、またエラー処理用の出力E18及び
E39も与えられていない。尚、エラー処理用の出力に
ついてはあとで十分な説明を行うが、この出力E18及
びE39はアプリケーションプログラムの制御下にない
ライブラリ中の分離したエンティティである。
さて、C0BOLからこれら従来技術のソートユテイリ
テイへのような高級言語の呼び出しはつねに出口E15
及びE35を用意することになろう。そしてアプリケー
ションプログラムのプログラマは、高水準言語コンパイ
ラによりコンパイルされたときに出口E15及びE35
を用意し、上記従来のソートユテイリテイを呼び出すと
きに上記パラメータリスト中のアドレスを含むようなソ
−ト動詞(Sort Verb)を利用することになろ
う。
しかしながら、これらのソートユテイリテイが高水準言
語コンパイラを使用しないユーザーによって明示的に呼
び出された場合、そのユーザー(コンパイラではない)
は直接自己のパラメータリストを作成し、LINK、A
TTACH,XCTLプロトコルなどのシステムサービ
スを使用するソートを呼び出すかもしれない。そして、
LINK、ATTACH,XCT’Lプロトコルを使用
するとき、呼び出しプログラムが出口E15を用意しな
いならば、これら従来技術のソートユテイリテイは入力
ファイルに対してデータ定義糸“5ortin”(ある
いはユーザーの選んだ代替定義名)を使用し、すなわち
ソートユテイリテイは自己の実行チャネルプログラム(
E XCP)または基本順次アクセス方式(BSAM)
による入力処理を実行するであろう。同様に、もし出口
E35が用意されなければ、これらのソートユテイリテ
イはデータ定義糸“5ortout” (あるいはユー
ザーの選んだ代替定義名)を使用する自己の出力処理を
行うであろう。ここでデータ定義糸とは、オペレーティ
ングシステムとユテイリテイプログラムに対して1つま
たはそれ以上のデータセットの名称を識別するためにア
プリケーションプログラムによって使用される名称であ
る。これら従来技術のソートユテイリテイは、例えばC
0BOLのような高水準言語ソート動詞の使用によって
ソートユテイリテイを呼び出すユーザーを直接に代表し
て、ユーザーにより識別された”5ortin”、 ”
5ortout”データセットを処理する能力に欠ける
。
ところで、Whitlowの米国特許第4210961
号には、入力ファイルからデータブロックが読み出され
、そのデータブロックが出力ファイルに書き込まれるよ
うなソーティングシステムが記載されている。しかしこ
の特許には、ソート処理及び呼び出しプログラムによる
入出力の選択的処理、あるいはソートユテイリテイが入
出力を制御するときに、状況及びエラー情報を保持し呼
び出しプログラムにひき渡すような方法についての記載
がない。
[発明が解決しようとする問題点] この発明の目的は、ソート動作を高速化するとともに入
出力のエラー等の状況情報がアプリケーションプログラ
ムに確実に伝達されるようなシステムを提供することに
ある。
[問題点を解決するための手段] この発明によれば、プログラム制御されるディジタルコ
ンピュータがソートプログラム等のユテイリテイの制御
のもとに動作し、そのユテイリテイは(非常に有効な実
行チャネルプログラム(Excp)または基本順次アク
セス方式(BSAM;によるオペレーティングシステム
を利用することにより)直接に入出力を管理する。しか
し、その管理は呼び出しプログラム(すなわちアプリケ
ーションプログラム)に対して、呼び出しプログラムが
必要とする状況及びエラー情報を与えるような方法によ
り実行される。このことは呼び出しプログラムをして次
のものの記述を可能ならしめる。
呼び出しプログラムとソートユテイリテイの間のインタ
ーフェースを定義することによって達成される: (i)入力データ定義基あるいは入力のために実行すべ
きルーチンの場所、(it)出力データ定義基あるいは
出力のために実行すべきルーチンの場所、(in)入出
カル−チンから出た時点で実行すべき複数のルーチンの
場所、(iv)状況情報のデータエリア。このインター
フェースに応答して、次にようにソート処理が行なわれ
る= (1)呼び出しプログラムによって与えられる入
出力出口ルーチンを選択的に呼び出し、インターフェー
スに対して一度に1つのレコードを渡すか、あるいはオ
ペレーティングシステムに対して複数のレコードに関す
る入出力用の自己のチャネルプログラムを与えること、
(2)次にオペレーティングシステムがアプリケーショ
ンプログラムに対して直接にエラー及び状況情報を伝達
することを可能とする情報をオペレーティングシステム
に与える事。
このように、本発明によれば、高水準アプリケーション
プログラムからの要求に応答して出力ファイルを与える
ために、入力ファイル中にレコ−ドを保有するユテイリ
テイのもとで、演算装置を作動させるための手段が設け
られる。すなわちアプリケーションプログラムはパラメ
ータリストを含む要求によってユテイリテイを呼び出し
、ユテイリテイはアプリケーションプログラムから制御
を受け取る。そのパラメータリストは入力ファイルと出
力ファイルのデータ定義名を選択的に所持し、1つまた
はそれ以上のエラー回復ルーチンを参照する。ユテイリ
テイはまた、入力ファイルまたは出力ファイルにアクセ
スする際にエラーが生じた場合のオペレーティングシス
テムのサービスによる利用のために、任意のエラー回復
ルーチンへのアドレス指定可能性を実現するとともに、
入力ファイルから保有すべき複数のレコードを読み取る
ためにオペレーティングシステムのサービスを呼び出し
、それらのレコードを保有し、さらには処理したレコー
ドを出力ファイルに書き込むためにオペレーティングシ
ステムのサービスを呼び出す。
この発明のさらに他の特徴によれば、アプリケーション
プログラムのソーティングを行うためのソートプログラ
ムの制御のもとで、演算装置を作動させるための装置が
与えられる。
[実施例] 先ず第1図を参照すると、この図は本発明に係るソート
ユテイリテイを実施するシステム環境の概要図を示すも
のである。本発明は各々主記憶装置をもつ単数または複
数のC:PU (中央処理装置)と、入出力チャネルと
、制御装置と、DASD(直接アクセス記憶装置)と1
局所アドレス可能なりロックと、これらの装置に接続し
たl10(入出力)装置とからなる演算システム上で実
行可能である。このようなシステムとしては例えば、1
968年9月3日に発行され、″データプロセッシング
システム” (DataProcesSing Sys
tem”)と題するアムダール(Amdahl)他の米
国特許第3400371号に記載されたものjS−ある
。このメ、〜 アムダール(Amdahl)のシステムは、資源として
、本発明に係る処理の実行に必要な演算システムまたは
オペレーティングシステムを走らせるためのすべての機
構を備えている。この典型的な資源は主記憶装置I10
装置、CPU、及び処理用プログラムからなる。CPU
はIBMシステム/370の303x、32XX、ao
ai(xは任意の数字をあられす)プロセッサでもよく
、あるいは拡張アーキテクチャの(XA)モードで作動
する任意のプロセッサでもよい。XAモードは記憶装置
へのアドレスに31ビツトのアドレスを採用しており、
これはIBMシステム/370のアーキテクチャにおけ
る24ビツトのアドレスとは区別される。XAモードは
IBM公開番号GC2B−1158−0、MVS/拡張
アーキテクチャシステムプログラムライブラリ二31ビ
ットアドレス指定(M V S /Extended 
Architecture SysteIIProgr
amming Library: 3l−bit Ad
dressing)に記載されている6本発明のソート
動作は1例えばよりM O8/VSIIJIJ−X7.
01O8/VS2 MVSリリース3.8.MVS/X
A、またはVM/370あるいはVM/XAvイグレー
ション補助(Migration Aid)のもとてホ
ストとして走行するオペレーティングシステム下で実行
可能である。また、”5ortin”(ソート用の入力
ファイル) 、”5ortout”(ソート用の出力フ
ァイル)及び“5orttzk” (ソート用のワーク
ファイル)を記憶するための記憶装置22.24(第1
図)は、例えば、選択したオペレーティングシステムに
応じて2400シリーズ及び3400シリーズのll3
Mテープユニット、または2314.3330.334
0.3350.3375.3380 (速度調節機構あ
りまたはなし)のDASD (直接アクセス記憶装置)
あるいはDASF(直接アクセス記憶機構)、あるいは
、3850の大容量記憶サブシステムのうちのどれかで
もよい。
第1図を参照するど、DASD22.24を備えたI1
0シブシステムにおいて、制御装置28は、CPUのチ
ャネル26とDASD22.24とを連結しており、デ
ータはチャネルコマンドライン32.34及び36の制
御のもとでデータバス40.42.44を介して行き来
する。尚詳細はあとで説明するが9本発明の一つの重要
な特徴は、ライン50とCPU20とを介して受け取っ
た状況情報を直接ユーザー、またはアプリケーションプ
ログラムに供給するための手段を設けたこ゛とにある。
このときチャネルコマンドはライン32.34及び36
を介してCPU20から伝達される。また、本発明の別
の要重な特徴は他の高水準アプリケーションプログラム
またはソートプログラムからのソート用入力ファイル及
びソート用出力ファイルに対して入出力処理を制御する
ための手段を設けたことにある。これについても後に詳
しく説明しよう。
さてCPU20は仮想記憶60を備えており、それは第
2図に図式的に示されている。この仮想記憶60には、
入出力サブシステムテンターフェース制御プログラム6
4を含むオペレーティングシステム62と、ソートルー
チン66と、アプリケーションプログラム(ユーザーと
称することもある)58とを表示する電気信号が記憶さ
れていグシステム62とソートルーチン66とアプリケ
ーションプログラム68との間のインターフェースは、
アプリケーションプログラム68によって管理される次
のような構造を備えている:a)拡張パラメータリスト
101.b)入力レコードひき渡しまたは変更のための
出口15ルーチン160、C)出力レコードひき渡しま
たは変更のための出口E35ルーチン162、d)入力
エラー処理を行うための出口E18ルーチン164.e
)出力エラー処理を行うための出口E39ルーチン22
0、f)データ最終ルーチン222、g)入力データセ
ット制御パラメータリスト184、h)出力データセッ
ト制御パラメータリスト186、i)出口リスト230
゜これらの構造はこのあと特に第5図(第5A図及び第
5B図)に関連して詳しく説明することになろう。
第2図において、ソートルーチン66は次の構造を備え
ている:a)フェーズ1の初期化及びストリング生成コ
ード70、b)フェーズ2の中間組合せコード72、C
)フェーズ3の最終組合せコード74、d)レコード記
憶領域76、e)読み取りソート用入力ファイルチャネ
ルプログラム80、f)読み取り/書き込みソート用ワ
ークファイルチャネルプログラム82、g)書き込みソ
ート用出力ファイルチャネルプロクラム84.h)制御
ブロック85、i)入力データセット処理用の実行チャ
ネルプログラム(EXCP)または基本順次アクセス方
式(11jSAM)のためのソート用入力ファイル17
4、j)出力データセット処理用のEXCPまたはBS
AMのためのソート用出力ファイルルーチン。尚、上記
制御ブロック58は初期化フェーズ70の間にソートル
ーチン66によって形成され、出口164 (E18)
及び出口166 (E39)からの情報を収めるために
必要に応じて更新されるアプリケーションプログラム6
8中の領域210.220.222に対するポインタを
含んでいる。
ソートルーチン66とユーザー58の間のインターフェ
ースは、あとでソートルーチン66によって使用するた
めに、領域101.160.162.184,185,
220,222及び230を含む構成を実現するアプリ
ケーションプログラム68によって定義され、あるいは
形成される。
アプリケーションプログラム68は、動的にソートルー
チン66を呼び出すものであり、EXアーキテクチャ内
の16Mビット内外の大きさの仮想アドレス領域61に
在駐し、24ビツトまたは31ビツトのアドレスを使用
した処理を行うことができる。
第3図を参照すると、この図は本発明に係る入力/出力
ファイルのE 15/E 35処理について −説明す
るためのものである。そしてこの処方を従来のIBMオ
ペレーティングシステムソートリリース5プロダクト上
で実施した例を次に説明する。
すなわち第3図においてアプリケーションプログラム3
00はルーチン312中で入力レコードを処理するため
の出口E15コードを与え、ルーチン314中で出力レ
コードを処理するための出口E35を与える。次にアプ
リケーションプログラム300はコード310を実行す
ることによってソートルーチンを呼び出し、これにより
ソートルーチン302に制御が渡される。そして、ソー
トルーチン302が入力レコードを受け入れる準備完了
になると、ソートルーチン302は出口E15コード3
12を呼び出す。すると、リターン制御315がソート
ルーチン302からアプリケーション300に戻され、
これによりレコードあるいはレコードブロックが入力フ
ァイル304から読み込まれる。次にE15コード31
2を使用することにより、アプリケーションプログラム
300は入力レコードを一度に1個づつソートルーチン
302に戻し、ソート呼び出しコード310をソートル
ーチン302に返却する。アプリケーションプログラム
300とソートルーチン302との間で制御310,3
16をやりとりするこの処かは各入力レコード毎に行な
われる。この処理は本質的に低速であるけれども、一つ
の長所は、アプリケーションプログラム300が入出カ
システムコード64(第2図参照)の呼び出しプログラ
ムとして作動し、入力装置22 (304)からライン
50.52.54を介して伝達される状況情報を、入力
装置22 (304)から直接に受け取ることにある。
同様にして、出口E35も出力レコード毎に実行され、
その各々の出力レコードを出力装置306に書き込むた
めにソートルーチン302とアプリケーションプログラ
ム300との間で制御のやりとりが行なわれる。また、
ソートワークファイル(sortwk) 308は段階
1.2間で形成されたレコードのストリングを記憶する
ためにソートルーチン302によって管理される。
次に第4図を参照すると、この図は、本発明に係るアプ
リケーションプログラム300からソートルーチン30
2を動的に呼び出すための装置の概要ブロック図である
。この第4図においては。
ソートルーチン302は入力データセット304と出力
データセット306とに関連してレコードの読み取り及
び書き込みを管理する。ここで説明するプロセスは高速
ソートオプションと呼ばれる。
それは、ソートルーチン302が、第3図に示すプロセ
スで行なわれるようにユーザー300に制御を戻すので
はなく、オペレーティングシステム(O8)320との
相互作用によって直接入出力を管理することを意味する
。−力筒4図と同様に、ソートワークファイル308は
ソートルーチン302によって管理され、ソートルーチ
ン302は、段階1及び2との間、すなわち入力データ
セット304中のすべてのレコードを保持するには、レ
コード記憶領域(RS A)中に十分なスペースがない
ときに形成されたレコードの列を記憶するために、08
320によって与えられた機能を利用する。この例では
、アプリケーションプログラム300は既に述べた他の
構成のうち出口リスト322、データ最終(E OD)
ルーチン324、及び同期エラー(S Y NA D)
ルーチン326を実現する。アプリケーションプログラ
ム300はソート呼び出しコード310を実行し、これ
によりソートルーチン302に制御が渡される。ソート
ルーチン302は、実行チャネルプログラム(EXCP
)または基本順次アクセス方式(BSAM)を利用して
、入力データセット304からデータを読み取り出力デ
ータセット306に出力レコードを書き込むために08
320の機能を呼び出す。
尚、このことについては後に詳しく説明するけれども、
データの最終に到達したときにソートルーチン302が
データ終了(EOD)ルーチン324を呼び出し、08
320は出口リスト322及び周期エラー(SYNAD
)ルーチン326を用いてアプリケーションプログラム
300にエラー及び状況情報を渡す。そしてソートルー
チン302は08320とユーザー300間の必要とさ
れる連結を実現する。
次に第5図を参照すると、この図はソートルーチン66
、アプリケーションプログラム68及びオペレーティン
グシステム62との間のインターフェースを行うための
制御構成の詳細なブロック図である。尚、第5図は1便
宜上第5A図と第5B図とに分割して表示されている。
以下第5図を参照して、インターフェースの制御構成の
説明を行う。
先ず第2図におけるソートルーチン66が呼び出しプロ
グラム(アプリケーションプログラム)68によって呼
び出されると、拡張パラメータ101を保有する仮想記
憶装置60中の場所を指示するためにレジスタR1(第
5A図)が呼び出しプログラム68によってセットされ
る。尚、この拡張パラメータリスト101の内容はあと
で示す表1にまとめである。拡張パラメータリスト10
1は、ソートルーチン66の呼び出しに先出って、ユー
ザー68によって作成される。ユーザー68は、ソート
ルーチン66によって支持されるすべてのソート制御ス
テートメントをソートルーチン66にひき渡すためと、
ユーザー68によってロードされた出口がソートルーチ
ン66によって入力されたときに有効にすべきアドレス
モードを表示だめとに必要な情報に関して上記拡張パラ
メータリスト101を作成するのである。
表■ 拡張パラメータリスト 1 オフセット ビット 2 10進 0,1−31 31020 0、制御ステートメント領域のアドレス(
もしないならゼロ) 4 112 4 f、E15または832ルーチンのア
ドレス(もしないならゼロ) 5116 8 ’ f、E35ルーチンのアドレス(も
しないならゼロ) 6 118 12 ユーザ出口アドレス定数(もしない
ならゼロ) 7 120 16 ALTSEQ変換テーブルのアドレ
ス(もしないならゼロ) 8 130 20 5TAE領域フイールドのアドレス
(もし5TAEルーチンがないなら ゼロ) 9 138 24 f、E18ルーチンのアドレス(も
しないならゼロ) 10148 28 f、E19ルーチンのアドレス(も
しないならゼロ) 11144 32 X’FFFFFFFF’12MVS
/XAオペレーティングシステム環境のための場所 13 rf=OJは実質的に24ビツトのアドレスを出
口に入力することを意味する。
14 rf=1」は実質的に31ビツトのアドレスを出
口に入力することを意味する。
制御ステートメントポインタ102は、制御ステートメ
ントリスト108のアドレス、−すなわちもし存在する
ならソート/組合せ制御ステートメントを含む領域を与
えるためのものである。制御ステートメントリスト10
8はあとに続くべきキャラクタ列、及び部分124.1
26を含むものとして示されたキャラクタ列の長さを収
めるための長さフィールド104を備えている。このキ
ャラクタ列は実行時に使用すべきソート/組合せ制御ス
テートメントのイメージを含み、各制御ステートメント
は1つまたはそれ以上のブランクで離隔されている。ソ
ート/組合せ制御ステートメントハ9例えば、IBM 
O8/VS ソートプログラマズガイドIBM刊行物(
Sort Programmer’5Guede 、I
BM Publication) SC33−4035
その他に記載されており、それは次のようなものである
:a)ALTSEQ; IBM EBCDIC照合順序
に対する変更を記述するためのもの、b)DEBtJG
;デバッグのための診断情報が要求されるときに使用さ
れる、c)END;ソートルーチン66をして入力ファ
イルの読み取りを中断させる、d)INCLUDE;レ
コードについて、それのフィールドがある特定の基準を
みたすようなレコードのみを含むべきことを指従するた
めのもの、e)OMIT;レコードについて、それのフ
ィールドが特定の基準をみたさないようなレコードは消
除すべきことを指定するためのもの、f)INREC:
;レコードが、ソートされる前にどのように再様式化さ
れるべきかを指定するためのもの、g)MERGE ;
もしアプリケーションプロダラムが組合せプログラムで
あるなら、そのことの情報をソートステートメントとし
て与えるためのもの、h)MODS ;ソートアプリケ
ーションプログラム中にユーザールーチンを含めるため
のもの、1)OFTION;導入省略を無効化するため
と選択的情報を与えるためのもの、j)OUTR,EC
;レコードが出力用ファイル(Sortout)り に書き込まれる前にレコードをどのよVこ再様式化する
かを指定するためのもの、k)RECORD;レコード
の長さのタイプの情報を与えるためのもの、Q)SUM
;等しい制御フィールドをもつレコード中の合計フィー
ルドをレコードのうちの一つにおいて集約し、他のレコ
ードを消除すべきことを指定するためのもの、m)SO
RT i制御フィールドとデータセットのサイズについ
ての情報を与えるためのもの。これらのステートメント
のうち、本発明の動的呼び出し装置に最も関連が深いの
は、0PTION制御ステートメントにより表示され、
第5A図のフィールド124で”5OTIN=入力デー
タセツトのデータ定義基″と、またフィールド126で
”5ORTOUT=出力データセツトのデータ定義基”
とそれぞれ示されているものである。これらの制御ステ
ートメン1〜によって、アプリケーションプログラム6
8は高速ソートオプションを実行する際にソートルーチ
ン66によって使用するための入力ファイルと出力ファ
イルとを含むデータセットの名称を指定する。
5ORTIN制御オプシヨンの構文は゛’5ORTIN
=データ定義名″または“5ORTIN=SORTIN
”である。すなわち、その構文はソートルーチン66が
動的に呼び出されるときにソート入力用に使用すべきデ
ータ定義基を指定する。
それの標準的な省略名はSOR’rIN、あるいはrs
ORTDD=データ定義名」が指定定義用ならd d 
n m I Nである。rsORTDD=データ定義名
」は、ソ定義用−チン66が同一の呼び出しプログラム
68によって二回以上呼び出されるとき5ORTIN及
び5ORTOUTのデータ定義基に対する最初の4文字
を供給する為に使用されるオプション制御カードである
。このオプション制御カードは、制御ステートメントリ
スト108中の0PTION制御ステートメントでオプ
ション制御カードが指定されるならば使用される。
5ORTOUT制御オプシヨンの構文は“5ORTOU
T=デ一タ定義名”または” S ORT 0UT=S
ORTOUT”である。この構文はソートルーチン66
が動的に呼び出されるときソート出力として使用される
データ定義基を指定する。
それの標準的な省略名は5ORTOUT、あるいはrs
ORTDD=データ定義名」が指定定義用ならばddn
mOUTである。このオプションは、そのオプションが
制御ステートメントリスト108中の0PTION制御
ステートメント上で指定されるならば使用される。
出口E15とアドレスフィールド112は、もし存在す
るならば、アドレス指定モードと出口E15ルーチン1
60(第5A図)のアドレスとを指定する。また出口E
35アドレスフィールド116は、もし存在するならば
、出口E 35ルーチンのアドレス指定モードとアドレ
スとを指定する。
アドレス定数フィールド118は、もし存在するなら、
ユーザー出ロアドレス定数を指定する。
このフィールドはソートルーチン66によってユーザー
出口E15またはE35に渡され、ユーザーによって作
成されるパラメータリストまたはワークエリア(図示し
ない)を指定するために使用される。そして、動的に呼
び出されたソートルーチン66に対しては、ユーザーは
ユーザー出ロア ゛ドレス定数118を初期化すること
ができる。このユーザー出ロアドレス定数118は、呼
び出しプログラム(あるいはユーザー)から受け取った
ときは第1の出口へ渡され、また第1の出口から受け取
ったときは第2の出口へ渡される。ユーザーは、例えば
、E15ルーチン中のある区域を主記憶装置からゲット
し、たとえE15ルーチン中のその区域が同時に主記憶
装置中に存在しなくともその区域のアドレスをE35ル
ーチンにひ守渡すことができる。(仮想記憶60は実記
憶と、ページ可能な記憶とを備えている。)31ビツト
のアドレス指定モードを使用してソートルーチン66を
呼び出すときには、ユーザーアドレス定数フィールド1
18はE15パラメータ中の出口E15に渡される。そ
れにより、E15パラメータリストがユーザー出ロアド
レス定数に結合された新しいレコードのアドレスを含む
ことになる。出口E15はユーザー出ロアドレス定数を
変更することができ、ソートルーチン66はE15出口
から受け取ったとおりのかたちでそれをひき起す。その
ユーザーアドレス定数フィールドは、Eパラメータリス
ト中の出口E35に渡され、これによりE35パラメー
タリストはソーI−ルーチン66を去るレコードのアド
レスに、出口区域中のレコードのアドレスと、ユーザー
出ロアドレス定数とを結合したアドレスを含むことにな
る。
照合順序テーブルアドレス(ALTSEQ)120は変
換テーブル(ALTSEQテーブル)122に対するポ
インタである。このALTSEQテーブル122は、も
し存在するならば、A L TSEQ制御ステートメン
トのかわりにユーザー68によって与えられるものであ
り、もし与えられたならば、据えつけ時間に与えられた
任意の変換テーブルを指定変更する。
状況区域アドレスポインタフィールド130は状況区域
アドレスフィールド132に対してポインタを与え、一
方状況区域アドレスフィールド134は状況区′域13
4を指定する。状況区域134は、もし単一仮想記憶用
のタスク非同期出口指定(STAE)ルーチンまたは多
重仮想記憶用のタスク非同期出口指定(ESTAE)ル
ーチンが、ソートの異常終結が起こった場合に制御を受
けとるならば、状況区域134は5TAEまたはEST
 A E保管域となり、5TAEまたはESTAEワー
クエリアが保管されることになる。
出口E18アドレス138は、もし存在するならば、ユ
ーザー供給のE18出ロルーチン164のアドレス指定
モードとアドレスとを指定する。
出口E39アドレス142は、もし存在するならば、ユ
ーザー供給のE39出ロルーチン166のアドレス指定
モードとアドレスとを指定する6X′FFFFFFFF
’ を格納したフィールド144は拡張パラメータリス
ト101を終了させる。この拡張パラメータリスト10
1を使用することによって、呼び出しプログラムは31
ビツトのアドレスまたは24ビツトのアドレスをソート
ルーチン66に渡し、ソートルーチン66が呼び出しプ
ログラムによってロードされた出口に入ったときに有効
にすべきアドレス指定モードを指定することができ、そ
うして呼び出しプログラムは呼び出しプログラム中のす
べてのソート制御ステートメントをコード化することが
できる。後述する表2は、第5図に関連して記載すべき
制御構造を実現するためにソートルーチン66が拡張パ
ラメータリスト101を処理する方法の擬似コード表現
である。このパラメータリスト101の処理は、初期化
段階のうちのソートルーチン66が呼び出された直後(
第5図のステップ400、及び第8図のステップ440
より前)に実行される。
さらに第5図を参照すると、入力レコードが読み取られ
るべきときに出口E15アドレス112が指定されたな
らば、入力データセットを処理すべく呼び出しプログラ
ムに制御を渡すために、ソートコード150がEルーチ
ン160に入る。またE15アドレス112が与えられ
なければ、5ORTINオプシヨンステートメント12
4によって指定されたデータセットを読み取るためにソ
ートコード170が自身のEXCPまたはBSAM手続
を実行する。EXCP処理についてはIBMシステムプ
ログラミングライブラリ:データ管理(Data Ma
nagement) IBM刊行物(Publicat
ion)GC26−3830−3,61〜100.1ペ
ージに説明されている。
この入力処理については後述する表3の擬似コード表と
第8.9図とにより示されている。これらの技術によっ
て、ソートルーチン66は0862に対して入出力デー
タセットの入出力処理を最適化するためのチャネル指令
ワード(CCW)チェインを渡すことができる。一つの
EXCPについての複数のブロックを読み取るための典
型的なプログラム、またはCCWチェインは第11図に
示されており、これについてはあとで説明する。
さて、出力レコードを書き込むべきときに、出口E35
アドレス116が指定されると、出力データセットを処
理するべく呼び出しプログラムに制御を渡すためにソー
トコード152がE35ルーチン162に入る。また、
出口E35アドレス116が与えられないなら、ソート
コード172は、5ORTOUTオプシヨンステートメ
ント126によって指定されたデータセットに書き込み
を行うために自身のEXCPまたはBSAM手続176
を実行する。この出力処理は後述する表4の擬似コード
、及び第8図、10図に関連して後で説明を行う。手続
176は典型的にはチャネルプログラムを含んでおり、
それは第12図に示す様なものである。これについても
後に説明する。
さらに第5図を参照すると、アプリケーションプログラ
ム68には、特に自己の要望をみたすように調整された
E18ルーチン164及びE39ルーチン166を設け
てもよい。尚従来は、そのようなルーチンはアプリケー
ションに対して調整するのでなくライブラリ中に設けら
れていた。それゆえに従来はI10エラーやデータセッ
ト状況情報を確実に入手することができなかったのであ
る。
もし出口E18アドレスフィールド138が拡張パラメ
ータリスト102中に設けられているなら、ソートルー
チン66.154はユーザー68によって供給されるル
ーチンである、出口E18ルーチンを呼び出す。出口E
18ルーチン164は、入力データセット制御パラメー
タリスト184のアドレスである。アドレスX1をレジ
スタR1(180)にロードし、ソートコード154に
戻る。パラメータリスト184は5YNADアドレス1
90と出口リストEXLSTアドレス192とデータ最
終(EOD)アドレス194とからなる。これらのアド
レスは呼び出しプログラム(ユーザー)68により供給
される出口ルーチン164によってセットされる。ソー
トコード154はそのあとこれらのアドレスをいくつか
の制御ブロック中に配置することによりリスト184中
でフィールドの処理を行うことになる。そうして、制御
ブロック中に配置されたアドレスはあとでソート入力デ
ータセットの処理の間にソートルーチン66によって使
用される。これらの制御ブロックの一つに入力用データ
制御ブロック(DCB)210がある。このDCB 2
10はソートルーチン66によッテ実現されCOMIN
DCB218によって記述される。入力用DCB 21
0の工10ブO”/り(IOB)’216はEXCP処
理174を行うときにソートコード179によって使用
される制御構造を含んでいる。このように、制御ブロッ
クl08216は、EXCP処理174を実行するのに
必要なさらなるチャネル指令ワード(CCV)チェイン
へのチャネル内転送によってつながれる最初のCCWを
持っている。これについては第11図に関連してあとで
説明する。尚、5YNADアドレス190は5CBSY
NAD212内に配置され、EXLSTアドレス192
はDCBEXLST214内に、EOD7ドレス194
はC0M18ND224内にそれぞれ配置される。C0
M18ND224はEODルーチン222のアドレスで
あり、それは、データ入力中にソート入力データセット
の最終に遭遇したときにソートルーチン66によって使
用するために呼び出しプログラム68によって供給され
る。5YNADルーチン220はソート入力データセッ
トの処理の間に発生したエラーを処理するために呼び出
しプログラム68によって供給され形成されたルーチン
である。DCBEXLST214は出口リスト230の
アドレスである。出口リスト230にはユーザー58に
よって供給されたさまざまな機能ルーチンのアドレスが
含まれている。これらの機能ルーチンは機能コード識別
子と、機能ルーチンのアドレスによって区切られている
。そのようなルーチンの例としては、聞出ロルーチン2
36のアドレス234を備えた0PEN232、閉出ロ
ルーチン244、及びEOV246とがある。聞出ロル
ーチン236と閉出ロルーチン244はそれぞれ、入力
データセットが開かれている時あるいは閉じられている
ときにユーザー68によって供給される。
さて、もし出口E49アドレスフィールド40が拡張パ
ラメータリスト102中に設けられているなら、ソート
ルーチン66.156は出口30ルーチン166を呼び
出す。出口E39ルーチン166はレジスタR1(18
2)”iこ、出力データセット制御パラメータリスト1
86のアドレスである。アドレスx2をひき渡し、ソー
ト156に制御を戻す。パラメータリスト186は5Y
NADアドレスフイールド196と出カリストEXLS
Tアドレス198とからなる。これらは呼び出しプログ
ラム68により供給される出口ルーチン166によって
セットされる。するとソート156は出力用DCB 2
00中にリスト186中のフィールドを配置することに
よってそれらのフィールドの処理を行う。尚、出力用D
CB200はソートルーチン66によってはじめに実現
され、ソート出力データセットの処理の間にソートルー
チン66により使用するためにC:OMTDCB208
により記述される。出力用DCBはEXCP処理176
を行う際にルーチン172によって使用するための制御
構造とチャネルコマンドルーチンとを含んでいる。この
ように、制御ブロック200はl0B206中にEXC
P処理176を実行するのに必要なさらに多くのチャネ
ル指令ワード(CCW)に対してチャネル内転送(T 
I C:)によって連結される初期CCWを含んでなる
。これについては第12図との関連であとで説明する6
SYNADアドレス196は5YNADルーチン(図示
しないが5YNADルーチン220と同様なものである
)のアドレスである。この5YNADアドレス196は
ソート出力データセットを書き込む間に遭遇するエラー
を処理するためにユーザー68によって設けられるもの
である。さらに5YNADアドレス196はソート15
6によってDCBSYNAD208中に配置される。E
XLSTアドレス198はユーザー68によって供給さ
れる出口リスト(図示しないが出口リスト230と同様
なものである)のアドレスであり、ユーザー68によっ
て供給されたソート出力データセット処理用のさまざま
な機能ルーチンのアドレスを含むものである。このEX
LSTアドレス198はソート156によってDCBE
XLST202中に配置される。
(B)プログラムのフローチャート さて、次に第6図以下のフローチャートを参照すること
により本発明の詳細な説明する。
(B−1)雷み り時のエラー 理 先ず第6図は、ソート入力データセットの読み取りの間
にエラーが生じた際に、ソートルーチンとアプリケーシ
ョンプログラムとの間のインターフェースを管理するた
めのプログラムについて示すフローチャートである。同
図においてステップ400でアプリケーションプログラ
ム68は拡張パラメータリスト101をセットアツプし
、ソートルーチン66を呼び出す。すると、ソートルー
チン66は後述する表2に示されたような手続に従いパ
ラメータリストの処理を行う。この表2を参照すると、
1〜5行はソートルーチン66がジョブ制御言語(JC
L)環境から呼び出されたときのソートルーチン66の
初期化に関与している。
ただしこのとき拡張パラメータリストは使用しない。と
いうのは拡張パラメータリスト101はソートルーチン
66が動的に呼び出されるときに使用されることになっ
ているからである。次に6〜62行では、重要なエント
リをもつフィールドを識別するためにパラメータリスト
が走査される。
63〜74行では、制御ステートメントが渡されたなら
ば、これらの制御ステートレンドはソート入力及びソー
ト出力データセット名を識別するためにチェックされる
。次に75〜88行では、ソート入力データセットが制
御ステートメント中で名づけられていれば、DCB及び
IOB制御ブロック210が形成される。89〜101
行では、ソート出力データセットが制御ステートメント
中で名づけられていれば、DCB及びIOB制御ブロッ
ク200が形成される。102〜111行では、出口E
18ルーチンがパラメータリスト中で識別されたならば
、その出口が呼び出されその出口が供給するパラメータ
リストが処理される。最後に112〜120行では、出
口E39ルーチンがパラメータリスト中で識別されたな
らば、その出口が呼び出され、その出口が供給するパラ
メータリストが処理される。
再び第6図を参照すると、既に述べたように、ステップ
402では、出口E18アドレスフィールド138をチ
ェックすることによって、アプリケーションプログラム
68がエラールーチン220を与えたかどうかをソート
ルーチン66が判断する。フィールド138のチェック
によってエラールーチンが与えられていることがわかる
と、ステップ406(表2の102〜111行参照)で
ソートルーチン66はE18ルーチン164を実行し、
5YNADアドレス190をDCBSYNAD212中
に記憶または保管することによりエラールーチンに対す
るアドレス指定を可能となる。
尚、これについては既に説明しである。
次にステップ408(表2の18〜23行)では、ソー
トルーチン66が、アプリケーションプログラム68が
入力を管理しようとしているか否かを判断するため拡張
パラメータリスト101中の出口E15アドレスフィー
ルド112をチェックする。そして出口E15アドレス
が与えられているなら、ソートルーチン66.150は
入力レコードの読み取りを行うため、ユーザーによって
供給された出口E15ルーチン160を呼び出す。
また、出口E15アドレスが与えられていなければ、ス
テップ412で、ソートルーチン66.170はオプシ
ョン制御ステートメント108の5ORTINパラメー
タ124中で識別されたソート入力データセットの読み
取りを行うためにEXCPまたはBSAM処理174を
呼び出す。(このことは、表2の76〜88行、及び表
3の1〜15行及び20〜30行にさらに詳しく記載さ
れている。) ステップ414では、ソート入力データセットの入力の
間にエラーが生じなければ、入力レコードをソートする
ためにステップ422に制御が渡される。また、エラー
が生じ、且つアプリケーションプログラム68によって
エラールーチン22゜がヶえ、わ、い、46、。8(オ
、二ケイアゲシステム)62から入手可能ば状況及びエ
ラー情報をアプリケーションプログラム68に供給する
ためにステップ416でエラールーチン220が実行さ
れる。ステップ418では、ソート動作がステップ42
2で継続されるべきが、あるいはステップ420で終了
するべきかがアプリケーションプログラム68により判
断される(表3の18〜30行参照)。
(B−2)書き込み時のエラー処理 第7図はソート出力データセットへの書き込みの際に遭
遇するエラーの処理のためのプログラムについて示すフ
ローチャートである。このプログラムは後述する表4の
1〜25行でさらに説明される。さて第7図のステップ
424で、拡張パラメータリスト101中の出口E35
アドレスフィールド116を参照することにより、ソー
トルーチン66はアプリケーションプログラム68がソ
ートされたレコードのソート出力データセットへの出力
を管理することになっているかどうかを判断する。そし
て、アプリケーションプログラム68がその出力を管理
するのであれば、ステップ426でソートルーチン66
.152がレコードを書き込むために出口35ルーチン
162を呼び出す。また、アプリケーションプログラム
58がその出力を管理するのでなければ、ソートルーチ
ン66.172はE X ’CPまたはBSAM出カル
−チン176を実行する。それにより、l08206中
で開始されるチャネル指令ワード(CcW)を使用する
ことにより、5ORTOUTオプシヨン制御ステートメ
ント126中で識別されたソート出力用ファイルにソー
トされたレコードを書き込むためにオペレーティングシ
ステム62が呼び出される。尚、CCWについては第1
2図との関連で後に説明する。
ステップ430では、ソート出力用データセットへの書
き込みの足にエラーが発生したならば、ステップ432
で状況及び制御をアプリケーション68に渡すために、
アプリケーション68によって供給されDCBSYNA
D204によりアドレス指定された5YNADルーチン
がオペレー・テイングシステム62により実行される。
また、エラーが生じなければ、ソート処理はステップ2
0で終了する。
第8〜10図は入力用ファイル及び出力用ファイルに対
するデータセットの読み取り及び書き込みの動作を示す
プログラムのフローチャートである。この読み取り/書
き込みの制御はアプリケーション68及びソートルーチ
ン66によって選択的に行なわれる。
典型的には、ソート処理は3つのフェーズと初期化フェ
ーズとからなる。この発明によれば、初期化フェーズに
おいては、ソートルーチンが動的に呼び出されるのであ
れば、拡張パラメータリストは既に表2に関連して述べ
た手続に従って処理される。そのあと、フェーズ1では
、ソート入力ファイルのデータセットが読み取られ、順
序づけられたレコードのストリングが記憶装置内または
外部装置(ソートワーク)上に構成される。中間組合せ
フェーズと呼ばれるフェーズ2では、より長い、または
短いストリングを形成するためにそれらのストリングが
処理される。フェーズ3すなわち最後の組合せフェーズ
では、フェーズ2で作成されたストリングが出力用ファ
イルデータセットに書き込まれる。
この発明によれば、ソート入出力データセットに関する
読み取りと書き込みはアプリケーションプログラム58
とソートルーチン66の制御のもとに選択的に管理する
ことができる。この制御は出口E15アドレスフィール
ド112(入力用)及び出口E35アドレスフィールド
116(出力用)内のアドレスの有無により指示され、
アプリケーションプログラム68によって判断された結
果に基づく。さらにこの発明によれば、拡張パラメータ
リスト101中のアドレスモードビットが、例えば、出
口ルーチン160.162が呼び出されるときには24
ビツトと31ビツトのアドレス指定のうちどちらが使用
されるべきかということを指示する。
さて第8図を参照すると、ステップ440でユーザー6
8が出口E15ルーチン160を与えているなら、ソー
トルーチン66はソート入力用ファイルからレコードを
受け取るためにそのルーチンを呼び出す。ユーザー68
はオペレーティングシステム(O8)62を呼び出し、
0862のルーチン64は一般的にはライブラリールー
チン(図示しない)中に設けられたチャネルプログラム
を用いて実際の読み取りを行う。ステップ444では、
アプリケーションプログラム68から制御が戻されると
すぐにソートルーチン66は、アプリケーションプログ
ラム68によって合図された位置からその入力レコード
を主記憶装置60中のレコード記憶区域(R8A)76
 (第2図)中l\移動させる。ステップ446.44
8及び450では、もし出口E15処理160が完了し
ておらずまたR S A 76が一杯でもなければ、ソ
ートルーチン66がソート用入力ファイルから次のレコ
ードを読み取るために出口E15ルーチン160に対し
てさらに呼び出し442をかける。次にR5A76か一
杯になると、ステップ450でレコードのブロックが外
部装置22上のソートワークデータセットに書き込まれ
る。そうしてソート入力ファイルデータセットの読み取
りが完了し、それがステップ446で判断された後、ス
テップ452でR8A76に残っているレコードがソー
トワークに書き込まれ、ステップ454のフェーズ2へ
と処理が進められる。
フェーズ2では、より長いまたはより短いストリングを
得るためにソートワーク上でストリングが操作される。
フェーズ3に入ると、ステップ460で、もしユーザー
58が出口E35を与えているなら、ステップ462で
ソートルーチン66はソートワーク152から最終的に
組合されるべきストリングを読み取る。そしてステップ
464でソートルーチン66は″勝利を得る” (すな
わち次の入力用の)レコードを判別し、ステップ466
ではその判別したレコードを出口E35ルーチン162
にひき渡す。ステップ464,466、及び468は最
後のレコードがソート出力用ファイルに書き込まれるま
で繰りかえされる。そうして最後のレコードが書き込ま
れると、ステップ470でソート処理が終了し、制御が
呼び出しプログラム68に戻される。
次に第9図を参照すると、前記第5図のステップ440
でソートルーチン66がユーザーが供給したE15出ロ
ルーチンを呼び出すことなく入力処理を行うべきである
と判断されたならば、ステップ480でソート66.1
70(第5B図のソート170と制御ブロック206で
実行、する)が、COM I NDC:B 218によ
って参照されたソート入力用ファイル22からのレコー
ドのブロックを読み取るために、オペレーティングシス
テム(O8)62に要求を出す。ここで第11図を参照
すると、そこにはソートルーチン66によって0’S6
2に供給することのできるような典型的なREADチャ
ネルプログラムが示されている。第11図において、セ
クターセット520、等しいID検索522、TlC5
24及びTlC526などのREADチャネルプログラ
ムを開始させるプログラムがl0B216 (第5B図
)中に設けられている。TlC526はl0B216の
外側のコード(図示しない)に制御を与える主記憶60
中に設けられた各ソート入力ファイル用バッファのため
に、チャネル指令ワード(C:CW)の多重トラック計
数値読み取り530、多重トラックデータ読み取り53
2、及び新たなCCWへのチャネル内転送534という
指令がl08216に設けられている。また、最後のソ
ート入力ファイル用バッファにはCCWの多重トラック
計数値読み取り536及び多重トラックデータ読み取り
538という命令が対応する。
さて第9図に戻ると、ソートルーチン66はステップ4
82で0862から制御をとり戻し、ステップ484で
レコードをR8A76に格納する。
そしてもしステップ486でR8A76が一杯であると
判断されたならば、ステップ488でR8Aからレコー
ドストリングが装置22.24(第1図参照)上のソー
トワークに書き込まれる。ステップ490.492では
、ソート入力用ファイルの読み取りが完了したあと、出
口E18ルーチンがユーザー68によりソートルーチン
66に渡されていたなら、ソート66.170がそのル
ーチンを呼び出す。そして制御が戻されたとき、処理は
ステップ545(第8図)でフェーズ2へ続くことにな
る。またもしオペレーティングシステム(O8)62の
制御下における読み取り処理中にエラーが生じたなら、
0862がステップ416(第6図)の手続を呼び出す
まで、ステップ464でソートルーチン66に制御が戻
されることはないであろう。
次に第10図を参照すると、ステップ460(第8図)
でソートルーチン66が出力処理を行うと判断されて尚
且つステップ508でユーザー68が出力E39ルーチ
ン166を渡してしまっていると判断されたならば、ユ
ーザーが出力データセット制御パラメータリスト186
をソート156にひき渡すことを可能とするために出口
30ルーチン166が呼び出される。ステップ500で
は、ソートルーチン66はR8A67中のストリングか
ら受け取ったレコードを主記憶装置60中のソート出力
ファイル用バッファに結合し、次のステップ502でG
O1MUTDC8208によって指定された出力レコー
ドを外部装置(DASD)22.24上のソート出力フ
ァイル用データセットへ書き込むためにオペレーティン
グシステム(O8)62に対し1て要求を出す。086
2に対して要求を出す際にソートワーク〉66は第12
図に示すような書き込みチャネルプログラムを含むチャ
ネルプログラムを与えることになろう。
尚第12図において、このチャネルプログラムはI O
B 206 &、−含まれルカ、l0B206から参照
されることになろう。このチャネルプログラムはセクタ
ーセット540、等しいID検索542、チャネル内転
送(TIC)、544.546という指令を備えている
。さらにそのチャネルプログラムは、n−1個(nはソ
ート出力ファイル用バッファの個数)のソート出カフア
イル用バツアウに対応する計数キーデータ書き込み54
8と次のCCWへのチャネル内転送550、及び最後(
n番目)のソート出力ファイル用バッファに対応する計
数キーデータ書き込み552という指令を備えている。
さて第10図に戻ってステップ504で制御をとり戻す
と、データの最終であれば、制御がステップ470に渡
されて、ソートが終了する。尚もしオペレーティングシ
ステム62の制御のもとで書き込み処理の間にエラーが
生じたなら、オペレーティングシステム62がステップ
432(第7図)の手続を呼び出すまで、制御がステッ
プ504でソートルーチン66に戻されることはないだ
ろう。
(C)擬似コードによる表2〜4 既述した第6〜7図のプログラムの説明には、次に示す
表2〜4が引用されており、擬似コードで記されたこれ
らの韓を参照することは本発明を一層よく理解する上で
有用であると考える。(尚、擬似コードにおいてIf、
Do、Then、 Elseなどは周知のプログラム言
語における予約語をあられすものとする。) 表2 処理パラメータリスト IIfジョブ制御言語(JCL)が呼び出された。Th
en2 do: 3 Jct、h*学び出されたことを述べるフラグをセ
ット。
4 JQjlJECカードからのパラメータを処理。
5 end; 6 Else(動的呼び出し) 7 Do; 8 If31ビットパラメータリスト101が渡された
。Then9 Do; 10 31ビツトパラメータリストを表示するフラグを
セット。
11 If制御ステートメントポインタ102がゼロで
ない、 Then12 If制御ステートメントポイン
タ102によって指定された。
13 ポインタ102がゼロでない。Then14 d
O; 15 制御ステートメント108の開始アドレス106
を保管。
16 制御ステートメント108の長さ104を保管。
17end: 18 Ifこれが最終エントリだったTher+ go
toパラメータリストの最終。
19 (15エントリポイント及びアドレス指定モード
の処理)20’IfE15アドレス112が渡された(
ゼロでない)。Then21 阿 22 呼び出しプログラムが入力を供給していることを
示す。
E15人カモードフラグセット。
23 E15出ロ160のアドレス及びアドレス指定モ
ードのセット。
24 End; 25 Ifこれ力■終エントリだった。Then go
toパラメータリストの最終 26 (E35エントリポイント及びアドレス指定モー
ドの処理)27’ IfE35アドレス116が渡され
た@ Then28 Doi 四 呼び出しプログラムが出力を処理していることを示
すフラグセット 30 B5出口162のアドレス及びアドレス指定モー
ドをωM■ITS31 テーブルに保管。
32 End; 33 Ifこれが最終エントリだった。Then go
toパラメータリストの最終 詞 (ユーザーアドレス定数処理) 35 ユーザーアドレス定数フィールド118保管36
 Ifこれが最終エントリだった* Then got
oパラメータリストの最終 37 (ALTSEQテーブルアドレスの処理)38 
If代替照合順序テーカレアドレス120が渡された。
Then39 Do; 40 ALTSEQテーブル122のアドレス保管4I
 テーブル122がパラメータリスト101から渡され
たことを示すフラグセット 42 End; 43 Ifこれが最終エントリだった。Then go
toパラメータリストの最終 44 ((E)sTA転区域アドレスポインタ処理)4
5 If(E)STAE況状区域アドレスポインタ13
0が渡された。Then46 あ; 47 状況区域134アドレス保管 48 (E)srA斑区域が存在することを示すフラグ
セット49 End; 50 Ifこれが最終エントリだった。Then go
t。
51 パラメータリストの最終 52 ’(E18エントリポイント及びアドレス指定モ
ード処理)53 IfE18アドレス138が渡された
Then54 Do; 55 E18100アドレス及びアドレス指定モード保
管56 End; 57 Ifこれが最終エントリだったa Then g
otoパラメータリストの最終 58 (E39エントリポイント及びアドレス指定モー
ド処理)59 IfE39アドレス142が渡された。
Then60 1)o; 61 E39出口のアドレス及びアドレス指定モードを
COMEXIδテーブルに保管 62 End; 63 Ifこれが最終エントリでなかった64 The
nパラメータリスト中のエラーを示すフラグセット65
 パラメータリストの最終: 66 If制御ステートメント108がパラメータリス
ト101中で、アドレス a ポインタ102に渡された。Then68 Do; 69 ’0PTION’制御カードの存在を検索するた
め制御70 カード108を走査 71 IF 0PTIONカードあり。Then72 
Do; 73 If 5ORTIIIIキーワード124が0P
TIONカード上に存在。
Then フ4 このキーワードによって指定されたデータ定決名
をC0M5O3TIIII中へセット 75 0therwise ’5ORTIN’ をC0
M5ORTIIII中へセット76 IfSOTRII
llキーワード力”(IPTIONカード上に存在。孔
口n このキーワードによって指定されるデータ定義名
をC0M5ORTO中にセット 78 0therwise ’5ORTOUT’をC0
M5ORTO中にセット79 End; 80(ソートのためのすべての関連するデータ定義カー
ドを配置して処理) 81 If 5ORTIN 124が0PTION制御
ステートメント上で渡された82 ThenIf呼び出
しプログラム68がInputを実行中でない。
83 Then C0M5ORTN中のデータ定義名が
オペレーティング閘 システムに知られていることを正
当と認める。
85 Ifデータ定義名が見つかった。Then86 
阿 87 供給されたデータ定義名に対して圓及びIOB制
御ブロック210を形九 88 COMINIX刀218中のDCIIに対するポ
インタを保管89 注意:SOT’1(INに対するす
べてのI10参照90ニはCOMINDCBが使用され
ルノテ、5ORTIIII91 キーワードとともに渡
されるデータ定義名を社刀RTINファイルとして使用
されることになる。
92 End; 93 Elseエラーメツセージを出して呼び比しプロ
グラムに戻る。
94 0therwise呼び出しプログラムが入力を
供給しているので5ORTINデータ定義を無視。
95 If 5SORTOIIT 126カ’りPTI
ON #11ステートメント上へ渡された。
96 Then If呼び出しプログラム68力”Q+
tputを処理中でない。
97 Then C0M5ORTCに記憶されたデータ
定義名がオペレーティングシステムに知られていること
を正当と認める。
98 Ifデータ定義名が知られていた。then99
 Do; 100 供給された5ORTOυTデ一タ定義名につい
て回及びJOB制御ブロック200を形成。
101 のIUTDCB 208中のDCBに対するポ
インタを保管。
102 注意:5ORTOLITに対するすべてのI1
0参照に103 はCOMtlTOCBが使用されるの
で、SOI?TOLIT104 キーワードとともに渡
されるデータ定義名1:!5ORTOUTOUTファイ
ルとして使用される。
105 End; 106 Elseエラーメツセージを出して呼び出しプ
ログラムに戻る。
107 0therwise呼び出しプログラムが出力
を処理しているので5ORTOUTを無視。
108 If E18出ロ164が存在するthen1
09 E18100呼び出す。
110 COMIN[Xl:B 218ニよッテ指定さ
れたDCB210中に111 値をセットするEla出
口から戻されたパラメータリスト184を処理。
112 COMINDCBは0PTION制御カード+
7)SORTIN113 キーワードによって渡された
5ORTI!Ifデータ定義カードまたはデータ定義カ
ードを指定する。
114 If 5YNADアドレス190がリスト18
4中に渡された115 Thenその値でDCBSYI
IIADフィールド122をセット。
116 If EXLSTアドレス192がリスト18
4中に渡された117 Thenその値でDCBEXL
STフィールド214をセット。
118 IfEOl)アドレス1例がリスト1M中に渡
された119 Then COME18NOフィールド
224をEOD222アドレスにセット。
120 End; 121 If E39出口が存在する。 then12
2 E39出口166を呼び出す。
124 値をセットするE39出口から戻されたパラメ
ータリスト186を処理。
125 COMUTDCBは、0PTION制御カード
(7)SORTOUT126 キーワードによって渡さ
れた5ORTOUTデータ定義カードまたはデータ定義
カードを指定する。
127 If 5YNAロアドレス196がリスト18
6中に渡された128 Thenその値でDCBSYN
ADフィールド204をセット。
129 If■LSTアドレス198がリスト中に渡さ
れた130 Thenその値でDCBEXLSTフィー
ルド202をセット。
131 End; 表3 11f ユーザー68が入力を実行中 2 Then 3Doυntilこれ以上入力はない。
4 次の入力レコードを得るべく呼び出しプログラム6
8に制御5 を渡すために[15出ロ160を呼び出す
。
6 E15から制御を戻す。
7E15から供給されたレコードを受け取って、交換選
択8 アルゴリズムを用いることによりそのレコードを
R3A76中に配置する。
9 If R5A76カを一杯 10 Then R5Aからのデータ列をSortwk
装置22.24に書き込む。
11 End; 12 Else(ソートルーチンが入力を実行する)1
3 Do; 14 Doυ口tilこれ以上入力はない。
15 COMINDCB 218及回210によって記
載された16 5ortinフアイルからのレコードの
ブロックを読み取るためにオペレーティングシステムに
制御174を渡す。
17(これはEXCP要求からBSAM READ要求
のどちらかである)18 Ifエラーが生じなかったT
henオペレーティングシステム19 から制御をとり
戻す。
20 交換選択アルゴリズムを用いることによりR5A
76中に21 人力レコードを配置する。
22 If R3A7!lμ杯 23 ThenR3八からのデータ列をSortwk装
置22.24に書き込む。
24 End; 路 (データ最終(印D)ルーチン作動)26 Ifユ
ーザーカ咄口ita 164によってEODルーチン2
22を渡した27 7henそのルーチンを呼び出す(
これは呼び出しプログラムに制御を戻す。) 28 EODルーチン222から制御をとる戻す。
29 End; 30 If読み取り動作の間にエラー発生then31
 DCBSYNDフィールド212が、呼び出しプログ
ラムによって32 供給され部YNAD(エラー解析)
ルーチン220を指示する力倭かをオペレーティングシ
ステムがチェック。
の5YNADルーチン220に制御を渡す。
M 呼び出しプログラムの5YNADルーチン220は
エラー条件を35 解析してソート処理を継続させるか
終結させるかの判断を行うことができる。
36 もし呼び出しプログラムがソートを継続すると判
断した37 場合は、あたかもエラーが生じなかったか
のように制御がソートルーチンに戻される。
表4 1 ■ ユーザー68が出力を実行。
2 Then 3I)oυ口til出力がこれ以上なし4 R3^76
の中のすべてのレコードから“勝利を得る”レコードを
選び出す。
5 ″勝利を得る”レコードのアドレスを1E35出ロ
162に渡す。
6 出力レコードを処理するべく呼び出しプログラムに
制御を7 渡すためにE35出ロ162を呼び出す。
8E35から制御を戻す。
9 End: 10 Else(ソートルーチンが出力を実行する)1
1 Do; 12 、DoUntil出力がこれ以上なし13 R5
A76からのレコードのブロックをソート出力ファイル
用バッファに組合わせる。
14 COMυTDCB208及び■206によ用謎さ
れた15 ソート出力用ファイルにレコードのブロック
を書:き込むためにオペレーティングシステム62に制
御を渡す。
16(これは欧α要求またt証AM書き込み要求のどち
らかである)。
17 Ifエラーが生じなかったThenオペレーティ
ングシステム18 から制御をとり戻す。
19 End; 20(データの最終(圓D)が発生) 2]、 Ifユーザーが出口39によってEODルーチ
ンを渡した22 Thenそのルーチンを呼び出す(こ
れにより呼び出しプログラムに制御が渡される) 23 EODルーチンから制御をとる戻す。
24 Endi 25 If書き込み動作中にエラーが発生Then26
 pcBsYNAD204フィールドが、呼び出しプロ
グラムによって27 供給され?、JYN八D(エへ−
解析)ルーチンを指定しているかどうかをオペレーティ
ングシステム62がチェック28 もしそうであれば、
オペレーティングシステム62は呼び出しプログラムの
SYN^0ルーチンに制御を渡す。
29 呼び出しプログラムの5YNADルーチンはエラ
ー条件を解析して30 ソート処理を継続するかあるい
は終了させるかを決定することができる。
31 もし呼び出しプログラムがソート処理を継続する
と決定した32 なら、あたかもエラーが生じなかった
かのごとく制御はソートルーチンに戻される。
[発明の効果] 以上のように、この発明によれば、アプリケーションプ
ログラムとソートルーチンとの間の制御のやりとりをオ
ペレーティングシステムにより直接管理できるので、制
御を渡すために要する時間を短縮化してソート動作を高
速化するとともに、レコード入出力のエラー等が生じた
ときはオペレーティングシステムが所定のエラールーチ
ンを呼び出してその状況情報を確実にアプリケーション
(ユーザー)プログラムに伝達することができるという
効果がある。
【図面の簡単な説明】
第1図はシステム環境全体の概要ブロック図、第2図は
第1図におけるCPU (中央処理装置)の仮想記憶空
間を示す概要図、 第3図は従来のオペレーティングシステム上に本発明を
適用したシステムの構成のブロック図、第4図は本発明
に係り、第4図の構成より高速のソート動作を実現する
システムの構成のブロック図、 第5図(第5A図と第5B図の結合)はアプリケーショ
ンプログラムとソートルーチンの間のインターフェース
を構成する制御ブロック、ルーチン第6図及び第7図は
状況あるいはエラー情報をアプリケーションプログラム
に転送するためのプログラムのフローチャート、 第8図、第8図及び第10図はフェーズ1(ストリング
作成)、フェーズ2(中間組合せ)、及びフェーズ3(
最終組合)というソート処理の一連のフェーズの間に実
行されるプログラムのフローチャート、 第11図は入力装置からデータレコードを読みとるため
のチャネルプログラムのフローチャート、第12図は出
力装置にデータレコードを書き込むためのチャネルプロ
グラムのフローチャートである。 304・・・・入力用ファイル、306・・・・出力用
ファイル、68,300・・・・アプリケーションプロ
グラム、66.302・・・・ソートルーチン、62.
320・・・・オペレーティングシステム、101・・
・・拡張パラメータリスト、106・・・・制御ステー
トメントリスl−,160・・・・E15ルーチン。 162・・・・E35ルーチン、164・・・・E18
ルーチン、166・・・・E39ルーチン。 出願人 インターナショナル・ビジネス・マシーンズ・
コーポレーション 代理人 弁理士 岡 1) 次 生 (外1名) 手続補正帯(昼) 昭和60年 3月ノ3日 特許庁長官 志 賀 学 殿 1、事件の表示 昭和59年 特許願 第230480号2、発明の名称 プログラム呼び出し装置 3、補正をする者 事件との関係 特許出願人 4、代理人 6、補正の対象 (1) 明細書の発明の詳細な説明の欄7、補正の内容 (1)明細書第4頁最下行にrPublication
J とあるのを「バブリケーション(Publicat
ion) Jと訂正する。 (2)明細書第5頁第5行にrPublication
J とあるのを[パブリケーション」と訂正する。 (3)明細書第5頁第6行にrSort/MergeP
rogrammer’s GuideJとあるのを、「
ソート/マージ・プログラマのガイド(Sort/Me
rgeProgrammer’s Guide) Jと
訂正する。

Claims (3)

    【特許請求の範囲】
  1. (1)複数のレコードを記憶した入力用ファイルと、出
    力されたレコードを記憶するための出力用フイイルとを
    有し、アプリケーションプログラムからの要求に応答し
    て上記入9力用ファイル中の複数のレコードをソートし
    て上記出力用ファイルに出力するためのソートプログラ
    ムの制御のもとで作動する演算装置において。 上記アプリケーションプログラムから制御を受けとるた
    めの第1の手段と、 上記第1の手段が上記アプリケーションプログ“ ラム
    から制御を受けとったことに応答して上記入力用ファイ
    ルからソートすべき複数のレコードを読み取るための第
    2の手段と、 読み取られた複数のレコードをソートするための第3の
    手段と、 ソートされた上記複数のレコードを上記出力用ファイル
    に書き込むための第4の手段と、上記第4の手段の書き
    込み終了に応答して上記アプリケーションプログラムに
    制御を戻すための第5の手段。 とを具備するプログラム呼び出し装置。
  2. (2)上記演算装置には、上記第2の手段または第4の
    手段にエラーが発生したことの情報または状況情報を上
    記アプリケーションプログラムに渡すための第6の手段
    と、エラー情報を上記アプリケーションに渡すべきであ
    ることを指定する要求に応答して、上記アプリケーショ
    ンプログラムへ制御が戻される際に上記第6の手段によ
    って使用されるデータセット制御パラメータリストを作
    用するための第7の手段とを設けてなる特許請求の範囲
    第(1)項に記載のプログラム呼び出し装置。
  3. (3)上記演算装置には、上記アプリケーションプログ
    ラムによって与えられ上記第6の手段を実行させるため
    の第8の手段に対して、アドレス指示を可能とするため
    の第9の手段を設けてなる特許請求の範囲第(2)項に
    記載のプログラム呼び出し装置。
JP59230480A 1983-12-05 1984-11-02 プログラム呼び出し装置 Expired - Lifetime JPH0760380B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/558,268 US4587628A (en) 1983-12-05 1983-12-05 Method and apparatus for dynamic invocation of utilities
US558268 1995-11-13

Publications (2)

Publication Number Publication Date
JPS60176143A true JPS60176143A (ja) 1985-09-10
JPH0760380B2 JPH0760380B2 (ja) 1995-06-28

Family

ID=24228864

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59230480A Expired - Lifetime JPH0760380B2 (ja) 1983-12-05 1984-11-02 プログラム呼び出し装置

Country Status (4)

Country Link
US (1) US4587628A (ja)
EP (1) EP0144792B1 (ja)
JP (1) JPH0760380B2 (ja)
DE (1) DE3486267T2 (ja)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4710886A (en) * 1984-10-24 1987-12-01 International Business Machines Corporation Table driven print formatting
US4782463A (en) * 1985-09-12 1988-11-01 International Business Machines Corp. Method for generating display screens for a set of application programs by calling screen management subroutines
US5016164A (en) * 1986-04-21 1991-05-14 Texas Instruments Incorporated Computer system having delayed save on procedure calls
US4975829A (en) * 1986-09-22 1990-12-04 At&T Bell Laboratories Communication interface protocol
US5206951A (en) * 1987-08-21 1993-04-27 Wang Laboratories, Inc. Integration of data between typed objects by mutual, direct invocation between object managers corresponding to object types
US5226161A (en) * 1987-08-21 1993-07-06 Wang Laboratories, Inc. Integration of data between typed data structures by mutual direct invocation between data managers corresponding to data types
US4873625A (en) * 1987-11-17 1989-10-10 International Business Machines Corporation Method and apparatus for extending collation functions of a sorting program
US5089985A (en) * 1988-04-07 1992-02-18 International Business Machines Corporation System and method for performing a sort operation in a relational database manager to pass results directly to a user without writing to disk
US4949255A (en) * 1988-09-07 1990-08-14 International Business Machines Corp. Message interface and method for recursive calling between interpretive and compiled computer processes
GB2242293A (en) * 1990-01-05 1991-09-25 Apple Computer Apparatus and method for dynamic linking of computer software components
US5117495A (en) * 1990-03-07 1992-05-26 Syncsort Incorporated Method of sorting data records
US5388219A (en) * 1992-03-02 1995-02-07 International Business Machines Corporation Efficient channel and control unit for host computer
US5794240A (en) * 1992-05-26 1998-08-11 Fujitsu Limited Multi-threaded sorting system for a data processing system
US5437036A (en) * 1992-09-03 1995-07-25 Microsoft Corporation Text checking application programming interface
US5623693A (en) * 1994-02-17 1997-04-22 International Business Machines Corporation System for performing action by sorting actions into immediate and deferred queues, processing immediate queue while still sorting, and appending deferred queue to immediate after sorting
US6219726B1 (en) * 1994-07-27 2001-04-17 International Business Machines Corporation System for providing access protection on media storage devices by selecting from a set of generated control parameters in accordance with application attributes
US6453325B1 (en) 1995-05-24 2002-09-17 International Business Machines Corporation Method and means for backup and restoration of a database system linked to a system for filing data
US6029160A (en) * 1995-05-24 2000-02-22 International Business Machines Corporation Method and means for linking a database system with a system for filing data
US5644696A (en) * 1995-06-06 1997-07-01 International Business Machines Corporation Recovering multi-volume data sets during volume recovery
US5819082A (en) * 1995-06-07 1998-10-06 Sierra On-Line, Inc. Data storage optimization using an access order resource list
US6311184B1 (en) * 1995-10-06 2001-10-30 International Business Machines Corporation Sort and merge functions with input and output procedures
US5819276A (en) * 1995-10-06 1998-10-06 International Business Machines Corporation Method for supporting multiple file-systems in file input/output operations
US5778393A (en) * 1996-05-20 1998-07-07 International Business Machines Corporation Adaptive multitasking for dataset storage
US5862308A (en) * 1996-12-03 1999-01-19 Bull Hn Information Systems Inc. Fault intercept and resolution process independent of operating system
ES2166188T3 (es) * 1997-09-24 2002-04-01 Wincor Nixdorf Gmbh & Co Kg Procedimiento para la conmutacion de etapas de transaccion.
US6243701B1 (en) * 1998-06-29 2001-06-05 Microsoft Corporation System and method for sorting character strings containing accented and unaccented characters
DE19956625C2 (de) * 1999-11-25 2002-08-14 Daimler Chrysler Ag Echtzeit-Datensortierung und -reduktion
US7111003B2 (en) * 2002-07-15 2006-09-19 Bmc Software System and method for inputing data to a sort utility from a user program
EP1528489A1 (en) * 2003-09-11 2005-05-04 Sap Ag A financial data evaluation method
US20100241638A1 (en) * 2009-03-18 2010-09-23 O'sullivan Patrick Joseph Sorting contacts
CN112181912B (zh) * 2020-09-28 2024-03-12 中国建设银行股份有限公司 一种文件格式的确定方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57189244A (en) * 1981-05-18 1982-11-20 Toshiba Corp Relational algebra operating device
JPS58129650A (ja) * 1982-01-29 1983-08-02 Hitachi Ltd デ−タ処理装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1250659B (de) * 1964-04-06 1967-09-21 International Business Machines Corporation, Armonk, NY (V St A) Mikroprogrammgesteuerte Datenverarbeitungsanlage
US4210961B1 (en) * 1971-10-08 1996-10-01 Syncsort Inc Sorting system
US3987420A (en) * 1973-12-28 1976-10-19 Ing. C. Olivetti & C., S.P.A. Electronic computer with equipment for debugging operative programs
US4270168A (en) * 1978-08-31 1981-05-26 United Technologies Corporation Selective disablement in fail-operational, fail-safe multi-computer control system
US4295206A (en) * 1979-06-06 1981-10-13 Ncr Canada Ltd.-Ncr Canada Ltee Document sorting method
US4417321A (en) * 1981-05-18 1983-11-22 International Business Machines Corp. Qualifying and sorting file record data
DE3278297D1 (en) * 1981-05-18 1988-05-05 Ibm Method of qualifying and sorting file record data in a text processing system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57189244A (en) * 1981-05-18 1982-11-20 Toshiba Corp Relational algebra operating device
JPS58129650A (ja) * 1982-01-29 1983-08-02 Hitachi Ltd デ−タ処理装置

Also Published As

Publication number Publication date
EP0144792A3 (en) 1989-03-08
EP0144792B1 (en) 1994-01-19
JPH0760380B2 (ja) 1995-06-28
EP0144792A2 (en) 1985-06-19
US4587628A (en) 1986-05-06
DE3486267D1 (de) 1994-03-03
DE3486267T2 (de) 1994-06-30

Similar Documents

Publication Publication Date Title
EP0144792B1 (en) Method for dynamic invocation of a utility computer program from an application program
US4130867A (en) Database instruction apparatus for determining a database record type
US4432051A (en) Process execution time accounting system
US4084228A (en) Process management structures and hardware/firmware control
US4210961A (en) Sorting system
US4025901A (en) Database instruction find owner
EP0059810B1 (en) Microprogrammed digital data processing system employing multiphase subroutine control for concurrently executing tasks
US4587632A (en) Lookahead stack oriented computer
JP3219826B2 (ja) 情報処理装置
US4024508A (en) Database instruction find serial
JPS62165249A (ja) ペ−ジ・セグメント化仮想記憶デ−タ処理システムにおけるセグメント・サイズを自動的に大きくする方法
JPS6014341A (ja) 基本命令セツト計算機システムにおけるトラツプ割込み方式
JPS62165251A (ja) 仮想記憶仮想計算機型データ処理システムの入出力制御方法
US4351024A (en) Switch system base mechanism
JPH0340868B2 (ja)
JP2991242B2 (ja) マルチプロセッサコンピュータシステム使用方法
US5519860A (en) Central processor index sort followed by direct record sort and write by an intelligent control unit
Hollaar Specialized merge processor networks for combining sorted lists
US4816992A (en) Method of operating a data processing system in response to an interrupt
JPH0754467B2 (ja) データ処理装置
JPS6032220B2 (ja) 情報処理装置
JPS60134937A (ja) アドレス拡張装置
JP2006515446A (ja) 関連アプリケーションを相互参照するカルテシアンコントローラを有するデータ処理システム
WO1986004165A1 (en) Allocator for a reduction processor evaluating programs stored as binary directed graphs employing variable-free applicative language codes
Laliotis Implementation aspects of the symbol hardware compiler