JPH031244A - タスクディスパッチ方式 - Google Patents

タスクディスパッチ方式

Info

Publication number
JPH031244A
JPH031244A JP13559089A JP13559089A JPH031244A JP H031244 A JPH031244 A JP H031244A JP 13559089 A JP13559089 A JP 13559089A JP 13559089 A JP13559089 A JP 13559089A JP H031244 A JPH031244 A JP H031244A
Authority
JP
Japan
Prior art keywords
task
resource
priority
dispatch
resources
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
Application number
JP13559089A
Other languages
English (en)
Inventor
Kenichi Kubota
健一 久保田
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 Corp
Original Assignee
NEC Corp
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 Corp filed Critical NEC Corp
Priority to JP13559089A priority Critical patent/JPH031244A/ja
Publication of JPH031244A publication Critical patent/JPH031244A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は電子計算機システムにおけるタスクディスパッ
チ方式に関するものである。
〔従来の技術] マルチプログラミング方式を採用した電子計算機システ
ムにおいては、プログラムの実行はタスクと呼ばれる単
位に分IP+されて行われており、人出力(10)完了
待ち等に入って有効な処理を行えなくなったタスクから
中央処理装置(CPLI)の使用権を取り上げ、他の実
行可能なタスクに中央処理装置の使用権を与えることに
より、無駄に費やす時間をなくし、総合的な処理効率を
高めるようにしている。
ところで、上記のように入出力完了待ち等に入って有効
な処理を行えなくなったタスクから中央処理装置の使用
権を取り上げた後、他の実行可能なタスクに中央処理装
置の使用権を与えること、すなわち複数個存在する実行
可能状態にあるタスクから実行状態にするタスクを選び
出す処理はタスクディスパッチ処理と呼ばれており、そ
の選択の基準をどのように決めるかが電子計算機システ
ムの性能に大きく影古する。
この点につき、従来のタスクディスパッチ処理にあって
は、タスクが生成されたときにそのタスクに優先度を付
与し、ディスバンチに際しては優先度の最も高いタスク
から優先して実行状態にするようにしていた。
〔発明が解決しようとする課8] 上述したように、従来のタスクディスパッチ方式では、
タスクに付与された優先度に従ってディスパッチを行う
ようにしていたため、緊急に処理すべきタスクを優先で
きてを効なものであったが、優先度の低いタスクについ
てはタスクの沈み込みが発生し、そのタスクの資源の占
有によりデッドロックが生じやすいという欠点があった
。例えば、優先度の低いタスクAが資源を占有したまま
入出力完了待ち等で待ちになった後、入出力完了で実行
可能状態にこなっても、他に/N先度の高いタスクBが
あると、タスクAはタスクBよりも優先度が低いために
実行状態になることができない。このため、他のタスク
Bが同じ資源を要求にいっても、タスクAの占有状態が
解除されないため、タスクBも待ちとなり、一種のデッ
ドロック状態となる。
本発明は上記の点に鑑み提案されたものであり、その目
的とするところは、タスクの′flaの占有に基づくデ
ッドロックを有効に防止することのできるタスクディス
パッチ方式を提供することにある。
〔課題を解決するための手段] 本発明は上記の目的を達成するため、各タスクに対応し
て設けられ、当該タスクの優先度および当該タスクが占
有する資源の数を記憶するフィールドを存したタスク管
理テーブルと、 前記タスク管理テーブルを優先度別にチェーンして管理
する優先順位テーブルと、 資源占有中のタスクのタスク管理テーブルをチェーンし
て管理する資源占有中タスクテーブルと、タスクに対し
資源の占有および占有解除を行うと共に前記タスク管理
テーブルの資源の数のフィルドを書き換える資源占有手
段と、 タスクディスパッチに際し、先ず前記資源占有中タスク
テーブルをサーチして占有する資源の数の最も多いタス
クに対してディスバ・7チを行い、該当するタスクが存
在しない場合に前記優先順位テーブルをサーチして優先
度の最も高いタスクに対してディスパッチを行うタスク
ディスパッチ手段とを備えるようにしている。
すなわち、従来の優先度によるディスパッチではなく、
占有する資源の数に着目してディスパッチを行うもので
ある。
〔作用] 本発明のタスクディスパッチ方式にあっては、優先順位
テーブルが各タスクに対応して設けられたタスク管理テ
ーブルを優先度別にチェーンして管理し、資源占有中タ
スクテーブルが資源占を中のタスクのタスク管理テーブ
ルをチェーンして管理し、資源占有手段がタスクに対し
資源の占有および占有解除を行うと共にタスク管理テー
ブルの茸源の数のフィールドを書き換え、タスクディス
パッチ手段がタスクディスパッチに際し、先ず資源占有
中タスクテーブルをサーチして占有する資源の数の最も
多いタスクに対してディスパッチを行い、該当するタス
クが存在しない場合に優先順位テーブルをサーチして優
先度の最も高いタスクに対してディスパッチを行う。
(実施例) 以下、本発明の実施例につき図面を参照して説明する。
第1図は本発明のタスクディスパッチ方式を適用した電
子計算機システムの一実施例を示す構成図である。第1
図において、本実施例は、処理実行手段lと資源占有手
段2とタスクディスパッチ手段3と記憶手段4とから構
成され、記憶手段4には共用資a5とタスク情報管理手
段6とが含まれ、更にタスク情報管理手段6には複数の
タスク管理テーブル7と優先順位テーブル8と資源占有
中タスクテーブル9とが含まれている。各部の機能は次
の通りである。
処理実行手段1;タスクを実行する中央処理装置等であ
る。
記憶手段4;電子計算機システムのメモリである。
タスク情報管理手段6;優先順位テーブル8および資源
占有中タスクテーブル9により複数のタスク管理テーブ
ル7を管理するものである。
タスク管理テーブル7;各タスクに対応して設けられた
テーブルであり、第2図に示すように当該タスクの優先
度を設定するフィールド71と、当該タスクの占有する
資源の数を設定するフィールド72と、優先順位テーブ
ル8に連なる次のタスク管理テーブルを指すポインタを
設定するフィールド73と、資源占を中タスクテーブル
9に連なる次のタスク管理テーブルを指すポインタを設
定するフィールド74とを有している。
優先順位テーブル8;実行可能状態にあるタスクのタス
ク管理テーブル7を優先度別にチェーンして管理するテ
ーブルであり、第3図に示すように優先度毎のエントリ
81,82.83・・・を有しており、各エントリには
対応する優先度のタスク管理テーブル7へのポインタが
設定される。
資源占有中タスクテーブル9;実行可能状態にある資源
占有中のタスクのタスク管理テーブル7をチェーンして
管理するテーブルであり、そのエントリには資源占有中
のタスクのタスク管理テーブル7へのポインタが設定さ
れる。
共用資源5;複数のタスクにより参照・更新されるテー
ブル等の資源である。
資源占有手段2;タスク間の排他ii制御を行うため、
共用責tA5に含まれる制御表の該当する資源に対して
占有処理または占有解除処理を行うと共に、占を処理の
場合は対応するタスク管理チーフル7の資源占有数のフ
ィールド72のカウントア・7ブを行い、占有解除処理
の場合はカウントダウンを行う機能を有している。処理
のフローを第5図および第6図に示す。
タスクディスパッチ手段3;処理実行手段1により処理
させるタスクを選びだす部分であり、タスクディスバッ
チに際し、先ず資源占有中タスクテーブル9をサーチし
て占有する資源の数の最も多いタスクに対してディスバ
ンチを行い、該当するタスクが存在しない場合に優先順
位チーフル8をサーチして優先度の最も高いタスクに対
してディスバッチを行う機能を有するものである。処理
のフローを第7図に示す。
第4図はタスク情報管理手段6におけるチェーンの状態
の例を示す図であり、タスクa、  b、  c(図示
せず)のタスク管理テーブルをそれぞれ7a、7b、7
cとし、タスクa、bの優先度が最高のA、タスクCの
優先度がC1資源占有中のタスクがす、  cでタスク
bの資源占有数が1、タスクCの資源占有数が2とする
と、優先順位テーブル8の優先度Aのエントリ81には
実線で示すようにタスク管理テーブル7a、7bが1順
次チェーンされ、優先度Cのエントリ83には同じく実
線で示すようにタスク管理テーブル7Cがチェーンされ
る。また、資源占有中タスクテーブル9には破線で示す
ようにタスク管理テーブル7b、7cが順次チェーンさ
れる。
以下、第5図ないし第7図のフローチャートに沿って上
記の実施例の主要な動作を説明する。
あるタスクに対して資源を割り当てる場合、資源占有手
段2が起動される。資源占有手段2は、第5図に示すよ
うに、共用資源5に含まれる制御表に対して資源の占有
処理(ロック処理)を試み(ステップ21)、占有が成
功した場合(ステップ22のYES)にはそのタスクに
対応するタスク管理テーブル7の資源占有数のフィール
ド72のカウントアツプ(lを加える)を行う(ステッ
プ23)。また、占有が失敗した場合(ステップ22の
No)には待ちを行い(ステップ24)、その後に再び
占有処理を試みる(ステップ21)。
一方、資源の占有を解除する場合は、第6図に示すよう
に、共2用資a5に含まれる制御表に対して資源の占有
解除処理(アンロック処理)を行い(ステップ25)、
続いてそのタスクに対応するタスク管理テーブル7の資
源占有数のフィールド72のカウントダウン(lを引く
)を行う(ステップ26)。
次に、処理実行手段1で処理するタスクのディスバンチ
について説明する。なお、このディスバッチは、処理実
行手段1で今まで実行されていたタスクが入出力完了待
ち等に入って、別のタスクに切り替える必要が生じた場
合に行われるものである。
タスクディスバッチ手段3は、第7図に示すように、先
ず資源占有中タスクテーブル9のチェーンをサーチして
資源占有数の最も多いタスクを見付は出す(ステップ3
1)。例えば、第4図の例では、タスク管理テーブル7
Cに対応するタスクCが8亥当する。
そして、該当するタスクが存在する場合(ステップ32
のYES)にはそのタスクを実行可能な状態とする(ス
テップ33)。
また、該当するタスクが存在しない場合(ステップ32
のNo)には従来と同様に優先順位テーブル8のチェー
ンをサーチして優先度の最も高いタスクを見付は出す(
ステップ34)。そして、そのタスクを実行可能な状態
とする(ステップ33)。
〔発明の効果] 以上説明したように、本発明のタスクディスパッチ方式
にあっては、タスクの占有する資源の故に着目してディ
スパッチを行うため、資源を占有したまま沈み込んでし
まうタスクがなくなり、よって、資源の占有に基づくデ
ッドロックの発生を大幅に減少させることができる効果
がある。
【図面の簡単な説明】
第1図は本発明のタスクディスパッチ方式を適用した電
子計算機システムの一実施例を示す構成図、 第2図は第1図におけるタスク管理テーブルの論理的構
成図、 第3図は第1図における優先順位テーブルの論理的構成
図、 第4図は第1図におけるタスク情報管理手段におけるチ
ェーンの状態の例を示す図、 第5図は第1図における資源占有手段の資源占有処理の
フローチャート、 第6図は同じく資源占有手段の占有解除処理のフローチ
ャートおよび、 第7図は第1図におけるタスクディスパッチ手段の処理
のフローチャートである。 図において、 1・・・・・・処理実行手段 2・・・・・・資源占を手段 3・・・・・・タスクディスパッチ手段4・・・・・・
記憶手段 5・・・・・・共用資源 6・・・・・・タスク情報管理手段 7・・・・・・タスク管理テーブル 8・・・・・・優先順位テーブル 9・・・・・・資源占を中タスクテーブルタスク管理テ
ーブルの′g!理的構成図男2図

Claims (1)

  1. 【特許請求の範囲】 各タスクに対応して設けられ、当該タスクの優先度およ
    び当該タスクが占有する資源の数を記憶するフィールド
    を有したタスク管理テーブルと、前記タスク管理テーブ
    ルを優先度別にチェーンして管理する優先順位テーブル
    と、 資源占有中のタスクのタスク管理テーブルをチェーンし
    て管理する資源占有中タスクテーブルと、タスクに対し
    資源の占有および占有解除を行うと共に前記タスク管理
    テーブルの資源の数のフィールドを書き換える資源占有
    手段と、 タスクディスパッチに際し、先ず前記資源占有中タスク
    テーブルをサーチして占有する資源の数の最も多いタス
    クに対してディスパッチを行い、該当するタスクが存在
    しない場合に前記優先順位テーブルをサーチして優先度
    の最も高いタスクに対してディスパッチを行うタスクデ
    ィスパッチ手段とを備えたことを特徴とするタスクディ
    スパッチ方式。
JP13559089A 1989-05-29 1989-05-29 タスクディスパッチ方式 Pending JPH031244A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13559089A JPH031244A (ja) 1989-05-29 1989-05-29 タスクディスパッチ方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13559089A JPH031244A (ja) 1989-05-29 1989-05-29 タスクディスパッチ方式

Publications (1)

Publication Number Publication Date
JPH031244A true JPH031244A (ja) 1991-01-07

Family

ID=15155384

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13559089A Pending JPH031244A (ja) 1989-05-29 1989-05-29 タスクディスパッチ方式

Country Status (1)

Country Link
JP (1) JPH031244A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05204675A (ja) * 1992-01-30 1993-08-13 Toshiba Corp スケジューリング方式
JP2009507160A (ja) * 2005-09-01 2009-02-19 マーレ インターナショナル ゲゼルシャフト ミット ベシュレンクテル ハフツング 内燃機関用のピストンリングを製作するための方法及びこのようなピストンリング

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05204675A (ja) * 1992-01-30 1993-08-13 Toshiba Corp スケジューリング方式
JP2009507160A (ja) * 2005-09-01 2009-02-19 マーレ インターナショナル ゲゼルシャフト ミット ベシュレンクテル ハフツング 内燃機関用のピストンリングを製作するための方法及びこのようなピストンリング

Similar Documents

Publication Publication Date Title
JP2866241B2 (ja) コンピュータシステムおよびスケジューリング方法
US6269391B1 (en) Multi-processor scheduling kernel
US5339415A (en) Dual level scheduling of processes to multiple parallel regions of a multi-threaded program on a tightly coupled multiprocessor computer system
JP3678414B2 (ja) 多重プロセッサ・システム
US5274809A (en) Task execution control method for a multiprocessor system with enhanced post/wait procedure
US5325526A (en) Task scheduling in a multicomputer system
US5630128A (en) Controlled scheduling of program threads in a multitasking operating system
US5010482A (en) Multi-event mechanism for queuing happened events for a large data processing system
CN101727357B (zh) 用于分配计算中心中资源的方法和装置
US4779194A (en) Event allocation mechanism for a large data processing system
US6272517B1 (en) Method and apparatus for sharing a time quantum
EP0527392A2 (en) Preemptive and non pre-emptive scheduling and executing of program threads in a multitasking operating system
US7823158B2 (en) Adaptive scheduling and management of work processing in a target context in resource contention
JP3546694B2 (ja) マルチスレッド計算機システム及びマルチスレッド実行制御方法
EP0243402B1 (en) A special purpose processor for off-loading many operating system functions in a large data processing system
EP0343646B1 (en) Task execution control method for a multiprocessor system with enhanced post/wait procedure
EP0913770A2 (en) Method and apparatus for sharing a time quantum
Michael et al. Relative performance of preemption-safe locking and non-blocking synchronization on multiprogrammed shared memory multiprocessors
JPH031244A (ja) タスクディスパッチ方式
EP0544822B1 (en) Dual level scheduling of processes
US7234142B1 (en) Task processing system
JPH05108380A (ja) データ処理システム
JPH03116334A (ja) タスクディスパッチ方式
JP2535631B2 (ja) コル―チン呼び出し制御方式
US20240211460A1 (en) Stream-based transaction processing