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
Application number
JP723286A
Other languages
English (en)
Inventor
Kunio Shibata
邦夫 柴田
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP723286A priority Critical patent/JPS62165244A/ja
Publication of JPS62165244A publication Critical patent/JPS62165244A/ja
Pending 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

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図は上記条件下にある従来のタスクディスパッチ方
式の構成を示す構成図で、図において、11はレディ状
態となったタスクがキュー上に並んだ時、リンクしてゆ
くために次のタスクの番号を記憶するポインタテーブル
、12は各タスクのステータスを示すステータステーブ
ル、13は高優先度処理のキューのリードポインタ、1
4は高優先度処理のキューのライトポインタ、15は低
優先度処理のキューのリードポインタ、16は低優先度
処理のキー−のライトポインタである。
ここにおいて、谷タスクの優先度はタスクの個有苗号に
より決定され、個有番号1〜6のタスクが高処理浚先匿
のタスク、個有番号7〜6のタスクが低処理後先度のタ
スクとしである。
また、各′タスクの処理レベルはキューで示され、レデ
ィ状態のタスクはキュー上に並び、ラン、ウェイトの各
状態のタスクはキューの先頭に位置する。
なお、キュー上に並んだタスクは互いにリンクされてい
る。
次にこのように構成されたタスクディスパッチ方式の動
作を第3図に従って説明する。
今、谷タスクのポインタテーブル及びステータステーブ
ルの値が第2図に示すとおりで、各キー−のリンク関係
は第3図に示すとおりとする。
このとき、高優先度処理のキュー上のタスクは無し、低
優先度処理のキュー上(:はタスク8.タスク10があ
るという状態となっている。
このような状態において、タスクのディスパッチ方式を
各場合に分けて示す。
(1)実行中のタスクが終了し、同一または下位レベル
のキュー上にあるタスクを起動する場合。
いま、実行中のタスク8が終了したとする。このときデ
ィスパッチャは、いま実行中であったタスク8のポイン
タテーブルから同一キュー上にある次のタスク10″4
r:起動させる。そしてタスク8のポインタテーブルな
OC′、ステータスチーフルをホルトにする。
(2)割り込み等により実行中のタスクを一時停止し、
より鏝先順位の高いタスクン起動する場合。
いま、タスク8の実行中であるときイベントの発生によ
り、タスク5の起動が要求されたとする。
このとき、ディスパッチはタスク8の実行に必安なレジ
スタを退避し、タスク8のステータスレジスタをウェイ
トにする。次にタスク5を高優先度のキュー上に置き、
タスク5のステータステーブルをレディとする。次(−
タスクのディスパッチを行なう。このときまず高優先度
のキー−1低優元度のキー−の順序で検索する。いま、
高優先度のキューの先頭に、タスク5があるためこれが
次に実行されるタスクであることがわかる。さらにタス
ク5のステータステーブルがレディであるためこれをラ
ンにし、タスク5を先頭から起v4jJTる。
(3)実行中のタスクが終了し、割り込み口よって一時
実行が停止されていたタスクを起動する場合。
元の(2)の場合において起動したタスク5が終了した
場合が該当する。このとさ、まず、タスク5を高優先j
主のキー−上からはずし、ステークステーブルなホルト
にする。次にタスクのディスパッチを行なうが、高優先
度のキューにはタスクはない。このため、低優先度のキ
ー−の先頭のタスク8を起動する。しかしながらタスク
8のステータスデープルかウェイトであるため、これを
ランとする。タスク8は先頭から起動されるのでなく、
先に退避したレジスタを復帰し、その状態から起動され
る。
以上のようにタスクはポインターテーブル及びステータ
ステーブルを用いて、行なうことができる。
〔発明が解決しようとする問題点〕
従来のタスクディスパッチ方式は上述のように構成され
ていたため、各タスクの処理優先度が各各異なり、各タ
スクの処理優先度が同定であるような場合であっても各
々キュー!待ってい°C1タスクの起動時1:は必ずキ
ュー上(=並べる必要があったので、リアルタイムモニ
タのオーバーヘッドが大きくなり、処理時間か増大し、
またインデックステーブルのために使用するメモリが増
大してしまうという不都合があった。
本発明は、上記のような問題点を解消するためも=なさ
れたもので、ポインタテーブルをもたずにデイスパツチ
ングのおこなえるタスクディスパッチ方式を得ることを
目的としている。
〔問題点を解決するための手段〕
このためこの発明にかかるタスクディスパッチ方式は、
現在実行中のタスクを示すカレントタスクバッファと、
各タスクのステータス乞示すタスクコントロールテーブ
ルを設け、カレントタスクバッファに示されたタスクが
終了した時、処理優先度の旨いタスクからj娯に上記タ
スクコントロールテーブルを検索して、タスクのディス
パッチングを行うことを特徴とするものである。
〔作用〕
この発明にかかるカレントタスクバッファは現在実行中
のタスクを記憶し、タスクコントロールテーブルは各タ
スクのステータスを記憶している。
ここにおいてカレントバッファに示されたタスクが終了
した時、処理優先度の高いタスクから順にタスクコント
ロールテーブルを検索してタスクのディスパッチを行う
〔発明の実施例〕
以下図面にもとづいて本発明の一実施例を訝明する。
′第1図は本発明のタスクディスパッチ方式の構成図で
、図において1は各タスクのステータスを示すタスクコ
ントロールテーブル、2は現在実行中のタスクの番号を
示すカレントタスクバッファである。
ここにおいて各タスクの処理優先度は各タスクの番号と
一致していて、実行中のタスクはタスク8、レディの状
態にあるタスクはタスク10である。
次にこのように構成された本発明の動作を各場合に分け
て説明する。
(1)実行中のタスクが終了し、下位レベルのタスクを
起動する場合。
いま、実行中のタスク8が終了したとき、カレントタス
クバッファ2で示されるタスクコントロールテーブル1
のタスク8以降の欄を検索し、ウェイト、又はレディの
タスクヲ渡し、タスク10がレディであることを知る。
このとき、カレントタスクバッファを10.タスク10
のタスクコントロールテーブル1をボルトとし、タスク
10を起動する。
(2)割り込み等によって一時実行中のタスクを停止し
、より優先順位の高いタスクを起動させる場合。
いま、タスク8が実行中であるとき、イベントの発生に
より、タスク5の起動が要求されたとする。このとき、
ディスパッチャは、タスク8の実行に必要なレジスタを
退避し、タスク8のタスクコントロールテーブル1をウ
ェイトにする。次にタスク5のタスクコントロールテー
ブル1をレディとし、タスクのディスパッチを行なう。
割り込みによるタスクのディスパッチングをする際には
、タスクコントロールテーブル1を先頭から検索する。
このとき、タスク5がレディであることを知り、タスク
5のタスクコントロールテーブル1をボルト、カレント
タスクバッファ2を5とし、タスク5を起動する。
(3)実行中のタスクが終了し、割込み等によって一時
停止されていたタスクを起#J′fる場合。
先の2において起動したタスク5が終了した場合が該当
する。このときまず、カレントタスクバッファ2で示さ
れるタスク5以降のタスクコントロールテーブル11に
検索し、ウェイト又はレディのタスクを捜しタスク8が
ウェイトであることを知る。次に、タスク8のタスクコ
ントロー/l/ テーブル1とホルトとし、カレントタ
スクバッファ2を8とし、タスク8の起動に必要なレジ
スタを復帰し、再起動させる。
以上により、タスクの移行が行なえる。
〔発明の効果〕
以上述べたよう(=この発明によれば、タスクのディス
パッチは各タスクのステータスを示すステータステーブ
ルと、現在実行中のタスクを示すカレントバッファだけ
で行なえるので、使用するメモリ領域を節約することが
でき、かつ各処理貸先度毎に存在していたキューを廃止
できるため、ディスパッチャの動作が簡単になり、従来
よりモディスバッチングのための実行4Kが向上し、こ
れによりオーバーヘッドを少なくすることができるとい
う利点がある。
【図面の簡単な説明】
第1図は本発明のタスクコントロールチーフルとカレン
トタスクバッファの構成図、第2図は従来のタスクディ
スパッチ方式におけるポインタテーブルとステータステ
ーブルの構成図、第3図は従来のタスクディスパッチ方
式におけるキューの一例を示す構成図である。 1・・・タスクコントロールテーブル、2・・・カレン
トバッファ、11・・・ポインタテーブル、12・・・
ステータステーブル。

Claims (2)

    【特許請求の範囲】
  1. (1)処理優先度が固定されたタスクを順次処理するタ
    スクディスパッチ方式において、 現在実行中のタスクを示すカレントタスクバッファと、
    各タスクのステータスを示すタスクコントロールテーブ
    ルを設け、カレントタスクバッファに示されたタスクが
    終了した時、処理優先度の高いタスクから順に上記タス
    クコントロールテーブルを検索して、タスクのディスパ
    ッチングを行うことを特徴とするタスクディスパッチ方
    式。
  2. (2)上記ステータスはタスクとして存在するが起動要
    求が発生していない状態を示すホルトと、起動要求によ
    り実行要求を持っている状態を示すウェイトと、実行中
    であったが処理優先度のより高いタスクの実行または起
    動等により一時実行を停止している状態を示すウェイト
    とからなることを特徴とする特許請求の範囲第1項記載
    のタスクディスパッチ方式。
JP723286A 1986-01-17 1986-01-17 タスクデイスパツチ方式 Pending JPS62165244A (ja)

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)

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) プログラムデイスパツチ処理方式