JPS62165244A - タスクデイスパツチ方式 - Google Patents
タスクデイスパツチ方式Info
- Publication number
- JPS62165244A JPS62165244A JP723286A JP723286A JPS62165244A JP S62165244 A JPS62165244 A JP S62165244A JP 723286 A JP723286 A JP 723286A JP 723286 A JP723286 A JP 723286A JP S62165244 A JPS62165244 A JP S62165244A
- Authority
- JP
- Japan
- Prior art keywords
- task
- tasks
- buffer
- priority
- current
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
この発明は複数のタスクをそのタスクの処理優先度に順
次従って処理していくタスクディスパッチ方式(:関す
るものである。
次従って処理していくタスクディスパッチ方式(:関す
るものである。
従来のこの種のタスクディスパッチ方式を、タスクの処
理優先度が高低の2つのレベルで、かつ各タスクのステ
ータスがタスクとして存在するが、起動要求が発生して
いない状態を示すホルト、起動要求ζ:より実行の開始
を待っている状態を示すレディ、実行中である状態を示
すラン、実行中であったが、処理優先度のより高いタス
クの起動、等により実行権を失ない、一時的に実行を停
止している状態を示すウェイトの4つである場合を列に
とって説明する。
理優先度が高低の2つのレベルで、かつ各タスクのステ
ータスがタスクとして存在するが、起動要求が発生して
いない状態を示すホルト、起動要求ζ:より実行の開始
を待っている状態を示すレディ、実行中である状態を示
すラン、実行中であったが、処理優先度のより高いタス
クの起動、等により実行権を失ない、一時的に実行を停
止している状態を示すウェイトの4つである場合を列に
とって説明する。
第2図は上記条件下にある従来のタスクディスパッチ方
式の構成を示す構成図で、図において、11はレディ状
態となったタスクがキュー上に並んだ時、リンクしてゆ
くために次のタスクの番号を記憶するポインタテーブル
、12は各タスクのステータスを示すステータステーブ
ル、13は高優先度処理のキューのリードポインタ、1
4は高優先度処理のキューのライトポインタ、15は低
優先度処理のキューのリードポインタ、16は低優先度
処理のキー−のライトポインタである。
式の構成を示す構成図で、図において、11はレディ状
態となったタスクがキュー上に並んだ時、リンクしてゆ
くために次のタスクの番号を記憶するポインタテーブル
、12は各タスクのステータスを示すステータステーブ
ル、13は高優先度処理のキューのリードポインタ、1
4は高優先度処理のキューのライトポインタ、15は低
優先度処理のキューのリードポインタ、16は低優先度
処理のキー−のライトポインタである。
ここにおいて、谷タスクの優先度はタスクの個有苗号に
より決定され、個有番号1〜6のタスクが高処理浚先匿
のタスク、個有番号7〜6のタスクが低処理後先度のタ
スクとしである。
より決定され、個有番号1〜6のタスクが高処理浚先匿
のタスク、個有番号7〜6のタスクが低処理後先度のタ
スクとしである。
また、各′タスクの処理レベルはキューで示され、レデ
ィ状態のタスクはキュー上に並び、ラン、ウェイトの各
状態のタスクはキューの先頭に位置する。
ィ状態のタスクはキュー上に並び、ラン、ウェイトの各
状態のタスクはキューの先頭に位置する。
なお、キュー上に並んだタスクは互いにリンクされてい
る。
る。
次にこのように構成されたタスクディスパッチ方式の動
作を第3図に従って説明する。
作を第3図に従って説明する。
今、谷タスクのポインタテーブル及びステータステーブ
ルの値が第2図に示すとおりで、各キー−のリンク関係
は第3図に示すとおりとする。
ルの値が第2図に示すとおりで、各キー−のリンク関係
は第3図に示すとおりとする。
このとき、高優先度処理のキュー上のタスクは無し、低
優先度処理のキュー上(:はタスク8.タスク10があ
るという状態となっている。
優先度処理のキュー上(:はタスク8.タスク10があ
るという状態となっている。
このような状態において、タスクのディスパッチ方式を
各場合に分けて示す。
各場合に分けて示す。
(1)実行中のタスクが終了し、同一または下位レベル
のキュー上にあるタスクを起動する場合。
のキュー上にあるタスクを起動する場合。
いま、実行中のタスク8が終了したとする。このときデ
ィスパッチャは、いま実行中であったタスク8のポイン
タテーブルから同一キュー上にある次のタスク10″4
r:起動させる。そしてタスク8のポインタテーブルな
OC′、ステータスチーフルをホルトにする。
ィスパッチャは、いま実行中であったタスク8のポイン
タテーブルから同一キュー上にある次のタスク10″4
r:起動させる。そしてタスク8のポインタテーブルな
OC′、ステータスチーフルをホルトにする。
(2)割り込み等により実行中のタスクを一時停止し、
より鏝先順位の高いタスクン起動する場合。
より鏝先順位の高いタスクン起動する場合。
いま、タスク8の実行中であるときイベントの発生によ
り、タスク5の起動が要求されたとする。
り、タスク5の起動が要求されたとする。
このとき、ディスパッチはタスク8の実行に必安なレジ
スタを退避し、タスク8のステータスレジスタをウェイ
トにする。次にタスク5を高優先度のキュー上に置き、
タスク5のステータステーブルをレディとする。次(−
タスクのディスパッチを行なう。このときまず高優先度
のキー−1低優元度のキー−の順序で検索する。いま、
高優先度のキューの先頭に、タスク5があるためこれが
次に実行されるタスクであることがわかる。さらにタス
ク5のステータステーブルがレディであるためこれをラ
ンにし、タスク5を先頭から起v4jJTる。
スタを退避し、タスク8のステータスレジスタをウェイ
トにする。次にタスク5を高優先度のキュー上に置き、
タスク5のステータステーブルをレディとする。次(−
タスクのディスパッチを行なう。このときまず高優先度
のキー−1低優元度のキー−の順序で検索する。いま、
高優先度のキューの先頭に、タスク5があるためこれが
次に実行されるタスクであることがわかる。さらにタス
ク5のステータステーブルがレディであるためこれをラ
ンにし、タスク5を先頭から起v4jJTる。
(3)実行中のタスクが終了し、割り込み口よって一時
実行が停止されていたタスクを起動する場合。
実行が停止されていたタスクを起動する場合。
元の(2)の場合において起動したタスク5が終了した
場合が該当する。このとさ、まず、タスク5を高優先j
主のキー−上からはずし、ステークステーブルなホルト
にする。次にタスクのディスパッチを行なうが、高優先
度のキューにはタスクはない。このため、低優先度のキ
ー−の先頭のタスク8を起動する。しかしながらタスク
8のステータスデープルかウェイトであるため、これを
ランとする。タスク8は先頭から起動されるのでなく、
先に退避したレジスタを復帰し、その状態から起動され
る。
場合が該当する。このとさ、まず、タスク5を高優先j
主のキー−上からはずし、ステークステーブルなホルト
にする。次にタスクのディスパッチを行なうが、高優先
度のキューにはタスクはない。このため、低優先度のキ
ー−の先頭のタスク8を起動する。しかしながらタスク
8のステータスデープルかウェイトであるため、これを
ランとする。タスク8は先頭から起動されるのでなく、
先に退避したレジスタを復帰し、その状態から起動され
る。
以上のようにタスクはポインターテーブル及びステータ
ステーブルを用いて、行なうことができる。
ステーブルを用いて、行なうことができる。
従来のタスクディスパッチ方式は上述のように構成され
ていたため、各タスクの処理優先度が各各異なり、各タ
スクの処理優先度が同定であるような場合であっても各
々キュー!待ってい°C1タスクの起動時1:は必ずキ
ュー上(=並べる必要があったので、リアルタイムモニ
タのオーバーヘッドが大きくなり、処理時間か増大し、
またインデックステーブルのために使用するメモリが増
大してしまうという不都合があった。
ていたため、各タスクの処理優先度が各各異なり、各タ
スクの処理優先度が同定であるような場合であっても各
々キュー!待ってい°C1タスクの起動時1:は必ずキ
ュー上(=並べる必要があったので、リアルタイムモニ
タのオーバーヘッドが大きくなり、処理時間か増大し、
またインデックステーブルのために使用するメモリが増
大してしまうという不都合があった。
本発明は、上記のような問題点を解消するためも=なさ
れたもので、ポインタテーブルをもたずにデイスパツチ
ングのおこなえるタスクディスパッチ方式を得ることを
目的としている。
れたもので、ポインタテーブルをもたずにデイスパツチ
ングのおこなえるタスクディスパッチ方式を得ることを
目的としている。
このためこの発明にかかるタスクディスパッチ方式は、
現在実行中のタスクを示すカレントタスクバッファと、
各タスクのステータス乞示すタスクコントロールテーブ
ルを設け、カレントタスクバッファに示されたタスクが
終了した時、処理優先度の旨いタスクからj娯に上記タ
スクコントロールテーブルを検索して、タスクのディス
パッチングを行うことを特徴とするものである。
現在実行中のタスクを示すカレントタスクバッファと、
各タスクのステータス乞示すタスクコントロールテーブ
ルを設け、カレントタスクバッファに示されたタスクが
終了した時、処理優先度の旨いタスクからj娯に上記タ
スクコントロールテーブルを検索して、タスクのディス
パッチングを行うことを特徴とするものである。
この発明にかかるカレントタスクバッファは現在実行中
のタスクを記憶し、タスクコントロールテーブルは各タ
スクのステータスを記憶している。
のタスクを記憶し、タスクコントロールテーブルは各タ
スクのステータスを記憶している。
ここにおいてカレントバッファに示されたタスクが終了
した時、処理優先度の高いタスクから順にタスクコント
ロールテーブルを検索してタスクのディスパッチを行う
。
した時、処理優先度の高いタスクから順にタスクコント
ロールテーブルを検索してタスクのディスパッチを行う
。
以下図面にもとづいて本発明の一実施例を訝明する。
′第1図は本発明のタスクディスパッチ方式の構成図で
、図において1は各タスクのステータスを示すタスクコ
ントロールテーブル、2は現在実行中のタスクの番号を
示すカレントタスクバッファである。
、図において1は各タスクのステータスを示すタスクコ
ントロールテーブル、2は現在実行中のタスクの番号を
示すカレントタスクバッファである。
ここにおいて各タスクの処理優先度は各タスクの番号と
一致していて、実行中のタスクはタスク8、レディの状
態にあるタスクはタスク10である。
一致していて、実行中のタスクはタスク8、レディの状
態にあるタスクはタスク10である。
次にこのように構成された本発明の動作を各場合に分け
て説明する。
て説明する。
(1)実行中のタスクが終了し、下位レベルのタスクを
起動する場合。
起動する場合。
いま、実行中のタスク8が終了したとき、カレントタス
クバッファ2で示されるタスクコントロールテーブル1
のタスク8以降の欄を検索し、ウェイト、又はレディの
タスクヲ渡し、タスク10がレディであることを知る。
クバッファ2で示されるタスクコントロールテーブル1
のタスク8以降の欄を検索し、ウェイト、又はレディの
タスクヲ渡し、タスク10がレディであることを知る。
このとき、カレントタスクバッファを10.タスク10
のタスクコントロールテーブル1をボルトとし、タスク
10を起動する。
のタスクコントロールテーブル1をボルトとし、タスク
10を起動する。
(2)割り込み等によって一時実行中のタスクを停止し
、より優先順位の高いタスクを起動させる場合。
、より優先順位の高いタスクを起動させる場合。
いま、タスク8が実行中であるとき、イベントの発生に
より、タスク5の起動が要求されたとする。このとき、
ディスパッチャは、タスク8の実行に必要なレジスタを
退避し、タスク8のタスクコントロールテーブル1をウ
ェイトにする。次にタスク5のタスクコントロールテー
ブル1をレディとし、タスクのディスパッチを行なう。
より、タスク5の起動が要求されたとする。このとき、
ディスパッチャは、タスク8の実行に必要なレジスタを
退避し、タスク8のタスクコントロールテーブル1をウ
ェイトにする。次にタスク5のタスクコントロールテー
ブル1をレディとし、タスクのディスパッチを行なう。
割り込みによるタスクのディスパッチングをする際には
、タスクコントロールテーブル1を先頭から検索する。
、タスクコントロールテーブル1を先頭から検索する。
このとき、タスク5がレディであることを知り、タスク
5のタスクコントロールテーブル1をボルト、カレント
タスクバッファ2を5とし、タスク5を起動する。
5のタスクコントロールテーブル1をボルト、カレント
タスクバッファ2を5とし、タスク5を起動する。
(3)実行中のタスクが終了し、割込み等によって一時
停止されていたタスクを起#J′fる場合。
停止されていたタスクを起#J′fる場合。
先の2において起動したタスク5が終了した場合が該当
する。このときまず、カレントタスクバッファ2で示さ
れるタスク5以降のタスクコントロールテーブル11に
検索し、ウェイト又はレディのタスクを捜しタスク8が
ウェイトであることを知る。次に、タスク8のタスクコ
ントロー/l/ テーブル1とホルトとし、カレントタ
スクバッファ2を8とし、タスク8の起動に必要なレジ
スタを復帰し、再起動させる。
する。このときまず、カレントタスクバッファ2で示さ
れるタスク5以降のタスクコントロールテーブル11に
検索し、ウェイト又はレディのタスクを捜しタスク8が
ウェイトであることを知る。次に、タスク8のタスクコ
ントロー/l/ テーブル1とホルトとし、カレントタ
スクバッファ2を8とし、タスク8の起動に必要なレジ
スタを復帰し、再起動させる。
以上により、タスクの移行が行なえる。
以上述べたよう(=この発明によれば、タスクのディス
パッチは各タスクのステータスを示すステータステーブ
ルと、現在実行中のタスクを示すカレントバッファだけ
で行なえるので、使用するメモリ領域を節約することが
でき、かつ各処理貸先度毎に存在していたキューを廃止
できるため、ディスパッチャの動作が簡単になり、従来
よりモディスバッチングのための実行4Kが向上し、こ
れによりオーバーヘッドを少なくすることができるとい
う利点がある。
パッチは各タスクのステータスを示すステータステーブ
ルと、現在実行中のタスクを示すカレントバッファだけ
で行なえるので、使用するメモリ領域を節約することが
でき、かつ各処理貸先度毎に存在していたキューを廃止
できるため、ディスパッチャの動作が簡単になり、従来
よりモディスバッチングのための実行4Kが向上し、こ
れによりオーバーヘッドを少なくすることができるとい
う利点がある。
第1図は本発明のタスクコントロールチーフルとカレン
トタスクバッファの構成図、第2図は従来のタスクディ
スパッチ方式におけるポインタテーブルとステータステ
ーブルの構成図、第3図は従来のタスクディスパッチ方
式におけるキューの一例を示す構成図である。 1・・・タスクコントロールテーブル、2・・・カレン
トバッファ、11・・・ポインタテーブル、12・・・
ステータステーブル。
トタスクバッファの構成図、第2図は従来のタスクディ
スパッチ方式におけるポインタテーブルとステータステ
ーブルの構成図、第3図は従来のタスクディスパッチ方
式におけるキューの一例を示す構成図である。 1・・・タスクコントロールテーブル、2・・・カレン
トバッファ、11・・・ポインタテーブル、12・・・
ステータステーブル。
Claims (2)
- (1)処理優先度が固定されたタスクを順次処理するタ
スクディスパッチ方式において、 現在実行中のタスクを示すカレントタスクバッファと、
各タスクのステータスを示すタスクコントロールテーブ
ルを設け、カレントタスクバッファに示されたタスクが
終了した時、処理優先度の高いタスクから順に上記タス
クコントロールテーブルを検索して、タスクのディスパ
ッチングを行うことを特徴とするタスクディスパッチ方
式。 - (2)上記ステータスはタスクとして存在するが起動要
求が発生していない状態を示すホルトと、起動要求によ
り実行要求を持っている状態を示すウェイトと、実行中
であったが処理優先度のより高いタスクの実行または起
動等により一時実行を停止している状態を示すウェイト
とからなることを特徴とする特許請求の範囲第1項記載
のタスクディスパッチ方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP723286A JPS62165244A (ja) | 1986-01-17 | 1986-01-17 | タスクデイスパツチ方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP723286A JPS62165244A (ja) | 1986-01-17 | 1986-01-17 | タスクデイスパツチ方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS62165244A true JPS62165244A (ja) | 1987-07-21 |
Family
ID=11660248
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP723286A Pending JPS62165244A (ja) | 1986-01-17 | 1986-01-17 | タスクデイスパツチ方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS62165244A (ja) |
-
1986
- 1986-01-17 JP JP723286A patent/JPS62165244A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5506987A (en) | Affinity scheduling of processes on symmetric multiprocessing systems | |
US5095427A (en) | Dispatch control of virtual machine | |
US5257375A (en) | Method and apparatus for dispatching tasks requiring short-duration processor affinity | |
KR970016979A (ko) | 다중 처리 시스템에서 타스크의 큐잉 시스템 및 방법 | |
JPS646488B2 (ja) | ||
CA1304513C (en) | Multiple i/o bus virtual broadcast of programmed i/o instructions | |
JPS62165244A (ja) | タスクデイスパツチ方式 | |
JPH07141208A (ja) | マルチタスク処理装置 | |
JP2636722B2 (ja) | マルチタスク実行管理方式 | |
JPS6115260A (ja) | デ−タ処理装置 | |
JPS62271147A (ja) | タスク制御方法 | |
JPS62221041A (ja) | 仮想計算機システムにおけるデイスパツチ制御装置 | |
JPS594743B2 (ja) | マルチプロセツサシステムノセイギヨホウシキ | |
JPH05204667A (ja) | 計算機システムのタスク実行制御装置 | |
JP2686438B2 (ja) | 大型データ処理システムにおいて多くのオペレーティングシステム機能をオフロードするための特殊目的プロセッサおよびプロセス制御機構 | |
JPS6223895B2 (ja) | ||
JPH03244040A (ja) | 並列走行型デバグ方式 | |
JPH04195539A (ja) | システムコール処理方式 | |
JP2607595B2 (ja) | キューイングテーブル検索方式 | |
JPH03116335A (ja) | 非特権cpuから特権cpuヘの乗り移り方式 | |
Green | Time sharing in a traffic control program | |
JPH02113363A (ja) | マルチプロセッサシステムにおけるタイムスライス制御方式 | |
JPH01154236A (ja) | 時分割タスク実行装置 | |
JPS6320651A (ja) | Tssセツシヨン空間の制御方式 | |
JPH0535506A (ja) | プログラムデイスパツチ処理方式 |