JP2650965B2 - 計算機システムおよびそのタスクスケジュール方法 - Google Patents

計算機システムおよびそのタスクスケジュール方法

Info

Publication number
JP2650965B2
JP2650965B2 JP63128391A JP12839188A JP2650965B2 JP 2650965 B2 JP2650965 B2 JP 2650965B2 JP 63128391 A JP63128391 A JP 63128391A JP 12839188 A JP12839188 A JP 12839188A JP 2650965 B2 JP2650965 B2 JP 2650965B2
Authority
JP
Japan
Prior art keywords
task
lock
identifier
shared resource
operating system
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
JP63128391A
Other languages
English (en)
Other versions
JPH01298440A (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP63128391A priority Critical patent/JP2650965B2/ja
Publication of JPH01298440A publication Critical patent/JPH01298440A/ja
Priority to US08/003,858 priority patent/US5377352A/en
Application granted granted Critical
Publication of JP2650965B2 publication Critical patent/JP2650965B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、オペレーテイングシステムとそれとは独立
に共有資源に対し、ロツク・アンロツク手段を有するデ
ータベース・データコミユニケーシヨンシステムに代表
されるアプリケーシヨンシステムとが連動する計算機シ
ステム、並びにそのタスクスケジュール方法に関する。
〔従来の技術〕
従来の方式では、例えば、情報処理学会第32回全国大
会4B−8「XDM(6)−同時実行制御におけるタスク実
行方式」に記載のように、共有資源に対する排他管理の
高性能化を実現するため、タスクのスケジユーリングを
管理するオペレーテイングシステムとは独立に、データ
ベース・データコミユニケーシヨンシステムといつたア
プリケーシヨンシステムにおいて共有資源の排他制御管
理を行なつていた。
〔発明が解決しようとする課題〕
上記従来技術は、ロツク保持中のタスクに対するI/O
割込みなどの外部割込みに対して配慮がされていない。
よつてロツク保持中に外部割込みによりロツク保持中の
タスク以外のタスクに実行権が移つた場合、共有資源に
はロツクがかかつたままの状態となる。
ロツク保持中のタスクが再スケジユールされ、そのロ
ツクを解除するまで、他タスクでは当該共有資源を使用
できず、そのロツク解除を待つための処理をして、実行
権を他のタスクに渡すことが繰り返えされる。そのため
ロツク解除待ちのための処理や当該タスクの中断処理、
他タスクへの実行権の移動処理などのロツク取得失敗に
伴なう実行ステツプの増加が問題であつた。
本発明の目的は、外部割込みによるタスク再スケジユ
ール時、取得失敗に伴なうロツク解除待ちに必要な実行
ステツプを削除できるタスクスケジユール方法を提供す
ることにある。
〔課題を解決するための手段〕
上記目的を達成するために、本発明は、共有資源に対
する排他制御を行なうアプリケーシヨンシステムと、タ
スクの実行順序をスケジユーリングするオペレーテイン
グシステムとが独立に動作せず、協調して動作すること
に特徴がある。即ち、共有資源に対するロツクを取つて
動作していることをアプリケーシヨンシステムからオペ
レーテイングシステムへ伝える手段と、オペレーテイン
グシステムが、その通知を記憶・消去する手段と、外部
割込みによるタスクの再スケジユールをその通知の有無
で制御する手段とを設けたことに特徴がある。
又、本発明では、マルチプロセツサ構成時には、各プ
ロセツサ対応にロツク保守中のタスクを記憶・消去する
手段と、外部割込みによるタスクの再スケジユールを割
込まれたプロセツサに対する上記通知の有無で制御する
手段とを設けたことに特徴がある。
〔作用〕
本発明では、アプリケーシヨンシステムでは、共有資
源に対するロツクを取得できた場合、オペレーテイング
システムに対してロツク保持中であることを通知し、オ
ペレーテイングシステムは、それを受けてオペレーテイ
ングシステムが管理するテーブルにロツク保持中のタス
クの識別子を登録しておき、逆に共有資源に対するロツ
クを解除した場合には、オペレーテイングシステムに対
し、その旨を通知し、オペレーテイングシステムは、そ
れを受けて上記テーブル中から、ロツク保持中のタスク
の識別子を消去し、外部割込みによるタスクの再スケジ
ユール時、オペレーテイングシステムは、上記テーブル
中にロツク保持中のタスクの識別子が登録されていれ
ば、そのタスクを優先的に再スケジユールするので、ロ
ツク保持中のタスクの実行が優先され、ロツク保持中の
タスクが再実行待ち状態のまま他のタスクが先に実行さ
れることにより引起こされるタスク間のロツク競合を回
避できる。
又、本発明では、マルチプロセツサ構成時には、オペ
レーテイングシステムは、それが管理するテーブル中に
プロセツサ毎にロツク保持中のタスク識別子を設定する
欄を設け、そして、ロツク保持中の通知を受けると、そ
のタスクが動作中のプロセツサに対応する上記欄にタス
ク識別子を設定し、逆にロツク解除の通知を受けると、
そのタスクが動作中のプロセツサに対応する上記欄のタ
スク識別子を消去し、外部割込みによるタスクの再スケ
ジユール時には、上記テーブル内に割込まれたプロセツ
サに対するロツク保持中のタスクの識別子が登録されて
いればそのタスクの再実行を優先するようになつている
のでマルチプロセツサ構成時にもロツク保持中のタスク
が不当に再実行待ち状態になることに起因するタスク間
のロツク競合を回避できる。
〔実施例〕
以下、本発明の実施例を図面により説明する。
第1図は、本発明の一実施例の全体構成であり、101
はプロセツサ、102は主記憶装置、103はオペレーテイン
グシステム、104はオペレーテイングシステム103が実行
時に使用する実行時テーブル、105はアプリケーシヨン
システム群、106は主記憶中の共有資源群、107はロツク
テーブルを示す。
次にアプリケーシヨンシステムの動作を第2図により
説明する。
アプリケーシヨンシステムはその処理の中で、共有資
源(ここでは共通資源Aとする)を排他的に使用する必
要がある場合、その資源Aに対するロツクを取得(ステ
ツプ201)後、共有資源Aに対する処理を行なう(ステ
ツプ202)。
その後、当該共有資源Aに対するロツクを解除する
(ステツプ203)。
ロツク取得処理につき、第3図により詳細に説明す
る。
第2図ステツプ201のロツク取得処理では、第1図に
示す共有資源A106に対するロツクテーブル107を参照し
て、共有資源Aがロツク状態か否かをチエツクし(ステ
ツプ301)、ロツク中ならばロツク解除待ちリストに当
該タスク識別子を登録するなどのロツク解除待ちのため
の処理を実行する(ステツプ302)。ロツクがかかつて
いなければ、ロツクテーブル中に、共有資源Aをロツク
したことを示すフラグを設定する(ステツプ303)。次
に、オペレーテイングシステムに対して、共有資源をロ
ツク中である旨を通知して(ステツプ304)、ロツク取
得処理を終わる。
ステツプ302では、共有資源Aに対するロツクが取得
できるまで待ち、ロツクが取得できたらステツプ304以
降を実行する。
第2図のステツプ203のロツク解除処理につき第4図
により詳細に説明する。ロツク解除処理では、当該共有
資源Aに対するロツク解除を待つているタスクが存在す
るかを判定(ステツプ401)し、存在しなければ、第1
図のロツクテーブル107中の共有資源Aに対するロツク
取得中のフラグを消去し(ステツプ402)、オペレーテ
イングシステムに共有資源のロツク解除を通知して(ス
テツプ403)、ロツク解除処理を終了する。
ステツプ404では、オペレーテイングシステムに対し
て当該タスクのロツク解除通知と、次にロツクを取得す
るタスクを通知し、そのタスクの実行待ち状態を解除す
る。
ステツプ404の処理の実施例を第5図に基づき詳述す
る。
まず、ロツク解除待ちリストから次に共有資源Aを使
用するタスク(区別のため現タスクをタスク1、このタ
スクをタスク2と記す。)の識別子をはずし(ステツプ
501)、オペレーテイングシステムに対して、タスク1
の共有資源に対するロツク解除を通知(ステツプ502)
後、タスク2の実行待ち状態を解除して(ステツプ50
3)、当該処理を終了する。
第3図のステツプ304および第5図のステツプ503を受
けたオペレーテイングシステムの動作を第6図に基づき
説明する。
オペレーテイングシステムは、通知してきたタスクの
識別子を、第1図に示すオペレーテイングシステムが管
理する実行時テーブル104に設定(ステツプ601)後、当
該処理を終了する。
第4図のステツプ403および第5図のステツプ502を受
けたオペレーテイングシステムの動作を第7図に基づき
説明する。
オペレーテイングシステムは、通知を受けると第1図
に示す実行時テーブル104からタスク識別子を消去(ス
テツプ701)後、当該処理を終了する。
第2図のステツプ202の処理中に外部割込みによるオ
ペレーテイングシステムのタスク再スケジユール処理に
おいて、本発明により追加された処理につき第8図に基
づき説明する。
オペレーテイングシステムは、タスクの実行順序を決
めるにあたり、第1図の実行時テーブル104中にタスク
識別子が設定されているかを判定し(ステツプ801)、
設定されていなければ従来通りのタスクスケジユーリン
グを行ない(ステツプ802)、設定されていれば、その
タスク識別子に対応するタスクの実行待ち状態を解除す
る(ステツプ803)。
第4図のステツプ404の別の実施例を第9図に基づき
詳述する。
ステツプ901では、ロツク解除待ちリストから次に共
有資源Aを使用するタスク(区別のため現タスクをタス
ク1、このタスクをタスク2と記す。)の識別子をはず
し、オペレーテイングシステムに対して、タスク1の共
有資源に対するロツク解除と、引続きタスク2が共有資
源をロツクする旨を同時に通知して(ステツプ902)、
当該処理を終了する。
第9図のステツプ902を受けたオペレーテイングシス
テムの動作を第10図に基づき説明する。
オペレーテイングシステムは、通知を受けると第1図
の実行時テーブル104中のタスク識別子を、今回通知を
受けたタスク2のタスク識別子に置換する(ステツプ10
01)。次に、タスク2の実行待ち状態を解除(ステツプ
1002)後、当該処理を終了する。
本発明の他の実施例を第11図に基づき説明する。第11
図において、1101はプロセツサ群、1102は主記憶装置、
1103はオペレーテイングシステム、1104は実行時テーブ
ル、1105はアプリケーシヨンシステム群、1106は共有資
源群、1107はロツクテーブルである。
アプリケーシヨンシステムの動作は上述したと同様で
ある。
オペレーテイングシステムの動作について以下説明す
る。
第3図のステツプ304および第5図のステツプ503の処
理を受けたオペレーテイングシステムの動作を第12図に
基づき説明する。
オペレーテイングシステムは、通知してきたタスクの
識別子と、そのタスクを扱つているプロセツサの識別子
とを求め(ステツプ1201)、それを第11図1104の実行時
テーブルに設定する(ステツプ1202)。
このとき、プロセツサ識別子とタスク識別子とを一対
として実行時テーブルに登録する方法と、あらかじめプ
ロセツサ対応にタスク識別子を設定できるように実行時
テーブルを作つておく方法とがある。以下では、後者の
方法による場合で説明する。
第4図のステツプ403および第5図のステツプ502の処
理を受けたオペレーテイングシステムの動作を第13図に
基づき説明する。
オペレーテイングシステムは、通知を受けると通知し
てきたタスクを扱つているプロセツサ識別子を求め(ス
テツプ1301)、それに対応する第11図の実行時テーブル
1104中のタスク識別子を消去(ステツプ1302)後、当該
処理を終了する。
第2図のステツプ202の処理中に外部割込みによるオ
ペレーテイングシステムのタスク再スケジユール処理に
おいて、本発明により追加された処理につき第14図に基
づき説明する。
オペレーテイングシステムは、タスクの実行順序を決
めるにあたり、割込まれたプロセツサ識別子を求め(ス
テツプ1401)それに対応する第11図1104の実行時テーブ
ル中にタスク識別子が設定されているかを判定し(ステ
ツプ1402)、設定されていなければ従来通りのタスクス
ケジユーリングを行ない(ステツプ1403)、設定されて
いれば、そのタスク識別子に対応するタスクの実行待ち
状態を解除(ステツプ1404)後、当該処理を終了する。
第9図のステツプ902の処理を受けたオペレーテイン
グシステムの動作を第15図に基づき説明する。
オペレーテイングシステムは、通知を受けると通知し
てきたタスクを扱つているプロセツサ識別子を求め(ス
テツプ1501)、それに対応する第11図のステツプ1104の
実行時テーブル中のタスク識別子を今回通知を受けたタ
スク2のタスク識別子に置換する(ステツプ1502)。次
にタスク2の実行待ち状態を解除(ステツプ1503)後、
当該処理を終了する。
本発明のさらに他の実施例を第1図〜第8図の実施例
を前提に、第16図に基づき説明する。第16図において、
1601はプロセツサ、1602は主記憶装置、1603はオペレー
テイングシステム、1604は実行時テーブル、1605はアプ
リケーシヨンシステム群、1606はタスク対応の多重度カ
ウンタ群、1607は共有資源群、1608はロツクテーブルで
ある。
オペレーテイングシステムの動作は第1図の実施例と
同様である。
アプリケーシヨンシステムの動作を第17図に基づき説
明する。アプリケーシヨンシステムはその処理の中で、
共有資源(ここでは共有資源Aとする)を排他的に使用
し、更に、その処理の中で異なる共有資源(ここでは共
有資源Bとする)を排他的に使用するといつたロツク処
理の多重化を必要とする場合、共有資源Aに対するロツ
クを取得(ステツプ1701)後、共有資源Aのロツク中の
処理の中で、共有資源Bのロツクを取得(ステツプ170
2)する。共有資源Bの処理を実施(ステツプ1703)
後、共有資源Bのロツクを解除(ステツプ1704)する。
その後、共有資源Aのロツクを解除(ステツプ1705)す
る。
第17図のステツプ1704,1705のロツク解除処理につ
き、第19図により詳細に説明する。ロツク解除処理で
は、当該共有資源に対するロツク解除を待つているタス
クが存在するかを判定(ステツプ1901)し、存在すれば
現タスク1のロツク解除と引継きロツクを保持するタス
ク2をオペレーテイングシステムに通知し、かつタスク
2の実行待ち状態を解除(ステツプ1906)後処理を終了
する。
存在しなければ、ロツクテーブル中の当該共有資源に
対するロツク取得フラグを消去(ステツプ1902)し、当
該タスクの多重度カウンタ値が1より大きい力を判定
(ステツプ1903)し、1より大ならばステツプ1905以降
を実施し、1ならばオペレーテイングシステムにロツク
解除を通知(ステツプ1904)後、当該タスクの多重度カ
ウンタの値を1減じて(ステツプ1905)、処理を終了す
る。ステツプ1906の処理を第20図に基づき詳細に説明す
る。ロツク待ちリストからタスク2(区別のためのロツ
ク解除待ちをしていたタスクをタスク2、現在実行中の
タスクをタスク1と記す。)をはずし(ステツプ200
1)、当該タスク1の多重度カウンタ値が1より大きい
かを判定(ステツプ2002)し、大きければステツプ1909
以降を実施し、1ならばオペレーテイングシステムにタ
スク1のロツクを解除を通知(ステツプ2003)する。
次にタスク1の多重度カウンタ値を1減じた(ステツ
プ2004)後タスク2の実行待ちを解除(ステツプ2005)
後、処理を終了する。
ロツク取得処理につき、第18図により詳細に説明す
る。
第18図では、第16図のステツプ1608に示す共有資源に
対するロツクテーブルを参照して、共有資源がロツク状
態か否かを判定(ステツプ1801)し、ロツク中ならばロ
ツク解除待ちリストに当該タスク識別子を登録するなど
のロツク解除待ちのための処理を実行し、ロツクが取
れ、待ちが解除されたら(ステツプ1802)、ステツプ18
04以降を実施する。ロツクがかかつていなければ、ロツ
クテーブル中に、共有資源をロツクしたことを示すフラ
グを設定する(ステツプ1803)。
次に、当該アプリケーシヨンシステムを実行中のタス
クに対する第16図のステツプ1606に示す多重度カウンタ
を参照して、当該タスクにおいて、アプリケーシヨンシ
ステムから、オペレーテイングシステムに対し、ロツク
設定中を通知している状態例えば多重度カウンタ値が1
以上であるかを判定(ステツプ1804)し、1以上であれ
ば、多重度カウンタ値に1を加算(ステツプ1806)後処
理を終了する。ロツク設定中を通知していない状態例え
ば多重度カウンタ値が0であれば、オペレーテイングシ
ステムに、共有資源をロツク中である旨、通知(ステツ
プ1805)後、ステツプ1806以降を実施する。
本発明のさらに他の実施例を第9図,第10図の例を前
提に説明する。実施例の全体構成は、第16図と同じであ
る。アプリケーシヨンシステムの動作のうち、第17図,
第18図,第19図については同じである。第20図に対応す
る動作につき、第21図に基づき説明する。
ロツク待ちリストから次に共有資源を利用するタスク
2の識別子をはずし(ステツプ2101)、タスク1の多重
度カウンタ値から1を減算(ステツプ2102)後、タスク
2の多重度カウンタ値に1を加算(ステツプ2103)す
る。
次に、タスク1の多重度カウンタ値が0でかつタスク
2の多重度カウンタ値が1であるかを判定(ステツプ21
04)し、満足すればオペレーテイングシステムにタスク
1のロツク解除とタスク2のロツク取得を通知(ステツ
プ2105)後、処理を終了する。満足しなければ、タスク
1の多重度カウンタ値が0より大でかつタスク2の多重
度カウンタ値が1であるかを判定(ステツプ2106)し、
満足すればオペレーテイングシステムにタスク2のロツ
ク取得を通知(ステツプ2107)後処理を終了する。満足
しなければ、タスク1の多重度カウンタ値が0でかつタ
スク2の多重度カウンタ値が1より大であるかを判定
(ステツプ2108)し、満足すれば、オペレーテイングシ
ステムにタスク1のロツク解除を通知(ステツプ2109)
後処理を終了する。満足しなければそのまま処理を終了
する。
オペレーテイングシステムの動作は、第9図,第10図
の実施例と同様である。
本発明のさらに他の実施例を第11図〜第14図の例を前
提に第22図に基づき説明する。第22図において、2201は
プロセツサ群、2202は主記憶装置、2203はオペレーテイ
ングシステム、2204は実行時テーブル、2205はアプリケ
ーシヨンシステム群、2206はタスク対応の多重度カウン
タ群、2207は共有資源群、2208はロツクテーブルであ
る。
オペレーテイングシステムの動作は、第11図〜第14図
に示すと同様である。
アプリケーシヨンシステムの動作は、第11図〜第14図
の例が、第1図〜第8図の例を前提にしているとき、第
16図〜第20図の例を前提とした実施例と同じである。同
じく、第11図〜第14図の例が第9図,第10図の例を前提
にしているとき、第21図を前提にした実施例と同じであ
る。
〔発明の効果〕
本発明によれば、タスクスケジユーリングを行なうオ
ペレーテイングシステムと、それとは別に共有資源に対
する排他制御管理を行なうアプリケーシヨンシステムと
が連動するシステムにおいて、アプリケーシヨンシステ
ムからオペレーテイングシステムに対し、共有資源に対
するロツク保持中を連絡する手段を設けたことにより、
ロツク保持中に外部割込みによるタスクの再スケジユー
ルが発生した場合、ロツク保持中のタスクの実行が優先
されるようなタスクスケジユーリングが可能となつた。
これにより、ロツクを保持したままそのタスクの再実
行が後まわしになつたことに起因する他タスクのロツク
競合が防止でき、ロツク取得失敗に伴なうロツク解除待
ちに必要な実行ステツプを削減できる。
【図面の簡単な説明】
第1図は本発明の一実施例の全体構成図、第2図はアプ
リケーシヨンシステムの動作の中で共有資源に対する排
他制御の概要を示した図、第3図は共有資源に対するロ
ツク取得処理の概要を示した図、第4図はロツク解除処
理の概要を示した図、第5図は第4図のロツク解除処理
の一部をより詳細に示した図、第6図はロツク取得通知
に対するオペレーテイングシステムの処理を示した図、
第7図はロツク解除通知に対するオペレーテイングシス
テムの処理を示した図、第8図は外部割込みによるタス
クスケジユーリング処理で本発明により追加された処理
を示した図、第9図はロツク解除処理の一部をより詳細
に示した図、第10図は同じくロツク取得タスクの変更通
知に対するオペレーテイングシステムの処理を示した
図、第11図は本発明の他の実施例の全体構成図、第12図
は同じくロツク取得通知に対するオペレーテイングシス
テムの処理を示した図、第13図は同じくロツク解除通知
に対するオペレーテイングシステムの処理を示した図、
第14図は同じく外部割込みによるタスクスケジユーリン
グ処理で本発明により追加された図、第15図は同じくロ
ツク取得タスクの変更通知に対するオペレーテイングシ
ステムの処理を示した図である。 第16図は本発明のさらに他の実施例の全体構成図、第17
図は同じくアプリケーシヨンシステムの動作の中で共有
資源に対する排他制御の概要を示した図、第18図は同じ
く共有資源に対するロツク取得処理の概要を示した図、
第19図は同じくロツク解除処理の概要を示した図、第20
図は同じくロツク解除処理の一部の一例をより詳細に示
した図、第21図は同じくロツク解除処理の一部の他の例
をより詳細に示した図、第22図は本発明のさらに他の実
施例の全体構成図である。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 住吉 孝史 神奈川県横浜市戸塚区戸塚町5030番地 株式会社日立製作所ソフトウエア工場内 (72)発明者 藤井 哲彦 神奈川県川崎市麻生区王禅寺1099番地 株式会社日立製作所システム開発研究所 内 (56)参考文献 特開 昭62−204351(JP,A) 特開 昭57−207957(JP,A) 特開 昭63−46544(JP,A)

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】タスクスケジューリングを行うオペレーテ
    ィングシステムと、該オペレーティングシステムとは独
    立して共有資源のロック・アンロックを行うことか可能
    なアプリケーションシステムとを含んで構成される計算
    機システムのタスクスケジェール方法において、実行中
    のタスクが共用資源のロックを取得したことに応じて、
    当該ロックを取得したタスクのタスク識別子を実行時テ
    ーブルに登録し、前記実行中のタスクが前記共用資源の
    ロックを解除したことに応じて、前記実行時テーブルか
    ら前記実行中のタスクのタスク識別子を削除し、外部割
    り込みに伴うタスクの再スケジュールが必要となった
    際、前記実行時テーブルを参照して登録されているタス
    ク識別子が存在するか否か調べ、登録されているタスク
    識別子があれば、該登録されているタスク識別子を持つ
    タスクが優先的に実行されるように再スケジュールする
    ことを特徴とするタスクスケジュール方法。
  2. 【請求項2】前記計算機システムが複数のプロセッサを
    含んで構成され、前記タスク識別子を登録するステップ
    では、前記タスク識別子を前記実行中のタスクが実行さ
    れているプロセッサに対応させて登録し、前記再スケジ
    ュールするステップでは、外部割り込みの発生したプロ
    セッサに対応して前記実行時テーブルに登録されている
    タスク識別子が存在するか否か調べ、タスク識別子が登
    録されていれば、該登録されているタスク識別子を持つ
    タスクが優先的に実行されるように再スケジュールする
    ことを特徴とする請求項1記載のタスクスケジュール方
    法。
  3. 【請求項3】前記タスク識別子を登録するステップは、
    前記実行中のタスクに対応してロック取得の多重度を示
    す多重度カウンタをカウントアップするステップを含
    み、前記タスク識別子を削除するステップは、前記多重
    度カウンタをカウントダウンするステップと、前記多重
    度カウンタを参照し、前記実行中のタスクがロックして
    いる共有資源が存在しないことが確認されたとき前記タ
    スク識別子の削除を行うスナッブとを含むことを特徴と
    する請求項1又は2記載のタスクスケジュール方法。
  4. 【請求項4】タスクスケジューリングを行うオペレーテ
    ィングシステムと、該オペレーティングシステムとは独
    立して共有資源のロック・アンロックを行うことが可能
    なアプリケーションシステムとを含んで構成される計算
    機システムにおいて、前記共有資源をロック中のタスク
    のタスク識別子を登録する実行時テーブルと、実行中の
    タスクが前記共有資源のロックを取得したことに応じて
    当該実行中のタスクのタスク識別子を前記実行時テーブ
    ルに登録する手段と、前記実行中のタスクが前記共有資
    源のロックを解除したことに応じて前記実行時テーブル
    から前記実行中のタスクのタスク識別子を削除する手段
    と、外部割り込みが生じたことに応じて、前記実行時テ
    ーブルを参照し、登録されているタスク識別子があれ
    ば、当該タスク識別子を持つタスクが優先的に実行され
    るようにタスクの再スケジュールを行う手段とを有する
    ことを特徴とする計算機システム。
JP63128391A 1988-05-27 1988-05-27 計算機システムおよびそのタスクスケジュール方法 Expired - Fee Related JP2650965B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP63128391A JP2650965B2 (ja) 1988-05-27 1988-05-27 計算機システムおよびそのタスクスケジュール方法
US08/003,858 US5377352A (en) 1988-05-27 1993-01-08 Method of scheduling tasks with priority to interrupted task locking shared resource

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63128391A JP2650965B2 (ja) 1988-05-27 1988-05-27 計算機システムおよびそのタスクスケジュール方法

Publications (2)

Publication Number Publication Date
JPH01298440A JPH01298440A (ja) 1989-12-01
JP2650965B2 true JP2650965B2 (ja) 1997-09-10

Family

ID=14983649

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63128391A Expired - Fee Related JP2650965B2 (ja) 1988-05-27 1988-05-27 計算機システムおよびそのタスクスケジュール方法

Country Status (2)

Country Link
US (1) US5377352A (ja)
JP (1) JP2650965B2 (ja)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2866241B2 (ja) * 1992-01-30 1999-03-08 株式会社東芝 コンピュータシステムおよびスケジューリング方法
JPH06282488A (ja) * 1993-03-25 1994-10-07 Mitsubishi Electric Corp キャッシュ記憶装置
US5511220A (en) * 1994-09-01 1996-04-23 Perlman; Noah Multi-user computer system with a clock driven batch dispatching mechanism
US5902352A (en) * 1995-03-06 1999-05-11 Intel Corporation Method and apparatus for task scheduling across multiple execution sessions
DE69630126T2 (de) * 1995-07-27 2004-06-17 Intel Corporation, Santa Clara Historische zustandinformation verwendendes entscheidungsprotokoll für zugriff auf ein geteiltes speichergebiet
JPH09330237A (ja) * 1996-06-07 1997-12-22 Toshiba Corp プロセス切り替え装置およびプロセス切り替え方法
JPH1021097A (ja) * 1996-07-02 1998-01-23 Canon Inc プログラムの起動方法および記憶媒体およびコンピュータ装置
FR2751106B1 (fr) * 1996-07-11 1999-01-08 Alsthom Cge Alcatel Methode de planification de transactions distribuees
US5961583A (en) * 1996-11-22 1999-10-05 International Business Machines Corporation Method and system for using the event wait list anchor as a lock for events
US5968157A (en) * 1997-01-23 1999-10-19 Sun Microsystems, Inc. Locking of computer resources
JP3508513B2 (ja) * 1997-11-07 2004-03-22 株式会社日立製作所 計算機システムの運用管理方法
US6973652B1 (en) * 1999-12-06 2005-12-06 International Business Machines Corporation Sequencing of tasks within customer service processing systems
GB2364143A (en) * 2000-06-30 2002-01-16 Nokia Corp Resource allocation
JP2002116915A (ja) * 2000-10-10 2002-04-19 Fujitsu Ltd コンパイラ並列化スケジュール方法
WO2005114504A2 (en) * 2004-05-13 2005-12-01 Sun Microsystems, Inc. Method and apparatus for executing event driven simulations
JP2006031350A (ja) * 2004-07-15 2006-02-02 Hitachi Ltd 計算機システム、管理装置及びそのプログラム
US7350117B2 (en) * 2004-10-05 2008-03-25 International Business Machines Corporation Management of microcode lock in a shared computing resource
JP4068106B2 (ja) * 2005-08-05 2008-03-26 三菱電機株式会社 リアルタイム組込み簡易モニタプログラム
JP4768354B2 (ja) * 2005-08-15 2011-09-07 富士通株式会社 ジョブ管理装置、ジョブ管理方法、ジョブ管理プログラム
CN100451972C (zh) * 2006-09-26 2009-01-14 杭州华三通信技术有限公司 提高多核系统访问临界资源速度的方法和装置
US20100011367A1 (en) * 2008-07-11 2010-01-14 Gm Global Technology Operations, Inc. Methods and systems for allocating a resource of a vehicle among a plurality of uses for the resource
US8209449B2 (en) * 2008-12-24 2012-06-26 Stmicroelectronics Rousset Sas Method for enabling several virtual processing units to directly and concurrently access a peripheral unit
US20110231457A1 (en) * 2010-03-16 2011-09-22 Salesforce.Com, Inc. Monitoring and managing job resources for database tasks
US9836325B2 (en) 2012-05-21 2017-12-05 Nvidia Corporation Resource management subsystem that maintains fairness and order
US10095548B2 (en) * 2012-05-21 2018-10-09 Nvidia Corporation Mechanism for waking common resource requests within a resource management subsystem
US20130339969A1 (en) * 2012-06-19 2013-12-19 Nmetric, Llc Scheduling and Decision System
US9740563B2 (en) 2013-05-24 2017-08-22 International Business Machines Corporation Controlling software processes that are subject to communications restrictions by freezing and thawing a computational process in a virtual machine from writing data
US9742869B2 (en) * 2013-12-09 2017-08-22 Nvidia Corporation Approach to adaptive allocation of shared resources in computer systems
US9930133B2 (en) * 2014-10-23 2018-03-27 Netapp, Inc. System and method for managing application performance
US10409800B2 (en) * 2015-08-03 2019-09-10 Sap Se Priority queue for exclusive locks
US10831563B2 (en) * 2019-03-19 2020-11-10 International Business Machines Corporation Deadlock resolution between distributed processes using process and aggregated information
CN110704199B (zh) * 2019-09-06 2024-07-05 深圳平安通信科技有限公司 数据压缩方法、装置、计算机设备及存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3528062A (en) * 1968-07-05 1970-09-08 Ibm Program interlock arrangement,including task suspension and new task assignment
DE3173549D1 (en) * 1981-03-16 1986-03-06 Ibm Improvements to digital data processing apparatus
US4435780A (en) * 1981-06-16 1984-03-06 International Business Machines Corporation Separate stack areas for plural processes
US4642756A (en) * 1985-03-15 1987-02-10 S & H Computer Systems, Inc. Method and apparatus for scheduling the execution of multiple processing tasks in a computer system
US4750116A (en) * 1985-10-11 1988-06-07 International Business Machines Corporation Hardware resource management
US4965719A (en) * 1988-02-16 1990-10-23 International Business Machines Corporation Method for lock management, page coherency, and asynchronous writing of changed pages to shared external store in a distributed computing system
US5012409A (en) * 1988-03-10 1991-04-30 Fletcher Mitchell S Operating system for a multi-tasking operating environment
US4912628A (en) * 1988-03-15 1990-03-27 International Business Machines Corp. Suspending and resuming processing of tasks running in a virtual machine data processing system

Also Published As

Publication number Publication date
JPH01298440A (ja) 1989-12-01
US5377352A (en) 1994-12-27

Similar Documents

Publication Publication Date Title
JP2650965B2 (ja) 計算機システムおよびそのタスクスケジュール方法
US7058948B2 (en) Synchronization objects for multi-computer systems
JP2514299B2 (ja) プロセスレベルプログラミングのための割込み処理の直列化方法
US6173442B1 (en) Busy-wait-free synchronization
US6101524A (en) Deterministic replay of multithreaded applications
US4663709A (en) Control system for tightly-coupled multiprocessing units
US5257372A (en) Methods for efficient distribution of parallel tasks to slave processes in a multiprocessing system
EP0563624B1 (en) Method and apparatus for performing conditional operations on externally shared data
JPS60128537A (ja) 多重プログラミング・システム
JP5516398B2 (ja) マルチプロセッサシステム、マルチプロセッサシステムのos間デバイス共有方法
JPS61233849A (ja) デ−タベ−ス排他制御方法
JP3113841B2 (ja) 並列トランザクション処理システム
JP4398116B2 (ja) 計算制御の別個のフローを再使用可能な抽象データ・オブジェクトとして使用する方法
CN113535362A (zh) 一种分布式调度系统架构和微服务工作流调度方法
JP3717951B2 (ja) デッドロック回避システムおよび方法
US9792419B2 (en) Starvationless kernel-aware distributed scheduling of software licenses
CN117389755A (zh) 一种多线程共享内存方法及装置
JP7346649B2 (ja) 同期制御システムおよび同期制御方法
Reiser et al. Consistent replication of multithreaded distributed objects
Lehey Improving the FreeBSD SMP Implementation.
JP2804478B2 (ja) タスク制御方式及びオンライン・トランザクション・システム
JP2693916B2 (ja) タスクスケジュール方法
JPH07319716A (ja) 計算機システムの資源の排他制御方式
JP3724075B2 (ja) プロセスの実行方法
JPH02171952A (ja) マルチプロセッサにおけるディスパッチ方式

Legal Events

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