JPH08190491A - タスク切り換え方法 - Google Patents

タスク切り換え方法

Info

Publication number
JPH08190491A
JPH08190491A JP1555295A JP1555295A JPH08190491A JP H08190491 A JPH08190491 A JP H08190491A JP 1555295 A JP1555295 A JP 1555295A JP 1555295 A JP1555295 A JP 1555295A JP H08190491 A JPH08190491 A JP H08190491A
Authority
JP
Japan
Prior art keywords
task
data
execution
executed
tasks
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
JP1555295A
Other languages
English (en)
Inventor
Katsumi Kumagai
克己 熊谷
Yoshiaki Jinme
良明 甚目
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.)
Koki Holdings Co Ltd
Original Assignee
Hitachi Koki Co 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 Koki Co Ltd filed Critical Hitachi Koki Co Ltd
Priority to JP1555295A priority Critical patent/JPH08190491A/ja
Publication of JPH08190491A publication Critical patent/JPH08190491A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 本発明の目的は、複数のタスクを時分割によ
り順次実行するリアルタイム処理において、タスクの実
行要求、実行するタスクの決定に要する時間を短縮する
とともに実行優先順位が同等レベル以下のタスクの実行
も可能にすることである。 【構成】 複数個のタスクデータ21が予め作成登録す
るとともにタスクの実行順序が予め登録された実行順序
テーブル25とを備え、実行順序テーブル25に登録さ
れているタスクの実行順序に従い実行するタスクを決定
する際に、順番の回ってきたタスクのタスクデータ21
中のタスクステータス20を検査し、実行可能であれば
該タスクの実行を行うようにしたタスク切り換え方法。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、工作機械等に組み込ん
で機械を制御するプログラムを細かいタスクに分割し、
分割した複数のタスクを時分割方法により順次実行して
いく場合のタスク切り換え方法に関するものである。
【0002】
【従来の技術】従来の時分割によるタスクの切り換え方
法について一例を挙げて説明する。図5に示すタスクデ
ータ35は、タスクの情報を示すデータであり、あるタ
スクの実行要求が発生すると、タスクデータ35を記憶
する領域を確保し、該タスクの実行終了時に記憶領域を
解放する。タスクデータ35は、タスクの実行中、中断
中、待機中を示す状態フラグ31、タスクの実行優先順
位を示す優先順位データ32、タスクを起動する際のレ
ジスタ値、アドレス値等を示す再開データ33、タスク
の次に実行要求が発生したタスクのタスクデータの先頭
アドレスを示す次タスクデータ先頭アドレス34等から
構成されている。
【0003】図6は前記タスクデータ35をコントロー
ルするための起動待ちタスクコントロールブロック38
とタスクデータ35a〜35dの関係を示した図であ
る。起動待ちタスクコントロールブロック38は、各タ
スクデータ35を管理するためのデータバッファであ
り、タスクの実行要求により発生したタスクデータ35
の中で一番早く発生したタスクデータ35の先頭アドレ
スを記憶する先頭タスクデータアドレス36、タスクの
実行要求により発生したタスクデータ35の中で一番遅
く発生したタスクデータ35の先頭アドレスを記憶する
最終タスクデータアドレス37から構成されている。
【0004】あるタスクの実行が要求されると、該タス
クのタスクデータ35を記憶する領域を確保し、該タス
クのタスクデータ35を初期化する。そして確保したタ
スクデータ35の先頭アドレスを最終タスクデータアド
レス37に記憶するとともに該タスクの前に実行要求の
発生したタスクのタスクデータ35の次タスクデータ先
頭アドレスにも記憶する。これにより、実行要求の発生
したタスクのタスクデータ35は繋げられ、実行要求が
発生しているタスクのタスクデータ35を管理すること
が可能となる。
【0005】図6の場合は、各タスクの実行要求によ
り、タスクデータ35a〜35dが発生し、タスクデー
タ35a〜35dのうち、一番早く発生したタスクデー
タは35aであり、タスクデータ35aの先頭アドレス
が先頭タスクデータアドレス36に記憶されている。同
様に、一番遅く発生したタスクデータは35dであり、
タスクデータ35dの先頭アドレスが最終タスクデータ
アドレス37に記憶されている。タスクデータ35aの
次に発生したタスクデータは35bであり、タスクデー
タ35aの次タスクデータ先頭アドレス34aにタスク
データ35bの先頭アドレスが記憶されている。次タス
クデータ先頭アドレス34bには、タスクデータ35c
の先頭アドレスが記憶されている。
【0006】図6の状態において、あるタスクの実行要
求が発生すると、起動待ちタスクコントロールブロック
38及び各タスクデータ35a〜35eの関係は図7の
ようになる。図7において、35eは新たなタスクの実
行要求によって発生したタスクデータである。図6の状
態において、新たにタスクの実行要求が発生すると、そ
のタスクデータ35eを記憶する領域を確保し、タスク
データ35eを初期化する。そして最終タスクデータア
ドレス37にタスクデータ35eの先頭アドレスを記憶
する。さらに、該タスクの前に実行要求の発生したタス
クのタスクデータ35dの次タスクデータ先頭アドレス
34dにタスクデータ35eの先頭アドレスを記憶す
る。
【0007】従来の時分割によるリアルタイム処理で
は、上記した各データを用いて、次のようにタスクの切
り換えが行われる。
【0008】図4は実行するタスクの切り換え時の処理
手順の一例を示したフローチャートであり、タイマ割り
込み等によるタスクの切り換え処理では、タスク中断処
理27、起動タスク決定処理29、タスク起動処理30
が順番に行われる。また、タスクの実行終了によるタス
ク切り換え処理では、タスク実行終了処理28、起動タ
スク決定処理29、タスク起動処理30が順番に行われ
ることを示している。
【0009】仮に、図7の状態においてタスクデータ3
5aのタスク実行中に、タイマ割り込み等により、タス
クの切り換え要求が発生すると、最初にタスク中断処理
27が行われる。タスク中断処理27では、切り換った
時点のレジスタ値、アドレス値等を再開データ33aに
退避し、状態フラグ31aを中断中にセットし、起動タ
スク決定処理29を行う。起動タスク決定処理29で
は、各タスクデータ35の優先順位データ32a〜32
eを比較し、最も優先順位の高いタスクを次に起動する
タスクに決定し、タスク起動処理30を行う。
【0010】仮に、起動タスク決定処理29の結果、タ
スクデータ35bの優先順位が最も高かった場合、タス
ク起動処理30では、決定したタスクの再開データ33
b等を復帰し、さらに、状態フラグ31bを実行中に変
更して、決定したタスクの起動を行う。
【0011】また、タスクの実行終了により、タスク切
り換え要求が発生すると、最初にタスク実行終了処理2
8が行われる。タスク実行終了処理28では、実行が終
了したタスクのタスクデータ35の記憶領域を解放し、
それに伴うタスクデータ35の変更、起動待ちタスクコ
ントロールブロック38の変更等を行う。仮に、図7の
状態において、タスクデータ35bの実行終了により、
タスク切り換え要求が発生すると、タスク実行終了処理
28では、タスクデータ35bの記憶領域を解放し、次
タスクデータ先頭アドレス34aにタスクデータ35c
の先頭アドレスを記憶する(図8)。そして上記と同様
に起動タスク決定処理29、タスク起動処理30を順番
に行う。
【0012】
【発明が解決しようとする課題】上記したように従来の
リアルタイム処理では、起動待ちタスクコントロールブ
ロック38の制御、タスクデータ35を記憶する領域の
確保及び解放、タスクの実行要求時の処理、再開データ
33の退避及び復帰、起動タスク決定処理29は実行す
るタスクを切り換える際に必ず行われる。
【0013】しかし、上記処理に要する時間は、システ
ム全体から見た場合、無駄な時間である。また、上記し
たタスク切り換え方法では、優先順位が高く処理の長い
タスクが実行されると、優先順位が同等レベル以下のタ
スクが長時間実行されない恐れがある。
【0014】本発明の目的は、上記した従来技術の欠点
をなくし、実行要求タスクの登録、決定に要する時間を
短縮するとともにタスクの制御を容易に行えるようにす
ることである。
【0015】
【課題を解決するための手段】工作機械等に組み込んで
機械を制御するプログラムは、パソコン等を用いてアプ
リケーションプログラムを起動するプログラムと違っ
て、システム作成時に予め実行するタスクは決まってい
る。また、システム作成時に予め実行するタスクは決ま
っているため、タスクの基本的な実行順序も予め決定す
ることができる。従って、全タスクのタスクデータを予
め設けておくことにより、起動待ちタスクコントロール
ブロックの制御、タスクデータ記憶領域の確保及び解放
の処理を省くことができる。さらに、タスクの基本的な
実行順序を示す実行順序テーブルの内容を予め設定して
おき、実行順序テーブルに従ってタスクの実行順序を決
定することにより、タスク切り換え時に毎回必ず行って
いた優先順位の比較、起動タスク決定処理に要する時間
を削減することが可能になるとともに特定タスクの長時
間連続処理をなくすことが可能になる。
【0016】タスクの実行要求の有無を示すタスクステ
ータスを各タスクに設け、タスクステータスを実行要求
有りにすることにより、タスクの実行要求が発生したこ
とにし、実行順序テーブルに従って順番が回ってきたと
きに、タスクステータスを検査し、タスクの起動を行う
か否かを決定することによりタスクの実行要求に要する
時間も減少させることができる。
【0017】また、各タスク間の排他、2つ以上のタス
クを同時に実行する等タスク間の関係もシステム作成時
には決定している。従って、各タスク間の関係を示す関
係マトリックステーブルを設け、タスクの実行要求時に
関係マトリックステーブルに基づいて、各タスクのタス
クステータスを変更することにより、タスク間の制御も
容易になる。
【0018】
【作用】この方法では、タスクの実行要求、実行するタ
スクの決定に要する時間を短縮することができるととも
に優先順位が同等レベル以下のタスクの実行が可能にな
る。
【0019】
【実施例】以下実施例図面を参照して本発明タスク切り
換え方法を用いたリアルタイム処理を説明する。図1は
本発明タスク切り換え方法の処理手順の一実施例を示す
フローチャートである。図2及び図9、図10は本発明
タスク切り換え方法で使用されるタスクデータ21及び
実行順序テーブル25、関係マトリックステーブル26
を示す。
【0019】図9の実行順序テーブル25には、カウン
タ値1,2,3・・・Cnに対応して実行するタスク名
を予め登録している。タスクカウンタには、カウンタ値
1〜Cnのいずれかを記憶しており、タスクカウンタに
記憶されているカウンタ値に対応したタスクが次に実行
するタスクの最優先候補となる。
【0020】図2はタスクデータ21であり、予め各タ
スクに必ず1個設けられている。タスクデータ21はタ
スクの情報を示すデータであり、タスクの実行中、中断
中、待機中を示す状態フラグ17、タスクの実行を再開
するときの優先順位を示す再開優先順位データ18、タ
スクを起動する際のレジスタ値、アドレス値等を示す再
開データ19及びタスクの実行要求の有無を示すタスク
ステータス20から構成されている。
【0021】図10の関係マトリックステーブル26に
は、実行要求を発生するタスクに対応して、制御を行う
タスクの処理がタスクごとに予め登録されている。例え
ばタスク1の実行を要求する場合には、図10の関係マ
トリックステーブル26に従ってタスク2〜タスクnの
タスクデータにS12〜S1nの処理を行う。該処理と
は、相手タスクのタスクステータス20、再開データ1
9等を変更することを指し、これらのデータを変更する
ことにより、相手タスクの実行要求を行ったり、実行要
求を取り消したりする。
【0022】最初にタスクの実行要求を発行する方法に
ついて述べる。図3はタスクの実行要求処理を示すフロ
ーチャートである。あるタスクの実行を要求する場合、
タスクのタスクステータス20を実行要求有りにセット
し、図10に示す関係マトリックステーブル26に基づ
いて、他のタスクのタスクデータ21を変更する。
【0023】次に、タスクの切り換え方法について図1
のフローチャートを参照して述べる。タイマ等によりタ
スクの切り換え要求が発生すると、タスク中断処理1、
起動タスク決定処理3、タスク起動処理4の順に各処理
を行いタスクの切り換えを行う。また、タスクの実行終
了により、タスクの切り換え要求が発生すると、タスク
実行終了処理2、起動タスク決定処理3、タスク起動処
理4の順に各処理を行いタスクの切り換えを行う。
【0024】タイマ割り込み等により実行タスクの切り
換え要求が発生すると、タスク中断処理1を行う。タス
ク中断処理1では、実行していたタスクの状態フラグ1
7を中断中にセットし、再開データ19を待避する。こ
れにより、再びこのタスクを実行するときに退避中の再
開データ19を復帰させることにより、該タスクを中断
した状態から引き続いて実行させることができる。
【0025】タスク中断処理1終了後、起動タスク決定
処理3を行う。起動タスク決定処理3ではタスクカウン
タを更新し、実行順序テーブル25に示すカウンタ値に
対応したタスクを選択する。そして選択したタスクのタ
スクステータス20が実行要求有りであれば、該タスク
を次に実行するタスクに決定する。該タスクが実行要求
無しであれば、各タスクの状態フラグ17をチェックし
て実行中断中のタスクを検索する。実行中断中のタスク
があれば、その再開優先順位データ18を検査し、一番
優先順位の高いタスクを次に実行するタスクに決定す
る。中断中のタスクが無かった場合、予め決めておいた
補助タスクを次に実行するタスクに決定する。なお、補
助タスクとは実行要求を発生しているタスクが無い場合
に実行するタスクを指す。
【0026】起動タスク決定処理3終了後、タスク起動
処理4を行う。タスク起動処理4では、状態フラグ17
を実行中に変更し、再開データ19を復帰させ決定した
タスクの実行を行う。タスクの実行終了により実行タス
クの切り換え要求が発生すると、タスク実行終了処理2
を行う。タスク実行終了2処理では、実行していたタス
クのタスクデータ21を初期化する。タスク実行終了処
理2終了後、起動タスク決定処理3を行う。起動タスク
決定処理3では、各タスクの状態フラグ17をチェック
して、実行中断中のタスクを検索する。そして、実行中
断中のタスクのうち、一番優先順位の高いタスクを次に
実行するタスクに決定する。中断中のタスクが無かった
場合、予め決めておいた補助タスクを次に実行するタス
クに決定する。起動タスク決定処理3終了後、タスク起
動処理4を行う。
【0027】
【発明の効果】本発明によれば、予め実行するタスクの
順序を決めているため、実行要求タスクの登録及び実行
するタスクの決定に要する時間を短縮することができる
とともにタスクの制御を容易に行うことができる。
【図面の簡単な説明】
【図1】本発明タスク切り換え方法の一実施例を示すフ
ローチャート。
【図2】本発明で使用されるタスクデータの一例を示す
データ図。
【図3】本発明のタスク実行要求処理を示すフローチャ
ート。
【図4】本発明タスク切り換え方法の処理手順の一例を
示すフローチャート。
【図5】従来のタスク切り換え方法で使用されるタスク
データの一例を示すデータ図。
【図6】従来の起動待ちタスクコントロールブロックと
タスクデータの関係を示すデータ図。
【図7】図6の状態から変化した状態を示すデータ図。
【図8】図7の状態から変化した状態を示すデータ図。
【図9】本発明タスク切り換え方法で使用される実行順
序テーブルを示すテーブル。
【図10】本発明タスク切り換え方法で使用される関係
マトリックステーブルを示すテーブル。
【符号の説明】
1,27…タスク中断処理、2,28…タスク実行終了
処理、3,29…起動タスク決定処理、4,30…タス
ク起動処理、17,31,33a〜33e…状態フラ
グ、18,32,33a〜33e…再開優先順位デー
タ、19,33,33a〜33e…再開データ、20…
タスクステータス、21,35,35a〜35e…タス
クデータ、25…実行順序テーブル、26…関係マトリ
ックステーブル、34,34a〜34e…次タスクデー
タ先頭アドレス、36…先頭タスクデータアドレス、3
7…最終タスクデータアドレス、38…起動待ちタスク
コントロールブロック。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 複数のタスクを時分割により順次実行す
    るリアルタイム処理において、少なくとも、タスクが実
    行中、待機中、中断中のいずれであるかを示す状態フラ
    グ、タスクに実行要求があるか否かを示すタスクステー
    タス、各タスクの実行を再開する時の優先順位を示す再
    開優先順位データ、各タスクを起動する際のレジスタ
    値、アドレス値等を示す再開データからなるタスクデー
    タ及びタスクの実行順序が予め登録された実行順序テー
    ブルを備え、実行順序テーブルに登録されているタスク
    の実行順序に従い実行するタスクを決定する際に、順番
    の回ってきたタスクの前記タスクステータスを検査し、
    実行可能であれば該タスクの実行を行うことを特徴とす
    るタスク切り換え方法。
  2. 【請求項2】 タスクの実行要求時に、該タスクの実行
    が可能であれば、該タスクと同時に実行を行えないタス
    クのタスクステータスを実行要求無しにする等他のタス
    クデータを変更することにより、タスク間の制御を行え
    るようにしたことを特徴とする請求項1記載のタスク切
    り換え方法。
JP1555295A 1995-01-04 1995-01-04 タスク切り換え方法 Pending JPH08190491A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1555295A JPH08190491A (ja) 1995-01-04 1995-01-04 タスク切り換え方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1555295A JPH08190491A (ja) 1995-01-04 1995-01-04 タスク切り換え方法

Publications (1)

Publication Number Publication Date
JPH08190491A true JPH08190491A (ja) 1996-07-23

Family

ID=11891941

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1555295A Pending JPH08190491A (ja) 1995-01-04 1995-01-04 タスク切り換え方法

Country Status (1)

Country Link
JP (1) JPH08190491A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005284906A (ja) * 2004-03-30 2005-10-13 Kyocera Corp 携帯電話端末装置及びプログラム管理方法並びにそのコンピュータプログラム
JP2005284904A (ja) * 2004-03-30 2005-10-13 Kyocera Corp 携帯電話端末装置及びプログラム管理方法並びにそのコンピュータプログラム
US7386707B2 (en) 2002-01-09 2008-06-10 Matsushita Electric Industrial Co., Ltd. Processor and program execution method capable of efficient program execution
JP2009104611A (ja) * 2002-01-09 2009-05-14 Panasonic Corp プロセッサ
US7730479B2 (en) 2004-03-30 2010-06-01 Kyocera Corporation Cell-phone terminal, program management method and computer program of same
US7735087B2 (en) 2003-03-13 2010-06-08 Panasonic Corporation Task switching apparatus, method and program

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7930520B2 (en) 2002-01-09 2011-04-19 Panasonic Corporation Processor and program execution method capable of efficient program execution
US9823946B2 (en) 2002-01-09 2017-11-21 Socionext Inc. Processor and program execution method capable of efficient program execution
US7386707B2 (en) 2002-01-09 2008-06-10 Matsushita Electric Industrial Co., Ltd. Processor and program execution method capable of efficient program execution
JP2009104611A (ja) * 2002-01-09 2009-05-14 Panasonic Corp プロセッサ
JP2009266252A (ja) * 2002-01-09 2009-11-12 Panasonic Corp プロセッサ
US8719827B2 (en) 2002-01-09 2014-05-06 Panasonic Corporation Processor and program execution method capable of efficient program execution
US8006076B2 (en) 2002-01-09 2011-08-23 Panasonic Corporation Processor and program execution method capable of efficient program execution
US7921281B2 (en) 2002-01-09 2011-04-05 Panasonic Corporation Processor and program execution method capable of efficient program execution
US7735087B2 (en) 2003-03-13 2010-06-08 Panasonic Corporation Task switching apparatus, method and program
US7950016B2 (en) 2003-03-13 2011-05-24 Panasonic Corporation Apparatus for switching the task to be completed in a processor by switching to the task assigned time slot
US8276156B2 (en) 2003-03-13 2012-09-25 Panasonic Corporation Task switching based on assigned time slot
JP2005284906A (ja) * 2004-03-30 2005-10-13 Kyocera Corp 携帯電話端末装置及びプログラム管理方法並びにそのコンピュータプログラム
US7730479B2 (en) 2004-03-30 2010-06-01 Kyocera Corporation Cell-phone terminal, program management method and computer program of same
JP2005284904A (ja) * 2004-03-30 2005-10-13 Kyocera Corp 携帯電話端末装置及びプログラム管理方法並びにそのコンピュータプログラム

Similar Documents

Publication Publication Date Title
KR100411384B1 (ko) 에뮬레이션을 통해 클러스터를 활동적으로마이그레이션하기 위한 방법, 시스템 및 프로그램 제품
JPH08190491A (ja) タスク切り換え方法
JPH05233331A (ja) システムを最適に構築するための方法
JPH04284548A (ja) データベース排他制御方式
JP2000315192A (ja) クライアントサーバシステム、サーバ、アプリケーション管理方法及び記録媒体
JP2007179100A (ja) ジョブキューシステムおよびジョブ管理方法、制御プログラム、可読記録媒体
JPH0325624A (ja) プログラム制御方式
JPS628234A (ja) 共用プログラム制御方式
JP2822728B2 (ja) コンピュータシステム
JP3778720B2 (ja) ソフトウェア更新方法
JPH08241212A (ja) タスク管理装置及びその制御方法
JPH03196222A (ja) プログラム入替え方法
JPH02139630A (ja) オンラインタスク入替え装置
JP2976725B2 (ja) 待機システムにおける資源管理方式
CN121233225A (zh) 节点类型的切换方法、电子设备及计算机程序产品
JPH0546452A (ja) コミツトメント制御システム
JPH02211545A (ja) ジョブ実行制御方式
JPS62194559A (ja) 仮想記憶システムにおけるプログラムのメモリスケジユ−ル方式
JPH08263296A (ja) プログラム実行環境保存復元システム
JP2000285031A (ja) コンピューターファイル自動複製装置および方法
JP2887488B2 (ja) マルチプロセス処理装置
JPH10124331A (ja) データ処理方法
JPH076045A (ja) 多重処理システムにおけるメモリ管理方法
JPH02272648A (ja) ファイル再配置方式
JPH04104339A (ja) コンピユータのファイル領域自動割り当て方法