特許
J-GLOBAL ID:200903085006526811

プロセスレベルプログラミングのための割込み処理の直列化方法

発明者:
出願人/特許権者:
代理人 (1件): 頓宮 孝一 (外5名)
公報種別:公開公報
出願番号(国際出願番号):特願平5-015412
公開番号(公開出願番号):特開平6-004322
出願日: 1993年02月02日
公開日(公表日): 1994年01月14日
要約:
【要約】【目的】 重要なコード部における割り込みを禁止することなく、または、スピンロックの排他的使用を必要とせずに、コンピュータシステム資源へのアクセスを直列化するための方法を供する。【構成】 割り込みプロセスを待ち行列に入れ、代わって、スピンロックを用いずに処理させ、前記の割り込みが処理されるまで特定の資源に対するプロセスコードのアクセスを阻止できるようにする、待ち行列ロックが導入される。プロセスレベルコードは、割り込みレベルコードからのアクセスの要求が、阻止ロックの解除に先立って処理される据置き作業待ち行列に入っている間、ロックされた資源へアクセスできないように阻止される。据置き作業待ち行列の確立は、処理が、割り込みの禁止を伴わずに、かつ、スピンロックを保持したプロセスによって著しいオーバヘッドが消費されずに、継続できることを意味する。
請求項(抜粋):
コンピュータシステム資源へのアクセスを直列化するための方法であって、前記コンピュータシステム資源は、複数の処理を有するコンピュータシステムの複数の資源の一つであり、かつ、複数のタスクを実行するために動作するものであり、前記タスクは少なくともプロセスレベルタスクおよび割り込みタスクを含むものであり、前記割り込みタスクは前記プロセスレベルタスクに対する実行優先順位を受け取るものであり、前記システムは、各資源について、一度に多くても1つのタスクによって保持される阻止ロック、および、据置き要求待ち行列へのアクセスを制御するためのスピンロックを有するものである、前記方法において、前記資源へのアクセスがプロセスレベルタスクまたは割り込みレベルタスクのいずれによって要求されているかを判定するために検査する段階と、プロセスレベルタスクである場合に、前記阻止ロックが別のタスクによって保持されているかどうかを判定するために検査し、肯定であれば、前記プロセスレベルタスクへのアクセスを拒否し、否定であれば、取得を指示するように前記阻止ロックを修正することによって前記資源へのアクセスを許可する段階と、割り込みレベルタスクである場合に、前記阻止ロックが別のタスクによって保持されているかどうかを判定するために検査し、否定であれば、前記阻止ロックを取得し、否定であれば、前記スピンロックを取得し、前記据置き要求待ち行列に据置き割り込み要求を入れ、前記スピンロックを解除する段階と、前記阻止ロックを取得した前記プロセスレベルタスクまたは割り込みレベルタスクのタスク処理を実行する段階と、前記阻止ロックが解除されるべき際に、何らかの据置き割り込み要求が前記待ち行列に存在するかを判定するために前記据置き要求待ち行列を検査し、肯定であれば、前記据置き割り込み要求を取り出し、前記スピンロックを解除し、前記据置かれた割り込みを処理する段階と、いかなる据置かれた要求も前記待ち行列に存在しない場合に前記阻止ロックを解除する段階とを含むことを特徴とする方法。

前のページに戻る