JPH1049388A - 入出力制御装置 - Google Patents
入出力制御装置Info
- Publication number
- JPH1049388A JPH1049388A JP8204433A JP20443396A JPH1049388A JP H1049388 A JPH1049388 A JP H1049388A JP 8204433 A JP8204433 A JP 8204433A JP 20443396 A JP20443396 A JP 20443396A JP H1049388 A JPH1049388 A JP H1049388A
- Authority
- JP
- Japan
- Prior art keywords
- input
- output
- priority
- data size
- lock
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Bus Control (AREA)
Abstract
(57)【要約】
【課題】 コンピュータの入出力制御において優先度の
高いプロセスの入出力処理が優先度の低いプロセスの入
出力処理によって妨げられることなく高いスループット
の入出力が可能となるようにする。 【解決手段】 プロセスの優先度、入出力装置の転送デ
ータサイズおよびプロセスが要求する入出力データサイ
ズを基に、ロック設定中の入出力操作で転送するロック
時データ合計サイズを決定する。優先度の高いプロセス
には大きなロック時データ合計サイズが割り当てられ
る。このため優先度が高いほど1回の入出力要求で処理
できる連続入出力データサイズが大きくなる。そして、
優先度が低いほど1回の入出力要求で処理できる連続入
出力処理データサイズが小さくなり、ロックによる占有
時間が短くなり、優先度の高いプロセスがロックの解放
を待つ時間が短縮する。
高いプロセスの入出力処理が優先度の低いプロセスの入
出力処理によって妨げられることなく高いスループット
の入出力が可能となるようにする。 【解決手段】 プロセスの優先度、入出力装置の転送デ
ータサイズおよびプロセスが要求する入出力データサイ
ズを基に、ロック設定中の入出力操作で転送するロック
時データ合計サイズを決定する。優先度の高いプロセス
には大きなロック時データ合計サイズが割り当てられ
る。このため優先度が高いほど1回の入出力要求で処理
できる連続入出力データサイズが大きくなる。そして、
優先度が低いほど1回の入出力要求で処理できる連続入
出力処理データサイズが小さくなり、ロックによる占有
時間が短くなり、優先度の高いプロセスがロックの解放
を待つ時間が短縮する。
Description
【0001】
【発明の属する技術分野】本発明はコンピュータの入出
力の制御に関し、特に1個の入出力装置に、複数の入出
力処理要求が競合したときの競合制御に関する。
力の制御に関し、特に1個の入出力装置に、複数の入出
力処理要求が競合したときの競合制御に関する。
【0002】
【従来の技術】従来の入出力要求に関する制御では入出
力要求が到着した順番に入出力処理を行っていた。この
ため入出力処理の優先度の高低にかかわらず、順番待ち
の前の処理が終わるまで待機していなければならなかっ
た。
力要求が到着した順番に入出力処理を行っていた。この
ため入出力処理の優先度の高低にかかわらず、順番待ち
の前の処理が終わるまで待機していなければならなかっ
た。
【0003】上記課題を解決するために以下に示す発明
が公開されている。
が公開されている。
【0004】特開平05−88818号公報の『磁気
デイスク装置』には、入出力要求プロセッサ毎に、アク
セス要求に答えた数を計数するカウンタを設け、その値
によって、いままで入出力を実行できた回数が多いプロ
セッサに対しては優先度を下げることによって、特定の
プロセッサのみに入出力実行が偏ることを防止する技術
が開示されている。
デイスク装置』には、入出力要求プロセッサ毎に、アク
セス要求に答えた数を計数するカウンタを設け、その値
によって、いままで入出力を実行できた回数が多いプロ
セッサに対しては優先度を下げることによって、特定の
プロセッサのみに入出力実行が偏ることを防止する技術
が開示されている。
【0005】特開平07−84941号公報の『バス
使用要求調整装置』には、上記の回数の代わりに入出力
実行時間(入出力装置占有時間)の長さをもとに優先度
を調整することによって、特定のプロセスのみに入出力
実行が偏ることを防止させる技術が開示されている。
使用要求調整装置』には、上記の回数の代わりに入出力
実行時間(入出力装置占有時間)の長さをもとに優先度
を調整することによって、特定のプロセスのみに入出力
実行が偏ることを防止させる技術が開示されている。
【0006】特開平7−160635号公報の『オン
ライントランザクション処理システムにおけるファイル
入出力方式』には、ディスクに対する入出力要求のキュ
ーについて、ディスクのシーク時間を減少させるように
並べ変えることによって、全体の入出力効率を向上させ
る技術が開示されている。ただし、「シーク時間を減少
させるようなキューの並べ変え」の方法については何も
記述がない。
ライントランザクション処理システムにおけるファイル
入出力方式』には、ディスクに対する入出力要求のキュ
ーについて、ディスクのシーク時間を減少させるように
並べ変えることによって、全体の入出力効率を向上させ
る技術が開示されている。ただし、「シーク時間を減少
させるようなキューの並べ変え」の方法については何も
記述がない。
【0007】特公平7−60415号公報の『マルチ
タスキング・データ処理システム』には、プロセスの優
先度ごとに別々にキューを設け、入出力を優先度の高い
キューで待機している要求から順番に実行することによ
り、優先度の高い入出力要求が優先度の低いものより先
に実行されるようにする技術が開示されている。
タスキング・データ処理システム』には、プロセスの優
先度ごとに別々にキューを設け、入出力を優先度の高い
キューで待機している要求から順番に実行することによ
り、優先度の高い入出力要求が優先度の低いものより先
に実行されるようにする技術が開示されている。
【0008】ところで、従来の入出力制御方式では、入
出力の途中でその他の入出力が実行されてしまう。処理
を急ぐ入出力は、この入出力によって待たされる。この
ため、処理時間を短くしたい入出力要求に対して高速の
入出力を実行することができなかった。
出力の途中でその他の入出力が実行されてしまう。処理
を急ぐ入出力は、この入出力によって待たされる。この
ため、処理時間を短くしたい入出力要求に対して高速の
入出力を実行することができなかった。
【0009】また、前述の特公平7−60415号公報
の『マルチタスキング・データ処理システム』のように
プロセス毎の優先度に応じて入出力要求をスケジューリ
ングした場合でも、優先度の高いプロセスが入出力要求
を出した時、その時点で低優先度のプロセスが入出力を
実行中の場合、高優先度のプロセスが低優先度プロセス
の入出力の完了を待たなければならない。従って、入出
力に関して高いスループットを要求するプロセス、また
は時間的制約が厳しいプロセスに対しては、それらの制
約条件を満足した入出力を達成することができなくなる
という問題が発生する。
の『マルチタスキング・データ処理システム』のように
プロセス毎の優先度に応じて入出力要求をスケジューリ
ングした場合でも、優先度の高いプロセスが入出力要求
を出した時、その時点で低優先度のプロセスが入出力を
実行中の場合、高優先度のプロセスが低優先度プロセス
の入出力の完了を待たなければならない。従って、入出
力に関して高いスループットを要求するプロセス、また
は時間的制約が厳しいプロセスに対しては、それらの制
約条件を満足した入出力を達成することができなくなる
という問題が発生する。
【0010】
【発明が解決しようとする課題】本発明は以上の事情を
考慮してなされたものであり、その目的は、入出力に対
して高い優先度を持つプロセスが、高いスループットの
入出力を実行可能にすることにある。
考慮してなされたものであり、その目的は、入出力に対
して高い優先度を持つプロセスが、高いスループットの
入出力を実行可能にすることにある。
【0011】さらに、本発明の他の目的は、高優先度プ
ロセスが低優先度プロセスの入出力実行中に入出力を要
求した時も、少ない待ち時間で高優先度プロセスに入出
力の実行権が移るようにさせることにある。
ロセスが低優先度プロセスの入出力実行中に入出力を要
求した時も、少ない待ち時間で高優先度プロセスに入出
力の実行権が移るようにさせることにある。
【0012】
【課題を解決するための手段】本発明によれば、以上の
目的を達成するために、複数の計算プロセスから、共通
の入出力装置に対して入出力処理が可能であり、上記入
出力装置がどのプロセスによって占有されているのかを
表す、上記入出力装置に関連づけられたロックデータを
持ち、上記プロセスが上記入出力処理を要求する時は、
入出力実行に先だって対象入出力装置に関連づけられた
ロックを取得し、その装置を占有し、すでにそのロック
が他のプロセスによって占有されている時はロックの解
放を待機するという動作を行うことで上記入出力装置に
ついて複数のプロセス間で排他制御を行う入出力装置制
御装置を含む計算機システムにおいて、入出力制御装置
に、入出力を要求するプロセスが入出力装置を占有する
ことをシステムならびに他のプロセスに対して通知する
ロック手段、ならびに各プロセスについてそのプロセス
の入出力優先度を記憶する入出力優先度記憶手段、プロ
セス毎に前記入出力優先度に基づき入出力装置に対して
1回の入出力操作で転送するデータサイズ(IOSIZ
E)およびプロセスが要求するデータサイズ(APPS
IZE)を基にロック設定中に実行する入出力操作で転
送するデータ合計サイズ(LOCKIOSIZE)を設
定するプロセス独占入出力データサイズ決定手段とを設
けている。
目的を達成するために、複数の計算プロセスから、共通
の入出力装置に対して入出力処理が可能であり、上記入
出力装置がどのプロセスによって占有されているのかを
表す、上記入出力装置に関連づけられたロックデータを
持ち、上記プロセスが上記入出力処理を要求する時は、
入出力実行に先だって対象入出力装置に関連づけられた
ロックを取得し、その装置を占有し、すでにそのロック
が他のプロセスによって占有されている時はロックの解
放を待機するという動作を行うことで上記入出力装置に
ついて複数のプロセス間で排他制御を行う入出力装置制
御装置を含む計算機システムにおいて、入出力制御装置
に、入出力を要求するプロセスが入出力装置を占有する
ことをシステムならびに他のプロセスに対して通知する
ロック手段、ならびに各プロセスについてそのプロセス
の入出力優先度を記憶する入出力優先度記憶手段、プロ
セス毎に前記入出力優先度に基づき入出力装置に対して
1回の入出力操作で転送するデータサイズ(IOSIZ
E)およびプロセスが要求するデータサイズ(APPS
IZE)を基にロック設定中に実行する入出力操作で転
送するデータ合計サイズ(LOCKIOSIZE)を設
定するプロセス独占入出力データサイズ決定手段とを設
けている。
【0013】ここで、ロックは、計算機工学において広
く一般的に使われている技術である。複数のプロセスか
ら共通に使用される計算機資源について、排他的に処理
を行う必要があるとき、このロックをかけることによ
り、そのプロセスのみに対象の資源を解放する。他のプ
ロセスは、ロックを検査し、他のプロセスがその資源を
使用中かどうかを確認すると同時に解放されるまで待機
する。
く一般的に使われている技術である。複数のプロセスか
ら共通に使用される計算機資源について、排他的に処理
を行う必要があるとき、このロックをかけることによ
り、そのプロセスのみに対象の資源を解放する。他のプ
ロセスは、ロックを検査し、他のプロセスがその資源を
使用中かどうかを確認すると同時に解放されるまで待機
する。
【0014】優先度はそのプロセスの入出力実行に関す
る処理の優先度を表す。優先度が高いプロセスの入出力
は優先度の低いプロセスの入出力よりも先に実行され
る。
る処理の優先度を表す。優先度が高いプロセスの入出力
は優先度の低いプロセスの入出力よりも先に実行され
る。
【0015】この構成においては、各プロセスの入出力
要求はプロセスに依存したサイズ(APPSIZE)単
位で発行される。ところが、入出力装置が効率よく処理
できるデータサイズ(IOSIZE)は前記プロセスが
要求するデータサイズと通常異なる。従って、各プロセ
スは1回の入出力要求を入出力装置にとって効率のよい
データサイズに分割して複数回実行する。
要求はプロセスに依存したサイズ(APPSIZE)単
位で発行される。ところが、入出力装置が効率よく処理
できるデータサイズ(IOSIZE)は前記プロセスが
要求するデータサイズと通常異なる。従って、各プロセ
スは1回の入出力要求を入出力装置にとって効率のよい
データサイズに分割して複数回実行する。
【0016】優先順位の高いプロセスから入出力要求が
発行された場合は、例えば前記APPSIZEのデータ
を全て転送完了するまでロックにより入出力装置を占有
して入出力を実行する。このときは入出力操作を連続し
て実行させることができる。このため入出力装置を占有
できない場合と比較して効率のよい入出力処理が可能と
なる。
発行された場合は、例えば前記APPSIZEのデータ
を全て転送完了するまでロックにより入出力装置を占有
して入出力を実行する。このときは入出力操作を連続し
て実行させることができる。このため入出力装置を占有
できない場合と比較して効率のよい入出力処理が可能と
なる。
【0017】一方、優先度の低いプロセスからの入出力
ではロックにより入出力装置を占有できる期間が、入出
力装置にとって効率よく入出力できるサイズのデータを
例えば1回入出力する時間に制限される。このため、こ
のプロセスが本来希望するデータ入出力サイズ全体をす
べて入出力し終わるまでロック/アンロックを繰り返
す。このように、低優先度プロセスが入出力する間には
アンロックすることで、入出力装置を解放する時間があ
る。この時間を設けることで高優先度プロセスが割り込
む機会を与えている。この間に再び高優先度プロセスの
入出力要求が発生する可能性もある。このように、高優
先度プロセスが要求する入出力が低優先度プロセスの入
出力処理の終了を待つ時間を最小化することができる。
ではロックにより入出力装置を占有できる期間が、入出
力装置にとって効率よく入出力できるサイズのデータを
例えば1回入出力する時間に制限される。このため、こ
のプロセスが本来希望するデータ入出力サイズ全体をす
べて入出力し終わるまでロック/アンロックを繰り返
す。このように、低優先度プロセスが入出力する間には
アンロックすることで、入出力装置を解放する時間があ
る。この時間を設けることで高優先度プロセスが割り込
む機会を与えている。この間に再び高優先度プロセスの
入出力要求が発生する可能性もある。このように、高優
先度プロセスが要求する入出力が低優先度プロセスの入
出力処理の終了を待つ時間を最小化することができる。
【0018】また、以上の構成において、上記独占入出
力データサイズ決定手段は、入出力優先度が高いプロセ
スの独占入出力データサイズを入出力優先度が低いプロ
セスの独占入出力データサイズより大きくするようにで
きる。
力データサイズ決定手段は、入出力優先度が高いプロセ
スの独占入出力データサイズを入出力優先度が低いプロ
セスの独占入出力データサイズより大きくするようにで
きる。
【0019】また、上記独占入出力データサイズ決定手
段は、入出力優先度が高いプロセスに対してプロセスが
要求する入出力データサイズを上記独占入出力データサ
イズとして与え、入出力優先度が低いプロセスに対して
入出力装置の1回の入出力操作で転送するデータサイズ
上記独占入出力データサイズとして与えるようにでき
る。
段は、入出力優先度が高いプロセスに対してプロセスが
要求する入出力データサイズを上記独占入出力データサ
イズとして与え、入出力優先度が低いプロセスに対して
入出力装置の1回の入出力操作で転送するデータサイズ
上記独占入出力データサイズとして与えるようにでき
る。
【0020】
【発明の実施の形態】以下、この発明の実施例について
説明する。
説明する。
【0021】図1は本発明を適用したコンピュータシス
テムの実施例を示すブロック図である。図1において、
中央演算処理装置11は主記憶装置12に接続されると
ともに、入出力制御装置13を介して入出力装置14に
接続されている。
テムの実施例を示すブロック図である。図1において、
中央演算処理装置11は主記憶装置12に接続されると
ともに、入出力制御装置13を介して入出力装置14に
接続されている。
【0022】図2は図1のコンピュータシステムで実行
されるソフトウエア・エレメントを示すものである。図
2において、複数のプロセス21がオペレーティング・
システム24の管理の下で実行されている。プロセス2
1には優先度記憶部22が設けられ後述するプロセス優
先度を保持するようになっている。オペレーティング・
システム24は通常のオペレーティング・システムの機
能を実行するとともに、この発明のプロセス間の競合管
理を行う機能を実行する。この競合管理は入出力制御部
23、ロック機構25および独占入出力データサイズ決
定手段26からなっている。
されるソフトウエア・エレメントを示すものである。図
2において、複数のプロセス21がオペレーティング・
システム24の管理の下で実行されている。プロセス2
1には優先度記憶部22が設けられ後述するプロセス優
先度を保持するようになっている。オペレーティング・
システム24は通常のオペレーティング・システムの機
能を実行するとともに、この発明のプロセス間の競合管
理を行う機能を実行する。この競合管理は入出力制御部
23、ロック機構25および独占入出力データサイズ決
定手段26からなっている。
【0023】つぎに上述の競合管理、すなわち複数のプ
ロセスから、同じ入出力装置に対して入出力を実行しよ
うとした場合の処理について、図3のフローチャートを
も参照して説明する。
ロセスから、同じ入出力装置に対して入出力を実行しよ
うとした場合の処理について、図3のフローチャートを
も参照して説明する。
【0024】まず、プロセスの優先度、入出力装置の転
送データサイズ(IOSIZE)およびプロセスが要求
する入出力データサイズ(APPSIZE)を基にロッ
ク設定中の入出力操作で転送するデータ合計サイズ(L
OCKIOSIZE)を決定する(ステップ301)。
優先度の高いプロセスには大きなLOCKIOSIZE
が割り当てられるようになっている。このLOCKIO
SIZEの決定については図4を参照して後に詳述す
る。
送データサイズ(IOSIZE)およびプロセスが要求
する入出力データサイズ(APPSIZE)を基にロッ
ク設定中の入出力操作で転送するデータ合計サイズ(L
OCKIOSIZE)を決定する(ステップ301)。
優先度の高いプロセスには大きなLOCKIOSIZE
が割り当てられるようになっている。このLOCKIO
SIZEの決定については図4を参照して後に詳述す
る。
【0025】つぎにAPPSIZE分のデータ転送を完
了したかどうか検査する(ステップ303)。ここで転
送済みデータ量をiとする。この転送済みデータ量は当
初ゼロに初期化される(ステップ302)。すでにAP
PSIZE分転送した場合、すなわちi=APPSIZ
Eの場合、入出力処理終了なので、処理を終了する(ス
テップ303の分岐N)。まだAPPSIZEに満たな
い場合、すなわちi<APPSIZEの場合、ステップ
304以降を続ける(ステップ303の分岐Y)。
了したかどうか検査する(ステップ303)。ここで転
送済みデータ量をiとする。この転送済みデータ量は当
初ゼロに初期化される(ステップ302)。すでにAP
PSIZE分転送した場合、すなわちi=APPSIZ
Eの場合、入出力処理終了なので、処理を終了する(ス
テップ303の分岐N)。まだAPPSIZEに満たな
い場合、すなわちi<APPSIZEの場合、ステップ
304以降を続ける(ステップ303の分岐Y)。
【0026】ステップ304において対象入出力装置に
関連付けられたロックデータの取得を試みる。すでに別
プロセスがロックを占有している場合は、そのプロセス
がロックを解放するまで待つ(ステップ305、30
6)。
関連付けられたロックデータの取得を試みる。すでに別
プロセスがロックを占有している場合は、そのプロセス
がロックを解放するまで待つ(ステップ305、30
6)。
【0027】ステップ307において、対象入出力装置
に関連付けられたロックデータにロックを設定する。す
なわち独占使用権を獲得する(ステップ307)。
に関連付けられたロックデータにロックを設定する。す
なわち独占使用権を獲得する(ステップ307)。
【0028】つぎに入出力処理を行う。ここでロック後
に転送したデータ量をjとする。まず、当初、jをゼロ
に初期化する(ステップ308)。この後、ロック後に
LOCKIOSIZE分の入出力が完了したかどうか検
査する(ステップ309)。すでにLOCKIOSIZ
E分入出力が完了した場合、すなわちj=LOCKIO
SIZEの場合、ロックを解放(他プロセスにI/O実
施権解放)して、ステップ303に戻る(ステップ31
2)。まだLOCKIOSIZEに満たない場合、すな
わちj<LOCKIOSIZEの場合ステップ310以
降を続ける(ステップ309の分岐Y)。
に転送したデータ量をjとする。まず、当初、jをゼロ
に初期化する(ステップ308)。この後、ロック後に
LOCKIOSIZE分の入出力が完了したかどうか検
査する(ステップ309)。すでにLOCKIOSIZ
E分入出力が完了した場合、すなわちj=LOCKIO
SIZEの場合、ロックを解放(他プロセスにI/O実
施権解放)して、ステップ303に戻る(ステップ31
2)。まだLOCKIOSIZEに満たない場合、すな
わちj<LOCKIOSIZEの場合ステップ310以
降を続ける(ステップ309の分岐Y)。
【0029】ステップ310において、入出力装置に最
適なデータサイズ(IOSIZE)の入出力操作を入出
力装置において実行する(ステップ310)。この後、
転送済みデータ量iおよびロック後に転送したデータ量
を更新する(ステップ311)。そしてLOCKIOS
IZE分のデータ量がロック後に転送されるまでステッ
プ309以降の処理を繰り返す。
適なデータサイズ(IOSIZE)の入出力操作を入出
力装置において実行する(ステップ310)。この後、
転送済みデータ量iおよびロック後に転送したデータ量
を更新する(ステップ311)。そしてLOCKIOS
IZE分のデータ量がロック後に転送されるまでステッ
プ309以降の処理を繰り返す。
【0030】以上のようにすべてのデータが転送し終わ
ると入出力操作を終了する。
ると入出力操作を終了する。
【0031】つぎに図3のステップ301におけるLO
CKIOSIZE決定の手順を図4のフローチャートを
参照して説明する。このフローではプロセスの優先度が
平均優先度を越える場合にはLOCKIOSIZEをA
PPSIZEとして連続的に入出力が行われるように
し、他方プロセスの優先度が平均優先度以下の場合には
LOCKIOSIZEをIOSIZEとし入出力処理の
入出力データサイズの転送のたびにロックの解放が実行
され、他の優先度の高いプロセスが速やかに割り込める
ようにしている。もちろん、優先度毎にLOCKIOS
IZEを変えたり、種々の手法でLOCKIOSIZE
をプロセスに割り当てることができる。
CKIOSIZE決定の手順を図4のフローチャートを
参照して説明する。このフローではプロセスの優先度が
平均優先度を越える場合にはLOCKIOSIZEをA
PPSIZEとして連続的に入出力が行われるように
し、他方プロセスの優先度が平均優先度以下の場合には
LOCKIOSIZEをIOSIZEとし入出力処理の
入出力データサイズの転送のたびにロックの解放が実行
され、他の優先度の高いプロセスが速やかに割り込める
ようにしている。もちろん、優先度毎にLOCKIOS
IZEを変えたり、種々の手法でLOCKIOSIZE
をプロセスに割り当てることができる。
【0032】図4において、まずプロセスの優先度を取
り出しPRに設定する(ステップ41)。つぎに入出力
装置の転送データサイズを取り出しIOSIZEに設定
する(ステップ42)。さらに、プロセスが要求する入
出力データサイズを取り出しAPPSIZEに設定する
(ステップ43)。この後、PRが優先度の平均値PR
AVより大きいかどうか検査する(ステップ44)。P
RがPRAVより大きい場合、高優先度プロセスとして
LOCKIOSIZEをAPPSIZEに決定する(ス
テップ45)。PRがPRAVより小さいか、あるいは
等しい場合、低優先度プロセスとしてLOCKIOSI
ZEをIOSIZEに決定する(ステップ46)。こう
してLOCKIOSIZEが決定される。
り出しPRに設定する(ステップ41)。つぎに入出力
装置の転送データサイズを取り出しIOSIZEに設定
する(ステップ42)。さらに、プロセスが要求する入
出力データサイズを取り出しAPPSIZEに設定する
(ステップ43)。この後、PRが優先度の平均値PR
AVより大きいかどうか検査する(ステップ44)。P
RがPRAVより大きい場合、高優先度プロセスとして
LOCKIOSIZEをAPPSIZEに決定する(ス
テップ45)。PRがPRAVより小さいか、あるいは
等しい場合、低優先度プロセスとしてLOCKIOSI
ZEをIOSIZEに決定する(ステップ46)。こう
してLOCKIOSIZEが決定される。
【0033】次に、入出力装置の1例として、磁気ディ
スク記憶装置を挙げて説明する。磁気ディスク装置に関
連して、高優先度プロセスが読み込み(read)処理
とし、低優先度プロセスを書き込み(write)処理
とし、読み込みおよび書き込みを同時期に要求した時の
磁気ディスク記憶装置の動作のタイミングチャートを図
5に示す。
スク記憶装置を挙げて説明する。磁気ディスク装置に関
連して、高優先度プロセスが読み込み(read)処理
とし、低優先度プロセスを書き込み(write)処理
とし、読み込みおよび書き込みを同時期に要求した時の
磁気ディスク記憶装置の動作のタイミングチャートを図
5に示す。
【0034】この時の磁気ディスク記憶装置側の時系列
の動作を以下に示す。 (1)ロック(read用)設定(ステップ501)。 (2)シーク(seek)の処理(readするdis
k位置にヘッドを移動)(ステップ502)。 (3)readの処理(IOSIZE分read)(ス
テップ503)。 (4)readプロセスのデータサイズ(APPSIZ
E)分だけ(3)の処理を繰り返す(ステップ50
4)。 (5)ロック(read用)解除(ステップ505)。 (6)コマンド要求待ち。 (7)ロック(write用)設定(ステップ50
6)。 (8)seekの処理(writeするdisk位置に
ヘッドを移動)(ステップ507)。 (9)writeの処理(IOSIZE分だけwrit
e処理)(ステップ508)。 (10)ロック(write用)解除(ステップ50
9)。 (11)コマンド要求待ち。 (12)(1)の処理に戻る。
の動作を以下に示す。 (1)ロック(read用)設定(ステップ501)。 (2)シーク(seek)の処理(readするdis
k位置にヘッドを移動)(ステップ502)。 (3)readの処理(IOSIZE分read)(ス
テップ503)。 (4)readプロセスのデータサイズ(APPSIZ
E)分だけ(3)の処理を繰り返す(ステップ50
4)。 (5)ロック(read用)解除(ステップ505)。 (6)コマンド要求待ち。 (7)ロック(write用)設定(ステップ50
6)。 (8)seekの処理(writeするdisk位置に
ヘッドを移動)(ステップ507)。 (9)writeの処理(IOSIZE分だけwrit
e処理)(ステップ508)。 (10)ロック(write用)解除(ステップ50
9)。 (11)コマンド要求待ち。 (12)(1)の処理に戻る。
【0035】一方入出力装置を占有するためのロック期
間を優先度に応じて変化させずに一定にした場合の磁気
ディスク記憶装置の動作の1例のタイミングチャートを
図6に示す。
間を優先度に応じて変化させずに一定にした場合の磁気
ディスク記憶装置の動作の1例のタイミングチャートを
図6に示す。
【0036】この時の磁気ディスク記憶装置側の時系列
の動作を以下に示す。 (1)ロック(read用)設定(ステップ61)。 (2)seekの処理(readするdisk位置にヘ
ッドを移動)(ステップ62)。 (3)readの処理(IOSIZE分だけread)
(ステップ63)。 (4)ロック(read用)解除(ステップ64)。 (5)コマンド要求待ち。 (6)ロック(write用)設定(ステップ65)。 (7)seekの処理(writeするdisk位置に
ヘッドを移動)(ステップ66)。 (8)writeの処理(IOSIZE分だけwrit
e)(ステップ67)。 (9)ロック(write用)解除(ステップ68)。 (10)コマンド要求待ち。 (11)(1)の処理に戻る。
の動作を以下に示す。 (1)ロック(read用)設定(ステップ61)。 (2)seekの処理(readするdisk位置にヘ
ッドを移動)(ステップ62)。 (3)readの処理(IOSIZE分だけread)
(ステップ63)。 (4)ロック(read用)解除(ステップ64)。 (5)コマンド要求待ち。 (6)ロック(write用)設定(ステップ65)。 (7)seekの処理(writeするdisk位置に
ヘッドを移動)(ステップ66)。 (8)writeの処理(IOSIZE分だけwrit
e)(ステップ67)。 (9)ロック(write用)解除(ステップ68)。 (10)コマンド要求待ち。 (11)(1)の処理に戻る。
【0037】以上2つの場合で異なる部分は、前者は
(9)において、ロック設定の期間内にread処理を
繰り返し実行しているのに対して、後者はread、w
rite共にロックの期間中の呼出回数が1回で共通で
あることである。この違いから派生する効果として、前
者はreadを連続して呼び出していることから、re
adの前に行うseek動作の回数を減らすことができ
る。
(9)において、ロック設定の期間内にread処理を
繰り返し実行しているのに対して、後者はread、w
rite共にロックの期間中の呼出回数が1回で共通で
あることである。この違いから派生する効果として、前
者はreadを連続して呼び出していることから、re
adの前に行うseek動作の回数を減らすことができ
る。
【0038】
【発明の効果】以上実施例で説明したように、本発明の
入出力制御装置では、プロセスの優先度に応じてそのプ
ロセスが入出力装置を占有して処理するロックを設定す
る期間を設定することで、優先度が高いほど1回の入出
力要求で処理できる連続入出力データサイズを大きくす
る。そして、優先度が低いほど1回の入出力要求で処理
できる連続入出力処理データサイズを小さくしてロック
による占有時間を短くして優先度の高いプロセスがロッ
クの解放を待つ時間を短縮している。以上のような制御
方式を採用することによって、優先度の高いプロセスの
入出力処理が優先度の低いプロセスの入出力処理によっ
て妨げられることなく高いスループットの入出力が可能
となる。
入出力制御装置では、プロセスの優先度に応じてそのプ
ロセスが入出力装置を占有して処理するロックを設定す
る期間を設定することで、優先度が高いほど1回の入出
力要求で処理できる連続入出力データサイズを大きくす
る。そして、優先度が低いほど1回の入出力要求で処理
できる連続入出力処理データサイズを小さくしてロック
による占有時間を短くして優先度の高いプロセスがロッ
クの解放を待つ時間を短縮している。以上のような制御
方式を採用することによって、優先度の高いプロセスの
入出力処理が優先度の低いプロセスの入出力処理によっ
て妨げられることなく高いスループットの入出力が可能
となる。
【図1】 本発明の実施例の全体的な構成を示すブロッ
ク図である。
ク図である。
【図2】 実施例におけるソフトウエア・エレメントの
例を示す図である。
例を示す図である。
【図3】 実施例におけるプロセスの入出力処理のフロ
ーチャートである。
ーチャートである。
【図4】 実施例におけるプロセスの優先度を基にLO
CKIOSIZEを決定する手順のフローチャートであ
る。
CKIOSIZEを決定する手順のフローチャートであ
る。
【図5】 実施例の制御装置を用いた場合の磁気ディス
ク記憶装置のタイミングチャートである。
ク記憶装置のタイミングチャートである。
【図6】 従来の制御装置を用いた場合の磁気ディスク
記憶装置のタイミングチャートである。
記憶装置のタイミングチャートである。
11 中央演算処理装置 12 主記憶装置 13 入出力制御装置 14 入出力装置 21 プロセス 22 優先度記憶部 23 入出力制御部 24 オペレーティングシステム 25 ロック 26 独占入出力データサイズ決定手段
Claims (3)
- 【請求項1】 複数の計算プロセスから、共通の入出力
装置に対して入出力処理が可能であり、上記入出力装置
がどのプロセスによって占有されているのかを表す、上
記入出力装置に関連づけられたロックデータを持ち、上
記プロセスが上記入出力処理を要求する時は、入出力実
行に先だって対象入出力装置に関連づけられたロックを
取得し、その装置を占有し、すでにそのロックが他のプ
ロセスによって占有されている時はロックの解放を待機
するという動作を行うことで上記入出力装置について複
数のプロセス間で排他制御を行う入出力装置制御装置を
含む計算機システムにおいて、 プロセスの入出力優先度を保持する入出力優先度記憶部
と、 前記入出力優先度を基にプロセスが入出力装置を独占使
用して入出力可能なデータサイズを決定する独占入出力
データサイズ決定手段と、 プロセスからの入出力要求に応じて上記入出力装置の入
出力処理が許容されたときに、前記独占入出力データサ
イズ決定手段により決まる独占入出力データサイズで示
すサイズのデータが入出力される間当該プロセスに対し
ロックを設定し、当該プロセスが入出力装置を独占使用
することを可能とするロック手段とを有することを特徴
とする入出力制御装置。 - 【請求項2】 上記独占入出力データサイズ決定手段
は、入出力優先度が高いプロセスの独占入出力データサ
イズを入出力優先度が低いプロセスの独占入出力データ
サイズより大きくする請求項1項記載の入出力制御装
置。 - 【請求項3】 上記独占入出力データサイズ決定手段
は、入出力優先度が高いプロセスに対してプロセスが要
求する入出力データサイズを上記独占入出力データサイ
ズとして与え、入出力優先度が低いプロセスに対して入
出力装置の1回の入出力操作で転送するデータサイズを
上記独占入出力データサイズとして与える請求項1項記
載の入出力制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8204433A JPH1049388A (ja) | 1996-08-02 | 1996-08-02 | 入出力制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8204433A JPH1049388A (ja) | 1996-08-02 | 1996-08-02 | 入出力制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH1049388A true JPH1049388A (ja) | 1998-02-20 |
Family
ID=16490466
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP8204433A Pending JPH1049388A (ja) | 1996-08-02 | 1996-08-02 | 入出力制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH1049388A (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006087069A (ja) * | 2004-08-18 | 2006-03-30 | Canon Inc | 画像撮影再生装置、画像データの処理方法、データ処理方法 |
JP2010097367A (ja) * | 2008-10-15 | 2010-04-30 | Kyocera Mita Corp | 電子機器 |
JP2010097364A (ja) * | 2008-10-15 | 2010-04-30 | Kyocera Mita Corp | 画像形成装置 |
JP2010097366A (ja) * | 2008-10-15 | 2010-04-30 | Kyocera Mita Corp | 電子機器 |
JP2010097365A (ja) * | 2008-10-15 | 2010-04-30 | Kyocera Mita Corp | 電子機器 |
JP2010259122A (ja) * | 2004-08-18 | 2010-11-11 | Canon Inc | 画像撮影再生装置及びデータ処理方法 |
US7904646B2 (en) | 2001-03-02 | 2011-03-08 | Hitachi, Ltd. | Storage subsystem that connects fibre channel and supports online backup |
JP2012003636A (ja) * | 2010-06-18 | 2012-01-05 | Canon Inc | 電子機器及びその制御方法 |
-
1996
- 1996-08-02 JP JP8204433A patent/JPH1049388A/ja active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7904646B2 (en) | 2001-03-02 | 2011-03-08 | Hitachi, Ltd. | Storage subsystem that connects fibre channel and supports online backup |
US8234449B2 (en) | 2001-03-02 | 2012-07-31 | Hitachi, Ltd. | Storage subsystem that connects fibre channel and supports online backup |
US8806119B2 (en) | 2001-03-02 | 2014-08-12 | Hitachi, Ltd. | Storage subsystem that connects fibre channel and supports online backup |
JP2006087069A (ja) * | 2004-08-18 | 2006-03-30 | Canon Inc | 画像撮影再生装置、画像データの処理方法、データ処理方法 |
US7561184B2 (en) | 2004-08-18 | 2009-07-14 | Canon Kabushiki Kaisha | Image sensing/playback apparatus, image data processing method, and data processing method |
JP2010259122A (ja) * | 2004-08-18 | 2010-11-11 | Canon Inc | 画像撮影再生装置及びデータ処理方法 |
JP2010097367A (ja) * | 2008-10-15 | 2010-04-30 | Kyocera Mita Corp | 電子機器 |
JP2010097364A (ja) * | 2008-10-15 | 2010-04-30 | Kyocera Mita Corp | 画像形成装置 |
JP2010097366A (ja) * | 2008-10-15 | 2010-04-30 | Kyocera Mita Corp | 電子機器 |
JP2010097365A (ja) * | 2008-10-15 | 2010-04-30 | Kyocera Mita Corp | 電子機器 |
JP2012003636A (ja) * | 2010-06-18 | 2012-01-05 | Canon Inc | 電子機器及びその制御方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7082480B2 (en) | Managing bus transaction dependencies | |
US5469571A (en) | Operating system architecture using multiple priority light weight kernel task based interrupt handling | |
US5274823A (en) | Interrupt handling serialization for process level programming | |
US6078944A (en) | Process management method and system | |
US5621897A (en) | Method and apparatus for arbitrating for a bus to enable split transaction bus protocols | |
US6473819B1 (en) | Scalable interruptible queue locks for shared-memory multiprocessor | |
US8707315B2 (en) | Method and system for implementing realtime spinlocks | |
JPH1049388A (ja) | 入出力制御装置 | |
US6457106B1 (en) | Shared memory control system and shared memory control method | |
US6701429B1 (en) | System and method of start-up in efficient way for multi-processor systems based on returned identification information read from pre-determined memory location | |
JPH0877025A (ja) | タスクの優先度制御方法、タスクの優先度制御装置 | |
JPH05250188A (ja) | プロセスのプライオリティ制御方式 | |
JP3746826B2 (ja) | 資源ロック制御機構 | |
US6981108B1 (en) | Method for locking shared resources connected by a PCI bus | |
JPH0320845A (ja) | メモリアクセス制御方式 | |
JPH0115899B2 (ja) | ||
JPH06282448A (ja) | 共有資源排他制御方式 | |
JPH04232559A (ja) | システムのプロセッサ間対話方法及び該方法を実施するためのシステム | |
JPH06161872A (ja) | タスク間排他制御方法 | |
JP2000003287A (ja) | 共有リソースの排他制御装置、排他制御方法及び排他制御プログラムを記録した記録媒体 | |
JPH01239665A (ja) | マルチプロセッサの負荷分散方式 | |
JPH02129724A (ja) | プログラム実行方式 | |
JP3711642B2 (ja) | 処理管理システム | |
JPS63238644A (ja) | ロツク単位の変更方式 | |
JPH05257718A (ja) | プロセス制御装置 |