JP2821345B2 - 非同期i/o制御方式 - Google Patents

非同期i/o制御方式

Info

Publication number
JP2821345B2
JP2821345B2 JP5241872A JP24187293A JP2821345B2 JP 2821345 B2 JP2821345 B2 JP 2821345B2 JP 5241872 A JP5241872 A JP 5241872A JP 24187293 A JP24187293 A JP 24187293A JP 2821345 B2 JP2821345 B2 JP 2821345B2
Authority
JP
Japan
Prior art keywords
asynchronous
task
priority
data
user 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.)
Expired - Lifetime
Application number
JP5241872A
Other languages
English (en)
Other versions
JPH0798663A (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.)
NEC Software Hokkaido Ltd
Original Assignee
NEC Software Hokkaido Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Software Hokkaido Ltd filed Critical NEC Software Hokkaido Ltd
Priority to JP5241872A priority Critical patent/JP2821345B2/ja
Priority to US08/294,301 priority patent/US5530871A/en
Publication of JPH0798663A publication Critical patent/JPH0798663A/ja
Application granted granted Critical
Publication of JP2821345B2 publication Critical patent/JP2821345B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F2003/0697Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は非同期I/O制御方式、
特に処理優先度の異なる複数のユーザプログラムの並列
処理を行なうデータ処理システムにおける非同期I/O
制御方式に関する。
【0002】
【従来の技術】従来、この種の非同期I/O制御方式で
は、外部記憶装置へのアクセスは、ユーザプログラムの
優先度に関係なく、システムに唯一に設けられた非同期
I/O実行タスクが特定の優先度の下で実行するように
なっている。
【0003】
【発明が解決しようとする課題】上述した従来の非同期
I/O制御方式は、ユーザプログラムごとにそれぞれ優
先度が設定されていて、それぞれの優先度に従って処理
が行なわれるにも拘らず、外部記憶装置へのアクセスの
優先度は特定になってしまい、それぞれのデータ処理に
関するユーザプログラムの特性が発揮しきれないという
問題点がある。また優先度の低いユーザプログラムがデ
ータの再利用のためにデータ読込み要求が発生した時点
で、非同期I/Oバッファ内に該当するデータが見つか
らず、再度、外部記憶装置からデータを読込みなければ
ならないことがあるという問題点を有している。
【0004】
【課題を解決するための手段】本発明の非同期I/O制
御方式は、処理優先度の異なる複数のユーザプログラム
の並列処理を行なうデータ処理システムのユーザプログ
ラムからのデータを外部記憶装置に出力する非同期I/
O制御方式において、ユーザプログラムからのデータを
保持するための主記憶装置に設けられた非同期I/Oバ
ッファと、ユーザプログラムの優先度に対応して生成さ
れた非同期I/O実行タスクのアドレスとタスク状態と
を管理する非同期I/O実行タスク管理テーブルと、ユ
ーザプログラムから外部記憶装置へのデータ出力要求を
受けて、データを前記非同期I/Oバッファのユーザプ
ログラムの優先度に対応する領域に格納させた後に前記
非同期I/O実行タスク管理テーブルを調べて同優先度
の非同期I/O実行タスクがないときは非同期I/O実
行タスクを生成し、この管理テーブルにアドレスを登録
しタスク状態を起動中として既存または生成したタスク
を起動する制御プログラムと、この制御プログラムによ
り起動されて前記非同期I/Oバッファの自優先度と同
じ領域のデータをデータが無くなるまで外部記憶装置に
転送し、転送完了で前記非同期I/O実行タスク管理テ
ーブルの自優先度のタスク状態を待ち中して処理を終了
する優先度に対応する非同期I/O実行タスクとを有す
ることにより構成される。
【0005】
【実施例】次に、本発明について図面を参照して説明す
る。
【0006】図1は本発明の一実施例の構成図である。
図1の実施例は複数のユーザプログラム11,12,〜
からなるユーザプログラム群1,0Sの一部として設け
た制御プログラム2,非同期I/Oバッファ31を有す
る主記憶装置3,複数の非同期I/O実行タスク41,
42,〜からなる非同期I/O実行タスク群4,非同期
I/O実行タスク管理テーブル5,および外部記憶装置
6を有して構成される。
【0007】制御プログラム2は、ユーザプログラム群
1中のユーザプログラムからの入出要求に従って、ユー
ザプログラムと非同期I/Oバッファ31との間のデー
タの授受を行なう。また、制御プログラム2は一つの優
先度のユーザプログラムから最初の例えば書込み要求を
受けたとき、非同期I/O実行タスク群4にこのユーザ
プログラムの優先度と同じ優先度の非同期I/O実行タ
スクを生成し、非同期I/O実行タスク管理テーブル5
にそのタスクの登録を行なう。そして制御プログラム2
は他のユーザプログラムからの入出力要求に対しても同
様の処理を行ない、非同期I/O実行タスク41,4
2,……を生成し、非同期I/O実行タスク管理テーブ
ル5に登録を行なう。また、既に同一優先度の非同期I
/O実行タスクが存在する場合には、非同期I/O実行
タスク管理テーブル5のタスク状態フラグの変更のみを
行ない、制御を要求のあったユーザプログラムに戻す。
【0008】図2は非同期I/O実行タスク管理テーブ
ル5の構成図で、非同期I/O実行タスク管理テーブル
5はユーザプログラムの優先度に対応して生成された非
同期I/O実行タスクのアドレスとそのタスクの状態を
示すタスク状態フラグとを対にして管理するテーブルで
ある。タスク状態フラグの1はそのタスクが起動できる
状態になっているか起動中であることを示し、0はタス
クが待ち状態になっていることを示している。
【0009】図3はユーザプログラムから書込み要求が
発生したときの制御プログラム2の処理の流れ図で、制
御プログラム2の動作を図3を参照に説明する。ユーザ
プログラムから書込み要求が発生すると(ステップ10
1)、制御プログラム2は要求データを非同期I/Oバ
ッファ31に格納する(ステップ102)。次にこの要
求データをそのユーザプログラムの優先度と同じ優先順
位で外部記憶装置6に書込むために、そのユーザプログ
ラムの優先度と同一の非同期I/O実行タスクが既に存
在しているかを、非同期I/O実行タスク管理テーブル
5の同じ優先度のアドレスフィールドにアドレスがある
かないかにより調べる(ステップ103)。アドレスフ
ィールドの値が0である場合にはユーザプログラムと同
一優先度の非同期I/O実行タスクを生成し(ステップ
104)、0であったアドレスフィールドに生成した非
同期I/O実行タスクのアドレス値を格納する(ステッ
プ105)。更に非同期I/O実行タスク管理テーブル
5内の要求のあったユーザプログラムと同じ優先度の非
同期I/O実行タスクのタスク状態フラグが1であるか
を調べ(ステップ106)、0であるならば既に起動で
きる状態にあることから1に変更して(ステップ10
7)。ユーザプログラムに制御を戻す(ステップ10
8)。なお、ステップ103で既にアドレス値が存在す
るならば、直ちにステップ106へ移る。またステップ
106でタスク状態フラグが1になっているならば、既
に存在する同じ優先度の非同期I/O実行タスクが、既
に非同期I/Oバッファ31に格納されたデータの書込
み待ちか、書込中であるのでステップ107を行なうこ
となくステップ108に移る。
【0010】図4は非同期I/O実行タスク41,4
2,〜の処理の流れ図で、非同期I/O実行タスク4
1,42,〜のうちの一つの動作を図4を参照して説明
する。非同期I/O実行タスクは非同期I/Oバッファ
31に同一優先度のデータが格納されたとき、図3のス
テップ106で説明したように非同期I/O実行タスク
管理テーブルのタスク状態フラグが1になって、起動が
できる状態になる(ステップ201)。タスク状態フラ
グが1になると、対応する非同期I/O実行タスクが起
動する。起動された非同期I/O実行タスクは、非同期
I/Oバッファ31内の同一優先度のデータが無くなる
まで外部記憶装置6へデータを書込む(ステップ20
2,203)。次に書込みが終了すると自優先度に対応
する非同期I/O実行管理テーブル内のタスク状態フラ
グを待ちの0とする(ステップ204)。
【0011】以上の処理を総合すると、例えばユーザプ
ログラムからデータの書込みが発生すると制御プログラ
ム2はそのデータを非同期I/Oバッファ31に格納
し、非同期I/O実行タスクを生成し、レディ状態とす
る。非同期I/O実行タスクは制御プログラムによって
レディ状態にされたことによって、非同期I/Oバッフ
ァ31内の有効データを外部記憶装置6に、ユーザプロ
グラムと同一優先度で書込み、有効データがなくなるま
で書込み処理を続ける。即ち、書込み処理をシステムと
して最適な優先度で行なうために、制御プログラム2は
要求元のユーザプログラムと同じ優先度の非同期I/O
実行タスクを生成し、起動することで制御している。
【0012】例えば、優先度1のユーザプログラム11
から外部記憶装置6に対して、始めての書込み要求が発
生した場合、この要求に対して制御プログラム2は、ユ
ーザプログラム11の優先度に対応する非同期I/O実
行タスク管理テーブル5内の優先度1のアドレスフィー
ルドのタスクアドレス値を参照する。このアドレスフィ
ールドは初期値が0あり、非同期I/O実行タスク生成
時に生成したタスクへのアドレスを格納しておくものな
ので、このアドレスフィールドが0であるので優先度1
の非同期I/O実行タスク41を生成し、さらに対応す
るタスク状態フラグを1にセットして起動し、ユーザプ
ログラム11に制御を戻す。起動された非同期I/O実
行タスク11は、非同期I/Oバッファ31内の優先度
1のデータのみを外部記憶装置6に書込み続け、非同期
I/Oバッファ31内の優先度1のデータが無くなった
時点で、自分の優先度に対応するタスク状態フラグを0
にセットして待ち状態とする。
【0013】同様に、他ユーザプログラムからの書込み
要求が発生した場合でも、非同期I/O実行タスク管理
テーブル5内のそのユーザプログラムの優先度に対応す
るアドレスフィールドを参照して、アドレス値が0であ
れば、同様に生成・起動を行う。また、アドレス値が0
以外である場合は、対応するタスク状態フラグを参照す
る。このタスク状態フラグ値が1であればその非同期I
/O実行タスクは起動中状態であるので、受取ったデー
タを非同期I/Oバッファ31内に格納するのみでユー
ザプログラムに制御を戻す。また、タスク状態フラグが
0の時には、1にセットしてタスクアドレス値をもと
に、対応する同優先度の非同期I/O実行タスクを起動
してユーザプログラムに制御を戻す。実際の外部記憶装
置6に対する書込み処理は、起動された非同期I/O実
行タスクが自タスクと同一優先度の書込み要求データの
みを処理する。
【0014】
【発明の効果】以上説明したように本発明は、書込み要
求が発生した時点で、制御プログラムにより非同期I/
Oバッファにデータを保存すると共にユーザプログラム
と同じ優先度の非同期I/O実行タスクを生成し動作さ
せることによって、外部記憶装置への書込み動作を制御
しているので、外部記憶装置に対して適切なアクセスを
行なうことができ、データの再利用も適切に行なえ、デ
ータ処理システムの処理速度を向上できるという効果が
ある。
【図面の簡単な説明】
【図1】本発明の一実施例の構成図である。
【図2】図1の実施例の非同期I/O実行タスク管理テ
ーブルの構成図である。
【図3】図1の実施例の制御プログラム2の処理の流れ
図である。
【図4】図1の実施例の非同期I/O実行タスクの処理
の流れ図である。
【符号の説明】
1 ユーザプログラム群 2 制御プログラム 3 主記憶装置 4 非同期I/O実行タスク群 5 非同期I/O実行タスク管理テーブル 6 外部記憶装置 11,12,〜 ユーザプログラム 31 非同期I/Oバッファ 41,42,〜 非同期I/O実行タスク
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G06F 9/46 G06F 13/10

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 処理優先度の異なる複数のユーザプログ
    ラムの並列処理を行なうデータ処理システムのユーザプ
    ログラムからのデータを外部記憶装置に出力する非同期
    I/O制御方式において、ユーザプログラムからのデー
    タを保持するための主記憶装置に設けられた非同期I/
    Oバッファと、ユーザプログラムの優先度に対応して生
    成された非同期I/O実行タスクのアドレスとタスク状
    態とを管理する非同期I/O実行タスク管理テーブル
    と、ユーザプログラムから外部記憶装置へのデータ出力
    要求を受けて、データを前記非同期I/Oバッファのユ
    ーザプログラムの優先度に対応する領域に格納させた後
    に前記非同期I/O実行タスク管理テーブルを調べて同
    優先度の非同期I/O実行タスクがないときは非同期I
    /O実行タスクを生成し、この管理テーブルにアドレス
    を登録しタスク状態を起動中として既存または生成した
    タスクを起動する制御プログラムと、この制御プログラ
    ムにより起動されて前記非同期I/Oバッファの自優先
    度と同じ領域のデータをデータが無くなるまで外部記憶
    装置に転送し、転送完了で前記非同期I/O実行タスク
    管理テーブルの自優先度のタスク状態を待ち中して処理
    を終了する優先度に対応する非同期I/O実行タスクと
    を有することを特徴とする非同期I/O制御方式。
JP5241872A 1993-09-29 1993-09-29 非同期i/o制御方式 Expired - Lifetime JP2821345B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP5241872A JP2821345B2 (ja) 1993-09-29 1993-09-29 非同期i/o制御方式
US08/294,301 US5530871A (en) 1993-09-29 1994-08-23 Asynchronous input and output control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5241872A JP2821345B2 (ja) 1993-09-29 1993-09-29 非同期i/o制御方式

Publications (2)

Publication Number Publication Date
JPH0798663A JPH0798663A (ja) 1995-04-11
JP2821345B2 true JP2821345B2 (ja) 1998-11-05

Family

ID=17080788

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5241872A Expired - Lifetime JP2821345B2 (ja) 1993-09-29 1993-09-29 非同期i/o制御方式

Country Status (2)

Country Link
US (1) US5530871A (ja)
JP (1) JP2821345B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2940403B2 (ja) * 1994-08-03 1999-08-25 株式会社日立製作所 並列計算機システムにおけるモニタデータ収集方法
US5907717A (en) * 1996-02-23 1999-05-25 Lsi Logic Corporation Cross-connected memory system for allocating pool buffers in each frame buffer and providing addresses thereof
US5784649A (en) * 1996-03-13 1998-07-21 Diamond Multimedia Systems, Inc. Multi-threaded FIFO pool buffer and bus transfer control system
US5797043A (en) * 1996-03-13 1998-08-18 Diamond Multimedia Systems, Inc. System for managing the transfer of data between FIFOs within pool memory and peripherals being programmable with identifications of the FIFOs
US6223243B1 (en) * 1997-06-12 2001-04-24 Nec Corporation Access control method with plural users having I/O commands prioritized in queues corresponding to plural memory units
WO2000042515A1 (fr) * 1999-01-12 2000-07-20 Fujitsu Limited Dispositif de gestion des acces et procede de gestion des acces a un support d'enregistrement
US6401145B1 (en) * 1999-02-19 2002-06-04 International Business Machines Corporation Method of transferring data using an interface element and a queued direct input-output device
US6345324B1 (en) * 1999-02-19 2002-02-05 International Business Machines Corporation Apparatus for transferring data using an interface element and a queued direct input-output device
US7523275B2 (en) * 2003-04-10 2009-04-21 International Business Machines Corporation Method, system, and program for maintaining a copy relationship between primary volumes and corresponding secondary volumes
CN107992358B (zh) * 2017-11-13 2020-05-19 华中科技大学 一种适用于核外图处理***的异步io执行方法及***

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4543626A (en) * 1982-12-06 1985-09-24 Digital Equipment Corporation Apparatus and method for controlling digital data processing system employing multiple processors
US4654788A (en) * 1983-06-15 1987-03-31 Honeywell Information Systems Inc. Asynchronous multiport parallel access memory system for use in a single board computer system
US4835672A (en) * 1984-04-02 1989-05-30 Unisys Corporation Access lock apparatus for use with a high performance storage unit of a digital data processing system
GB8711991D0 (en) * 1987-05-21 1987-06-24 British Aerospace Asynchronous communication systems
US4920486A (en) * 1987-11-23 1990-04-24 Digital Equipment Corporation Distributed arbitration apparatus and method for shared bus
JPH02236668A (ja) * 1989-03-10 1990-09-19 Hitachi Ltd 入出力処理方法
US5353416A (en) * 1989-10-25 1994-10-04 Zenith Data Systems Corporation CPU lock logic for corrected operation with a posted write array
US5418925A (en) * 1992-10-23 1995-05-23 At&T Global Information Solutions Company Fast write I/O handling in a disk array using spare drive for buffering

Also Published As

Publication number Publication date
US5530871A (en) 1996-06-25
JPH0798663A (ja) 1995-04-11

Similar Documents

Publication Publication Date Title
JP2820752B2 (ja) 密結合マルチプロセッサシステムにおけるキャッシュメモリ一致制御方法
JP2821345B2 (ja) 非同期i/o制御方式
JPH0340868B2 (ja)
JP2000003302A (ja) 共有メモリ排他アクセス制御方法
IE61306B1 (en) Method and device to execute two instruction sequences in an order determined in advance
JP3260399B2 (ja) 非同期i/oダイナミックプライオリティチェンジ方式
JP2671160B2 (ja) 例外処理方式
JP2526728B2 (ja) ディスクキャッシュ自動利用方式
JP2998721B2 (ja) 並列処理プログラムとコプロセッサとの間の排他制御方法およびその排他制御機能を有する計算システム
JP3130798B2 (ja) バス転送装置
JP3517884B2 (ja) データ処理装置
JP2856003B2 (ja) 非同期データ入出力方式
JP3135547B2 (ja) データ転送制御方法
JP2517859B2 (ja) 並列プロセス管理方法
CN117971717A (zh) 多主机的访问控制方法、装置、电子设备及存储介质
JP2594567B2 (ja) メモリアクセス制御装置
JP2584528Y2 (ja) 情報処理装置
JP2517851B2 (ja) 並列プライオリティ制御方法
JP2735400B2 (ja) 非同期入出力制御方式
JP2003131893A (ja) 演算処理システム、コンピュータ・システム上でのタスク制御方法、並びに記憶媒体
JP3006527B2 (ja) クライアント/サーバ型データベースシステム
JP2752818B2 (ja) データ入出力の非同期処理方式
JPH04107634A (ja) メモリデータバイパス制御方式
JP2002259209A (ja) 演算処理システム
JPH0346033A (ja) ジヨブ間データ転送制御方法

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19980728

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070828

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080828

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080828

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090828

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090828

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100828

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110828

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110828

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120828

Year of fee payment: 14

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130828

Year of fee payment: 15

EXPY Cancellation because of completion of term