JP2822582B2 - 入出力処理制御方式 - Google Patents

入出力処理制御方式

Info

Publication number
JP2822582B2
JP2822582B2 JP10093690A JP10093690A JP2822582B2 JP 2822582 B2 JP2822582 B2 JP 2822582B2 JP 10093690 A JP10093690 A JP 10093690A JP 10093690 A JP10093690 A JP 10093690A JP 2822582 B2 JP2822582 B2 JP 2822582B2
Authority
JP
Japan
Prior art keywords
input
output
queue
sch
sub
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 - Fee Related
Application number
JP10093690A
Other languages
English (en)
Other versions
JPH04543A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP10093690A priority Critical patent/JP2822582B2/ja
Publication of JPH04543A publication Critical patent/JPH04543A/ja
Application granted granted Critical
Publication of JP2822582B2 publication Critical patent/JP2822582B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔目 次〕 概要 産業上の利用分野 従来の技術と発明が解決しようとする課題 課題を解決するための手段 作用 実施例(第1図,第2図) 発明の効果 〔概要〕 中央処理装置(CPU)の配下にあるハードウェア{入
出力プロセッサ(IOP)}が入出力処理の経路状態と,
入出力装置の状態を管理情報ブロック(SCH)として管
理し、中央処理装置(CPU)が入出力命令を実行すると
き、該入出力命令が指示する入出力制御パラメータを変
換し、該管理情報ブロック(SCH)に設定して投入し
た、入出力処理要求の待ち行列(SCHキユー)の管理
と,該入出力処理の経路選択を、上記ハードウェアが実
行する入出力離制御方式を用い、且つ、該ハードウエア
において、同一の経路を使用する入出力装置群に対し
て、少なくとも、論理的な上記待ち行列(SCHキユー)
を構成し、各待ち行列(SCHキユー)の中で最高の優先
順位を持つ入出力処理要求に対して起動の試行を行う計
算機システムにおける入出力処理制御方式に関し、 中央処理装置(CPU)/入出力プロセッサ(IOP)側の
処理速度と、入出力制御装置(IOC)側のビジー解除タ
イミングとが同期したことにより、特定の入出力処理要
求が長期間待たされてしまう問題を入出力プロセッサ
(IOP)側において解消することを目的とし、 ある入出力処理要求に対する試行の結果、該入力出力
処理の起動が不可能で、該入出力処理要求を、上記待ち
行列(SCHキユー)に留める使用中条件が検出されたと
き、入出力装置の使用中条件の場合には、該入出力処理
要求を、同一経路を使用する他の入出力装置の入出力処
理要求よりも,該待ち行列(SCHキユー)内における起
動の優先順位が低くなる位置に移動し、該使用中条件
が、経路使用中条件の場合には、該入出力処理要求を、
該待ち行列(SCHキユー)内における起動の優先順位が
高い位置に引き続き保持するように管理する。又は、入
出力処理起動試行時に、該入出力処理要求が発行されて
からの経過時間がある一定値を越えない場合には、他の
入出力装置の入出力処理要求より、該待ち行列内におけ
る優先順位が低くなる位置に移動し、ある一定時間を越
えた場合には、該待ち行列内における優先順位を高い位
置に保持するように管理するように構成する。
〔産業上の利用分野〕
本発明は、入出力処理要求の待ち行列の管理と、入出
力処理要求の個々が使用可能な入出力経路を選択する処
理を、中央処理装置(CPU)の配下の入出力プロセッサ
(IOP)が行う計算機システムにおける入出力処理制御
方式に係り、特に、中央処理装置(CPU)/入出力プロ
セッサ(IOP)側の処理速度と、入出力制御装置(IOC)
側のビジー解除タイミングとが同期したことにより、特
定の入出力処理要求が長期間待たされてしまう問題を解
消する入出力処理制御方式に関する。
最近の計算機システムによるデータ処理の多様化等に
より、該計算機システムに接続される入出力装置(I/
O)の数も増大しており、中央処理装置(CPU)が発行す
る入出力命令の形態も、従来のスタート入出力(SIO)
命令の如く、中央処理装置(CPU)が、該スタート入出
力(SIO)命令のオペランドの指示するチャネル装置(C
H),及び,入出力装置(I/O)の動作状態を認識して、
該スタート入出力(SIO)命令を発行し、チャネル装置
(CH)がチャネル制御語(CCW)を読み出す方式では、
中央処理装置(CPU)でのオーバヘッドが増大すること
から、最近では、中央処理装置(CPU)は、入出力装置
(I/O)に対応して設けられているサブチャネルの番号
等をオペランドとするスタートサブチャネル(SSCH)命
令を入出力プロセッサ(IOP)に伝達して、従来、中央
処理装置(CPU)が行っていた入出力装置(I/O)に至る
経路(パス)の選択を入出力プロセッサ(IOP)に移管
し、中央処理装置(CPU)は該入出力プロセッサ(IOP)
からの上記スタートサブチャネル(SSCH)命令が、正常
に伝達されたことの応答を得ると、すぐ、次の命令の実
行に移る形式に変っている。
従来から、中央処理装置(CPU)側の処理速度と、入
出力制御装置(IOC)側のビジー解除タイミングとが同
期した場合、特定の入出力処理要求が長期間待たされて
しまう問題があった。
この場合、上記従来の入力処理制御方式では、オペレ
イティングシステム(OS)中の入出力処理ルーチン等に
おいて、該当の入出力命令の発行タイミングをずらせる
等して対処していたが、前述のように、中央処理装置
(CPU)での入出力処理に関係したオーバヘッドを削減
すべく、入出力プロセッサ(IOP)を導入して、入出力
処理に関する経路選択を該入出力プロセッサ(IOP)で
行なう形式の入出力処理制御方式では、該オペレイティ
ングシステム(OS)で、上記同期状態の発生を認識でき
ないことから、該入出力プロセッサ(IOP)側で対処す
ることが必要とされるようになってきた。
〔従来の技術と発明が解決しようとする課題〕
第3図は従来の入出力処理制御方式を説明する図であ
って、(a)はシステム構成の例を示し、(b)はサブ
チャネルのフオ−マット例を示し、(c)はサブチャネ
ルキユー制御ブロック(SQCB)のフオ−マット例を示
し、(d1)はサブチャネルキユー処理の例を示し、(d
2)は入出力プロセッサ(IOP)の起動論理例を示し、
(e)は同期の問題を模式的に示している。
(a)図において、入出力プロセッサ(IOP)2は、
全ての入出力装置51〜53の状態管理と,中央処理装置
(CPU)1が発行する入出力命令(SSCH)に基づく入出
力処理要求/処理の管理を行う為、入出力装置51〜53に
1対1で作成されるサブチャネル(SCH)201〜203と呼
ばれる管理情報ブロックを、図示していない内部メモリ
に持っている。
該サブチャネル(SCH)201〜203の従来のフオーマッ
ト例を(b)図に示す。
該サブチャネル(SCH)201〜203は、対応する入出力
装置51〜53の状態管理を行う為の情報を保持すると共
に、中央処理装置(CPU)1が実行するソフトウェアか
ら依頼された入出力処理要求を保持し、入出力装置51〜
53に対する起動が完了する迄、後述の待ち行列(サブチ
ャネルキユー)20内に投入されて、該入出力処理要求の
起動に関する入出力プロセッサ(IOP)2の処理(IOP処
理)を待つ。
中央処理装置(CPU)1では、上記ソフトウェアが動
作する。該ソフトウェアは、その内部に、上位アプリケ
ーションプログラムから要求された入出力要求(I/O要
求)を、各入出力装置51〜53毎に待ち行列の形で管理を
する。
即ち、入出力プロセッサ(IOP)2から、ある入出力
装置51〜53の入出力動作が終了したことを、入出力割込
み(I/O割込み)により通知されると、該ソフトウェア
は、該入出力装置51〜53の次なる入出力要求が、上記待
ち行列内に存在しないか否かを調査し、存在した場合に
は、入出力命令(前述の、SSCH命令)により、該入出力
プロセッサ(IOP)2に対して入出力処理要求を伝達す
る。
このとき、前述のように、該入出力命令のオペランド
が指示する入出力制御パラメータを、入出力プロセッサ
(IOP)2が処理し易い形式に変換して、該管理情報ブ
ロック(SCH)201〜203に設定する。
(a)図において、中央処理装置(CPU)1内に図示
してある111,112,〜は、入出力装置51に対応する入出力
要求群であり、待ち行列を構成している。同様に、121,
122,〜,131,132,〜は入出力装置52,53に対応する入出力
要求群である。これらの入出力要求が、該ソフトウェア
により順次、入出力プロセッサ(IOP)2に伝達され
る。
次に、(b)図により、上記サブチャネル(SCH)201
〜203の概略構成を説明する。
前述のように、該サブチャネル(SCH)201〜203は、
上記の各入出力装置51〜53に対応して、入出力プロセッ
サ(IOP)2の内部メモリに設けられており、ソフトウ
ェアからの入出力命令(SSCH)により、該入出力命令の
オペランドが指示する入出力制御パラメータが変換され
て、該入出力命令のSCH No.が指示する位置のサブチャ
ネル(SCH)201〜203に設定される。
(b)図において、「入出力装置状態記述子」は入出
力装置51〜53の状態を管理する為のものであり、入出力
要求がサブチャネル(SCH)201〜203内部に存在するか
否か,又、該入出力処理が現在実行中であるか否か,実
行中であるならばアクティブにデータ転送を行っている
最中か,或いは、チャネル100〜101とのインタフェース
は使用しないで、入出力装置51〜53側のみで、入出力処
理の準備/後始末処理を行っているか等の情報が記述さ
れる。そして、この「入出力装置状態記述子」中の例え
ば、最上位ビット(斜線で示す)が‘1'であると、後述
の待ち行列(サブチャネルキュー)20中に存在している
ことを示している。
又、本サブチャネル(SCH)201〜203には、「待ち行
列前方向ポインタ」「待ち行列後方向ポインタ」が用意
されており、それぞれ、サブチャネル(SCH)201〜203
を待ち行列20として管理する為のキユーポインタであ
り、待ち行列中の前方向,後方向のサブチャネル(SC
H)201〜203の識別子である。
該サブチャネル(SCH)201〜203が待ち行列の先頭,
或いは、末尾る位置する場合、それぞれの前方向ポイン
タ,或いは、後方向ポインタに該サブチャネル(SCH)2
01〜203自身の識別子が入るように構成される。
「接続チャネル数」は、この入出力装置51〜53に到達
する為の経路が何本あるかを示す、例えば、符号なし8
ビットの2進数値が記述される。
(b)図の例では、最大8経路である。通常、入出力
装置51〜53は、単一のユニットアドレス(UA)によりア
ドレスされるので、経路を一つ選択するということは、
一つのチャネル100〜を選択することである。
つまり、ある入出力装置51〜53に関して、N本の経路
があるということは、異なるN個のチャネル100〜と接
続されているということである。この接続チャネル100
〜の識別子が、「接続チャネル0」〜「接続チャネル
7」に記述される。
入出力プロセッサ(IOP)2は、サブチャネル(SCH)
の起動を試行するとき、あるサブチャネル(SCH)201〜
203を、待ち行列(サブチャネルキュー)20から取得す
ると、そのサブチャネル(SCH)201〜203の内部に記述
されている上記チャネル群の内、現在使用可能状態にあ
るものを一つ選択し、そのチャネル100〜に対して、該
サブチャネル(SCH)201〜203の内部に記述されている
情報を伝達し、該伝達情報を受信したチャネル100〜
は、該情報の内の上記ユニットアドレス(UA)を使用し
て、入出力インターフェースのバスアービトレーション
を行い、該当入出力装置51〜に起動を行う。
一般に、入出力プロセッサ(IOP)2内に作成される
入出力処理要求の上記待ち行列(サブチャネルキユー)
20は、1本ではない。
1本であると、その先頭に位置するサブチャネルとは
無関係のチャネル100〜が使用可能でも、該待ち行列処
理とリンクできないので効率が悪い為である。一方、数
が多すぎると、管理が複雑となり、又、待ち行列相互
は、ラウンドロビン方式等により選択されるので、事実
上、平均待ち時間が大幅に伸びる可能性がある。
このようなことから、現在の多くの計算機システムで
は、入出力制御装置10間で、入出力装置51〜53を共用す
る、つまり、入出力装置51〜53への経路が、入出力制御
装置10を跨ぐことが殆どないという事実に着目し、該入
出力制御装置10に対応して、該待ち行列(サブチャネル
キユー)20を作成している。
上記(b)図に示したサブチャネル(SCH)201〜203
内の「待ち行列識別情報(SQCB番号)」は、上記入出力
装置51〜53が接続される入出力制御装置10〜のシステム
内の通し番号であると考えればよい。
この入出力制御装置10〜をシステム内で一義に指定す
る数値を、該サブチャネル(SCH)201〜203の上記「待
ち行列識別情報(SQCB番号)」域に、例えば、パワーオ
ンリセット時等において設定しておくことにより、該サ
ブチャネル(SCH)201〜203に対して待ち行列処理を行
う場合に、サブチャネル(SCH)201〜203と、待ち行列
(サブチャネルキュー)20との対応を容易に取ることが
できるようになる。
該待ち行列(サブチャネルキユー)20の管理は、やは
り、入出力プロセッサ(IOP)2の内部メモリに、上記
入出力制御装置10〜に対応して取得されるサブチャネル
キユー管理ブロック(SQCB)21により行われる。
(C)図は該サブチャネルキユー管理ブロック(SQC
B)21のフオーマット例を示したものである。
本図において、「入出力制御装置状態記述子」は、こ
のサブチャネルキユー管理ブロック(SQCB)21に対応す
る入出力制御装置10の状態を、入出力プロセッサ(IO
P)2が管理する為の情報域である。ここには、この入
出力制御装置10がサポートする物理プロトコル情報や,
サポート機能情報,更に、現在、該入出力制御装置10の
使用中条件が存在するか否か等が記述される。
次に「待ち行列中サブチャネル数」は、該サブチャネ
ルキユー管理ブロック(SQCB)21が管理している待ち行
列(サブチャネルキユー)20にエンキユーされているサ
ブチャネル(SCH)201〜203の数を記述している。
その次の「先頭サブチャネル識別子」「末尾サブチャ
ネル識別子」は、該待ち行列20の先頭,末尾のサブチャ
ネル(SCH)201〜203を記述する識別子が記入されてい
る。
「前方SQCBポインタ」「後方SQCBポインタ」は、入出
力制御装置10に対応して設けられている上記待ち行列20
の長さ(キユーイングされているサブチャネルの数)が
‘0'でないサブチャネルキユー管理ブロック(SQCB)21
の相互を結合する為の前後方向ポインタであり、内容
は、該SQCBリスト構造の前後に位置するサブチャネルキ
ユー管理ブロック(SQCB)21の識別子が記入されてい
る。
これは、該サブチャネル待ち行列の構造が、ラウンド
ロビン方式により、2次元構造になっている為{(a)
図の入出力プロセッサ(IOP)2参照}であり、有効な
入出力処理要求を保持するサブチャネル(SCH)201〜20
3が一つ以上接続されているサブチャネルキユー管理ブ
ロック(SQCB)21のみがリスト結合されて、入出力プロ
セッサ(IOP)2により走査されることにより、そのサ
ブチャネルキユー管理ブロック(SQCB)21の一つが管理
しているサブチャネルキユー20の先頭のサブチャネル
(SCH)201〜203が取り出されて起動されることにな
る。
次に、中央処理装置(CPU)1が入出力命令(SSCH)
を発行した時点で、入出力プロセッサ(IOP)2が、該
中央処理装置(CPU)1から依頼されたサブチャネル(S
CH)201〜203を、上記待ち行列(サブチャネルキユー)
20に投入(エンキユー)する処理と、該待ち行列からサ
ブチャネル(SCH)201〜203を取り出して(デキユーし
て)起動を試みる処理について、(d1),(d2)図によ
り説明する。
先ず、(d1)図において、中央処理装置(CPU)1
が、前述の入出力命令(SSCH)を発行すると、該入出力
命令(SSCH)が指示するサブチャネル番号(SCH No.)
に基づいて、当該のサブチャネル(SCH)201〜203に対
して、該入出力命令(SSCH)のオペランドが指示する入
出力制御パラメータを、入出力プロセッサ(IOP)2が
使用し易い形式に変換したものを設定し、該サブチャネ
ル(SCH)201〜203の、予め、設定されている前述の「S
QCB番号」を認識して、該「SQCB番号」の指示するサブ
チャネルキュー20にエンキューする。
そして、該サブチャネルキユー管理ブロック(SQCB)
21がSQCBリスト構造に繋がっていれば、いずれ、入出力
プロセッサ(IOP)2により走査されるが、その時点ま
で、当該サブチャネルキユー管理ブロック(SQCB)21内
のサブチャネル(SCH)201〜203がなくて、上記SQCBリ
スト構造内に繋がっていなかった場合には、当該サブチ
ャネルキユー管理ブロック(SQCB)21を、該SQCBリスト
構造の末尾に組込んで、該サブチャネルエンキュー処理
を終了する。
次に、(d2)図に示したように、上記有効なサブチャ
ネルキユー管理ブロック(SQCB)21が連鎖されているリ
スト構造を、入出力プロセッサ(IOP)2が走査して、
サブチャネル(SCH)201〜203を取り出すが、その図示
されていないSQCBポインタにより、現在のポインタが指
示しているサブチャネルキユー管理ブロック(SQCB)21
をフェッチし、該サブチャネルキユー管理ブロック(SQ
CB)21内の、前述の「待ち行列サブチャネル数」が‘0'
であると、該当入出力制御装置10配下にあり、入出力処
理要求中の入出力装置51〜はないとになるので、該リス
ト結合からデキューし、次のSQCBポインタが指示してい
るサブチャネルキユー管理ブロック(SQCB)21をフェッ
チする。{処理ステップ300〜302,310参照} 上記SQCBリスト結合の先頭/末尾は、入出力プロセッ
サ(IOP)2の内部メモリにあるサブチャネルキユー管
理ブロック−リスト制御ブロック(SQLCB)22によりポ
イントされており、上記の処理で、次のサブチャネルキ
ユー管理ブロック(SQCB)21へSQCBポインタを移したと
き、該サブチャネルキユー管理ブロック(SQCB)21の後
方向ポインタが該SQCB自身であった場合、上記SQLCB22
の先頭識別子が新たなポインタとしてフェッチされる。
上記SQLCB22と,SQCB21と,サブチャネル(SCH)201〜
との相互関係を概念的に示したものが(a)図での入出
力プロセッサ(IOP)2内の2次元構造図である。
上記のサブチャネルキユー管理ブロック(SQCB)21に
おいて、「待ち行列サブチャネル数」が‘0'でなけれ
ば、当該サブチャネルキユー20中に、入出力処理要求中
のサブチャネル(SCH)201〜203が存在することになる
ので、該サブチャネルキユー管理ブロック(SQCB)21で
管理しているサブチャネルキュー20の先頭のサブチャネ
ル(SCH)201〜203をフェッチする。
該サブチャネル(SCH)201〜203の内部に記述されて
いる前述のチャネル100〜,対応する入出力装置51〜53
を見て、デバイスビジー,又は、使用可能な経路、即
ち、チャネル100〜が無ければ、該サブチャネル(SCH)
201〜203を、サブチャネルキユーの末尾に移動する。
{処理ステップ303〜305参照} 上記において、デバイスフリー,且つ、使用可能な経
路、即ち、チャネル100〜が有れば、そのチャネル100〜
に対して、該サブチャネル(SCH)201〜203の情報を伝
達し起動する。
該起動が失敗した場合{即ち、サブチャネル(SCH)2
01〜内の情報で起動可能であっても、実際の入出力装置
51〜では未だビジー状態であったり、他の入出力制御装
置10からアクセスされていることがあることによる}に
は、該サブチャネル(SCH)201〜203を、サブチャネル
キユー20の末尾に移動するが、起動が成功すれば、該サ
ブチャネル(SCH)201〜203をサブチャネルキユー20か
らデキユーする。{処理ステップ304,306〜310参照} 上記のように、従来の入出力処理制御方式において
ば、サブチャネルキユー20はラウンドロビン方式で管理
されている以上、全体として、先入れ先出し(FIFO)が
満足されていないのは当然の帰着であるが、上記サブチ
ャネルキユー管理ブロック(SQCB)21の配下のサブチャ
ネルキユー20内でのFIFOも達成されていない。
即ち、上記(d2)図に示したIOP起動論理のフローに
おいて、右下角にマーク(鎖線マーク)したステップ30
5,308において、該サブチャネルキユー管理ブロック(S
QCB)21配下のサブチャネルキユー20内で、先頭のサブ
チャネル(SCH)201〜は末尾に移動され、必ずしも、先
頭のサブチャネル(SCH)201〜が先に実行されない。
この為、以下のような事象が発生することがある。
第3図(a)において、入出力装置51〜53に対して、
複数個の入出力要求111〜,121〜,131〜が中央処理装置
(CPU)1の図示していない主記憶装置内に存在してい
る時、入出力装置51に対する入出力要求(例えば、図示
の111)がサブチャネル(SCH)201を経由して該入出力
装置51に投入され、起動されたとする。
この入出力処理により、入出力制御装置10がビジーと
なった時点で、入出力装置52に対する入出力要求(例え
ば、121)がサブチャネル(SCH)202を経由して、入出
力プロセッサ(IOP)2にフェッチされると、上記入出
力制御装置10が使用中条件である為に、該サブチャネル
(SCH)202は、上記入出力制御装置10に対応したサブチ
ャネル制御ブロック(SQCB)21配下のサブチャネルキユ
ー20の末尾に移動される。{上記(d2)図のフローのス
テップ305参照} この後、入出力装置51に対する要求111の処理が終了
して、中央処理装置(CPU)1の実行するソフトウェア
が、即、該入出力装置51に対する次の入出力要求112
を、入出力命令(SSCH)により発行し、該入出力要求11
2の情報がサブチャネル(SCH)201に格納され、サブチ
ャネルキユー20の末尾にエンキユーされる。
一般に、入出力制御装置10の使用中条件等は、該入出
力制御装置10側の条件により、入出力処理が終了して
も、尚、暫く、解除されない場合があり、ここで、上記
入出力装置52に対する入出力要求121に対応するサブチ
ャネル(SCH)202が、再度ビジー条件に合うと、該入出
力要求121が格納されているサブチャネル(SCH)202
が、再度末尾に移動される結果、上記、新たに投入され
た入出力装置51に対する次の入出力要求112が格納され
ているサブチャネル(SCH)201の優先順位が高くなり、
当初の優先順位関係が繰り返されることになる。
若し、中央処理装置(CPU)1/入出力プロセッサ(IO
P)2側の処理速度と入出力制御装置10側のビジー解除
タイミングとが、上記の関係で同期するようなことがあ
ると、サブチャネル(SCH)201の起動が再度成功し、入
出力要求112に対応する入出力装置51の処理が開始され
てしまう。この関係を模式的に示したものが、第3図
(e)である。ここで、( )内の数字は上記入出力要
求の番号を示している。
該同期の現象が発生すると、上記サブチャネルキユー
20でのサブチャネル(SCH)201と,サブチャネル(SC
H)202との優先順位関係がいつも同じ{即ち、サブチャ
ネル(SCH)201の優先順位が高い関係}となり、上記入
出力要求121に対応した入出力装置52は長時間に渡って
動作できなくなることになる。
上記の例は、入出力制御装置10での使用中条件に起因
して発生したものであるが、例えば、第3図(a)に示
した様な、3台以上の入出力装置51〜53が接続されてい
るケースでは、チャネル100〜101の使用中条件について
も発生しうることは容易に想定できることである。
このような現象は、最近のように、入出力プロセッサ
(IOP)2が高機能化し、マイクロプログラムで制御さ
れていたりすると、1つのサブチャネル(SCH)201が処
理されて、次のサブチャネル202がフェッチされる迄の
時間が長くなるとか、或いは、入出力プロセッサ(IO
P)2の処理速度に比較して、中央処理装置(CPU)1側
の処理速度が向上すると。中央処理装置(CPU)1が持
っている、同じ入出力装置51に対する新たな入出力要求
111,112が、入出力プロセッサ(IOP)2に伝達され、サ
ブチャネル(SCH)201に投入される機会が多くなり、上
記のような同期現象も増加することになる。
中央処理装置(CPU)1が実行するオペレイティング
システム(OS)において、入出力制御の管理を行ってい
た世代の計算機システムにおいては、上記の如き、同期
の問題は、例えば、オペレイティングシステム(OS)上
で、該同期状態にあって、処理されないでいる入出力処
理要求を検出すると、該入出力処理要求に対する入出力
命令の発行タイミングをずらせる等して対処していた
が、最近の計算機システムように、中央処理装置(CP
U)1でのオーバヘッドを軽減させる目的で、入出力処
理の大部分を、入出力プロセッサ(IOP)2で行わせて
いる場合には、該入出力処理はオペレイティングシステ
ム(OS)には見えない事象であるので、入出力プロセッ
サ(IOP)2側での対策が必要となる。
本発明は上記従来の欠点に鑑み、入出力処理要求の待
ち行列の管理と、入出力処理要求個々の使用可能な入出
力経路を選択する処理を、ハードウェア、例えば、入出
力プロセッサ(IOP)で行う計算機システムにおいて、
中央処理装置(CPU)/入出力プロセッサ(IOP)側の処
理速度と、入出力制御装置(IOC)側のビジー解除タイ
ミングとが同期したことにより、特定の入出力処理要求
が長時間待たされてしまう問題を入出力プロセッサ(IO
P)側で解消することができる入出力処理制御方式を提
供することを目的とするものである。
〔課題を解決するための手段〕
上記の問題点は下記の如くに構成した入出力処理制御
方式によって解決される。
(1) 中央処理装置(CPU)の配下にあるハードウェ
アが入出力処理の経路状態と,入出力装置の状態を管理
情報ブロック(SCH)として管理し、中央処理装置(CP
U)が入出力命令を実行するとき、該入出力命令が指示
する入出力制御パラメータを変換して、該管理情報ブロ
ック(SCH)に設定して投入した、入出力処理要求の待
ち行列(SCHキユー)の管理と,該入出力処理の経路選
択を、上記ハードウェアが実行する入出力処理制御方式
を用い、 且つ、該ハードウエアにおいて、同一の経路を使用す
る入出力装置群に対して、少なくとも、論理的な上記待
ち行列(SCHキユー)を構成し、各待ち行列(SCHキユ
ー)の中で最高の優先順位を持つ入出力処理要求に対し
て起動の試行を行う計算機システムにおいて、 ある入出力処理要求に対する試行の結果、該入力出力
処理の起動が不可能で、該入出力処理要求を、上記待ち
行列(SCHキユー)に留める使用中条件が検出されたと
き、 入出力装置の使用中条件の場合には、該入出力処理要
求を、同一経路を使用する他の入出力装置の入出力処理
要求よりも,該待ち行列(SCHキユー)内における起動
の優先順位が低くなる位置に移動し、 該使用中条件が、経路使用中条件の場合には、該入出
力処理要求を、同一の経路を使用する他の入出力装置の
入出力処理要求よりも,該待ち行列(SCHキユー)内に
おける起動の優先順位が高い位置に引き続き保持するよ
うに管理する。
(2) 上記計算機システムにおいて、 上記ハードウェア内に、該入出力処理要求が中央処理
装置(CPU)より発行された時刻を、入出力処理要求を
管理する上記管理情報ブロック(SCH)に設定する手段
(A)と, 上記管理情報ブロック(SCH)内の上記手段(A)に
より設定された時刻情報と、現在時刻とを比較し、該入
出力処理要求が発行されてからの経過時間を算出する手
段(B)と, 該手段(B)により算出された値と、予め、与えられ
た値との大小を比較する手段(C)とを設けて、 入出力処理起動試行時に、上記経過時間が、ある一定
値より越えない場合には、該入出力処理要求を、同一経
路を使用する他の入出力装置の入出力処理要求よりも、
上記待ち行列(SCHキユー)における優先順位が低くな
る位置に移動し、 該経過時間が、ある一定値を越えた場合には、該入出
力要求を同一経路を使用する他の入出力装置の入出力処
理要求よりも、上記待ち行列(SCHキユー)における優
先順位を高い位置に保持するように管理する。
〔作用〕
即ち、本発明によれば、入出力処理要求の待ち行列
(サブチャネルキュー)管理と、入出力処理要求個々が
使用可能な入出力経路を選択する処理を、ハードウェ
ア、例えば、入出力プロセッサ(IOP)で実行する計算
機システムにおいて、中央処理装置(CPU)/入出力プ
ロセッサ(IOP)側の処理速度と、入出力制御装置(IO
C)側のビジー解除タイミングとが同期したことによ
り、特定の入出力処理要求が長時間待たされてしまう問
題を入出力プロセッサ(IOP)側で解消するのに、該同
期の問題が、サブチャネルキユーにおいて、先入れ先出
し(FIFO)制御が完全に行われていないことに起因して
いることに着目し、フェッチしたサブチャネル(SCH)
の入出力処理要求条件に対して、入出力装置使用中条件
の場合には、他の入出力装置に該経路を使用させる必要
があることから、従来方式と同じく、当該サブチャネル
キユー制御ブロック(SQCB)配下のサブチャネルキユー
の末尾に、該サブチャネルを移動するが、チャネル/入
出力制御装置等の経路に関する使用中条件の場合には、
該サブチャネルキユー制御ブロック(SQCB)配下の全入
出力装置において、殆どの場合は、現在使用が許可され
ている経路と同じ経路を使用するので、サブチャネルキ
ユーの末尾に移動させる意味が余りないことから、先入
れ先出し(FIFO)制御にできるだけ近づける為に、該サ
ブチャネル(SCH)をサブチャネルキユーの先頭に残す
ようにしたものである。
これにより、ハードウェアを増加させることなく、例
えば、入出力プロセッサ(IOP)内部のマイクロプログ
ラムを一部変更だけで、サブチャネルキユー中の各サブ
チャネル(SCH)間の優先順位が部分的に固定されて、
特定のサブチャネル(SCH)が長時間処理されない事象
の発生を軽減させることができる効果がある。
又、サブチャネルキユーでの制御を、できる限り先入
れ先出し(FIFO)制御に近づける手段として、一定時間
サブチャネルキユー中に滞留したサブチャネル(SCH)
を、当該サブチャネルキユー制御ブロック(SQCB)配下
のサブチャネルキユーの先頭に留めるようにしたもので
ある。
従って、時間監視の為のタイマを入出力プロセッサ
(IOP)内に設けるといった若干のハードウェアの追加
により、サブチャネルキユー中の各サブチャネル(SC
H)間の優先順位が部分的に固定されて、特定のサブチ
ャネル(SCH)が長時間処理されないといった事象の発
生を軽減させることができる必要がある。また、この方
式を取ると、サブチャネルキユー内部での滞留時間が平
均化されるので、ジョブ間競合によるシステム性能への
擾乱が減少し、システムの性能が向上する効果も得られ
る。
〔実施例〕
以下本発明の実施例を図面によって詳述する。
第1図は本発明の一実施例を示した図であり、第2図
は本発明の他の実施例を示した図であり、(a1),(a
2)は変更処理ステップを示し、(b)はサブチャネル
(SCH)201〜に追加した「現在時刻記入域」であり、入
出力プロセッサ(IOP)2におけるサブチャネルキユー2
0で、サブチャネル(SCH)201〜をエンキユー,デキユ
ーする処理において,できる限り、先入れ先出し(FIF
O)となるように制御する手段が本発明を実施するのに
必要な手段である。尚、全図を通して同じ符号は同じ対
象物を示している。
以下、第3図(a)の計算機システムの構成例、(d
1),(d2)の処理フローを参照しながら、第1図,第
2図によって、本発明の入出力処理制御方式を説明す
る。
本発明を実施しても、入出力プロセッサ(IOP)2に
おいて、入出力処理要求の待ち行列(サブチャネルキユ
ー)20の管理と、入出力処理要求個々が使用可能な入出
力経路を選択するという入出力処理の基本的な動作は、
特に、変わることはないので省略し、ここでは、中央処
理装置(CPU)/入出力プロセッサ(IOP)側の処理速度
と、入出力制御装置側のビジー解除タイミングが、同期
したことに起因して、特定の入出力処理要求が長時間処
理されない問題、即ち、サブチャネルキユー20内に止ま
ってしまう問題を回避する手段を中心にして説明する。
先ず、本発明の1つの手段は、第1図において、第3
図(d2)で説明した入出力プロセッサ(IOP)起動論理
のマイクロプログラムの一部、即ち、右下角にマーク
(斜線マーク)を付した「サブチャネルをキユーの末尾
に移動する」ステップ305,308を、第1図に示したフロ
ーに置き換えるものである。
即ち、フェッチしたサブチャネル(SCH)201〜の入出
力処理条件に対して、入出力装置使用中(ビジー)条件
の場合には、他の入出力装置に該経路を使用させる必要
があることから、従来方式と同じく、当該サブチャネル
キユー制御ブロック(SQCB)21配下のサブチャネルキユ
ー20の末尾に、該サブチャネル(SCH)201〜を移動する
が、チャネル/入出力制御装置等の経路に関する使用中
条件の場合には、該サブチャネルキユー制御ブロック
(SQCB)21配下の全入出力装置51〜53において、殆どの
場合は、現在使用が許可されている経路と同じ経路を使
用するので、サブチャネルキユー20の末尾に移動させる
意味が余りないことに着目して、先入れ先出し(FIFO)
制御にできるだけ近づけるように、該サブチャネル(SC
H)201〜をサブチャネルキユー20の先頭に残すようにす
る。
このようにすることで、サブチャネルキユー20での制
御を、できる限り先入れ先出し(FIFO)制御に近づける
ことができ、上記同期の問題の発生を軽減させることが
できる。
次に、第2図によって、他の実施例を説明する。
先ず、第3図(d1)に示したサブチャネルエンキユー
処理フローにおいて、左下角にマーク(斜線マーク)を
付した「サブチャネルを、サブチャネルキユー制御ブロ
ック(SQCB)が指示するサブチャネルキユーにエンキユ
ーする」ステップを、第2図(a1)に示したフローに置
き換える。
即ち、入出力プロセッサ(IOP)2内にタイマを設け
(図示せず)、入出力命令(SSCH)が中央処理装置(CP
U)1で発行されたことにより、該サブチャネルキユー2
0にエンキユーされたとき、その時の上記タイマの値
を、該サブチャネル(SCH)201〜に追加した「現在時刻
記入域」{第2図(b)参照}に記録しておく。
そして、第3図(d2)で説明した「サブチャネルのキ
ユー末尾に移動する」ステップ305,308(右下に斜線マ
ークを付したステップ)を第2図(a2)に示したフロー
に置き換える。
即ち、該当サブチャネル(SCH)201〜を起動試行する
際に、上記該サブチャネル(SCH)201〜の「現在時刻記
入域」に記録されているエンキユー時刻と、現在の時刻
とを比較し、該サブチャネルキユー20での当該サブチャ
ネル(SCH)201〜の滞留時間が一定の値を越えた場合に
は、当該サブチャネルキユー制御ブロック(SQCB)21配
下のサブチャネルキユー20への末尾への移動を行わず、
その先頭に留めるようにする。
そして、該滞留時間が一定値未満の場合には、従来通
り、該サブチャネル(SCH)201〜をサブチャネルキユー
20の末尾に移動させる。
このようにすることで、サブチャネルキユー20での制
御を、できる限り先入れ先出し(FIFO)制御に近づける
ことができ、上記同期の問題の発生を軽減させることが
できる。
このように、本発明は、サブチャネルキユーでのエン
キユー,デキユー処理が、ラウンドロビン方式を基本と
していて、先入れ先出し(FIFO)制御が達成されていな
いことに起因して、たまたま、中央処理装置(CPU)/
入出力プロセッサ(IOP)側の処理速度と、入出力制御
装置側のビジー解除タイミングとが同期するといった相
互関係により、特定のサブチャネル(SCH)が長時間、
該サブチャネルキユーに留められてしまうことがあるこ
とに着目し、ビジー条件の態様が、入出力経路使用中条
件の場合には、該サブチャネル(SCH)を末尾に移すこ
とを抑止するか、或いは、該サブチャネルがサブチャネ
ルキユーに滞留している時間を監視し、該滞留時間が一
定時間を越えている場合に、該サブチャネル(SCH)を
末尾に移すことを抑止するようにして、できる限り、先
入れ先出し(FIFO)制御に近づけるようにした所に特徴
がある。
〔発明の効果〕
以上、詳細に説明したように、本発明の入出力処理制
御方式は、中央処理装置(CPU)の配下にあるハードウ
ェア{入出力プロセッサ(IOP)}が入出力処理の経路
状態と,入出力装置の状態を管理情報ブロック(SCH)
として管理し、中央処理装置(CPU)が入出力命令(SSC
H)を実行するとき、該入出力命令が指示する入出力制
御パラメータを変換して、該管理情報ブロック(SCH)
に設定して投入した、入出力処理要求の待ち行列(SCH
キユー)の管理と、該入出力処理の経路選択を、上記ハ
ードウェアが実行する入出力処理制御方式を用い、且
つ、該ハードウエアにおいて、同一の経路を使用する入
出力装置群に対して、少なくとも、論理的な上記待ち行
列(SCHキユー)を構成し、各待ち行列(SCHキユー)の
中で最高の優先順位を持つ入出力処理要求に対して起動
の試行を行う計算機システムにおける入出力処理におい
て、ある入出力処理要求に対する試行の結果、該入出力
処理の起動が不可能で、該入出力処理要求を、上記待ち
行列(SCHキユー)に留める使用中条件が検出されたと
き、該使用中(ビジー)条件が入出力装置の使用中条件
の場合には、該入出力処理要求を、同一経路を使用する
他の入出力装置の入出力処理要求よりも,該待ち行列
(SCHキユー)内における起動の優先順位が低くなる位
置に移動し、該使用中条件が、経路使用中条件の場合に
は、該入出力処理要求を、該待ち行列(SCHキユー)内
における起動の優先順位が高い位置に引き続き保持する
ように管理する。又は、入出力処理起動試行時に、該入
出力処理要求が発行されてからの経過時間がある一定値
を越えない場合には、他の入出力装置の入出力処理要求
より、該待ち行列内における優先順位が低くなる位置に
移動し、ある一定時間を越えた場合には、該待ち行列内
における優先順位を高い位置に保持するようにしたもの
であるので、前者においては、ハードウェアを増加させ
ることなく、例えば、入出力プロセッサ(IOP)内部の
マイクロプログラムを一部変更だけで、サブチャネルキ
ユーの各サブチャネル(SCH)間の優先順位が部分的に
固定されて、特定のサブチャネル(SCH)が長時間処理
されない事象の発生を軽減させることができる効果があ
る。
又、後者においては、時間監視の為のタイマを入出力
プロセッサ(IOP)内に設けるといった若干のハードウ
ェアの追加により、サブチャネルキユー中の各サブチャ
ネル(SCH)間の優先順位が部分的に固定されて、特定
のサブチャネル(SCH)が長時間処理されない事象の発
生を軽減させることができる効果がある。又、この方式
を取ると、サブチャネルキユー内部での滞留時間が平均
化されるので、ジョブ間競合によるシステム性能への擾
乱が減少し、システムの性能が向上する効果も得られ
る。
【図面の簡単な説明】 第1図は本発明の一実施例を示した図, 第2図は本発明の他の実施例を示した図, 第3図は従来の入出力処理制御方式を説明する図, である。 図面において、 1は中央処理装置(CPU), 111,112,〜,121,122,〜は入出力要求, 2は入出力プロセッサ(IOP), 20は待ち行列(SCHキュー),又は、サブチャネルキユ
ー, 21はサブチャネルキユー制御ブロック(SQCB), 22はサブチャネルキユー制御ブロック−リスト制御ブロ
ック(SQLCB), 201〜203はサブチャネル(SCH), 10は入出力制御装置,51,〜53は入出力装置, 101,101はチャネル, 300〜310は処理ステップ, をそれぞれ示す。

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】中央処理装置(CPU)(1)の配下にある
    ハードウェア(2)が入出力処理の経路状態と,入出力
    装置(51〜)の状態を管理情報ブロック(SCH)(201
    〜)として管理し、中央処理装置(CPU)(1)が入出
    力命令を実行するとき、該入出力命令が指示する入出力
    制御パラメータを変換し、該管理情報ブロック(SCH)
    (201〜)に設定して投入した、入出力処理要求の待ち
    行列(SCHキユー)(20)の管理と,該入出力処理の経
    路選択を、上記ハードウェア(2)が実行する入出力処
    理制御方式を用い、 且つ、該ハードウエア(2)において、同一の経路を使
    用する入出力装置(51〜)群に対して、少なくとも、論
    理的な上記待ち行列(SCHキユー)(20)を構成し、各
    待ち行列(SCHキユー)(20)の中で最高の優先順位を
    持つ入出力処理要求に対して起動の試行を行う計算機シ
    ステムにおいて、 ある入出力処理要求に対する試行の結果、該入力出力処
    理の起動が不可能で、該入出力処理要求を、上記待ち行
    列(SCHキユー)(20)に留める使用中条件が検出され
    たとき、 入出力装置(51〜)の使用中条件の場合には、該入出力
    処理要求を、同一経路を使用する他の入出力装置(51
    〜)の入出力処理要求よりも,該待ち行列(SCHキユ
    ー)(20)内における起動の優先順位が低くなる位置に
    移動し、 該使用中条件が、経路使用中条件の場合には、該入出力
    処理要求を、同一の経路を使用する他の入出力装置(51
    〜)の入出力処理要求よりも,該待ち行列(SCHキユ
    ー)(20)内における起動の優先順位が高い位置に引き
    続き保持するように管理することを特徴とする入出力処
    理制御方式。
  2. 【請求項2】中央処理装置(CPU)(1)の配下にある
    ハードウェア(2)が入出力処理の経路状態と,入出力
    装置(51〜)の状態を管理情報ブロック(SCH)(201
    〜)として管理し、中央処理装置(CPU)(1)が入出
    力命令を実行するとき、該入出力命令が指示する入出力
    制御パラメータを変換して、該管理情報ブロック(SC
    H)(201〜)に設定して投入した、入出力処理要求の待
    ち行列(SCHキユー)(20)の管理と,該入出力処理の
    経路選択を、上記ハードウェア(2)が実行する入出力
    処理制御方式を用い、 且つ、該ハードウエア(2)において、同一の経路を使
    用する入出力装置(51〜)群に対して、少なくとも、論
    理的な上記待ち行列(SCHキユー)(20)を構成し、各
    待ち行列(SCHキユー)(20)の中で最高の優先順位を
    持つ入出力処理要求に対して起動の試行を行う計算機シ
    ステムにおいて、 上記ハードウェア(2)内に、該入出力処理要求が中央
    処理装置(CPU)(1)より発行された時刻を、入出力
    処理要求を管理する上記管理情報ブロック(SCH(201
    〜)に設定する手段(A)と, 上記管理情報ブロック(SCH)(201〜)内の上記手段
    (A)により設定された時刻情報と、現在時刻とを比較
    し、該入出力処理要求が発行されてからの経過時間を算
    出する手段(B)と, 該手段(B)により算出された値と、予め、与えられら
    値との大小を比較する手段(C)とを設けて、 入出力処理起動試行時に、上記経過時間が、ある一定値
    より越えない場合には、該入出力処理要求を、同一経路
    を使用する他の入出力装置(51〜)の入出力処理要求よ
    りも、上記待ち行列(SCHキユー)(20)における優先
    順位が低くなる位置に移動し、 該経過時間が、ある一定値を越えた場合には、該入出力
    要求を、同一経路を使用する他の入出力装置(5)の入
    出力処理要求よりも、上記待ち行列(SCHキユー)(2
    0)における優先順位を高い位置に保持するように管理
    することを特徴とする入出力処理制御方式。
JP10093690A 1990-04-17 1990-04-17 入出力処理制御方式 Expired - Fee Related JP2822582B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10093690A JP2822582B2 (ja) 1990-04-17 1990-04-17 入出力処理制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10093690A JP2822582B2 (ja) 1990-04-17 1990-04-17 入出力処理制御方式

Publications (2)

Publication Number Publication Date
JPH04543A JPH04543A (ja) 1992-01-06
JP2822582B2 true JP2822582B2 (ja) 1998-11-11

Family

ID=14287239

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10093690A Expired - Fee Related JP2822582B2 (ja) 1990-04-17 1990-04-17 入出力処理制御方式

Country Status (1)

Country Link
JP (1) JP2822582B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0760130B2 (ja) * 1992-03-24 1995-06-28 建設基礎エンジニアリング株式会社 吹付け硬化材の試験方法

Also Published As

Publication number Publication date
JPH04543A (ja) 1992-01-06

Similar Documents

Publication Publication Date Title
JP2520576B2 (ja) デ―タ処理システム及びチャネル・アダプタ
JP3549081B2 (ja) 優先度付きタスク実行制御方法及びデータ処理装置
JP2007079789A (ja) 計算機システム及びイベント処理方法
US7721035B2 (en) Multiprocessor system, processor and interrupt control method
JP2004038758A (ja) 記憶制御装置、記憶制御装置の制御方法、及びプログラム
JP2000330807A (ja) 複数のプロセッサで同時にスレッドの実行を開始させる方法及びその装置並びにコンピュータ可読記録媒体
JPH03147151A (ja) 共通ルーチンを用いた移植性の資源共用ファイルサーバ
JP2008015888A (ja) 負荷分散制御システム及び負荷分散制御方法
US5339449A (en) System and method for reducing storage channels in disk systems
EP0446077B1 (en) A control system for multi-processor system
KR100708096B1 (ko) 버스 시스템 및 그 실행 순서 조정방법
US11392407B2 (en) Semiconductor device
JPH06161950A (ja) 複式バス・アーキテクチャを有する計算システムに使用するデータ伝送の管理方法。
WO1991020040A1 (en) Remote terminal interface as for a unixtm operating system computer
JP2822582B2 (ja) 入出力処理制御方式
CN115981893A (zh) 消息队列任务处理方法、装置、服务器及存储介质
JPH0877026A (ja) 情報処理方法とその装置
JPH0844662A (ja) 情報処理装置
JP2000322278A (ja) プロセス実行制御方法
JP2010044703A (ja) マルチタスクosにおけるタスク切り替え方法及びプログラム
JP2000244585A (ja) バスインタフェース回路
JPH0844661A (ja) 情報処理装置
KR100243868B1 (ko) 주 전산기에서의 중재로직 방법
JP3317150B2 (ja) 情報処理装置
JP2534797B2 (ja) キュ―イング制御方式

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees