JPH01220040A - タスクスケジューリング方式 - Google Patents
タスクスケジューリング方式Info
- Publication number
- JPH01220040A JPH01220040A JP4713488A JP4713488A JPH01220040A JP H01220040 A JPH01220040 A JP H01220040A JP 4713488 A JP4713488 A JP 4713488A JP 4713488 A JP4713488 A JP 4713488A JP H01220040 A JPH01220040 A JP H01220040A
- Authority
- JP
- Japan
- Prior art keywords
- interrupt
- task
- level
- execution
- processing
- 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
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、情報処理装置のタスクスケジューリング方式
に係り、詳しくは、リアルタイムシステムにおける複数
のタスクの並列処理を実現するために、タスク実行レベ
ルに従う優先処理を行い、選択されたタスクに対してC
PU資源の割当てを行うタスクスケジューリング方式に
関するものである。
に係り、詳しくは、リアルタイムシステムにおける複数
のタスクの並列処理を実現するために、タスク実行レベ
ルに従う優先処理を行い、選択されたタスクに対してC
PU資源の割当てを行うタスクスケジューリング方式に
関するものである。
従来のこの種タスクスケジューリング方式を第3図によ
り説明する。
り説明する。
従来のタスクスケジューリング方式においては、CPU
資源の割当てを待っているタスクは、タスク実行レベル
毎に設けられたキュー4につながれており、タスクがキ
ューにつながれたときに、タスク実行レベル毎に設けら
れた、タスクのディスパッチ要求の有無を示すキューフ
ラグ1′をセットすることにより、タスクスケジューラ
に対してディスパッチ要求を行う。タスク実行レベルに
応じてタスクのディスパッチを行うタスクスケジューラ
を、全てのタスク実行レベルに対して一つの割込ハンド
ラとして割込ベクタテーブル2中に設置す、さらに一つ
の割込レベル(S)を割込発生フラグ1中に与える。
資源の割当てを待っているタスクは、タスク実行レベル
毎に設けられたキュー4につながれており、タスクがキ
ューにつながれたときに、タスク実行レベル毎に設けら
れた、タスクのディスパッチ要求の有無を示すキューフ
ラグ1′をセットすることにより、タスクスケジューラ
に対してディスパッチ要求を行う。タスク実行レベルに
応じてタスクのディスパッチを行うタスクスケジューラ
を、全てのタスク実行レベルに対して一つの割込ハンド
ラとして割込ベクタテーブル2中に設置す、さらに一つ
の割込レベル(S)を割込発生フラグ1中に与える。
タスク切替え時に起動されるタスクスケジューラは、キ
ューフラグ1′を検索することにより、タスク実行レベ
ルが最も高いタスクに対してCPU資源を与える。スケ
ジューリング契機におけるタスクスケジューラの起動方
法として、プリエンプション発生時には、Sの割込レベ
ルに対応する割込発生フラグをセットすることにより、
タスクスケジューラの起動要求を行う。また、タスク切
替え時には、タスクのコンテキストを保持するためのエ
リアであるコンテキスト制御域6へのタスクのコンテキ
ストが退避されるのに対し、割込発生時には、システム
共通の割込スタック8にタスクのコンテキストが退避さ
れる。
ューフラグ1′を検索することにより、タスク実行レベ
ルが最も高いタスクに対してCPU資源を与える。スケ
ジューリング契機におけるタスクスケジューラの起動方
法として、プリエンプション発生時には、Sの割込レベ
ルに対応する割込発生フラグをセットすることにより、
タスクスケジューラの起動要求を行う。また、タスク切
替え時には、タスクのコンテキストを保持するためのエ
リアであるコンテキスト制御域6へのタスクのコンテキ
ストが退避されるのに対し、割込発生時には、システム
共通の割込スタック8にタスクのコンテキストが退避さ
れる。
上記従来方式によれば、ブリエンプション発生時のタス
クスケジューラの起動を、S割込レベルに対応する割込
発生フラグをセットすることにより行うため、タスクス
ケジューラの起動元のプロダラムでは、ブリエンプショ
ン発生時のみS割込レベルに対応する割込発生フラグを
セットするよう割込発生フラグの設定可否を意識する必
要があり、また、タスクスケジューラは、起動される毎
にキューフラグを検索することにより、ディスパッチす
べきタスクを決定する処理が必要なため、タスクスケジ
ューラの構造が複雑になる。
クスケジューラの起動を、S割込レベルに対応する割込
発生フラグをセットすることにより行うため、タスクス
ケジューラの起動元のプロダラムでは、ブリエンプショ
ン発生時のみS割込レベルに対応する割込発生フラグを
セットするよう割込発生フラグの設定可否を意識する必
要があり、また、タスクスケジューラは、起動される毎
にキューフラグを検索することにより、ディスパッチす
べきタスクを決定する処理が必要なため、タスクスケジ
ューラの構造が複雑になる。
タスク切替え時のコンテキストの退避は、タスクのコン
テキスト制御域に行われるのに対して、割込発生時のコ
ンテキストの退避は、システム共通の割込スタックに対
して行われるため1割込ハンドラからの復帰時にタスク
切替えが起きる場合には、割込スタックからタスクのコ
ンテキスト退避域へのコンテキストの移し替えが必要で
あり、制御論理が複雑になる。
テキスト制御域に行われるのに対して、割込発生時のコ
ンテキストの退避は、システム共通の割込スタックに対
して行われるため1割込ハンドラからの復帰時にタスク
切替えが起きる場合には、割込スタックからタスクのコ
ンテキスト退避域へのコンテキストの移し替えが必要で
あり、制御論理が複雑になる。
本発明の目的は、上記問題点の解決を図り、スケジュー
リング制御と割込処理を同じ処理メカニズムに統一する
ことにより、制御メカニズムの簡明化、効率化を図るこ
とにある。
リング制御と割込処理を同じ処理メカニズムに統一する
ことにより、制御メカニズムの簡明化、効率化を図るこ
とにある。
上記目的を達成するため1本発明のタスクスケジューリ
ング方式においては、割込レベル毎に設けた、割込ハン
ドラの起動要求の有無を示す割込発生フラグをセット及
びリセットする手段と、現行レベルを、実行中タスクに
対応する割込レベルとして保持する現行レベル記憶手段
と、全てのタスクにタスク実行レベルとして割込レベル
を与え、また、全ての割込レベルに対し、割込レベル毎
にディスパッチャを割込ハンドラとして設け、任意の割
込発生フラグをセットすることにより、割込ハンドラの
起動要求を行う手段と、全ての割込レベルに対し、割込
レベル毎にキューを設け、任意の実行中タスクの処理を
中断して割込ハンドラの起動を行う場合、コンテキスト
を、割込発生によりタスク中断からの復帰後にタスクの
正常な処理を継続するために、現行レベルに対応するキ
ューの先頭につながれたメモリエリアへ退避する手段と
を有している。
ング方式においては、割込レベル毎に設けた、割込ハン
ドラの起動要求の有無を示す割込発生フラグをセット及
びリセットする手段と、現行レベルを、実行中タスクに
対応する割込レベルとして保持する現行レベル記憶手段
と、全てのタスクにタスク実行レベルとして割込レベル
を与え、また、全ての割込レベルに対し、割込レベル毎
にディスパッチャを割込ハンドラとして設け、任意の割
込発生フラグをセットすることにより、割込ハンドラの
起動要求を行う手段と、全ての割込レベルに対し、割込
レベル毎にキューを設け、任意の実行中タスクの処理を
中断して割込ハンドラの起動を行う場合、コンテキスト
を、割込発生によりタスク中断からの復帰後にタスクの
正常な処理を継続するために、現行レベルに対応するキ
ューの先頭につながれたメモリエリアへ退避する手段と
を有している。
割込発生フラグをセットすることにより、セットされた
割込発生フラグの割込レベルに対応する割込ハンドラの
起動要求が行われた場合、該セットされた割込発生フラ
グに対応する割込レベルと現行レベルを比較し、現行レ
ベルのほうが優先度が低い場合には、現行レベルに対応
するキューの先頭につながれたメモリエリアへ実行中タ
スクのコンテキストを退避し、現行レベルに対応する割
込発生フラグをセットし、割込要求のあった割込レベル
を新たに現行レベル記憶手段に格納し、割込要求のあっ
た割込レベルに対応する割込発生フラグをリセットし、
該当割込ハンドラ即ちディスパッチャの起動を行う。ま
た、現行レベルのほうが優先度が高いか等しい場合には
1割込要求を保留する。
割込発生フラグの割込レベルに対応する割込ハンドラの
起動要求が行われた場合、該セットされた割込発生フラ
グに対応する割込レベルと現行レベルを比較し、現行レ
ベルのほうが優先度が低い場合には、現行レベルに対応
するキューの先頭につながれたメモリエリアへ実行中タ
スクのコンテキストを退避し、現行レベルに対応する割
込発生フラグをセットし、割込要求のあった割込レベル
を新たに現行レベル記憶手段に格納し、割込要求のあっ
た割込レベルに対応する割込発生フラグをリセットし、
該当割込ハンドラ即ちディスパッチャの起動を行う。ま
た、現行レベルのほうが優先度が高いか等しい場合には
1割込要求を保留する。
割込ハンドラからの復帰命令発行時には、セットされて
いる割込発生フラグの中で、最も実行優先レベルの高い
割込レベルを検出し、検出された割込レベルを新たに現
行レベル記憶手段に格納し、検出された割込レベルに対
応する割込発生フラグをリセットし、割込ハンドラ即ち
ディスパッチャを起動することにより、保留されていた
割込要求を受付ける。起動されたディスパッチャは、対
応する割込レベルのキューの先頭につながれたメモリエ
リアより、コンテキストをロードする。
いる割込発生フラグの中で、最も実行優先レベルの高い
割込レベルを検出し、検出された割込レベルを新たに現
行レベル記憶手段に格納し、検出された割込レベルに対
応する割込発生フラグをリセットし、割込ハンドラ即ち
ディスパッチャを起動することにより、保留されていた
割込要求を受付ける。起動されたディスパッチャは、対
応する割込レベルのキューの先頭につながれたメモリエ
リアより、コンテキストをロードする。
本発明によれば、タスクスケジューリング制御と割込処
理を、同一の処理メカニズムにより行うことができ、処
理メカニズムの簡明化、効率化が図れる。
理を、同一の処理メカニズムにより行うことができ、処
理メカニズムの簡明化、効率化が図れる。
以下、本発明の一実施例について図面により説明する。
第1図は本発明のタスクスケジューリング方式の一実施
例を説明するための原理構成図を示す。
例を説明するための原理構成図を示す。
割込発生フラグ1は割込レベル毎に設けられ、割込ハン
ドラの起動要求の有無を示す。割込が発生したとき、デ
ィスパッチャに対しタスクのディスパッチ要求を行った
とき、または実行中タスクの処理が中断させられたとき
に、該当割込発生フラグをセットすることにより、セッ
トされた割込レベルに対応する割込ハンドラの起動要求
を行う。
ドラの起動要求の有無を示す。割込が発生したとき、デ
ィスパッチャに対しタスクのディスパッチ要求を行った
とき、または実行中タスクの処理が中断させられたとき
に、該当割込発生フラグをセットすることにより、セッ
トされた割込レベルに対応する割込ハンドラの起動要求
を行う。
ベクタテーブル2は、割込レベル毎に用意された割込ハ
ンドラへのポインタ(アドレス)を格納するものであり
、全ての割込レベル毎に独立に、ディスパッチャを割込
ハンドラとして設ける。
ンドラへのポインタ(アドレス)を格納するものであり
、全ての割込レベル毎に独立に、ディスパッチャを割込
ハンドラとして設ける。
現行レベル記憶回路3は、現行レベルを、実行中プログ
ラムに対応する割込レベルとして保持する。キュー4は
、ベクタテーブル2と同じく各割込レベル毎に設けられ
る。
ラムに対応する割込レベルとして保持する。キュー4は
、ベクタテーブル2と同じく各割込レベル毎に設けられ
る。
コンテキスト制御域5は、例えばI10割込や障害割込
等の割込が発生した場合の割込処理を行うためのタスク
のコンテキスト制御域であり、あらかじめシステム初期
設定時にキューにつなげておく。また、該コンテキスト
制御域のつなげたまNにしておくことにより、該タスク
のコンテキスト退避域を確保する。
等の割込が発生した場合の割込処理を行うためのタスク
のコンテキスト制御域であり、あらかじめシステム初期
設定時にキューにつなげておく。また、該コンテキスト
制御域のつなげたまNにしておくことにより、該タスク
のコンテキスト退避域を確保する。
コンテキスト制御域6は、ディスパッチャに対しディス
パッチ要求を出し、CPU資源の割当てを待っているタ
スクのコンテキスト制御域であり、該タスクはディスパ
ッチされるまで、キューで待合わせを行う、また該タス
クはディスパッチされ実行権を与えられても、実行が終
了するまでキューにつなげたまNにしておくことにより
、該タスクのコンテキスト退避域を確保する。
パッチ要求を出し、CPU資源の割当てを待っているタ
スクのコンテキスト制御域であり、該タスクはディスパ
ッチされるまで、キューで待合わせを行う、また該タス
クはディスパッチされ実行権を与えられても、実行が終
了するまでキューにつなげたまNにしておくことにより
、該タスクのコンテキスト退避域を確保する。
割込処理回路7は1割込発生フラグ1がセットされると
、割込要求が行われたことを検出し、セットされた割込
発生フラグと現行レベル記憶回路3の現行レベルを比較
する。二Nで現行レベルのほうが優先度が低い場合には
、実行中タスクの処理は中断されられるため、現行レベ
ルに対応するコンテキスト退避域であるキューの先頭コ
ンテキスト制御域へ実行中タスクのコンテキストを退避
し、中断させられたタスクを後に再度実行させるために
、現行レベルに対応する割込発生フラグ1をセットする
。さらに、割込要求のあった割込レベルを新たな現行レ
ベルとして現行レベル記憶回路3に格納し1割込要求の
あった割込レベルに対応する割込発生フラグ1をリセッ
トし、セットされた割込レベルに対応するベクタテーブ
ル2に格納されている割込ハンドラ・アドレスにより割
込ハンドラを起動する。また、現行レベルのほうが優先
度が高いか等しい場合には、割込要求を保留する。なお
起動された割込ハンドラ即ちディスパッチャは、対応す
る割込レベルのキューの先頭コンテキスト制御域からコ
ンテキストをロードすることにより、タスクのディスパ
ッチを行う。
、割込要求が行われたことを検出し、セットされた割込
発生フラグと現行レベル記憶回路3の現行レベルを比較
する。二Nで現行レベルのほうが優先度が低い場合には
、実行中タスクの処理は中断されられるため、現行レベ
ルに対応するコンテキスト退避域であるキューの先頭コ
ンテキスト制御域へ実行中タスクのコンテキストを退避
し、中断させられたタスクを後に再度実行させるために
、現行レベルに対応する割込発生フラグ1をセットする
。さらに、割込要求のあった割込レベルを新たな現行レ
ベルとして現行レベル記憶回路3に格納し1割込要求の
あった割込レベルに対応する割込発生フラグ1をリセッ
トし、セットされた割込レベルに対応するベクタテーブ
ル2に格納されている割込ハンドラ・アドレスにより割
込ハンドラを起動する。また、現行レベルのほうが優先
度が高いか等しい場合には、割込要求を保留する。なお
起動された割込ハンドラ即ちディスパッチャは、対応す
る割込レベルのキューの先頭コンテキスト制御域からコ
ンテキストをロードすることにより、タスクのディスパ
ッチを行う。
割込ハンドラからの復帰命令発行時には、割込発生回路
7はセットされている割込発生フラグ1の中で、最も実
行優先レベルの高い割込レベルを検出し、検出された割
込レベルを新たに現行レベル記憶回路3に格納し、検出
された割込レベルに対応する割込発生フラグ1をリセッ
トし、ベクタテーブル2により該当割込ハンドラ即ちデ
ィスパッチャを起動することにより、保留されている割
込要求を受付ける。
7はセットされている割込発生フラグ1の中で、最も実
行優先レベルの高い割込レベルを検出し、検出された割
込レベルを新たに現行レベル記憶回路3に格納し、検出
された割込レベルに対応する割込発生フラグ1をリセッ
トし、ベクタテーブル2により該当割込ハンドラ即ちデ
ィスパッチャを起動することにより、保留されている割
込要求を受付ける。
次に、第2図により本発明の詳細な説明する。
第2図は、S2の割込レベルを与えられたタスクBが実
行中に、I2割込レベルの割込が発生し、起動されたI
10処理タスクが、SLの割込レベルを与えられたタス
クAを起床(呼び起こす)する処理を示している。なお
、I10割込が発生したときの割込処理を行うI10処
理タスクにI2の割込レベルを与え、I10処理タスク
はシステム初期設定時にI2割込レベルに対応するキュ
ーにつながれているものとする。
行中に、I2割込レベルの割込が発生し、起動されたI
10処理タスクが、SLの割込レベルを与えられたタス
クAを起床(呼び起こす)する処理を示している。なお
、I10割込が発生したときの割込処理を行うI10処
理タスクにI2の割込レベルを与え、I10処理タスク
はシステム初期設定時にI2割込レベルに対応するキュ
ーにつながれているものとする。
いま、S2の割込レベルが与えられたタスクBが実行中
に、I2の割込レベルに対応する割込即ちI10割込が
発生すると、割込処理回路7は、工2の割込レベルに対
応する割込発生フラグ1をセットする。また、セットさ
れた割込発生フラグに対応する割込レベルと現行レベル
記憶回路3の現行レベル即ちS2の割込レベルとを比較
する。
に、I2の割込レベルに対応する割込即ちI10割込が
発生すると、割込処理回路7は、工2の割込レベルに対
応する割込発生フラグ1をセットする。また、セットさ
れた割込発生フラグに対応する割込レベルと現行レベル
記憶回路3の現行レベル即ちS2の割込レベルとを比較
する。
本例では、セットされた割込発生フラグ1に対応する割
込レベル(I2レベル)のほうが割込処理の実行優先順
位が高いため、タスクBのコンテキストを82の割込レ
ベルに対応するキュー4の先頭コンテキスト制御域6に
退避する。つまり、実行タクス即ちタスクBのコンテキ
スト制御域は、タスクBの処理が終了するまでキュー4
につなげたまNにしておくことにより、タスクBのコン
テキスト退避域6は、−52の割込レベルに対応するキ
ューの先頭に確保される。
込レベル(I2レベル)のほうが割込処理の実行優先順
位が高いため、タスクBのコンテキストを82の割込レ
ベルに対応するキュー4の先頭コンテキスト制御域6に
退避する。つまり、実行タクス即ちタスクBのコンテキ
スト制御域は、タスクBの処理が終了するまでキュー4
につなげたまNにしておくことにより、タスクBのコン
テキスト退避域6は、−52の割込レベルに対応するキ
ューの先頭に確保される。
次に、割込処理回路7は、S2の割込レベルに対応する
割込発生フラグ1をセットし、I2割込レベルを新たな
現仔レベルとして現行レベル記憶回路3に格納した後、
工2の割込レベルに対応する割込発生フラグ1をリセッ
トする。そして、工2の割込レベルに対応する割込ベク
タテーブル2に格納されているI2レベルディスパッチ
ャ・アドレスにより、I2レベルの割込ハンドラ即ちデ
ィスパッチャを起動する。
割込発生フラグ1をセットし、I2割込レベルを新たな
現仔レベルとして現行レベル記憶回路3に格納した後、
工2の割込レベルに対応する割込発生フラグ1をリセッ
トする。そして、工2の割込レベルに対応する割込ベク
タテーブル2に格納されているI2レベルディスパッチ
ャ・アドレスにより、I2レベルの割込ハンドラ即ちデ
ィスパッチャを起動する。
起動されたI2割込レベルのディスパッチャは。
対応する割込レベルのキュー4の先頭タスクであるI1
0処理タスクをディスパッチする。I10処理タスクは
、Slの割込レベルを与えられたタスクAを起床するこ
とにより、タスクAのコンテキスト制御域を81の割込
レベルに対応するキュー4の最後につなげ(ENQ)
、さらにS1割込レベルに対応する割込発生フラグ1を
セットする。
0処理タスクをディスパッチする。I10処理タスクは
、Slの割込レベルを与えられたタスクAを起床するこ
とにより、タスクAのコンテキスト制御域を81の割込
レベルに対応するキュー4の最後につなげ(ENQ)
、さらにS1割込レベルに対応する割込発生フラグ1を
セットする。
この時、現行レベルはI2割込レベルであるため、S1
割込レベルの割込要求は保留される。
割込レベルの割込要求は保留される。
I10処理タスクは処理を終了すると、I2割込レベル
のディスパッチャへリターンし、I2割込レベルのディ
スパッチャは後処理をした後、割込ハンドラからの復帰
命令(リターン)を発行する。
のディスパッチャへリターンし、I2割込レベルのディ
スパッチャは後処理をした後、割込ハンドラからの復帰
命令(リターン)を発行する。
割込ハンドラからの復帰命令が発行されると、割込処理
回路7は5割込要求を受付可能とするが、本例ではこの
時点で一番割込レベルの高いs1割込レベルの割込要求
を受付け、S1割込レベルの割込ハンドラ即ちディスパ
ッチャを起動する。起動されたS1割込レベルのディス
パッチャはs1割込レベルに対応するキュー4の先頭タ
スクであるタスクAをディスパッチャし、タスクAの実
行権を与える。
回路7は5割込要求を受付可能とするが、本例ではこの
時点で一番割込レベルの高いs1割込レベルの割込要求
を受付け、S1割込レベルの割込ハンドラ即ちディスパ
ッチャを起動する。起動されたS1割込レベルのディス
パッチャはs1割込レベルに対応するキュー4の先頭タ
スクであるタスクAをディスパッチャし、タスクAの実
行権を与える。
本発明のタスクスケジューリング方式によれば、次のよ
うな効果が得られる。
うな効果が得られる。
(1)スケジューリング制御を割込処理と同一の処理メ
カニズムで行うことができるため、ブリエンプション発
生時に即座にスケジューラを起動することが可能となり
、リアルタイム性が向上する。
カニズムで行うことができるため、ブリエンプション発
生時に即座にスケジューラを起動することが可能となり
、リアルタイム性が向上する。
(2)タスクをキューにつなぎ込んだときに、割込発生
フラグをセットすることによりディスパッチャの起動要
求を行うので、ディスパッチャの起動元のプログラムは
スケジューリング契機を意識する必要がない。
フラグをセットすることによりディスパッチャの起動要
求を行うので、ディスパッチャの起動元のプログラムは
スケジューリング契機を意識する必要がない。
(3)ディスパッチャがタスクをディスパッチする場合
には、常に対応する割込レベルのキューの先頭から行え
ばよいため、ディスパッチャの構造が簡単になる。
には、常に対応する割込レベルのキューの先頭から行え
ばよいため、ディスパッチャの構造が簡単になる。
(4)割込発生時には、常にキューの先頭コンテキスト
制御域にコンテキストを退避すればよいので、コンテキ
スト退避の一元化が図れ、割込処理回路のハードウェア
化が容易になる。
制御域にコンテキストを退避すればよいので、コンテキ
スト退避の一元化が図れ、割込処理回路のハードウェア
化が容易になる。
(5)従来、任意のタスク実行中に割込の発生を禁止す
る場合には、割込のマスクを行うことにより実現してい
たが、割込の発生を禁止したい割込処理の割込レベルを
、タスクに与えられた割込レベルより低くすることによ
り、従来の割込マスクと同等の機能が実現できる。
る場合には、割込のマスクを行うことにより実現してい
たが、割込の発生を禁止したい割込処理の割込レベルを
、タスクに与えられた割込レベルより低くすることによ
り、従来の割込マスクと同等の機能が実現できる。
第1図は本発明のタスクスケジューリング方式の原理構
成図、第2図は本発明による処理例を説明するための図
、第3図は従来方式を説明するための図である。 1・・・実行発生フラグ、 2・・・割込ベクタテーブル。 3・・・現行レベル記憶回路、 4・・・キュー、5.
6・・・コンテキスト制御域、 7・・・割込処理回路。 第1−・図 第2図 881t 10)Atz夕77 第J 聞 11ユムλスノ叩7
成図、第2図は本発明による処理例を説明するための図
、第3図は従来方式を説明するための図である。 1・・・実行発生フラグ、 2・・・割込ベクタテーブル。 3・・・現行レベル記憶回路、 4・・・キュー、5.
6・・・コンテキスト制御域、 7・・・割込処理回路。 第1−・図 第2図 881t 10)Atz夕77 第J 聞 11ユムλスノ叩7
Claims (1)
- (1)タスクに実行優先順位(以下、タスク実行レベル
と呼ぶ)を与え、任意のタスク実行中に該タスクよりも
タスク実行レベルの高い他のタスクが発生した場合、現
在実行中のタスクの処理を中断してタスク実行レベルの
高い他のタスクを実行可能とし、さらに同一のタスク実
行レベルを与えられたタスクが複数個存在可能なマルチ
タスク環境のタスクに対し、資源の割当てを行う機能と
、割込が発生したときに、割込処理の実行優先順位を示
す割込レベルに応じて割込を受付ける機能を具備する情
報処理装置において、 割込レベル毎に設けた、割込ハンドラの起動要求の有無
を示す割込発生フラグをセット及びリセットする手段と
、 現行レベルを、実行中タスクに対応する割込レベルとし
て保持する現行レベル記憶手段と、全てのタスクにタス
ク実行レベルとして割込レベルを与え、また、全ての割
込レベルに対し、割込レベル毎にディスパッチャを割込
ハンドラとして設け、任意の割込発生フラグをセットす
ることにより、割込ハンドラの起動要求を行う手段と、 全ての割込レベルに対し、割込レベル毎にキューを設け
、任意の実行中タスクの処理を中断して割込ハンドラの
起動を行う場合、タスクの正常な処理を行うために必要
なレジスタ等の制御情報(以下、コンテキストと呼ぶ)
を、割込発生によるタスク中断からの復帰後にタスクの
正常な処理を継続するために、現行レベルに対応するキ
ューの先頭につながれたメモリエリアへ退避する手段と
を有することを特徴とするタスクスケジューリング方式
。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4713488A JPH01220040A (ja) | 1988-02-29 | 1988-02-29 | タスクスケジューリング方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4713488A JPH01220040A (ja) | 1988-02-29 | 1988-02-29 | タスクスケジューリング方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH01220040A true JPH01220040A (ja) | 1989-09-01 |
Family
ID=12766653
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4713488A Pending JPH01220040A (ja) | 1988-02-29 | 1988-02-29 | タスクスケジューリング方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH01220040A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0778091A (ja) * | 1993-09-08 | 1995-03-20 | Nec Corp | マルチタスク管理方法 |
-
1988
- 1988-02-29 JP JP4713488A patent/JPH01220040A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0778091A (ja) * | 1993-09-08 | 1995-03-20 | Nec Corp | マルチタスク管理方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7926062B2 (en) | Interrupt and exception handling for multi-streaming digital processors | |
| US9798595B2 (en) | Transparent user mode scheduling on traditional threading systems | |
| US7650605B2 (en) | Method and apparatus for implementing atomicity of memory operations in dynamic multi-streaming processors | |
| JP2866241B2 (ja) | コンピュータシステムおよびスケジューリング方法 | |
| US6006247A (en) | Method and system for scheduling threads and handling exceptions within a multiprocessor data processing system | |
| US5274823A (en) | Interrupt handling serialization for process level programming | |
| US5666523A (en) | Method and system for distributing asynchronous input from a system input queue to reduce context switches | |
| JP2005284749A (ja) | 並列処理コンピュータ | |
| US11461134B2 (en) | Apparatus and method for deferral scheduling of tasks for operating system on multi-core processor | |
| US7003610B2 (en) | System and method for handling shared resource writes arriving via non-maskable interrupts (NMI) in single thread non-mission critical systems with limited memory space | |
| EP1299801B1 (en) | Method and apparatus for implementing atomicity of memory operations in dynamic multi-streaming processors | |
| Takada et al. | A novel approach to multiprogrammed multiprocessor synchronization for real-time kernels | |
| EP4607348A1 (en) | Preemption in an interrupt driven micro-scheduler technical field | |
| JP3644042B2 (ja) | マルチタスク処理装置 | |
| US7360213B1 (en) | Method for promotion and demotion between system calls and fast kernel calls | |
| CN120216124A (zh) | 一种用户中断事件回调机制实现方法 | |
| WO2000070482A1 (en) | Interrupt and exception handling for multi-streaming digital processors | |
| JPH01220040A (ja) | タスクスケジューリング方式 | |
| US7320044B1 (en) | System, method, and computer program product for interrupt scheduling in processing communication | |
| JPH09160790A (ja) | タスクスケジュール装置及びタスクスケジュール方法 | |
| US20230195523A1 (en) | Semiconductor device, control method for the same, and program | |
| JP2010026575A (ja) | スケジューリング方法およびスケジューリング装置並びにマルチプロセッサシステム | |
| JP2011257973A (ja) | メモリ管理方法及びメモリ管理装置 | |
| JPH03116335A (ja) | 非特権cpuから特権cpuヘの乗り移り方式 | |
| JPH06103224A (ja) | 割込み制御装置 |