JPH0833799B2 - データ入出力制御方式 - Google Patents
データ入出力制御方式Info
- Publication number
- JPH0833799B2 JPH0833799B2 JP63273342A JP27334288A JPH0833799B2 JP H0833799 B2 JPH0833799 B2 JP H0833799B2 JP 63273342 A JP63273342 A JP 63273342A JP 27334288 A JP27334288 A JP 27334288A JP H0833799 B2 JPH0833799 B2 JP H0833799B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- file
- data
- input
- output
- 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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
-
- 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/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24532—Query optimisation of parallel queries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Description
【発明の詳細な説明】 〔概要〕 プログラムが発行する主記憶へのデータ入力命令と主
記憶からのデータ出力命令に基づいてデータ入出力を実
行するオペレーティングシステムのデータ入出力制御方
式に関し、 バッチ型のデータ入出力制御方式を前提として、デー
タ出力命令を発行するファイル出力プログラムと、その
ファイル内のデータの入力命令を発行するファイル入力
プログラムとを、ファイル出力プログラムの実行終了時
点を待つことなく並行して実行させることを目的とし、 主記憶装置から外部記憶装置へデータを出力し、該外
部記憶装置内にファイルを作成するためのファイル出力
プログラムと、該ファイル出力プログラムの実行終了後
に前記外部記憶装置内に作成されたファイル内のデータ
を用いる処理を行うためのファイル入力プログラムの実
行が可能となるバッチ型のデータ入出力制御方式であっ
て、データの書出しおよび読込みを制御するデータ管理
部と、プログラムの起動、待合せおよび終了を管理する
ジョブ・タスク管理部と、該ジョブ・タスク管理部と前
記データ管理部とが前記ファイル出力プログラムとファ
イル入力プログラムの実行にあたって使用するデータ記
憶部とを有するオペレーティングシステムにおいて、前
記ファイル出力プログラムとファイル入力プログラムの
並行処理を管理する入出力並行化管理部と、該管理部の
管理に基づき、外部記憶装置を経由せずに前記主記憶装
置内でデータ転送を行うデータ転送部とからなる入出力
並行化制御部を設け、前記ファイル出力プログラムの実
行終了を待つことなく、前記ファイル入力プログラムを
並行して実行する様に構成する。
記憶からのデータ出力命令に基づいてデータ入出力を実
行するオペレーティングシステムのデータ入出力制御方
式に関し、 バッチ型のデータ入出力制御方式を前提として、デー
タ出力命令を発行するファイル出力プログラムと、その
ファイル内のデータの入力命令を発行するファイル入力
プログラムとを、ファイル出力プログラムの実行終了時
点を待つことなく並行して実行させることを目的とし、 主記憶装置から外部記憶装置へデータを出力し、該外
部記憶装置内にファイルを作成するためのファイル出力
プログラムと、該ファイル出力プログラムの実行終了後
に前記外部記憶装置内に作成されたファイル内のデータ
を用いる処理を行うためのファイル入力プログラムの実
行が可能となるバッチ型のデータ入出力制御方式であっ
て、データの書出しおよび読込みを制御するデータ管理
部と、プログラムの起動、待合せおよび終了を管理する
ジョブ・タスク管理部と、該ジョブ・タスク管理部と前
記データ管理部とが前記ファイル出力プログラムとファ
イル入力プログラムの実行にあたって使用するデータ記
憶部とを有するオペレーティングシステムにおいて、前
記ファイル出力プログラムとファイル入力プログラムの
並行処理を管理する入出力並行化管理部と、該管理部の
管理に基づき、外部記憶装置を経由せずに前記主記憶装
置内でデータ転送を行うデータ転送部とからなる入出力
並行化制御部を設け、前記ファイル出力プログラムの実
行終了を待つことなく、前記ファイル入力プログラムを
並行して実行する様に構成する。
本発明は、コンピュータシステムにおけるデータ入出
力方式に係り、さらに詳しくはプログラムが発行する主
記憶へのデータ入力命令と主記憶からのデータ出力命令
に基づいてデータ入出力を実行するオペレーティングシ
ステムのデータ入出力制御方式に関する。
力方式に係り、さらに詳しくはプログラムが発行する主
記憶へのデータ入力命令と主記憶からのデータ出力命令
に基づいてデータ入出力を実行するオペレーティングシ
ステムのデータ入出力制御方式に関する。
コンピュータの出現以来、最も一般的なデータ処理方
式であるバッチ処理、すなわち一括処理方式においては
発生したデータをその都度直ちに処理するのではなく、
ある単位でまとめてから処理する方式が用いられる。例
えば、商品別の売上状況を把握するような場合には、1
週間とか1カ月といった単位でのデータをまとめて処理
することになる。
式であるバッチ処理、すなわち一括処理方式においては
発生したデータをその都度直ちに処理するのではなく、
ある単位でまとめてから処理する方式が用いられる。例
えば、商品別の売上状況を把握するような場合には、1
週間とか1カ月といった単位でのデータをまとめて処理
することになる。
このような長時間の単位でなくとも、従来のバッチ処
理方式ではある単位でまとめられたデータを、例えば、
外部記憶装置としての磁気ディスク装置にファイルとし
て出力し、そのファイルが完成してからファイル内のデ
ータを用いた処理を行うことになる。従ってファイルへ
のデータ出力プログラムの実行後にはじめてそのファイ
ル内のデータを処理するためのデータ入力プログラムが
実行可能となる。
理方式ではある単位でまとめられたデータを、例えば、
外部記憶装置としての磁気ディスク装置にファイルとし
て出力し、そのファイルが完成してからファイル内のデ
ータを用いた処理を行うことになる。従ってファイルへ
のデータ出力プログラムの実行後にはじめてそのファイ
ル内のデータを処理するためのデータ入力プログラムが
実行可能となる。
第12図は、データ入出力制御方式の第1従来例である
基本順アクセス法(BSAM:Basic Sequential Access Met
hod)の構成ブロック図である。コンピュータを構成す
る中央処理装置1、主記憶装置2、記憶制御装置3が図
のように接続されている。主記憶装置2の内部は、利用
者用記憶部4とオペレーティングシステム用記憶部5よ
り成る。利用者用記憶部4はプログラム記憶部6と、デ
ータ記憶部7より成る。オペレーティングシステム用記
憶部5には、オペレーティングシステム(OS)の一部で
あるデータ管理部8という名称のプログラムが格納され
ており、そのほか、やはりオペレーティングシステムの
一部でプログラムの起動・終了などを管理しているジョ
ブ・タスク管理部9という名称のプログラムが格納さ
れ、これら2つの管理部8、9が使用するためのデータ
記憶部10がある。データ入出力は、コンピュータの周辺
装置、第12図では、磁気ディスク装置11の中のファイル
12と、利用者用記憶部4内のデータ記憶部7との間のデ
ータ転送であり、データ記憶部7から見て、入力と出力
がある。磁気ディスク装置11と記憶制御装置3の間でデ
ータ転送を実際に行う装置が、磁気ディスク制御装置13
である。磁気ディスク装置11の内部で、ファイル12に利
用者が付けた名前を記憶しておく部分が、ファイル名記
憶部14である。データ管理部8は、オープン処理部15、
書出し処理部16、読込み処理部17、そしてクローズ処理
部18を含んでいる。
基本順アクセス法(BSAM:Basic Sequential Access Met
hod)の構成ブロック図である。コンピュータを構成す
る中央処理装置1、主記憶装置2、記憶制御装置3が図
のように接続されている。主記憶装置2の内部は、利用
者用記憶部4とオペレーティングシステム用記憶部5よ
り成る。利用者用記憶部4はプログラム記憶部6と、デ
ータ記憶部7より成る。オペレーティングシステム用記
憶部5には、オペレーティングシステム(OS)の一部で
あるデータ管理部8という名称のプログラムが格納され
ており、そのほか、やはりオペレーティングシステムの
一部でプログラムの起動・終了などを管理しているジョ
ブ・タスク管理部9という名称のプログラムが格納さ
れ、これら2つの管理部8、9が使用するためのデータ
記憶部10がある。データ入出力は、コンピュータの周辺
装置、第12図では、磁気ディスク装置11の中のファイル
12と、利用者用記憶部4内のデータ記憶部7との間のデ
ータ転送であり、データ記憶部7から見て、入力と出力
がある。磁気ディスク装置11と記憶制御装置3の間でデ
ータ転送を実際に行う装置が、磁気ディスク制御装置13
である。磁気ディスク装置11の内部で、ファイル12に利
用者が付けた名前を記憶しておく部分が、ファイル名記
憶部14である。データ管理部8は、オープン処理部15、
書出し処理部16、読込み処理部17、そしてクローズ処理
部18を含んでいる。
第13図は、第12図の構成でデータ書出し、すなわち、
主記憶装置2からのデータ出力を行う場合の動作説明図
である。プログラム記憶部6の中に利用者の起動により
オペレーティングシステムが生成した書出しプログラム
19は、あらかじめ利用者がプログラミングした手順とし
て初期化処理などを実行したのち、OPEN命令を発行す
る。オペレーティングシステムのデータ管理部8のオー
プン処理部15は、OPEN命令を受け付けると、命令のパラ
メタが指定されたファイルを作るために、それを格納す
べき磁気ディスク装置11が使用可能であることと、その
中のファイル名記憶部14の中に同じ名称のファイル名が
既に存在していないことを確認して、ファイル12の中で
今からファイル格納に使える磁気ディスク装置11上での
領域の番地をデータ記憶部10の格納領域番地等20に記憶
させてから、制御を書出しプログラム19に返す。続いて
この書出しプログラム19は、データ(1)を利用者用記
憶部4のデータ記憶部7の特定の番地から出力してほし
い旨指定して、WRITE命令を発行する。書出し処理部16
は、データ記憶部10の格納領域番地等20を参照して、フ
ァイル12の該当する番地にデータ(1)と同じ内容を書
出す。これがDATA(1)となる。以下同様に、データ記
憶部7内のデータ(2)からDATA(2)が作られ、デー
タ(3)からDATA(3)が作られる。その後書出しプロ
グラム19が書き出すべきデータが尽きたためCLOSE命令
を発行する。CLOSE命令を受け付けたクローズ処理部18
は、ファイル12にデータ末尾(エンドオブファイルまた
はEOFと呼ぶ)の符号を書き込み、さらにファイル名と
磁気ディスク装置11上でのファイル12の格納番地を、あ
とのために、すなわち他プログラムが読めるようにファ
イル名記憶部14にファイル制御ブロック21という形で書
いてから、書出しプログラム19に制御を返す。その後、
書出しプログラム19は後始末処理などを実行し終わる
と、RETURN命令を発行して終了を宣言し、ジョブ・タス
ク管理部9によりプログラム記憶部6から消滅させられ
る。
主記憶装置2からのデータ出力を行う場合の動作説明図
である。プログラム記憶部6の中に利用者の起動により
オペレーティングシステムが生成した書出しプログラム
19は、あらかじめ利用者がプログラミングした手順とし
て初期化処理などを実行したのち、OPEN命令を発行す
る。オペレーティングシステムのデータ管理部8のオー
プン処理部15は、OPEN命令を受け付けると、命令のパラ
メタが指定されたファイルを作るために、それを格納す
べき磁気ディスク装置11が使用可能であることと、その
中のファイル名記憶部14の中に同じ名称のファイル名が
既に存在していないことを確認して、ファイル12の中で
今からファイル格納に使える磁気ディスク装置11上での
領域の番地をデータ記憶部10の格納領域番地等20に記憶
させてから、制御を書出しプログラム19に返す。続いて
この書出しプログラム19は、データ(1)を利用者用記
憶部4のデータ記憶部7の特定の番地から出力してほし
い旨指定して、WRITE命令を発行する。書出し処理部16
は、データ記憶部10の格納領域番地等20を参照して、フ
ァイル12の該当する番地にデータ(1)と同じ内容を書
出す。これがDATA(1)となる。以下同様に、データ記
憶部7内のデータ(2)からDATA(2)が作られ、デー
タ(3)からDATA(3)が作られる。その後書出しプロ
グラム19が書き出すべきデータが尽きたためCLOSE命令
を発行する。CLOSE命令を受け付けたクローズ処理部18
は、ファイル12にデータ末尾(エンドオブファイルまた
はEOFと呼ぶ)の符号を書き込み、さらにファイル名と
磁気ディスク装置11上でのファイル12の格納番地を、あ
とのために、すなわち他プログラムが読めるようにファ
イル名記憶部14にファイル制御ブロック21という形で書
いてから、書出しプログラム19に制御を返す。その後、
書出しプログラム19は後始末処理などを実行し終わる
と、RETURN命令を発行して終了を宣言し、ジョブ・タス
ク管理部9によりプログラム記憶部6から消滅させられ
る。
第14図は、第12図の構成でデータ読込み、すなわち、
主記憶装置2へのデータ入力を行う場合の動作説明図で
ある。プログラム記憶部6の中に利用者が投入した読込
みプログラム22はすぐに起動されるとは限らない。第13
図の書出しプログラム19が読込みプログラム22が用いる
ファイルと同一のファイル名で実行中であると、起動は
ジョブ・タスク管理部9により待たされる。書出しプロ
グラム19がRETURN命令を発行した時点まで、または指定
によっては、CLOSE命令を発行した時点まで読込みプロ
グラム22は待たされてしまう。
主記憶装置2へのデータ入力を行う場合の動作説明図で
ある。プログラム記憶部6の中に利用者が投入した読込
みプログラム22はすぐに起動されるとは限らない。第13
図の書出しプログラム19が読込みプログラム22が用いる
ファイルと同一のファイル名で実行中であると、起動は
ジョブ・タスク管理部9により待たされる。書出しプロ
グラム19がRETURN命令を発行した時点まで、または指定
によっては、CLOSE命令を発行した時点まで読込みプロ
グラム22は待たされてしまう。
読込みプログラム22は起動されると、あらかじめ利用
者がプログラミングした手順として初期化処理などを実
行したのち、OPEN命令を発行する。オペレーティングシ
ステムのデータ管理部8のオープン処理部15は、OPEN命
令を受け付けると、指定されたファイルが格納されてい
る磁気ディスク装置11が使用可能であることと、その中
のファイル名記憶部14の中に既にその名称のファイル名
をもつファイル制御ブロック21が存在していることと、
そしてファイル12が存在していることを確認する。その
後ファイル名記憶部14からファイルの格納されている磁
気ディスク装置11上での領域の番地をデータ記憶部10に
記憶させてから、制御の読込みプログラム22に返す。続
いてこの読込プログラム22は、データを1件、利用者用
記憶部4内のデータ記憶部7に入力してほしい旨指定し
て、READ命令を発行する。読込み処理部17は、データ記
憶部10の中の領域番地等20を参照して、ファイル12の該
当する番地からDATA(1)を読み込んで、同じ内容のデ
ータ(1)をデータ記憶部7に通知する。以下同様に、
DATA(2)からデータ(2)が作られ、DATA(3)から
データ(3)が作られる。その後、読込みプログラム22
がデータ数を知らずにもう1件データを読もうとREAD命
令を発行したときに、ファイル12にはデータがなくデー
タ末尾(EOF)の符号が現れるので、読込み処理部17は
データの転送を行わず、「データ末尾」を読込みプログ
ラム22に通知する。これを受けて読込みプログラム22
は、CLOSE命令を発行する。CLOSE命令を受け付けたクロ
ーズ処理部18は、すぐに読込みプログラム22に制御を返
す。その後、読込みプログラム22は後始末処理などを実
行し終わると、RETURN命令を発行して終了を宣言し、ジ
ョブ・タスク管理部9により消滅させられる。
者がプログラミングした手順として初期化処理などを実
行したのち、OPEN命令を発行する。オペレーティングシ
ステムのデータ管理部8のオープン処理部15は、OPEN命
令を受け付けると、指定されたファイルが格納されてい
る磁気ディスク装置11が使用可能であることと、その中
のファイル名記憶部14の中に既にその名称のファイル名
をもつファイル制御ブロック21が存在していることと、
そしてファイル12が存在していることを確認する。その
後ファイル名記憶部14からファイルの格納されている磁
気ディスク装置11上での領域の番地をデータ記憶部10に
記憶させてから、制御の読込みプログラム22に返す。続
いてこの読込プログラム22は、データを1件、利用者用
記憶部4内のデータ記憶部7に入力してほしい旨指定し
て、READ命令を発行する。読込み処理部17は、データ記
憶部10の中の領域番地等20を参照して、ファイル12の該
当する番地からDATA(1)を読み込んで、同じ内容のデ
ータ(1)をデータ記憶部7に通知する。以下同様に、
DATA(2)からデータ(2)が作られ、DATA(3)から
データ(3)が作られる。その後、読込みプログラム22
がデータ数を知らずにもう1件データを読もうとREAD命
令を発行したときに、ファイル12にはデータがなくデー
タ末尾(EOF)の符号が現れるので、読込み処理部17は
データの転送を行わず、「データ末尾」を読込みプログ
ラム22に通知する。これを受けて読込みプログラム22
は、CLOSE命令を発行する。CLOSE命令を受け付けたクロ
ーズ処理部18は、すぐに読込みプログラム22に制御を返
す。その後、読込みプログラム22は後始末処理などを実
行し終わると、RETURN命令を発行して終了を宣言し、ジ
ョブ・タスク管理部9により消滅させられる。
利用者が書出しプログラム19の起動を行ったときにジ
ョブ制御言語などで書出しプログラム19の終了後直ちに
読込みプログラム22を起動することを指定してあれば、
ジョブ・タスク管理部9は、書出しプログラム19がRETU
RAN命令を発行して終了を宣言した直後に、指定された
名前のプログラムをプログラムライブラリから持ってき
て自動的に起動する。これに対して書出しプログラム19
が、プログラムや与えたデータの誤り、または操作員に
よる実行中止指令などの理由で正常に終わりまでいかな
かった場合、すなわち異常終了の場合には同じファイル
12を用いる読込みプログラム22を起動してはいけないこ
とが多い。このような場合には異常原因を解消してか
ら、改めて書出しプログラム19を実行して、ファイル12
を正しく作り直す必要がある。このときは、ジョブ・タ
スク管理部9が、異常を検知して、読込みプログラム22
などの自動起動をしない、という処置がとられる。
ョブ制御言語などで書出しプログラム19の終了後直ちに
読込みプログラム22を起動することを指定してあれば、
ジョブ・タスク管理部9は、書出しプログラム19がRETU
RAN命令を発行して終了を宣言した直後に、指定された
名前のプログラムをプログラムライブラリから持ってき
て自動的に起動する。これに対して書出しプログラム19
が、プログラムや与えたデータの誤り、または操作員に
よる実行中止指令などの理由で正常に終わりまでいかな
かった場合、すなわち異常終了の場合には同じファイル
12を用いる読込みプログラム22を起動してはいけないこ
とが多い。このような場合には異常原因を解消してか
ら、改めて書出しプログラム19を実行して、ファイル12
を正しく作り直す必要がある。このときは、ジョブ・タ
スク管理部9が、異常を検知して、読込みプログラム22
などの自動起動をしない、という処置がとられる。
上のような自動起動が、ジョブステップ制御あるいは
ジョブ制御と呼ばれる制御である。同一ファイルの出力
・入力の関係にある2個のプログラムは、こうした順次
的制御でどうしても待つしかないので、利用者はジョブ
制御言語でこれらのプログラムを、順次に実行すべきジ
ョブあるいはジョブステップである旨を記述しておくの
が普通である。したがって、第13図の書出しプログラム
19が終了すると、そのファイルを入力する読込みプログ
ラム22を、ジョブ・タスク管理部9が起動することにな
る。このため、利用者はジョブを投入してから、2つの
プログラム19、22の両方の実行時間を合計した時間待た
ないと、両方の完了した結果を得ることができない、と
いう欠点があった。
ジョブ制御と呼ばれる制御である。同一ファイルの出力
・入力の関係にある2個のプログラムは、こうした順次
的制御でどうしても待つしかないので、利用者はジョブ
制御言語でこれらのプログラムを、順次に実行すべきジ
ョブあるいはジョブステップである旨を記述しておくの
が普通である。したがって、第13図の書出しプログラム
19が終了すると、そのファイルを入力する読込みプログ
ラム22を、ジョブ・タスク管理部9が起動することにな
る。このため、利用者はジョブを投入してから、2つの
プログラム19、22の両方の実行時間を合計した時間待た
ないと、両方の完了した結果を得ることができない、と
いう欠点があった。
第15図は、上記欠点を図示したタイムチャートであ
る。同図において、線が一時高くなるところが、その処
理が動作中であることを示す表記である。また○印と矢
印は、○印の動作開始または停止がトリガとなって矢印
の先端の動作開始または停止が行われることを示す。書
出しと読込みの2個のプログラムを最初に同時に起動し
たと仮定した。それでも、読込みプログラムのオープン
処理は、ファイルの全データの書出しが完了するまで待
たされる(第15図の*印)ことになる。
る。同図において、線が一時高くなるところが、その処
理が動作中であることを示す表記である。また○印と矢
印は、○印の動作開始または停止がトリガとなって矢印
の先端の動作開始または停止が行われることを示す。書
出しと読込みの2個のプログラムを最初に同時に起動し
たと仮定した。それでも、読込みプログラムのオープン
処理は、ファイルの全データの書出しが完了するまで待
たされる(第15図の*印)ことになる。
データ入出力制御方式の第2の従来例である「パイ
プ」を第16図で説明する。コンピュータの記憶装置は、
利用者記憶装置31、ユティリティ用記憶装置32、シェル
(すなわち、殻)用記憶装置33、そして、カーネル
(核)用記憶装置34から成る。これに、キーボード装置
41と表示装置42が接続されている。いま、利用者36が、
このコンピュータへの指令として、コマンド35を「cat
pr-l22」という形式でキーボード装置41から与えたとす
る。このコマンドは利用者用記憶装置31からシェル用記
憶装置33へ移されて、シェルコマンド(すなわち、殻命
令)解析部37で解釈される。コマンド35の中の1番目の
コマンドである「cat」の意味は、「標準入力ファイル
から文字列を読んで、標準出力ファイルに出力せよ」で
あり、2番目のコマンドである「pr-l22」の意味は、
「標準入力ファイルを読んで、標準出力ファイルに1ペ
ージ22行の所定の形式に直して表示せよ」であり、ま
た、これらを連結している「|」は特別な記号で、「そ
の左のコマンドで実行されるプログラムの標準出力ファ
イルを、その右のコマンドで実行されるプログラムの標
準入力と対応させて、動作せよ。両者の動作は同時、す
なわち並行処理でよい」を意味する。シェルコマンド解
析部37は解析処理でこのような指定を認識し、カーネル
の機能を利用して「cat」処理プログラム(すなわち、
ユティリティ」と「pr」ユティリティをそれぞれたとえ
ば、プロセスP1とプロセスP2という名前の動作単位で発
生させ、ユティリティ用記憶装置32に配置する。そして
P1の入力は標準入力ファイルとしてキーボード装置41と
対応させ、P1の標準出力38はカーネル(核)用記憶装置
34の中に新たに設定するパイプ(すなわち、プロセス間
通信路)への入力とする。一方プロセスP2の標準入力39
は、パイプ40からの出力に対応させる。この操作によっ
て、パイプが2個のプロセスを結合することになる。更
に、P2の標準出力として、表示装置42を割り当てる。パ
イプは、入力データがはいってくると、それを待たせる
ことなく出力するので、この状況で、利用者36が多数の
文字の入力をキーボード装置41で行うと、P1がwriteで
書き出したデータは、P1の処理がどこまで進んでいるか
にかかわらず、P2のread命令でどんどん処理される。し
たがって、P1とP2は並行処理ができる。
プ」を第16図で説明する。コンピュータの記憶装置は、
利用者記憶装置31、ユティリティ用記憶装置32、シェル
(すなわち、殻)用記憶装置33、そして、カーネル
(核)用記憶装置34から成る。これに、キーボード装置
41と表示装置42が接続されている。いま、利用者36が、
このコンピュータへの指令として、コマンド35を「cat
pr-l22」という形式でキーボード装置41から与えたとす
る。このコマンドは利用者用記憶装置31からシェル用記
憶装置33へ移されて、シェルコマンド(すなわち、殻命
令)解析部37で解釈される。コマンド35の中の1番目の
コマンドである「cat」の意味は、「標準入力ファイル
から文字列を読んで、標準出力ファイルに出力せよ」で
あり、2番目のコマンドである「pr-l22」の意味は、
「標準入力ファイルを読んで、標準出力ファイルに1ペ
ージ22行の所定の形式に直して表示せよ」であり、ま
た、これらを連結している「|」は特別な記号で、「そ
の左のコマンドで実行されるプログラムの標準出力ファ
イルを、その右のコマンドで実行されるプログラムの標
準入力と対応させて、動作せよ。両者の動作は同時、す
なわち並行処理でよい」を意味する。シェルコマンド解
析部37は解析処理でこのような指定を認識し、カーネル
の機能を利用して「cat」処理プログラム(すなわち、
ユティリティ」と「pr」ユティリティをそれぞれたとえ
ば、プロセスP1とプロセスP2という名前の動作単位で発
生させ、ユティリティ用記憶装置32に配置する。そして
P1の入力は標準入力ファイルとしてキーボード装置41と
対応させ、P1の標準出力38はカーネル(核)用記憶装置
34の中に新たに設定するパイプ(すなわち、プロセス間
通信路)への入力とする。一方プロセスP2の標準入力39
は、パイプ40からの出力に対応させる。この操作によっ
て、パイプが2個のプロセスを結合することになる。更
に、P2の標準出力として、表示装置42を割り当てる。パ
イプは、入力データがはいってくると、それを待たせる
ことなく出力するので、この状況で、利用者36が多数の
文字の入力をキーボード装置41で行うと、P1がwriteで
書き出したデータは、P1の処理がどこまで進んでいるか
にかかわらず、P2のread命令でどんどん処理される。し
たがって、P1とP2は並行処理ができる。
第16図に示した「パイプ」は公知技術であるが、標準
入力ファイルの入力命令readと、標準出力ファイルの出
力命令writeを使って記述したプログラムだけしか利用
できないという欠点があった。
入力ファイルの入力命令readと、標準出力ファイルの出
力命令writeを使って記述したプログラムだけしか利用
できないという欠点があった。
第1の従来例におけるバッチ型のREAD命令とWRITE命
令は前述のパイプにおけるread命令とwrite命令とは、
綴りは同様でもその機能は異なる命令である。第2の従
来例のように「パイプ」機能をもったオペレーティング
システムにはバッチプログラムを動作させるジョブ制御
機能がなく、相容れなかった。なお、パイプ機能をもつ
オペレーティングシステムで「バッチ」という用語があ
るが、これはシェルコマンドをあらかじめまとめて登録
しておけば一括して呼び出すことができるという機能の
ことを指すのであって、決して別のオペレーティングシ
ステムが従来「BSAM」という名で提供しているバッチ型
入出力機能を実現しているものではないから、用語は重
なっているが本発明が問題としているデータ入出力制御
方式とは基本的に無関係である。バッチ型の入出力制御
方法としては、前述の基本順アクセス法の他に、区分さ
れたメンバを見つけた後にシーケンシャルアクセスを行
う基本区分アクセス法(BPAM)、アドレスやキーを指定
して検索する基本直接アクセス法(BDAM)、およびレコ
ード単位のアクセスを行うキュード順アクセス法(QSA
M)等があるが、いずれも第15図のように読込みプログ
ラムのオープン処理がファイルの全データの書出しが完
了するまで待たされる点では同様である。
令は前述のパイプにおけるread命令とwrite命令とは、
綴りは同様でもその機能は異なる命令である。第2の従
来例のように「パイプ」機能をもったオペレーティング
システムにはバッチプログラムを動作させるジョブ制御
機能がなく、相容れなかった。なお、パイプ機能をもつ
オペレーティングシステムで「バッチ」という用語があ
るが、これはシェルコマンドをあらかじめまとめて登録
しておけば一括して呼び出すことができるという機能の
ことを指すのであって、決して別のオペレーティングシ
ステムが従来「BSAM」という名で提供しているバッチ型
入出力機能を実現しているものではないから、用語は重
なっているが本発明が問題としているデータ入出力制御
方式とは基本的に無関係である。バッチ型の入出力制御
方法としては、前述の基本順アクセス法の他に、区分さ
れたメンバを見つけた後にシーケンシャルアクセスを行
う基本区分アクセス法(BPAM)、アドレスやキーを指定
して検索する基本直接アクセス法(BDAM)、およびレコ
ード単位のアクセスを行うキュード順アクセス法(QSA
M)等があるが、いずれも第15図のように読込みプログ
ラムのオープン処理がファイルの全データの書出しが完
了するまで待たされる点では同様である。
データ入出力制御方式の第3の従来例であるオンライ
ン方式を第17図により説明する。同図において、システ
ムを構成する複数のプロセスP1,P2,P3,P4・・・43〜46
は、例えばバッファ47あるいはファイルを経由して相互
にメッセージを交換する。この方式では例えばプロセス
P143がライト命令でバッファ47に出力したメッセージを
直ちに他のプロセス例えばP244がリード命令で読むこ
と、すなわち書出しプログラムと読込みプログラムの並
行処理が可能である。
ン方式を第17図により説明する。同図において、システ
ムを構成する複数のプロセスP1,P2,P3,P4・・・43〜46
は、例えばバッファ47あるいはファイルを経由して相互
にメッセージを交換する。この方式では例えばプロセス
P143がライト命令でバッファ47に出力したメッセージを
直ちに他のプロセス例えばP244がリード命令で読むこ
と、すなわち書出しプログラムと読込みプログラムの並
行処理が可能である。
しかしながら、オンライン方式の場合は、多数のプロ
セス間のメッセージの授受を行うために、通常入出力デ
ータの内部またはプログラムと対応する環境ファイル中
にメッセージ種別と宛先識別を持たせる必要がある。ま
た出力プログラムと入力プログラムの対応関係は特に定
義されず、例えばプロセスP143からP345へのメッセージ
転送が完了しても、その後例えばP446からP345へのメッ
セージ転送が行われる可能性があり、P345の入力プログ
ラムを終了させることはできない。このような相違点か
ら、本発明で問題とするバッチ型の入出力制御方式を用
いての入出力並行処理をオンライン方式で実現すること
は不可能である。
セス間のメッセージの授受を行うために、通常入出力デ
ータの内部またはプログラムと対応する環境ファイル中
にメッセージ種別と宛先識別を持たせる必要がある。ま
た出力プログラムと入力プログラムの対応関係は特に定
義されず、例えばプロセスP143からP345へのメッセージ
転送が完了しても、その後例えばP446からP345へのメッ
セージ転送が行われる可能性があり、P345の入力プログ
ラムを終了させることはできない。このような相違点か
ら、本発明で問題とするバッチ型の入出力制御方式を用
いての入出力並行処理をオンライン方式で実現すること
は不可能である。
上述のように、従来のバッチ型のデータ入出力制御方
式、すなわちプログラムが作成するファイルを構成する
全データが出力された後にはじめてそのファイルのデー
タを入力するプログラムの実行開始が許される方式にお
いては、ファイル出力プログラムとそのファイルのデー
タを処理するためのファイル入力プログラムとの並行処
理は不可能であって、並行処理ができると仮定した場合
に比較して全体の実行に長い時間を要するという問題点
があった。
式、すなわちプログラムが作成するファイルを構成する
全データが出力された後にはじめてそのファイルのデー
タを入力するプログラムの実行開始が許される方式にお
いては、ファイル出力プログラムとそのファイルのデー
タを処理するためのファイル入力プログラムとの並行処
理は不可能であって、並行処理ができると仮定した場合
に比較して全体の実行に長い時間を要するという問題点
があった。
本発明は、バッチ型のデータ入出力制御方式を前提と
して、テータ出力命令を発行するファイル出力プログラ
ムと、そのファイル内のデータの入力命令を発行するフ
ァイル入力プログラムとを、ファイル出力プログラムの
実行終了時点を待つことなく並行して実行させることを
目的とする。
して、テータ出力命令を発行するファイル出力プログラ
ムと、そのファイル内のデータの入力命令を発行するフ
ァイル入力プログラムとを、ファイル出力プログラムの
実行終了時点を待つことなく並行して実行させることを
目的とする。
第1図に本発明の原理ブロック図を示す。同図(a)
は第1および第3の発明の原理、(b)は第2の発明の
原理を示す。同図(a),(b)においてコンピュータ
本体が中央処理装置51、主記憶装置52、および記憶制御
装置55によって構成され、また主記憶装置52内に利用者
用記憶部53とオペレーティングシステム用記憶部54があ
る。さらに同図(a),(b)に共通に、オペレーティ
ングシステム用記憶部54内に、データの書出しおよび読
込みを制御するデータ管理部56と、プログラムの起動、
待合わせおよび終了を管理するジョブ・タスク管理部57
と、データ管理部56およびジョブ・タスク管理部57がフ
ァイル出力プログラムとファイル入力プログラムとの実
行にあたって使用するデータ記憶部58がある。
は第1および第3の発明の原理、(b)は第2の発明の
原理を示す。同図(a),(b)においてコンピュータ
本体が中央処理装置51、主記憶装置52、および記憶制御
装置55によって構成され、また主記憶装置52内に利用者
用記憶部53とオペレーティングシステム用記憶部54があ
る。さらに同図(a),(b)に共通に、オペレーティ
ングシステム用記憶部54内に、データの書出しおよび読
込みを制御するデータ管理部56と、プログラムの起動、
待合わせおよび終了を管理するジョブ・タスク管理部57
と、データ管理部56およびジョブ・タスク管理部57がフ
ァイル出力プログラムとファイル入力プログラムとの実
行にあたって使用するデータ記憶部58がある。
第1および第3の発明の原理を示す第1図(a)にお
いて、入出力並行化管理部59はデータ管理部56との間で
制御を授受し、例えばファイルオープン命令によりデー
タ管理部56から送られる対象ファイルに対して出力プロ
グラムと入力プログラムの並行処理を行うか否かなどを
管理する。
いて、入出力並行化管理部59はデータ管理部56との間で
制御を授受し、例えばファイルオープン命令によりデー
タ管理部56から送られる対象ファイルに対して出力プロ
グラムと入力プログラムの並行処理を行うか否かなどを
管理する。
また、データ転送部60は、入出力並行化管理部59の管
理に基づき、データ管理部56との間でデータを授受しな
がら、例えば書出しプログラムにより主記憶部装置52の
書出しデータ領域から書きだされたデータを、外部記憶
装置を経由することなく、主記憶装置52上の読込みプロ
グラム用の読込みデータ領域に転送する。
理に基づき、データ管理部56との間でデータを授受しな
がら、例えば書出しプログラムにより主記憶部装置52の
書出しデータ領域から書きだされたデータを、外部記憶
装置を経由することなく、主記憶装置52上の読込みプロ
グラム用の読込みデータ領域に転送する。
第2の発明の原理を示す第1図(b)においては、第
1図(a)の構成手段に加えて、データ記憶部58内に入
出力並行化管理表62、ジョブ・タスク管理部57内に並行
化指定登録・削除処理部63が設けられる。
1図(a)の構成手段に加えて、データ記憶部58内に入
出力並行化管理表62、ジョブ・タスク管理部57内に並行
化指定登録・削除処理部63が設けられる。
入出力並行化管理表62は、同一ファイルを用いるファ
イル出力プログラムとファイル入力プログラムとの名称
などを、各ファイルに対して1組として記憶する。ま
た、並行化指定登録・削除処理部63は、ファイル出力プ
ログラムおよびファイル入力プログラム以外の別プログ
ラム、または利用者の指示により、入出力並行化管理表
62の内容変更、すなわち1組となる出力および入力プロ
グラム名の登録、削除などを行う。
イル出力プログラムとファイル入力プログラムとの名称
などを、各ファイルに対して1組として記憶する。ま
た、並行化指定登録・削除処理部63は、ファイル出力プ
ログラムおよびファイル入力プログラム以外の別プログ
ラム、または利用者の指示により、入出力並行化管理表
62の内容変更、すなわち1組となる出力および入力プロ
グラム名の登録、削除などを行う。
第1の発明の原理を示す第1図(a)において、ファ
イル出力プログラム、例えば書出しプログラムからのフ
ァイルオープン命令により、データ管理部56からオープ
ンすべきファイル名が入出力並行化管理部59に伝えられ
る。入出力並行化管理部59により、このファイルが入出
力並行化処理対象のファイルであると判定され、ファイ
ル入力プログラム例えば読込みプログラムからのファイ
ルオープン命令によりデータ転送準備が整うと、書出し
プログラムにより書き出されたデータが書出しプログラ
ムの終了を待つことなく、データ管理部56を経由して、
データ転送部60により主記憶装置52内で、読込みプログ
ラム用のデータ領域に転送される。入出力並行化にあた
りタスクとしての書出しプログラムおよび読込みプログ
ラムの起動、待合せなどの制御はジョブ・タスク管理部
57によって行われる。
イル出力プログラム、例えば書出しプログラムからのフ
ァイルオープン命令により、データ管理部56からオープ
ンすべきファイル名が入出力並行化管理部59に伝えられ
る。入出力並行化管理部59により、このファイルが入出
力並行化処理対象のファイルであると判定され、ファイ
ル入力プログラム例えば読込みプログラムからのファイ
ルオープン命令によりデータ転送準備が整うと、書出し
プログラムにより書き出されたデータが書出しプログラ
ムの終了を待つことなく、データ管理部56を経由して、
データ転送部60により主記憶装置52内で、読込みプログ
ラム用のデータ領域に転送される。入出力並行化にあた
りタスクとしての書出しプログラムおよび読込みプログ
ラムの起動、待合せなどの制御はジョブ・タスク管理部
57によって行われる。
これによってまず磁気ディスクや磁気テープなどの実
際の外部記憶装置にデータを書き出し、ファイルの作成
が終わってから、そのファイル内のデータを読み出すと
いう従来の作業が代行される。データは書きだされた単
位、例えば文字単位や一定または可変長のレコード単位
などで、外部記憶装置を経由せずに主記憶の一部から主
記憶の他の部分への転送により、直接読込みプログラム
に渡されることになる。したがって、主記憶を仮想記憶
に拡張してもよく、また1個以上のバッファ(緩衝領
域)を経由して書出しと読込みの速度を調整したり、書
出し・読込みを一括したり分割することもできる。
際の外部記憶装置にデータを書き出し、ファイルの作成
が終わってから、そのファイル内のデータを読み出すと
いう従来の作業が代行される。データは書きだされた単
位、例えば文字単位や一定または可変長のレコード単位
などで、外部記憶装置を経由せずに主記憶の一部から主
記憶の他の部分への転送により、直接読込みプログラム
に渡されることになる。したがって、主記憶を仮想記憶
に拡張してもよく、また1個以上のバッファ(緩衝領
域)を経由して書出しと読込みの速度を調整したり、書
出し・読込みを一括したり分割することもできる。
第2の発明の原理を示す第1図(b)では、利用者ま
たは別プログラムの指示に応じて、並行化指定登録・削
除処理部63によって入出力並行化管理表62の内容変更が
可能となり、利用者または別プログラムの指示するファ
イル出力プログラムとファイル入力プログラムとの並行
処理が行われる。
たは別プログラムの指示に応じて、並行化指定登録・削
除処理部63によって入出力並行化管理表62の内容変更が
可能となり、利用者または別プログラムの指示するファ
イル出力プログラムとファイル入力プログラムとの並行
処理が行われる。
その原理は第1の発明と同様に第1図(a)で示され
る第3の発明では、第1の発明の作用に加えてジョブ・
タスク管理部57の制御により、ファイル出力プログラム
とファイル入力プログラムの一方が異常終了したときに
は他方も異常終了させられ、また利用者が例えばジョブ
制御言語により後続プログラムを指定してあり、しかも
両プログラムが正常終了したときには、その後続プログ
ラムが自動起動される。
る第3の発明では、第1の発明の作用に加えてジョブ・
タスク管理部57の制御により、ファイル出力プログラム
とファイル入力プログラムの一方が異常終了したときに
は他方も異常終了させられ、また利用者が例えばジョブ
制御言語により後続プログラムを指定してあり、しかも
両プログラムが正常終了したときには、その後続プログ
ラムが自動起動される。
以上のように、本発明によれば、従来のバッチ型のデ
ータ入出力プログラムを変更することなく、ファイル出
力プログラムとそのファイルを処理するためのファイル
入力プログラムとの並行処理が可能となる。
ータ入出力プログラムを変更することなく、ファイル出
力プログラムとそのファイルを処理するためのファイル
入力プログラムとの並行処理が可能となる。
本発明のデータ入出力制御方式の実施例の構成ブロッ
ク図を第2図に示す。主要構成部分は第1図の原理ブロ
ック図と同様であるが、主記憶装置52の利用者記憶部53
内には後述するように書出しプログラム64および読込み
プログラム65が生成される。
ク図を第2図に示す。主要構成部分は第1図の原理ブロ
ック図と同様であるが、主記憶装置52の利用者記憶部53
内には後述するように書出しプログラム64および読込み
プログラム65が生成される。
オペレーティングシステム用記憶部54内のデータ管理
部56は第12図の従来例と同様に、オープン処理部66、書
出し処理部67、読込み処理部68およびクローズ処理部69
から構成される。ジョブ・タスク管理部57の内部には、
前述の並行化指定登録・削除処理部63に加えて、タスク
待ちとその解除を制御するタスク待ち・解除処理部70が
ある。
部56は第12図の従来例と同様に、オープン処理部66、書
出し処理部67、読込み処理部68およびクローズ処理部69
から構成される。ジョブ・タスク管理部57の内部には、
前述の並行化指定登録・削除処理部63に加えて、タスク
待ちとその解除を制御するタスク待ち・解除処理部70が
ある。
本発明のデータ入出力制御方式の動作を第2図を用い
て説明する。
て説明する。
以下の箇条書きの項番は、第2図中の〜と対応す
る。
る。
データ出力命令を発行するファイル出力プログラム
と、そのファイル内のデータの入力命令を発行するファ
イル入力プログラムとを並行して実行させるために、ま
ず最初に並行化対象としてのファイル名の登録が行われ
る。すなわち、例えば利用者が第2図に図示しないキー
ボードから、並行化対象ファイル名またはファイル名を
識別するための識別子を入力すると、ジョブ・タスク管
理部57内の並行化指定登録・削除処理部63はデータ記憶
部58内の入出力並行化管理表62に、そのファイル名やプ
ログラム名の登録又は変更を行う。
と、そのファイル内のデータの入力命令を発行するファ
イル入力プログラムとを並行して実行させるために、ま
ず最初に並行化対象としてのファイル名の登録が行われ
る。すなわち、例えば利用者が第2図に図示しないキー
ボードから、並行化対象ファイル名またはファイル名を
識別するための識別子を入力すると、ジョブ・タスク管
理部57内の並行化指定登録・削除処理部63はデータ記憶
部58内の入出力並行化管理表62に、そのファイル名やプ
ログラム名の登録又は変更を行う。
利用者の起動依頼により、オペレーティングシステム
のジョブ・タスク管理部57が利用者用記憶部53の中に生
成した書出しプログラム64は、あらかじめ利用者がプロ
グラミングした手順として初期化処理などを実行したの
ち、OPEN命令を発行する。
のジョブ・タスク管理部57が利用者用記憶部53の中に生
成した書出しプログラム64は、あらかじめ利用者がプロ
グラミングした手順として初期化処理などを実行したの
ち、OPEN命令を発行する。
ここで、利用者プログラムは従来例の第13図、第14図
で述べたOPEN命令、READ命令、WRITE命令またはCLOSE命
令を発行するように作成されたプログラムであり、本発
明のための変更は加えられていないものである。
で述べたOPEN命令、READ命令、WRITE命令またはCLOSE命
令を発行するように作成されたプログラムであり、本発
明のための変更は加えられていないものである。
オペレーティングシステムのデータ管理部56のオープ
ン処理部66は、OPEN命令を受け付けると、指定されたフ
ァイル名を入出力並行化管理部59に送る。
ン処理部66は、OPEN命令を受け付けると、指定されたフ
ァイル名を入出力並行化管理部59に送る。
入出力並行化管理部59は、入出力並行化管理表62を参
照して、並行化対象としてのファイル名の指定があらか
じめ登録されているかどうかを調べる。
照して、並行化対象としてのファイル名の指定があらか
じめ登録されているかどうかを調べる。
ここで、入出力並行化管理表62の実施例を第3図に示
す。同図において、システムで動作中のn個の並行化フ
ァイルのそれぞれに対して、そのファイルを用いる書出
しプログラムと読込みプログラムの名称、状態および主
記憶上の番地と長さが登録される形式となっている。プ
ログラムの状態については後に各部の動作フローチャー
トとともに詳細に説明する。
す。同図において、システムで動作中のn個の並行化フ
ァイルのそれぞれに対して、そのファイルを用いる書出
しプログラムと読込みプログラムの名称、状態および主
記憶上の番地と長さが登録される形式となっている。プ
ログラムの状態については後に各部の動作フローチャー
トとともに詳細に説明する。
入出力並行化管理部59は入出力並行化管理表62を調べ
た結果、もしファイル名があれば、入出力並行化管理表
62に書出しプログラム状態、書出しデータの主記憶上番
地と長さを設定して、制御をオープン処理部66に返す。
しかし、もしなければ、オープン処理部66にファイルが
なかった旨の通知を行い、オープン処理部66は、従来例
と同じオープン処理を実際の入出力装置で行う。その詳
細は第13図で説明したとおりである。
た結果、もしファイル名があれば、入出力並行化管理表
62に書出しプログラム状態、書出しデータの主記憶上番
地と長さを設定して、制御をオープン処理部66に返す。
しかし、もしなければ、オープン処理部66にファイルが
なかった旨の通知を行い、オープン処理部66は、従来例
と同じオープン処理を実際の入出力装置で行う。その詳
細は第13図で説明したとおりである。
入出力並行化管理表62に登録されている場合には、こ
の時点ではまだオープン処理部66は制御を書出しプログ
ラム64に返さない(ただし、バッファを用いるならば、
制御を返して書出しを始めさせて、それにライトデータ
をためこんでおく方法も可能である)。
の時点ではまだオープン処理部66は制御を書出しプログ
ラム64に返さない(ただし、バッファを用いるならば、
制御を返して書出しを始めさせて、それにライトデータ
をためこんでおく方法も可能である)。
一方、と同様に、しかし必ずしも同時でなく非同期
的に生成された読込みプログラム65は、初期化処理など
を実行したのち、OPEN命令を発行する。
的に生成された読込みプログラム65は、初期化処理など
を実行したのち、OPEN命令を発行する。
ここで、利用者プログラムは従来例の第13図、第14図
で述べたOPEN命令、READ命令、WRITE命令またはCLOSE命
令を発行するように作成されたプログラムであり、本発
明のための変更は加えられていないものである。
で述べたOPEN命令、READ命令、WRITE命令またはCLOSE命
令を発行するように作成されたプログラムであり、本発
明のための変更は加えられていないものである。
オープン処理部66は、OPEN命令を受け付けると、指定
されたファイル名を入出力並行化管理部59に送る。
されたファイル名を入出力並行化管理部59に送る。
入出力並行化管理部59は、入出力並行化管理表62を調
べ、そのファイル名があるのを確認したうえで、入出力
並行化管理表62に読込みプログラムの状態、読込みデー
タの主記憶上の番地を設定して、書出しと読込みの対応
が整ったことを通知しながら制御をオープン処理部66に
返す。このとき、オープン処理部66は制御を書出しと読
込みの両プログラム64、65に返す。
べ、そのファイル名があるのを確認したうえで、入出力
並行化管理表62に読込みプログラムの状態、読込みデー
タの主記憶上の番地を設定して、書出しと読込みの対応
が整ったことを通知しながら制御をオープン処理部66に
返す。このとき、オープン処理部66は制御を書出しと読
込みの両プログラム64、65に返す。
したがって、とはどちらが先でもよい。
書出しプログラム64がデータを用意して、WRITE命令
を発行する。
を発行する。
書出し処理部67は、データ転送部60に、データを受け
付けた旨通知する。しかしまだ、書出しプログラム64に
制御は返さない。
付けた旨通知する。しかしまだ、書出しプログラム64に
制御は返さない。
読込みプログラム65はデータ読込みを要求するREAD命
令を発行する。
令を発行する。
これを受け付けた読込み処理部68は、データ転送部60
に転送を依頼する。
に転送を依頼する。
データ転送部60は、書出しプログラム64の主記憶から
の書出しデータを、読込みプログラム65の主記憶上の読
込みデータ領域に向かって転送処理を行う。その後デー
タ転送部60は、書出しと読込みの両処理部67、68に転送
完了を通知する。
の書出しデータを、読込みプログラム65の主記憶上の読
込みデータ領域に向かって転送処理を行う。その後デー
タ転送部60は、書出しと読込みの両処理部67、68に転送
完了を通知する。
読込みプログラム65に制御が戻り、次の処理へ進む。
また書出しプログラム64にも制御が戻り、次の処理へ進
む。以下、データが複数であれば、上述の〜が繰り
返される。
また書出しプログラム64にも制御が戻り、次の処理へ進
む。以下、データが複数であれば、上述の〜が繰り
返される。
書出しプログラム64は書出したい全部のデータを書出
したとき、CLOSE命令を発行する。
したとき、CLOSE命令を発行する。
この命令を受け付けた、クローズ処理部69は、これを
入出力並行化管理部59に通知する。入出力並行化管理部
59は、入出力並行化管理表62の中の書出しプログラム状
態を更新する。その後入出力並行化管理部59はクローズ
処理部69を経由して、書出しプログラム64に制御を返
す。
入出力並行化管理部59に通知する。入出力並行化管理部
59は、入出力並行化管理表62の中の書出しプログラム状
態を更新する。その後入出力並行化管理部59はクローズ
処理部69を経由して、書出しプログラム64に制御を返
す。
読込プログラム65の発行するREAD命令に対して、書出
しプログラム64がCLOSE命令を発行したあとには、デー
タ末尾(前記EOF)が通知されてくるので、読込みプロ
グラム65はその契機か、または読みたいデータを全部読
み終わったときに、CLOSE命令を発行する。
しプログラム64がCLOSE命令を発行したあとには、デー
タ末尾(前記EOF)が通知されてくるので、読込みプロ
グラム65はその契機か、または読みたいデータを全部読
み終わったときに、CLOSE命令を発行する。
この命令を受け付けた、クローズ処理部69は、これを
入出力並行化管理部59に通知する。入出力並行化管理部
59は、入出力並行化管理表62の中の読込みプログラム状
態を更新するか、またはプログラム名等の情報を削除す
る。入出力並行化管理部59はクローズ処理部69を経由し
て、読込みプログラム65に制御を返す。
入出力並行化管理部59に通知する。入出力並行化管理部
59は、入出力並行化管理表62の中の読込みプログラム状
態を更新するか、またはプログラム名等の情報を削除す
る。入出力並行化管理部59はクローズ処理部69を経由し
て、読込みプログラム65に制御を返す。
タスク待ち・解除処理部70は、入出力並行化管理部59
が上述の処理を行っているあいだ入出力並行化管理表62
の状態によって、制御をタスクである書出しプログラム
64、読込プログラム65に返してよいか、または待つべき
かを判定した結果によって、タスクを待たせる、あるい
は待ちを解除させる処理を行う。
が上述の処理を行っているあいだ入出力並行化管理表62
の状態によって、制御をタスクである書出しプログラム
64、読込プログラム65に返してよいか、または待つべき
かを判定した結果によって、タスクを待たせる、あるい
は待ちを解除させる処理を行う。
以上により、書出しプログラム64と読込みプログラム
65の実行が終了するので、例えばにおける利用者のキ
ーボードからの入力内容に応じて、並行化指定登録・削
除処理部63は入出力並行化管理表62からファイル名等の
削除を行う。
65の実行が終了するので、例えばにおける利用者のキ
ーボードからの入力内容に応じて、並行化指定登録・削
除処理部63は入出力並行化管理表62からファイル名等の
削除を行う。
利用者がジョブ制御言語などで後続プログラムの自動
起動を指定すれば、ジョブ・タスク管理部57は、書出し
および読込みプログラム64、65がRETURN命令を発行して
終了した際に、指定されたプログラムを自動的に起動す
る。反対に、書出しプログラム64が、プログラムや与え
たデータの誤り、または操作員による実行中止指令など
の理由で正常に終わりまでいかなかった場合、すなわち
異常終了の場合には読込みプログラム65も同時に異常終
了させる。逆に読込みプログラム65が異常終了した場合
には書出しプログラム64も異常終了させる。同一ファイ
ルの出力・入力の関係にある2個のプログラムは、本発
明による並行制御の効果で同時に実行され、多くの場
合、「ほとんど同時に終わる」ことが期待できる。
起動を指定すれば、ジョブ・タスク管理部57は、書出し
および読込みプログラム64、65がRETURN命令を発行して
終了した際に、指定されたプログラムを自動的に起動す
る。反対に、書出しプログラム64が、プログラムや与え
たデータの誤り、または操作員による実行中止指令など
の理由で正常に終わりまでいかなかった場合、すなわち
異常終了の場合には読込みプログラム65も同時に異常終
了させる。逆に読込みプログラム65が異常終了した場合
には書出しプログラム64も異常終了させる。同一ファイ
ルの出力・入力の関係にある2個のプログラムは、本発
明による並行制御の効果で同時に実行され、多くの場
合、「ほとんど同時に終わる」ことが期待できる。
第4図は、従来例の第15図と対照して、動作のタイム
チャートを示すものである。並行処理の実際のタイミン
グと所要時間短縮がわかる。
チャートを示すものである。並行処理の実際のタイミン
グと所要時間短縮がわかる。
第5図に並行化指定登録・削除処理の詳細フローチャ
ートを示す。この処理は第2図の、に対応する。処
理が開始されると、まずS70で並行化指定の登録依頼か
否かが判定される。登録依頼の場合には、S71で依頼パ
ラメタ、すなわち利用者プログラムがマクロ命令を発行
する際に渡す情報から登録対象のファイル名が把握され
る。そして入出力並行化管理表62のファイル名欄に同一
の名称がないことが確認され、未使用の表要素がそのフ
ァイル名に対して割り当てられる。
ートを示す。この処理は第2図の、に対応する。処
理が開始されると、まずS70で並行化指定の登録依頼か
否かが判定される。登録依頼の場合には、S71で依頼パ
ラメタ、すなわち利用者プログラムがマクロ命令を発行
する際に渡す情報から登録対象のファイル名が把握され
る。そして入出力並行化管理表62のファイル名欄に同一
の名称がないことが確認され、未使用の表要素がそのフ
ァイル名に対して割り当てられる。
次にS72で、依頼パラメタからファイル名が取り出さ
れ、入出力並行化管理表62のファイル名欄に設定され、
またS73で、書出しプログラム名と読込みプログラム名
とが取り出され、入出力並行化管理表62の各プログラム
名欄に設定される。その後、S74で入出力並行化管理表6
2の書出しプログラム状態欄と読込みプログラム状態欄
とがともに‘0'すなわちオープン前とされ、処理が終了
する。
れ、入出力並行化管理表62のファイル名欄に設定され、
またS73で、書出しプログラム名と読込みプログラム名
とが取り出され、入出力並行化管理表62の各プログラム
名欄に設定される。その後、S74で入出力並行化管理表6
2の書出しプログラム状態欄と読込みプログラム状態欄
とがともに‘0'すなわちオープン前とされ、処理が終了
する。
S70で登録依頼でないと判定された場合には、S75で並
行化指定削除依頼か否かが判定され、削除依頼の場合に
はS76で依頼パラメタから削除対象ファイル名が把握さ
れ、入出力並行化管理表62のファイル名欄から一致する
ものが検索される。次にS77が入出力並行化管理表62内
のそのファイルに関する情報がすべて削除される。すな
わち、ファイル名欄が空白とされ、その表要素が未使用
状態とされ処理が終了する。
行化指定削除依頼か否かが判定され、削除依頼の場合に
はS76で依頼パラメタから削除対象ファイル名が把握さ
れ、入出力並行化管理表62のファイル名欄から一致する
ものが検索される。次にS77が入出力並行化管理表62内
のそのファイルに関する情報がすべて削除される。すな
わち、ファイル名欄が空白とされ、その表要素が未使用
状態とされ処理が終了する。
S70で登録依頼でなく、またS75で削除依頼でもない場
合には並行化指定変更依頼であるのでS78で依頼パラメ
タから変更対象のファイル名が把握され、入出力並行化
管理表62のファイル名欄から一致するものが検索され
る。次にS79で依頼パラメタから変更項目種別が取り出
され、S80で依頼パラメタから変更項目内容が取り出さ
れ、入出力並行化管理表62の該当欄すなわち変更項目種
別に従ってファイル名、書出しプログラム名、読込みプ
ログラム名のいずれかの欄の書換が行われ、処理が終了
する。
合には並行化指定変更依頼であるのでS78で依頼パラメ
タから変更対象のファイル名が把握され、入出力並行化
管理表62のファイル名欄から一致するものが検索され
る。次にS79で依頼パラメタから変更項目種別が取り出
され、S80で依頼パラメタから変更項目内容が取り出さ
れ、入出力並行化管理表62の該当欄すなわち変更項目種
別に従ってファイル名、書出しプログラム名、読込みプ
ログラム名のいずれかの欄の書換が行われ、処理が終了
する。
第6図は入出力並行化管理部59の動作フローチャート
である。処理が開始されるとS81でオープン時起動か否
かが判定される。オープン時起動の場合には、第2図の
とに対応することになり、S82でオープン時処理が
呼び出され、処理が終了する。オープン時処理でない場
合には、クローズ時起動、すなわち第2図の、に対
応することになり、S83でクローズ時処理が呼び出さ
れ、処理が終わる。
である。処理が開始されるとS81でオープン時起動か否
かが判定される。オープン時起動の場合には、第2図の
とに対応することになり、S82でオープン時処理が
呼び出され、処理が終了する。オープン時処理でない場
合には、クローズ時起動、すなわち第2図の、に対
応することになり、S83でクローズ時処理が呼び出さ
れ、処理が終わる。
オープン時処理の詳細フローチャートを第7図に示
す。同図において処理が開始されると、まずS84で書出
しプログラム64からのファイルオープン依頼であるか否
かが判定され、書出しプログラム64からの依頼、すなわ
ち第2図のに対応する場合には、S85で依頼パラメタ
から対象のファイル名が把握され、入出力並行化管理表
62のファイル名欄の中で値の一致するものが検索され
る。
す。同図において処理が開始されると、まずS84で書出
しプログラム64からのファイルオープン依頼であるか否
かが判定され、書出しプログラム64からの依頼、すなわ
ち第2図のに対応する場合には、S85で依頼パラメタ
から対象のファイル名が把握され、入出力並行化管理表
62のファイル名欄の中で値の一致するものが検索され
る。
次に検索されたファイル名に対応する読込みプログラ
ムの状態が‘1'、すなわち書出しオープン待ちか否かが
S86で判定される。ここで書出しオープン待ちは、ファ
イルが既に読込みプログラム側からオープンされている
状態を示す。書出しオープン待ちのときは、S87で入出
力並行化管理表62の書出しプログラム状態欄が‘2'すな
わち書出し前、読込みプログラム状態欄が‘2'すなわち
書出し待ちにされ、データ転送の準備が終了する。続い
てS88で、タスク待ち・解除処理部70に依頼して待ち状
態となっているプログラム、ここでは読込みプログラム
の待ち状態、すなわちCPUにとりあげられて実行される
ことのない状態を解除し、実行状態、すなわちCPUにと
りあげられて実行される状態に変更させて処理を終わ
る。
ムの状態が‘1'、すなわち書出しオープン待ちか否かが
S86で判定される。ここで書出しオープン待ちは、ファ
イルが既に読込みプログラム側からオープンされている
状態を示す。書出しオープン待ちのときは、S87で入出
力並行化管理表62の書出しプログラム状態欄が‘2'すな
わち書出し前、読込みプログラム状態欄が‘2'すなわち
書出し待ちにされ、データ転送の準備が終了する。続い
てS88で、タスク待ち・解除処理部70に依頼して待ち状
態となっているプログラム、ここでは読込みプログラム
の待ち状態、すなわちCPUにとりあげられて実行される
ことのない状態を解除し、実行状態、すなわちCPUにと
りあげられて実行される状態に変更させて処理を終わ
る。
S86で読込みプログラム状態が書出しオープン待ちで
ない場合、すなわちファイルオープン前の場合には、S8
9で入出力並行化管理表62の書出しプログラム状態欄の
値が‘1'すなわち読込みオープン待ちとされ、S90で書
出しプログラム64の実行状態から待ち状態への変更がタ
スク待ち・解除処理部70に依頼され、処理が終わる。
ない場合、すなわちファイルオープン前の場合には、S8
9で入出力並行化管理表62の書出しプログラム状態欄の
値が‘1'すなわち読込みオープン待ちとされ、S90で書
出しプログラム64の実行状態から待ち状態への変更がタ
スク待ち・解除処理部70に依頼され、処理が終わる。
S84で書出しプログラム64からの依頼でない場合に
は、読込みプログラム65からの依頼、すなわち第2図の
に対応することになり、S91で、S85と同様にして入出
力並行化管理表62から対象のファイル名が検索される。
続いてS92で、書出しプログラム状態が‘1'すなわち読
込みオープン待ちか否かが判定され読込オープン待ちの
場合にはデータ転送の準備としてS87、S88が実行され処
理が終了する。
は、読込みプログラム65からの依頼、すなわち第2図の
に対応することになり、S91で、S85と同様にして入出
力並行化管理表62から対象のファイル名が検索される。
続いてS92で、書出しプログラム状態が‘1'すなわち読
込みオープン待ちか否かが判定され読込オープン待ちの
場合にはデータ転送の準備としてS87、S88が実行され処
理が終了する。
S92で書出しプログラム状態が読込みオープン待ちで
ない場合には、未だにファイルが書出しプログラム側か
らオープンされていないことになるので、S89、S90と同
様に、S93で、読込みプログラム状態欄の値が‘1'すな
わち書出しオープン待ちとされ、S94で読込みプログラ
ムの待ち状態への変更がタスク待ち・解除処理部70に依
頼されて処理が終了する。
ない場合には、未だにファイルが書出しプログラム側か
らオープンされていないことになるので、S89、S90と同
様に、S93で、読込みプログラム状態欄の値が‘1'すな
わち書出しオープン待ちとされ、S94で読込みプログラ
ムの待ち状態への変更がタスク待ち・解除処理部70に依
頼されて処理が終了する。
第8図にクローズ時処理の詳細フローチャートを示
す。このフローチャートは第7図のオープン時処理のも
のと類似している。処理が開始されるとまずS95で、第
7図のS84と同様にどちらのプログラムからの依頼であ
るかが判定され、書出しプログラム64からの依頼であれ
ば第2図のに対応することになり、S96でS85と同様に
入出力並行化管理表62のファイル名欄が検索される。
す。このフローチャートは第7図のオープン時処理のも
のと類似している。処理が開始されるとまずS95で、第
7図のS84と同様にどちらのプログラムからの依頼であ
るかが判定され、書出しプログラム64からの依頼であれ
ば第2図のに対応することになり、S96でS85と同様に
入出力並行化管理表62のファイル名欄が検索される。
次にS97で読込みプログラム状態が‘9'すなわち書出
しクローズ待ちかが判定される。書出しクローズ待ちで
あれば、既に読込みプログラム65側からのファイルクロ
ーズが終わっていることになるので、S98で入出力並行
化管理表62の書出しプログラム状態欄と読出しプログラ
ム状態欄とがともに‘0'すなわちオープン前とされ、S9
9で待ち状態のプログラム、ここでは読込みプログラム6
5の実行状態への変更がタスク待ち・解除処理部70に依
頼され、処理が終了する。
しクローズ待ちかが判定される。書出しクローズ待ちで
あれば、既に読込みプログラム65側からのファイルクロ
ーズが終わっていることになるので、S98で入出力並行
化管理表62の書出しプログラム状態欄と読出しプログラ
ム状態欄とがともに‘0'すなわちオープン前とされ、S9
9で待ち状態のプログラム、ここでは読込みプログラム6
5の実行状態への変更がタスク待ち・解除処理部70に依
頼され、処理が終了する。
S97で書出しクローズ待ちでない場合には、ファイル
の読込みプログラム側からのクローズが未だに行われて
いないので、S100で入出力並行化管理表62の書出しプロ
グラム状態欄の値が‘9'すなわち読込みクローズ待ちと
され、S101で書出しプログラム64の実行状態から待ち状
態への変更がタスク待ち・解除処理部70に依頼されて処
理が終了する。
の読込みプログラム側からのクローズが未だに行われて
いないので、S100で入出力並行化管理表62の書出しプロ
グラム状態欄の値が‘9'すなわち読込みクローズ待ちと
され、S101で書出しプログラム64の実行状態から待ち状
態への変更がタスク待ち・解除処理部70に依頼されて処
理が終了する。
S95で読込みプログラム65からの依頼、すなわち第2
図のに対応するときには、S102で、S96と同様にして
入出力並行化管理表62のファイル名欄が検索され、S103
で書出しプログラム状態が‘9'すなわち読込みクローズ
待ちか否かが判定され、読込みクローズ待ちであれば、
データ転送がすべて終了したことになるので、S98、99
の実行後に処理を終了する。S103で読込みクローズ待ち
でないときには、書出しプログラム側からのファイルク
ローズが未だになされていないことになるので、S104で
入出力並行化管理表62の読込みプログラム状態欄の値が
‘9'すなわち書出しクローズ待ちとされ、S105で読込み
プログラム65の実行状態から待ち状態への変更がタスク
待ち・解除処理部70に依頼され、処理が終了する。
図のに対応するときには、S102で、S96と同様にして
入出力並行化管理表62のファイル名欄が検索され、S103
で書出しプログラム状態が‘9'すなわち読込みクローズ
待ちか否かが判定され、読込みクローズ待ちであれば、
データ転送がすべて終了したことになるので、S98、99
の実行後に処理を終了する。S103で読込みクローズ待ち
でないときには、書出しプログラム側からのファイルク
ローズが未だになされていないことになるので、S104で
入出力並行化管理表62の読込みプログラム状態欄の値が
‘9'すなわち書出しクローズ待ちとされ、S105で読込み
プログラム65の実行状態から待ち状態への変更がタスク
待ち・解除処理部70に依頼され、処理が終了する。
第9図はデータ転送処理の詳細フローチャートであ
る。第2図のに対応するデータ転送処理が開始される
と、まずS106で書出し処理部67からの転送依頼か否かが
判定される。書出し処理部67からの依頼、すなわち第2
図の、に対応するときには、S107で入出力並行化管
理表62の読込みプログラム状態欄の値が判定される。そ
の値が‘2'すなわち書出し待ちのときには、読込みプロ
グラム側でデータを受け取る準備ができていることにな
るので、S108で入出力並行化管理表62のデータの領域番
地とその長さが参照され、書出しデータが読込みデータ
領域に転送される。続いてS109で読込みプログラム65の
待ち状態から実行状態への変更がタスク待ち・解除処理
部70に依頼され、またS110で入出力並行化管理表62の書
出しプログラム状態欄が‘2'すなわち書出し前に、読込
みプログラム状態欄が‘3'すなわち読込み前にされて、
処理が終了する。
る。第2図のに対応するデータ転送処理が開始される
と、まずS106で書出し処理部67からの転送依頼か否かが
判定される。書出し処理部67からの依頼、すなわち第2
図の、に対応するときには、S107で入出力並行化管
理表62の読込みプログラム状態欄の値が判定される。そ
の値が‘2'すなわち書出し待ちのときには、読込みプロ
グラム側でデータを受け取る準備ができていることにな
るので、S108で入出力並行化管理表62のデータの領域番
地とその長さが参照され、書出しデータが読込みデータ
領域に転送される。続いてS109で読込みプログラム65の
待ち状態から実行状態への変更がタスク待ち・解除処理
部70に依頼され、またS110で入出力並行化管理表62の書
出しプログラム状態欄が‘2'すなわち書出し前に、読込
みプログラム状態欄が‘3'すなわち読込み前にされて、
処理が終了する。
S107で読込みプログラム状態欄が‘3'すなわち読込み
前のときには、まだ読込みプログラムが転送データを受
け取る準備ができていないことになるので、S111で書出
しプログラム状態欄が‘3'すなわち読込み待ちとされ、
S112で書出しプログラム64の実行状態から待ち状態への
変更がタスク待ち・解除処理部70に依頼されて、処理が
終了する。
前のときには、まだ読込みプログラムが転送データを受
け取る準備ができていないことになるので、S111で書出
しプログラム状態欄が‘3'すなわち読込み待ちとされ、
S112で書出しプログラム64の実行状態から待ち状態への
変更がタスク待ち・解除処理部70に依頼されて、処理が
終了する。
また、S107で読込みプログラム状態欄が‘9'すなわち
書出しクローズ待ちのときには、読込みプログラム側で
は読むべきデータをすべて読み終わってファイルをクロ
ーズし、書出しプログラム側からのファイルクローズを
待っていることになるため、書出し処理部67からのデー
タ転送依頼は無視され、何も実行されずに処理が終わ
る。
書出しクローズ待ちのときには、読込みプログラム側で
は読むべきデータをすべて読み終わってファイルをクロ
ーズし、書出しプログラム側からのファイルクローズを
待っていることになるため、書出し処理部67からのデー
タ転送依頼は無視され、何も実行されずに処理が終わ
る。
S106で読込み処理部68からの依頼、すなわち第2図の
に対応すると判定されると、S113で入出力並行化管理
表62の書出しプログラム状態欄の値が判定される。その
値が‘2'すなわち書出し前のときには、まだ書出しプロ
グラム64がファイルにデータを書き出していない状態に
相当するので、S114で読込みプログラム状態欄が‘2'す
なわち書出し待ちにされ、S115で読込みプログラム65の
実行状態から待ち状態への変更がタスク待ち・解除処理
部70に依頼され、処理が終わる。
に対応すると判定されると、S113で入出力並行化管理
表62の書出しプログラム状態欄の値が判定される。その
値が‘2'すなわち書出し前のときには、まだ書出しプロ
グラム64がファイルにデータを書き出していない状態に
相当するので、S114で読込みプログラム状態欄が‘2'す
なわち書出し待ちにされ、S115で読込みプログラム65の
実行状態から待ち状態への変更がタスク待ち・解除処理
部70に依頼され、処理が終わる。
S113で書出しプログラム状態欄が‘3'すなわち読込み
待ちと判定されると、データ転送の準備が完了している
ことになるので、S116で入出力並行化管理表62のデータ
の領域番地と長さが参照され、書出しデータが読込みで
領域に転送される。その後S117で書出しプログラム64の
待ち状態から実行状態への変更がタスク待ち・解除処理
部70に依頼され、S118で入出力並行化管理表62の書出し
プログラム状態欄が‘2'すなわち書出し前とされ、処理
が終了する。
待ちと判定されると、データ転送の準備が完了している
ことになるので、S116で入出力並行化管理表62のデータ
の領域番地と長さが参照され、書出しデータが読込みで
領域に転送される。その後S117で書出しプログラム64の
待ち状態から実行状態への変更がタスク待ち・解除処理
部70に依頼され、S118で入出力並行化管理表62の書出し
プログラム状態欄が‘2'すなわち書出し前とされ、処理
が終了する。
S113で書出しプログラム状態欄が‘9'すなわち読込み
クローズ待ちのときには、書出しプログラム側から書き
出すべきデータは既に尽きていることになるので、S119
で入出力並行化管理表62の読込みプログラム状態欄が
‘3'すなわち読込み前とされ、S120で転送依頼元である
読込み処理部68にデータ末尾が通知されて、処理が終了
する。
クローズ待ちのときには、書出しプログラム側から書き
出すべきデータは既に尽きていることになるので、S119
で入出力並行化管理表62の読込みプログラム状態欄が
‘3'すなわち読込み前とされ、S120で転送依頼元である
読込み処理部68にデータ末尾が通知されて、処理が終了
する。
以上の説明では書出しプログラムと読込みプログラム
が各1個、すなわち2個のプログラムの間でのデータ入
出力について説明したが、3個以上のプログラムの間で
も本発明の制御方式を適用することができる。第10図に
3個のプログラム、第11図に多数のプログラムに対する
本制御方式の適用例を示す。第10図ではプログラムP2が
プログラムP1から出力されるファイルF2からデータを入
力しながら、プログラムP3が入力しているファイルF3に
データを出力するという並行処理が行われ、第11図では
多数のプログラム間でデータ入出力の並行処理が行われ
ている。
が各1個、すなわち2個のプログラムの間でのデータ入
出力について説明したが、3個以上のプログラムの間で
も本発明の制御方式を適用することができる。第10図に
3個のプログラム、第11図に多数のプログラムに対する
本制御方式の適用例を示す。第10図ではプログラムP2が
プログラムP1から出力されるファイルF2からデータを入
力しながら、プログラムP3が入力しているファイルF3に
データを出力するという並行処理が行われ、第11図では
多数のプログラム間でデータ入出力の並行処理が行われ
ている。
一般にバッチプログラムの順序関係は2個のプログラ
ムについてみると、使用するファイルへのデータ出力
(ファイル作成)とファイルからのデータ入力(ファイ
ル使用)で決定されるものである。また、一般に入力側
はそのファイル内の全データを読み込まなくとも、小刻
みに入力レコードや文字を1つずつ読み込んでは、出力
レコードや文字を1つ書きだすことができるという好ま
しい性質がある。これに反するのはソート(分類)プロ
グラムなどごく一部にすぎず、本発明のデータ入出力制
御方式は従来のバッチ型プログラムに広範に適用するこ
とができる。
ムについてみると、使用するファイルへのデータ出力
(ファイル作成)とファイルからのデータ入力(ファイ
ル使用)で決定されるものである。また、一般に入力側
はそのファイル内の全データを読み込まなくとも、小刻
みに入力レコードや文字を1つずつ読み込んでは、出力
レコードや文字を1つ書きだすことができるという好ま
しい性質がある。これに反するのはソート(分類)プロ
グラムなどごく一部にすぎず、本発明のデータ入出力制
御方式は従来のバッチ型プログラムに広範に適用するこ
とができる。
以上述べたように、本発明によれば、従来のバッチ型
のデータ入出力プログラムであっても、プログラムを変
更したり変換する必要もなく、ファイル出力プログラム
とそのファイルを処理する入力プログラムが並行処理で
きるようになり、実行時間が激減することになる。実際
の磁気ディスク装置や磁気テープ装置といった入出力装
置を使用せずに主記憶装置の転送あるいはバッファ処理
で入出力を代行することにより、実行時間が更に激減
し、入出力に伴う中央処理装置の負荷も削減できる。し
たがって、コンピュータ利用企業の運用時間削減、操作
員労力削減などにより驚異的な省コスト効果が期待でき
る。
のデータ入出力プログラムであっても、プログラムを変
更したり変換する必要もなく、ファイル出力プログラム
とそのファイルを処理する入力プログラムが並行処理で
きるようになり、実行時間が激減することになる。実際
の磁気ディスク装置や磁気テープ装置といった入出力装
置を使用せずに主記憶装置の転送あるいはバッファ処理
で入出力を代行することにより、実行時間が更に激減
し、入出力に伴う中央処理装置の負荷も削減できる。し
たがって、コンピュータ利用企業の運用時間削減、操作
員労力削減などにより驚異的な省コスト効果が期待でき
る。
また、機能を複数のプロセスになるようにプログラム
分割しても性能よく実行できることから、機能を積極的
に細分化して開発する自由度が生まれ、ソフトウェアの
開発分担やソフトウェア部品化も促進できる利点が大き
く、ソフトウェア生産性向上という時代の要請に応える
ための極めて有力な技術となる。
分割しても性能よく実行できることから、機能を積極的
に細分化して開発する自由度が生まれ、ソフトウェアの
開発分担やソフトウェア部品化も促進できる利点が大き
く、ソフトウェア生産性向上という時代の要請に応える
ための極めて有力な技術となる。
第1図(a),(b)は、本発明の原理ブロック図、 第2図は、データ入出力制御方式実施例の構成ブロック
図、 第3図は、入出力並行化管理表の実施例を示す図、 第4図は、本発明におけるデータ入出力実施例の動作タ
イムチャート、 第5図は、並行化指定登録・削除処理の詳細フローチャ
ート、 第6図は、入出力並行化管理部の動作フローチャート、 第7図は、オープン時処理の詳細フローチャート、 第8図は、クローズ時処理の詳細フローチャート、 第9図は、データ転送処理の詳細フローチャート、 第10図は、本発明のデータ入出力制御方式を3個のプロ
グラムに適用した例を示す図、 第11図は、本発明のデータ入出力制御方式を多数のプロ
グラムに適用した例を示す図、 第12図は、データ入出力制御方式の第1従来例の構成ブ
ロック図、 第13図は、第1従来例におけるデータ書出しの動作説明
図、 第14図は、第1従来例におけるデータ読込みの動作説明
図、 第15図は、第1従来例におけるデータ入出力の動作タイ
ムチャートを示す図、 第16図は、データ入出力制御方式の第2従来例の構成ブ
ロック図、 第17図は、データ入出力制御方式の第3従来例であるオ
ンライン方式の説明図である。 2,52……主記憶装置、8,56……データ管理部、9,57……
ジョブ・タスク管理部、15,66……オープン処理部、16,
67……書出し処理部、17,68……読込み処理部、18,69…
…クローズ処理部、59……入出力並行化管理部、60……
データ転送部、62……入出力並行化管理表、63……並行
化指定登録・削除処理部.
図、 第3図は、入出力並行化管理表の実施例を示す図、 第4図は、本発明におけるデータ入出力実施例の動作タ
イムチャート、 第5図は、並行化指定登録・削除処理の詳細フローチャ
ート、 第6図は、入出力並行化管理部の動作フローチャート、 第7図は、オープン時処理の詳細フローチャート、 第8図は、クローズ時処理の詳細フローチャート、 第9図は、データ転送処理の詳細フローチャート、 第10図は、本発明のデータ入出力制御方式を3個のプロ
グラムに適用した例を示す図、 第11図は、本発明のデータ入出力制御方式を多数のプロ
グラムに適用した例を示す図、 第12図は、データ入出力制御方式の第1従来例の構成ブ
ロック図、 第13図は、第1従来例におけるデータ書出しの動作説明
図、 第14図は、第1従来例におけるデータ読込みの動作説明
図、 第15図は、第1従来例におけるデータ入出力の動作タイ
ムチャートを示す図、 第16図は、データ入出力制御方式の第2従来例の構成ブ
ロック図、 第17図は、データ入出力制御方式の第3従来例であるオ
ンライン方式の説明図である。 2,52……主記憶装置、8,56……データ管理部、9,57……
ジョブ・タスク管理部、15,66……オープン処理部、16,
67……書出し処理部、17,68……読込み処理部、18,69…
…クローズ処理部、59……入出力並行化管理部、60……
データ転送部、62……入出力並行化管理表、63……並行
化指定登録・削除処理部.
Claims (3)
- 【請求項1】主記憶装置(52)から外部記憶装置へデー
タを出力し、該外部記憶装置内にファイルを作成するた
めのファイル出力プログラムと、該ファイル出力プログ
ラムの実行終了後に前記外部記憶装置内に作成されたフ
ァイル内のデータを用いる処理を行うためのファイル入
力プログラムの実行が可能となるバッチ型のデータ入出
力制御方式であって、 データの書出しおよび読込みを制御するデータ管理部
(56)と、 プログラムの起動、待合せおよび終了を管理するジョブ
・タスク管理部(57)と、 該ジョブ・タスク管理部(57)と前記データ管理部(5
6)とが前記ファイル出力プログラムとファイル入力プ
ログラムの実行にあたって使用するデータ記憶部(58)
とを有するオペレーティングシステムにおいて、 前記ファイル出力プログラムとファイル入力プログラム
の並行処理を管理する入出力並行化管理部(59)と、 該管理部(59)の管理に基づき、外部記憶装置を経由せ
ずに前記主記憶装置(52)内でデータ転送を行うデータ
転送部(60)とからなる入出力並行化制御部(61)を設
け、 前記ファイル出力プログラムの実行終了を待つことな
く、前記ファイル入力プログラムを並行して実行するこ
とを特徴とするデータ入出力制御方式。 - 【請求項2】主記憶装置(52)から外部記憶装置へデー
タを出力し、該外部記憶装置内にファイルを作成するた
めのファイル出力プログラムと、該ファイル出力プログ
ラムの実行終了後に前記外部記憶装置内に作成されたフ
ァイル内のデータを用いる処理を行うためのファイル入
力プログラムの実行が可能となるバッチ型のデータ入出
力制御方式であって、 データの書出しおよび読込みを制御するデータ管理部
(56)と、 プログラムの起動、待合せおよび終了を管理するジョブ
・タスク管理部(57)と、 該ジョブ・タスク管理部(57)と前記データ管理部(5
6)とが前記ファイル出力プログラムとファイル入力プ
ログラムの実行にあたって使用するデータ記憶部(58)
とを有するオペレーティングシステムにおいて、 前記ファイル出力プログラムとファイル入力プログラム
の並行処理を管理する入出力並行化管理部(59)と、 該管理部(59)の管理に基づき、外部記憶装置を経由せ
ずに前記主記憶装置(52)内でデータ転送を行うデータ
転送部(60)とからなる入出力並行化制御部(61)と、 前記データ記憶部(58)内において、同一ファイルを用
いるファイル出力プログラムとファイル入力プログラム
との名称を記憶する入出力並行管理表(62)と、 前記ジョブ・タスク管理部(57)内において、ファイル
出力プログラムおよびファイル入力プログラム以外の別
プログラムまたは利用者の指示により、前記入出力並行
化管理表(62)の内容を変更する並行化指定登録・削除
処理部(63)とを設け、 前記別プログラムまたは利用者の指示するファイル出力
プログラムとファイル入力プログラムとの間で、該ファ
イル出力プログラムの実行終了を待つことなく、該ファ
イル入力プログラムを並行して実行することを特徴とす
るデータ入出力制御方式。 - 【請求項3】主記憶装置(52)から外部記憶装置へデー
タを出力し、該外部記憶装置内にファイルを作成するた
めのファイル出力プログラムと、該ファイル出力プログ
ラムの実行終了後に前記外部記憶装置内に作成されたフ
ァイル内のデータを用いる処理を行うためのファイル入
力プログラムの実行が可能となるバッチ型のデータ入出
力制御方式であって、 データの書出しおよび読込みを制御するデータ管理部
(56)と、 プログラムの起動、待合せおよび終了を管理するジョブ
・タスク管理部(57)と、 該ジョブ・タスク管理部(57)と前記データ管理部(5
6)とが前記ファイル出力プログラムとファイル入力プ
ログラムの実行にあたって使用するデータ記憶部(58)
とを有するオペレーティングシステムにおいて、 前記ファイル出力プログラムとファイル入力プログラム
の並行処理を管理する入出力並行化管理部(59)と、 該管理部(59)の管理に基づき、外部記憶装置を経由せ
ずに前記主記憶装置(52)内でデータ転送を行うデータ
転送部(60)とからなる入出力並行化制御部(61)を設
け、 前記ファイル出力プログラムの実行終了を待つことな
く、前記ファイル入力プログラムを並行して実行し、該
ファイル出力プログラムとファイル入力プログラムの両
者のうち一方が異常終了したときに他方を同時に異常終
了させ両プログラムが正常終了し、かつ利用者による後
続プログラムの指定があるときに該後続プログラムを自
動起動することを特徴とするデータ入出力制御方式。
Priority Applications (7)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63273342A JPH0833799B2 (ja) | 1988-10-31 | 1988-10-31 | データ入出力制御方式 |
| CA002001865A CA2001865C (en) | 1988-10-31 | 1989-10-31 | Data input/output control system |
| AU43948/89A AU602825B2 (en) | 1988-10-31 | 1989-10-31 | A data input/output control system |
| EP89311252A EP0371619B1 (en) | 1988-10-31 | 1989-10-31 | Data input/output control system in an operating system |
| KR1019890015768A KR920005606B1 (ko) | 1988-10-31 | 1989-10-31 | 데이타 입/출력 제어 시스템 |
| DE68927753T DE68927753T2 (de) | 1988-10-31 | 1989-10-31 | Daten-Eingangs/-Ausgangssteuerungssystem in einem Betriebssystem |
| US08/055,763 US5404520A (en) | 1988-10-31 | 1993-05-03 | Data input/output control system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63273342A JPH0833799B2 (ja) | 1988-10-31 | 1988-10-31 | データ入出力制御方式 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH02120924A JPH02120924A (ja) | 1990-05-08 |
| JPH0833799B2 true JPH0833799B2 (ja) | 1996-03-29 |
Family
ID=17526558
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63273342A Expired - Lifetime JPH0833799B2 (ja) | 1988-10-31 | 1988-10-31 | データ入出力制御方式 |
Country Status (7)
| Country | Link |
|---|---|
| US (1) | US5404520A (ja) |
| EP (1) | EP0371619B1 (ja) |
| JP (1) | JPH0833799B2 (ja) |
| KR (1) | KR920005606B1 (ja) |
| AU (1) | AU602825B2 (ja) |
| CA (1) | CA2001865C (ja) |
| DE (1) | DE68927753T2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2021077272A (ja) * | 2019-11-13 | 2021-05-20 | 株式会社日立製作所 | 情報処理システム、及び情報処理システムの制御方法 |
Families Citing this family (25)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2551312B2 (ja) * | 1992-12-28 | 1996-11-06 | 日本電気株式会社 | ジョブステップ並列実行方式 |
| US5801690A (en) * | 1995-03-24 | 1998-09-01 | Motorola, Inc. | Method for managing termination of a multi-processing software application |
| JP3755165B2 (ja) * | 1995-06-22 | 2006-03-15 | 富士通株式会社 | 並列処理手続き選定装置及び方法 |
| US6311184B1 (en) * | 1995-10-06 | 2001-10-30 | International Business Machines Corporation | Sort and merge functions with input and output procedures |
| US5844795A (en) * | 1995-11-01 | 1998-12-01 | Allen Bradley Company, Llc | Diagnostic aid for industrial controller using multi-tasking architecture |
| US5870756A (en) * | 1996-04-26 | 1999-02-09 | Fujitsu Limited | Interchangeable storage medium containing program for processing data files thereupon to match a data file format to a computer system |
| US5970247A (en) * | 1996-10-07 | 1999-10-19 | Wolf; William M. | Methods for encoding decoding and processing six character date designations for the year 2000 and beyond |
| JPH10124366A (ja) * | 1996-10-18 | 1998-05-15 | Nec Corp | ファイルデータ格納機構の並列管理方式 |
| US5965518A (en) * | 1998-02-23 | 1999-10-12 | Nakatsu; Tetsuo | Fragrance compositions having antimicrobial activity |
| US6937815B1 (en) | 1998-06-22 | 2005-08-30 | Samsung Electronics Co., Ltd. | Method and apparatus for recording manufacturer information and for determining whether the manufacturer information is effective |
| KR100331322B1 (ko) * | 1998-06-22 | 2002-08-27 | 삼성전자 주식회사 | 제조업체간의 특수기능을 지원하기 위한 부가정보를 저장하는 기록매체 및 기록 및/또는 편집장치와 그방법 |
| EP1320007A1 (en) * | 2001-12-14 | 2003-06-18 | Vordel Limited | A method and system for the simultaneous processing of document structure and electronic signature for electronic documents |
| US20030191761A1 (en) * | 2002-04-04 | 2003-10-09 | International Business Machines Corporation | Methods and apparatus for remote file access |
| US20040024585A1 (en) * | 2002-07-03 | 2004-02-05 | Amit Srivastava | Linguistic segmentation of speech |
| US20040265566A1 (en) * | 2003-06-30 | 2004-12-30 | Lear Corporation | Interior trim system and method for making same |
| JP4526337B2 (ja) * | 2004-09-15 | 2010-08-18 | 株式会社日立製作所 | データ管理システム及び方法 |
| US7376758B2 (en) * | 2005-11-04 | 2008-05-20 | Sun Microsystems, Inc. | I/O dependency graphs |
| JP4640989B2 (ja) * | 2006-01-12 | 2011-03-02 | 株式会社リコー | 画像処理装置及び画像処理制御方法 |
| US7736338B2 (en) * | 2006-08-23 | 2010-06-15 | Medtronic Minimed, Inc. | Infusion medium delivery system, device and method with needle inserter and needle inserter device and method |
| JP4776571B2 (ja) * | 2007-03-16 | 2011-09-21 | 富士通株式会社 | 実行制御プログラム,実行制御方法及び実行制御装置 |
| JP2009037353A (ja) * | 2007-07-31 | 2009-02-19 | Ricoh Co Ltd | 情報処理端末装置及びプログラム |
| CN102479094A (zh) * | 2010-11-30 | 2012-05-30 | 英业达股份有限公司 | 可携式通讯装置运作方法 |
| JP2015185027A (ja) * | 2014-03-25 | 2015-10-22 | 富士通株式会社 | ジョブ判別プログラム、装置、及び方法 |
| JP6783812B2 (ja) * | 2018-03-13 | 2020-11-11 | 株式会社東芝 | 情報処理装置、情報処理方法およびプログラム |
| US11048549B2 (en) | 2019-04-04 | 2021-06-29 | Google Llc | Transferral of process state and/or components in computing environments |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4228496A (en) * | 1976-09-07 | 1980-10-14 | Tandem Computers Incorporated | Multiprocessor system |
| US4414624A (en) * | 1980-11-19 | 1983-11-08 | The United States Of America As Represented By The Secretary Of The Navy | Multiple-microcomputer processing |
| US4754394A (en) * | 1984-10-24 | 1988-06-28 | International Business Machines Corporation | Multiprocessing system having dynamically allocated local/global storage and including interleaving transformation circuit for transforming real addresses to corresponding absolute address of the storage |
| 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 |
-
1988
- 1988-10-31 JP JP63273342A patent/JPH0833799B2/ja not_active Expired - Lifetime
-
1989
- 1989-10-31 AU AU43948/89A patent/AU602825B2/en not_active Ceased
- 1989-10-31 EP EP89311252A patent/EP0371619B1/en not_active Expired - Lifetime
- 1989-10-31 DE DE68927753T patent/DE68927753T2/de not_active Expired - Fee Related
- 1989-10-31 KR KR1019890015768A patent/KR920005606B1/ko not_active Expired
- 1989-10-31 CA CA002001865A patent/CA2001865C/en not_active Expired - Fee Related
-
1993
- 1993-05-03 US US08/055,763 patent/US5404520A/en not_active Expired - Lifetime
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2021077272A (ja) * | 2019-11-13 | 2021-05-20 | 株式会社日立製作所 | 情報処理システム、及び情報処理システムの制御方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| AU4394889A (en) | 1990-07-19 |
| CA2001865C (en) | 1994-09-20 |
| AU602825B2 (en) | 1990-10-25 |
| DE68927753D1 (de) | 1997-03-20 |
| EP0371619A3 (en) | 1992-09-23 |
| KR920005606B1 (ko) | 1992-07-09 |
| EP0371619A2 (en) | 1990-06-06 |
| JPH02120924A (ja) | 1990-05-08 |
| KR900006845A (ko) | 1990-05-09 |
| EP0371619B1 (en) | 1997-02-05 |
| US5404520A (en) | 1995-04-04 |
| DE68927753T2 (de) | 1997-06-05 |
| CA2001865A1 (en) | 1990-04-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0833799B2 (ja) | データ入出力制御方式 | |
| JPH04229355A (ja) | データアクセス方法及びデータ処理システム | |
| JP3138575B2 (ja) | フアイル複写移行方式 | |
| JPH0895810A (ja) | バッチジョブ実行方式 | |
| JP3066644B2 (ja) | プログラム連携装置 | |
| JPS63205741A (ja) | フアイル管理方法 | |
| JPH09114673A (ja) | プログラムロード装置と方法 | |
| JPH01126738A (ja) | 多重ジョブの実行におけるデータセット競合制御方式 | |
| JP2634908B2 (ja) | 情報処理装置 | |
| JPS6148741B2 (ja) | ||
| JP2641399B2 (ja) | フアイル管理装置 | |
| JPH10320218A (ja) | データ転送処理における連携ジョブ自動起動方法 | |
| JPS63245723A (ja) | システムコマンド登録方式 | |
| JPH04130949A (ja) | 簡易システム起動方式 | |
| JPH07146809A (ja) | 情報処理装置 | |
| CN120255820A (zh) | 一种用于对硬盘控制器进行前端验证的主机模型 | |
| JPS6212555B2 (ja) | ||
| JPS61122756A (ja) | 汎用キユ−制御方式 | |
| JPH09330259A (ja) | コンピュータシステム及びそのファイルアクセス方法 | |
| JPH09106363A (ja) | ユーザコマンド自動実行方式 | |
| JPH04260947A (ja) | 共用ファイルのアクセス処理方法 | |
| JPH0652028A (ja) | ファイル管理装置 | |
| JP2000010899A (ja) | 入出力処理システム及びその周辺装置制御方法並びにその制御プログラムを記録した記録媒体 | |
| JPH05181798A (ja) | オンライン対話処理システム | |
| JPS60100239A (ja) | 共用フアイル制御システム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080329 Year of fee payment: 12 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090329 Year of fee payment: 13 |
|
| EXPY | Cancellation because of completion of term | ||
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090329 Year of fee payment: 13 |