JPH0778091A - マルチタスク管理方法 - Google Patents

マルチタスク管理方法

Info

Publication number
JPH0778091A
JPH0778091A JP24750993A JP24750993A JPH0778091A JP H0778091 A JPH0778091 A JP H0778091A JP 24750993 A JP24750993 A JP 24750993A JP 24750993 A JP24750993 A JP 24750993A JP H0778091 A JPH0778091 A JP H0778091A
Authority
JP
Japan
Prior art keywords
event
task
control block
code
queued
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
JP24750993A
Other languages
English (en)
Inventor
Toru Kobayashi
徹 小林
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 JP24750993A priority Critical patent/JPH0778091A/ja
Publication of JPH0778091A publication Critical patent/JPH0778091A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 同一のタスクを異なる事象の処理のために多
重に起動し得るようにして、緊急度の高い事象を優先的
に処理し得るようにする。 【構成】 タスク4は事象コード0,1,2 の事象を処理す
る。コード1の事象が発生し、その事象を処理する為に
タスク4を実行している時、タスク制御ブロック3には
コード1の事象制御ブロック8のみがキューイングされ
ている。この状態で、より優先度の高いコード0の事象
が発生すると、割り込み処理部15はタスク4を中断し、
各種レジスタ情報をブロック8に退避し、スケジューラ
2はコード0の事象制御ブロック7をタスク制御ブロッ
ク3にキューイングし、コード0の事象を処理する為に
タスク4を新しく起動する。タスク4がコード0の事象
の処理を終えて終了すると、スケジューラ2はブロック
8に退避されていたレジスタ情報をCPU11に復元して
タスク4を起動し、コード1の事象の処理を中断箇所か
ら再開させる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、情報処理装置における
マルチタスク管理方法に関し、特に複数のタスクから構
成され各タスクに幾つかの事象の処理を分担させるよう
にしたマルチタスク構造の制御プログラムに好適なマル
チタスク管理方法に関する。
【0002】
【従来の技術】伝送制御プログラム等の機器組み込み用
制御プログラムにおいては、複数のタスクによりプログ
ラムが構成されており、各タスクに幾つかの事象の処理
を分担させている。このため、或るタスクで処理すべき
複数の事象が連続して発生した場合、どのような順序で
それらの事象をそのタスクで処理するかが問題となる。
若し、事象の発生順に処理を行うとすると、処理の緊急
度の高い事象がそれより緊急度の低い事象のために後回
しにされ、問題である。
【0003】そこで、例えば特開平2−12433号公
報に見られるように、各タスクで処理すべき事象にそれ
ぞれユニークな事象コードを定めると共に、そのうちの
何れかを特定の事象コードに定め、タスクの停止中に発
生した事象を特定の事象コードの事象以外は事象コード
の昇順にタスク制御ブロックにキューイングするに止め
てタスクのスケジューリングは実行せず、特定の事象コ
ードの事象が発生した時点でそれをキューイングすると
共にタスクをスケジュールして特定事象を処理させ、こ
の特定事象の処理を終えた時点で、タスク制御ブロック
にキューイングされている他の事象を順次に処理させる
マルチタスク管理方法が提案されている。
【0004】
【発明が解決しようとする課題】このような従来方法に
よれば、事象がその事象コードの順番で処理されるの
で、事象コードの値で処理の緊急度を表現すれば、緊急
度の高い事象から優先的に処理することが可能となる。
【0005】しかしながら、特定の事象という概念を導
入して、この特定の事象の発生を契機にタスクのスケジ
ューリングを開始するため、タスクの停止中に発生した
特定事象以外の通常の事象は、特定事象が発生するまで
処理されないことになり、通常の事象の処理が遅延する
ことになる。また、各タスクは処理が終わるまでCPU
の実行権を放棄しないような管理形式が採用されている
ため、タスクが通常の事象を処理している最中に、緊急
度の高い特定の事象が発生しても、それを優先的に処理
することはできない。
【0006】そこで本発明の第1の目的は、同一タスク
を異なる事象の為に多重に起動し得るようにして、タス
ク動作中に、より緊急度の高い事象が発生した場合に
は、タスクの実行を中断して、その緊急度の高い事象の
ためにそのタスクを速やかに動作させ、然もその事象の
処理後には、先に処理していた事象をその中断箇所から
再開できるようにしたマルチタスク管理方法を提供する
ことにある。
【0007】また本発明の第2の目的は、或るタスクで
処理すべき複数の事象が連続して発生した場合に、緊急
度の高い順番で事象を処理し得るようにすることにあ
る。
【0008】
【課題を解決するための手段】本発明は上記の第1の目
的を達成するために、複数のタスクから構成され各タス
クに処理すべき幾つかの事象を分担させるようにしたマ
ルチタスク構造の制御プログラムにおける前記各タスク
を管理するマルチタスク管理方法であって、(a)前記
制御プログラムで処理すべき事象の発生時、CPUで実
行中のタスクを中断して、各種レジスタの値を、前記中
断したタスクのタスク制御ブロックにキューイングされ
ている現処理中の事象に対応する事象制御ブロックに退
避する工程と、(b)前記発生した事象の事象コードお
よび各種レジスタの初期値を含む事象制御ブロックをそ
の事象を処理するタスクのタスク制御ブロックにキュー
イングする工程と、(c)各タスク制御ブロックにキュ
ーイングされている事象制御ブロックのうち、最も優先
度の高い事象に対応する事象制御ブロックを選択する工
程と、(d)該選択した事象制御ブロックに格納されて
いる各種レジスタの値を前記CPUの各種レジスタにセ
ットして、その事象制御ブロックがキューイングされて
いるタスク制御ブロックに対応するタスクを動作させる
工程とを含んでいる。
【0009】なお、前記(c)の工程においては、各事
象制御ブロックに格納された事象コードにより事象の優
先度を判定している。
【0010】また、上記第2の目的をも達成するため
に、前記(b)の工程においては、発生した事象の事象
制御ブロックを、その事象コードの順にソートして、タ
スク制御ブロックにキューイングするようにしている。
【0011】
【作用】今、或るタスクAが処理すべき事象として、事
象コード「0」,「1」,「2」の3つの事象があり、
別のタスクBが処理すべき事象として、事象コード
「3」,「4」,「5」の3つの事象があり、事象コー
ドの値が小さな事象ほど優先度が高いものとする。ま
た、現在タスクAが事象コード「1」の事象を処理する
ために起動されており、タスクAのタスク制御ブロック
には事象コード「1」の事象制御ブロックのみキューイ
ングされており、タスクBのタスク制御ブロックには事
象コード「3」の事象制御ブロックのみがキューイング
されているものとする。
【0012】この状態で、事象コード「2」の事象が発
生すると、CPUで実行中のタスクAが中断されて、各
種レジスタの値が、タスクAのタスク制御ブロックにキ
ューイングされている事象コード「1」の事象制御ブロ
ックに退避され、発生した事象の事象コード「2」およ
び各種レジスタの初期値を含む事象制御ブロックがタス
クAのタスク制御ブロックに事象コードの順(例えば昇
順)にキューイングされ、次に、各タスク制御ブロック
にキューイングされている事象制御ブロックのうち、最
も優先度の高い事象に対応する事象制御ブロックが選択
される。従って、今の場合はタスクAのタスク制御ブロ
ックにキューイングされている事象コード「1」の事象
制御ブロックが選択され、そこに格納されている各種レ
ジスタの値がCPUの各種レジスタに復帰されて、タス
クAが動作する。
【0013】このように、現在実行中の事象より優先度
の低い事象が発生しても、元の事象の処理が継続して実
行される。
【0014】他方、その後、事象コード「0」の事象が
発生すると、CPUで実行中のタスクAが中断されて、
各種レジスタの値が、タスクAのタスク制御ブロックに
キューイングされている事象コード「1」の事象制御ブ
ロックに退避され、発生した事象の事象コード「0」お
よび各種レジスタの初期値を含む事象制御ブロックがタ
スクAのタスク制御ブロックに事象コードの順(例えば
昇順)にキューイングされ、次に、各タスク制御ブロッ
クにキューイングされている事象制御ブロックのうち、
最も優先度の高い事象に対応する事象制御ブロックが選
択される。従って、今の場合はタスクAのタスク制御ブ
ロックにキューイングされている事象コード「0」の事
象制御ブロックが選択され、そこに格納されている各種
レジスタの値がCPUの各種レジスタに復帰されて、タ
スクAが動作する。
【0015】このように、現在実行中の事象より優先度
の高い事象が発生すると、現在実行中の事象の処理が中
断され、優先度の高い事象が処理される。
【0016】その後、タスクAにより事象コード「0」
の事象の処理が終了すると、次に優先度の高い事象コー
ド「1」の事象の処理がその中断箇所からタスクAによ
り再開され、それが終了すると、次に事象コード「2」
の処理がタスクAにより実行され、次に、タスクBによ
り事象コード「3」の事象が処理される。
【0017】
【実施例】次に本発明の実施例について図面を参照して
詳細に説明する。
【0018】図1を参照すると、本発明のマルチタスク
管理方法の一実施例を適用した情報処理装置の一例は、
CPU11とメモリ12と入出力装置等13とこれらを
接続するバス14とで構成されている。
【0019】メモリ12上には、タスク4およびタスク
6で構成されるプログラム10と、スケジューラ2,タ
スク4に対応するタスク制御ブロック3およびタスク6
に対応するタスク制御ブロック5とを含むオペレーティ
ング・システム(OS)9とから構成される機器組み込
み用制御プログラム(以下、単に制御プログラムと言
う)1が設けられている。
【0020】タスク制御ブロック3は、図中に示すよう
に、キューイングポインタ3−1を有し、このキューイ
ングポインタ3−1を先頭に、タスク4で処理すべき事
象に対応する事象制御ブロックが、事象コードの昇順に
キューイングされる。
【0021】各事象制御ブロックは、事象制御ブロック
7,8に例示するように、事象コード7−1,8−1
と、プログラムカウンタやその他の各種レジスタの退避
場所となるレジスタ退避域7−2,8−2とを有してい
る。
【0022】本発明では、各タスク4,6の中断時のレ
ジスタ情報を、そのタスクが動作する原因となった事象
に対応する事象制御ブロック中のレジスタ退避域に退避
する構成を採用しているため、タスク制御ブロック3,
5自体にはレジスタ退避域は設けられていない。なお、
本実施例では、事象制御ブロック自体にレジスタ退避域
を設けたが、メモリ12上に各事象毎のスタックを用意
し、各種レジスタ情報はその事象に対応するスタックに
退避し、スタックのポインタを事象制御ブロックに退避
するようにしても良く、要するに、各事象毎にレジスタ
退避域が存在すれば良い。
【0023】図示していないが、タスク制御ブロック5
もタスク制御ブロック3と同様にキューイングポインタ
を有し、タスク6で処理すべき事象が発生した場合、そ
の事象の事象制御ブロックがタスク制御ブロック5にキ
ューイングされる。
【0024】また、CPU11には、割り込み処理部1
5があり、この割り込み処理部15で、図2および図3
に示すようなスケジューラ起動等の処理がハードウェア
またはファームウェアにより実行される。
【0025】更に、スケジューラ2は、図4および図5
に示すような処理を行うように構成されている。
【0026】以下、本実施例の動作を説明する。
【0027】プログラム10が処理すべき事象にはユニ
ークな事象コードが付与されている。また各事象コード
にはその優先度が与えられている。本実施例の場合、事
象コードの値がその事象の優先度を示し、事象コードの
値が小さいほど、優先度が高くなっている。説明の便宜
上、プログラム10が処理すべき事象が全部で6つあ
り、それぞれの事象コードを「0」,「1」,「2」,
「3」,「4」,「5」とし、タスク4は事象コード
「0」,「1」,「2」の事象を分担し、タスク6は事
象コード「3」,「4」,「5」の事象を分担するもの
とする。
【0028】処理すべき事象が全く発生していない場
合、タスク制御ブロック3,5には1つも事象制御ブロ
ックはキューイングされておらず、タスク4,6は停止
状態になっている。
【0029】この状態で、例えば事象コード「1」,
「3」,「0」,「2」の事象がその順に例えば入出力
装置等13からの割り込みにより発生した場合、各々の
時点で以下のような動作が行われる。
【0030】(1)事象コード「1」の発生時 事象コード「1」の事象が発生すると、CPU11の割
り込み処理部15は図2に示す処理を開始し、先ず、動
作中のタスクが存在するか否かを判別する(S1)。今
の場合、動作中のタスクは存在しないので、速やかにス
ケジューラ2を起動する(S4)。
【0031】スケジューラ2は起動されると、図4に示
す処理を開始する。先ず、処理S21にて事象の発生に
よる起動であることを判別し、発生した事象の事象制御
ブロックを、事象コードの優先度の昇順に、その事象を
処理すべきタスク4に対応するタスク制御ブロック3に
キューイングする(S22)。これにより、図6(a)
に示すように、タスク制御ブロック3に事象コード
「1」の事象制御ブロック71がキューイングされる。
なお、事象制御ブロック71には、事象コードとして
「1」が設定され、また、そのレジスタ退避域には各種
レジスタの初期値(例えばプログラムカウンタについて
はタスク4の先頭番地)が設定される。
【0032】そして、スケジューラ2はタスク起動処理
S24を実行する。
【0033】タスク起動処理S24の詳細は図5に示す
通りであり、先ず、全てのタスク制御ブロック3,5に
キューイングされている先頭の事象制御ブロック中から
事象コードを取り出す(S31)。今の場合、タスク制
御ブロック5には事象制御ブロックは1つもキューイン
グされていないので、タスク制御ブロック3にキューイ
ングされているタスク制御ブロック71だけから事象コ
ード「1」が取り出される。
【0034】次にスケジューラ2は、図5のS32,S
33を経てS36へ進み、タスク制御ブロック3にキュ
ーイングされている先頭の事象制御ブロック71におけ
るレジスタ退避域の内容をCPU11の各種レジスタに
セットして、タスク4を起動する。なお、起動に際して
は、処理すべき事象をタスク4に対して指示する。
【0035】これにより、タスク4がCPU11で実行
される。タスク4は事象コード「1」の事象の処理を開
始する。
【0036】(2)事象コード「3」の事象の発生時 CPU11でタスク4が実行されているときに、事象コ
ード「3」の事象が発生すると、割り込み処理部15は
図2の処理を開始し、動作中のタスク4が存在するの
で、S1からS2へ進み、動作中のタスク4を中断す
る。そして、中断時点のCPU11のプログラムカウン
タやその他各種のレジスタの内容を、中断したタスク4
のタスク制御ブロック3の先頭にキューイングされてい
る事象制御ブロック71におけるレジスタ退避域へセー
ブし(S3)、スケジューラ2を起動する(S4)。
【0037】スケジューラ2は、図4の処理S21から
S22へ進み、発生した事象の事象制御ブロックを、事
象コードの優先度の昇順に、その事象を処理すべきタス
ク6に対応するタスク制御ブロック5にキューイングす
る。これにより、図6(a)に示すように、タスク制御
ブロック5に事象コード「3」の事象制御ブロック73
がキューイングされる。なお、事象制御ブロック73に
は、事象コードとして「3」が設定され、また、そのレ
ジスタ退避域には各種レジスタの初期値(例えばプログ
ラムカウンタについてはタスク6の先頭番地)が設定さ
れる。
【0038】そして、スケジューラ2はタスク起動処理
S24を実行し、先ず、全てのタスク制御ブロック3,
5にキューイングされている先頭の事象制御ブロック中
から事象コードを取り出す(S31)。今の場合、図6
(a)に示すようにタスク制御ブロック3には事象制御
ブロック71が、タスク制御ブロック5には事象制御ブ
ロック73がキューイングされているので、それらから
事象コード「1」,「3」が取り出される。
【0039】次にスケジューラ2は、S32,S33を
経てS34へ進み、これら複数の事象コードの優先度を
比較する。そして、その比較結果に基づき、最高の優先
度の事象コード「1」を含むタスク制御ブロック3を選
択し(S35)、このタスク制御ブロック3にキューイ
ングされている先頭の事象制御ブロック71におけるレ
ジスタ退避域の内容をCPU11の各種レジスタにセッ
トして、タスク4の動作を再開させる(S36)。
【0040】これにより、タスク4がCPU11で実行
され、事象コード「1」の事象にかかる処理が中断箇所
から再開される。
【0041】(3)事象コード「0」の事象の発生時 CPU11でタスク4が実行されているときに、事象コ
ード「0」の事象が発生すると、割り込み処理部15
は、動作中のタスク4が存在するので、図2のS1から
S2へ進み、動作中のタスク4を中断し、中断時点のC
PU11の各種レジスタの内容を、タスク制御ブロック
3の先頭にキューイングされている事象制御ブロック7
1におけるレジスタ退避域へセーブし(S3)、スケジ
ューラ2を起動する(S4)。
【0042】スケジューラ2は、図4の処理S21から
S22へ進み、発生した事象コード「0」の事象制御ブ
ロックを、事象コードの優先度の昇順に、その事象を処
理すべきタスク4に対応するタスク制御ブロック3にキ
ューイングする。これにより、図6(b)に示すよう
に、タスク制御ブロック3に事象コード「0」の事象制
御ブロック70,事象コード「1」の事象制御ブロック
71がその順にキューイングされる。なお、事象制御ブ
ロック70には、事象コードとして「0」が設定され、
また、そのレジスタ退避域には各種レジスタの初期値
(例えばプログラムカウンタについてはタスク4の先頭
番地)が設定される。
【0043】次にスケジューラ2はタスク起動処理S2
4を実行し、全てのタスク制御ブロック3,5にキュー
イングされている先頭の事象制御ブロック中から事象コ
ードを取り出す(S31)。今の場合、図6(b)に示
すようにタスク制御ブロック3には事象制御ブロック7
0が、タスク制御ブロック5には事象制御ブロック73
がキューイングされているので、それらから事象コード
「0」,「3」が取り出される。
【0044】次にスケジューラ2は、図5のS32,S
33を経てS34へ進み、これら複数の事象コード
「0」,「3」の優先度を比較する。そして、その比較
結果に基づき、最高の優先度の事象コード「0」を含む
タスク制御ブロック3を選択し(S35)、このタスク
制御ブロック3にキューイングされている先頭の事象制
御ブロック70におけるレジスタ退避域の内容をCPU
11の各種レジスタにセットして、タスク4を動作させ
る(S36)。
【0045】これにより、事象コード「1」の事象の処
理のために起動されていたタスク4が、事象コード
「0」の事象の処理のために再起動されてCPU11で
実行されることになる。
【0046】(4)事象コード「2」の事象の発生時 CPU11でタスク4が実行されているときに、事象コ
ード「2」の事象が発生すると、割り込み処理部15
は、動作中のタスク4が存在するので、図2のS1から
S2へ進み、動作中のタスク4を中断し、中断時点のC
PU11の各種レジスタの内容を、タスク制御ブロック
3の先頭にキューイングされている事象制御ブロック7
0におけるレジスタ退避域へセーブし(S3)、スケジ
ューラ2を起動する(S4)。
【0047】スケジューラ2は、図4の処理S21から
S22へ進み、発生した事象コード「2」の事象制御ブ
ロックを、事象コードの優先度の昇順に、その事象を処
理すべきタスク4に対応するタスク制御ブロック3にキ
ューイングする。これにより、図6(c)に示すよう
に、タスク制御ブロック3に事象コード「0」の事象制
御ブロック70,事象コード「1」の事象制御ブロック
71,事象コード「2」の事象制御ブロック72がその
順にキューイングされる。なお、事象制御ブロック72
には、事象コードとして「2」が設定され、また、その
レジスタ退避域には各種レジスタの初期値(例えばプロ
グラムカウンタについてはタスク4の先頭番地)が設定
される。
【0048】次にスケジューラ2はタスク起動処理S2
4を実行し、全てのタスク制御ブロック3,5にキュー
イングされている先頭の事象制御ブロック中から事象コ
ードを取り出す(S31)。今の場合、図6(c)に示
すようにタスク制御ブロック3には事象制御ブロック7
0が、タスク制御ブロック5には事象制御ブロック73
がキューイングされているので、それらから事象コード
「0」,「3」が取り出される。この結果、スケジュー
ラ2の図5のS35において、最高の優先度の事象コー
ド「0」を含むタスク制御ブロック3が選択され、この
タスク制御ブロック3にキューイングされている先頭の
事象制御ブロック70におけるレジスタ退避域の内容が
CPU11の各種レジスタにセットされて、タスク4が
起動される。
【0049】これにより、事象コード「0」の事象のた
めに起動されていたタスク4が再びその事象のためにC
PU11で実行され、中断箇所から事象コード「0」の
事象の処理が再開される。
【0050】 (5)事象コード「0」の事象の処理終了時 タスク4が事象コード「0」の事象にかかる処理を終了
すると、終了割り込みがCPU11の割り込み処理部1
5に出され、割り込み処理部15は、図3に示すよう
に、速やかにスケジューラ2を起動する。
【0051】起動されたスケジューラ2は、図4のS2
1において、タスクの終了を判別し、終了したタスク4
が処理した事象制御ブロック(即ち、タスク制御ブロッ
ク3の先頭にキューイングされている事象制御ブロック
70)を、図6(d)に示すようにキューから取り去る
(S23)。そして、図5に示すタスク起動処理を行
う。
【0052】このタスク起動処理では、タスク制御ブロ
ック3,5にキューイングされている先頭の事象制御ブ
ロック中から事象コード「1」,「3」が取り出され
(S31)、次にこれらの優先度が比較され(S3
4)、最高の優先度の事象コード「1」を含むタスク制
御ブロック3が選択され(S35)、このタスク制御ブ
ロック3にキューイングされている先頭の事象制御ブロ
ック71におけるレジスタ退避域の内容がCPU11の
各種レジスタにセットされて、タスク4が起動される
(S36)。
【0053】これにより、タスク4が事象コード「1」
の処理のために再びCPU11で実行され、事象コード
「1」の処理がその中断箇所から再開される。
【0054】以下、事象コード「1」の処理を終えてタ
スク4が終了すると、次に事象コード「2」の事象の処
理を行うべくタスク4が起動され、それが終了すると、
事象コード「3」の事象の処理を中断箇所から再開する
ためにタスク6が起動される。勿論、その間に、現処理
中の事象より優先度の高い事象が発生した場合には、現
処理中の事象の処理が中断され、優先度の高い事象が処
理されることになる。
【0055】
【発明の効果】以上説明したように本発明によれば以下
のような効果を得ることができる。
【0056】同一のタスクを異なる事象の処理のために
多重に起動することを可能にし、事象が発生する毎に、
発生した事象の優先度と現在処理中の事象の優先度とを
比較し、発生した事象の優先度の方が高ければ、現在処
理中の事象の処理を中断して優先的に処理するため、緊
急度の高い事象の処理がそれより緊急度の低い事象のた
めに遅延することがなくなり、また、中断した事象の処
理は中断箇所から再開できるので、処理の無駄が無くな
る。
【0057】優先度の高い事象が優先的に処理されるよ
うにタスクが起動される為、各タスクは事象の優先度を
意識する必要がなくなり、発生事象対処理という図式で
各タスクをプログラミングでき、事象処理の手順が簡単
になる。
【図面の簡単な説明】
【図1】本発明のマルチタスク管理方法の一実施例を適
用した情報処理装置の一例を示すブロック図である。
【図2】事象発生時に割り込み処理部で行われる処理例
を示すフローチャートである。
【図3】タスク終了時に割り込み処理部で行われる処理
例を示すフローチャートである。
【図4】スケジューラの処理例を示すフローチャートで
ある。
【図5】スケジューラのタスク起動処理の詳細を示すフ
ローチャートである。
【図6】タスク制御ブロックにキューイングされる事象
制御ブロックの状態を示す図である。
【符号の説明】
1…機器組み込み用制御プログラム 2…スケジューラ 3,5…タスク制御ブロック 4,6…タスク 7,8,70〜73…事象制御ブロック 7−1,8−1…事象コード 7−2,8−2…レジスタ退避域 9…オペレーティング・システム(OS) 10…プログラム 11…CPU 12…メモリ 13…入出力装置等 14…バス 15…割り込み処理部

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 複数のタスクから構成され各タスクに幾
    つかの処理すべき事象を分担させるようにしたマルチタ
    スク構造の制御プログラムにおける前記各タスクを管理
    するマルチタスク管理方法において、(a)前記制御プ
    ログラムで処理すべき事象の発生時、CPUで実行中の
    タスクを中断して、各種レジスタの値を、前記中断した
    タスクのタスク制御ブロックにキューイングされている
    現処理中の事象に対応する事象制御ブロックに退避する
    工程と、(b)前記発生した事象の事象コードおよび各
    種レジスタの初期値を含む事象制御ブロックをその事象
    を処理するタスクのタスク制御ブロックにキューイング
    する工程と、(c)各タスク制御ブロックにキューイン
    グされている事象制御ブロックのうち、最も優先度の高
    い事象に対応する事象制御ブロックを選択する工程と、
    (d)該選択した事象制御ブロックに格納されている各
    種レジスタの値を前記CPUの各種レジスタにセットし
    て、その事象制御ブロックがキューイングされているタ
    スク制御ブロックに対応するタスクを動作させる工程
    と、を含むことを特徴とするマルチタスク管理方法。
  2. 【請求項2】 前記(c)の工程において、各事象制御
    ブロックに格納された事象コードにより事象の優先度を
    判定することを特徴とする請求項1記載のマルチタスク
    管理方法。
  3. 【請求項3】 前記(b)の工程において、発生した事
    象の事象制御ブロックを、その事象コードの順に、タス
    ク制御ブロックにキューイングすることを特徴とする請
    求項2記載のマルチタスク管理方法。
JP24750993A 1993-09-08 1993-09-08 マルチタスク管理方法 Pending JPH0778091A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP24750993A JPH0778091A (ja) 1993-09-08 1993-09-08 マルチタスク管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24750993A JPH0778091A (ja) 1993-09-08 1993-09-08 マルチタスク管理方法

Publications (1)

Publication Number Publication Date
JPH0778091A true JPH0778091A (ja) 1995-03-20

Family

ID=17164543

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24750993A Pending JPH0778091A (ja) 1993-09-08 1993-09-08 マルチタスク管理方法

Country Status (1)

Country Link
JP (1) JPH0778091A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19608204C2 (de) * 1996-03-04 1998-04-16 Siemens Ag Verfahren und Anordnung zur Übertragung von Informationen über die Funkschnittstelle zwischen einer Teilnehmereinrichtung und einer Netzeinrichtung eines zellularen Mobilfunknetzes
JP2015090548A (ja) * 2013-11-05 2015-05-11 オムロン株式会社 制御装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01220040A (ja) * 1988-02-29 1989-09-01 Nippon Telegr & Teleph Corp <Ntt> タスクスケジューリング方式

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01220040A (ja) * 1988-02-29 1989-09-01 Nippon Telegr & Teleph Corp <Ntt> タスクスケジューリング方式

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19608204C2 (de) * 1996-03-04 1998-04-16 Siemens Ag Verfahren und Anordnung zur Übertragung von Informationen über die Funkschnittstelle zwischen einer Teilnehmereinrichtung und einer Netzeinrichtung eines zellularen Mobilfunknetzes
JP2015090548A (ja) * 2013-11-05 2015-05-11 オムロン株式会社 制御装置

Similar Documents

Publication Publication Date Title
JP3037182B2 (ja) タスク管理方式
US6006247A (en) Method and system for scheduling threads and handling exceptions within a multiprocessor data processing system
KR970016979A (ko) 다중 처리 시스템에서 타스크의 큐잉 시스템 및 방법
JP3717951B2 (ja) デッドロック回避システムおよび方法
JP2636722B2 (ja) マルチタスク実行管理方式
JP3644042B2 (ja) マルチタスク処理装置
JPH0778091A (ja) マルチタスク管理方法
JP2693916B2 (ja) タスクスケジュール方法
CN118689599A (zh) 中断处理的方法、装置和电子设备
JPH1063515A (ja) マルチタスク制御のスケジューリング方法
JP2597283B2 (ja) 割込みにおけるスケジューリング方式
JP3524961B2 (ja) マルチプロセッサシステムおよび同システムにおけるタスクスケジューリング方法
JP3169316B2 (ja) タスクスケジューリング方法
JPS63636A (ja) タスク制御方式
JPH01258135A (ja) トランザクション実行制御方式
JP2000047881A (ja) リアルタイムシステム
JP2000353100A (ja) タスク処理システム
JP4535663B2 (ja) ステートマシン制御方式およびステートマシン
JP2591036B2 (ja) 入出力制御方法
JPH01216432A (ja) マルチタスクシステム
JPH03188531A (ja) 時分割マルチタスク実行装置
CN117234678A (zh) 控制程序部分的流程的方法和装置、编程方法、编程装置
JPS5822454A (ja) ジヨブスケジユ−リング機構
JPS63136233A (ja) タイマサ−ビス利用プロセスのスケジユ−ル方式
JP2000066903A (ja) 割り込み処理システムおよび割り込み処理方法