JPH0495137A - オペレーティングシステムのコンテキスト切替方式 - Google Patents
オペレーティングシステムのコンテキスト切替方式Info
- Publication number
- JPH0495137A JPH0495137A JP20851190A JP20851190A JPH0495137A JP H0495137 A JPH0495137 A JP H0495137A JP 20851190 A JP20851190 A JP 20851190A JP 20851190 A JP20851190 A JP 20851190A JP H0495137 A JPH0495137 A JP H0495137A
- Authority
- JP
- Japan
- Prior art keywords
- task
- coprocessor
- context
- cpu
- identifier
- 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
- 238000000034 method Methods 0.000 title claims description 11
- 238000010586 diagram Methods 0.000 description 10
- 238000007667 floating Methods 0.000 description 2
- 230000004043 responsiveness Effects 0.000 description 2
- 238000004904 shortening Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
Landscapes
- Multi Processors (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、リアルタイムオペレーティングシステムにお
けるタスクコンテキストの切替方式に間する。
けるタスクコンテキストの切替方式に間する。
ロボット、NC,ファクシミリ等の機械系を含む制御分
野では、発生した事象に対する応答性と高速処理が要求
される。この様な分野におけるオペレーティングシステ
ムは、(1)機能を単純にして処理オーバーヘッドを短
くすること、(2)割込みの禁止時間を短縮して、発生
した事象に対する応答性を向上させることに重点をおい
て設計される。この様なオペレーティングシステムは、
特にリアルタイムオペレーティングシステム(以下RT
O3という)と呼ばれる。
野では、発生した事象に対する応答性と高速処理が要求
される。この様な分野におけるオペレーティングシステ
ムは、(1)機能を単純にして処理オーバーヘッドを短
くすること、(2)割込みの禁止時間を短縮して、発生
した事象に対する応答性を向上させることに重点をおい
て設計される。この様なオペレーティングシステムは、
特にリアルタイムオペレーティングシステム(以下RT
O3という)と呼ばれる。
今、RTOSが動作するシステムとして、日本電気製の
16ビツトCPUμPD70136を使用したシステム
を考える。第4図がそのハードウェア構成の例を示した
図である0図において、11がアドレスバス、12がデ
ータバス、13はCPU(μPD70136)、14が
割込みコントローラ(μPD71059)、15がイン
ターバルタイマ(μPD71054)= 16がRAM
、17がROM、18が割込みコントローラ14からC
PUIへの割込み信号路、19がCPU13から割込み
コントローラ14への割込み受付は信号路、20がイン
ターバルタイマ15から割込みコントローラ14への割
込み信号路である。
16ビツトCPUμPD70136を使用したシステム
を考える。第4図がそのハードウェア構成の例を示した
図である0図において、11がアドレスバス、12がデ
ータバス、13はCPU(μPD70136)、14が
割込みコントローラ(μPD71059)、15がイン
ターバルタイマ(μPD71054)= 16がRAM
、17がROM、18が割込みコントローラ14からC
PUIへの割込み信号路、19がCPU13から割込み
コントローラ14への割込み受付は信号路、20がイン
ターバルタイマ15から割込みコントローラ14への割
込み信号路である。
RTOSでは、アプリケーションプログラムは、タスク
として動作する。このタスクには、優先順位と、タスク
識別子が与えられ管理される。
として動作する。このタスクには、優先順位と、タスク
識別子が与えられ管理される。
RTOSは、それぞれのタスクに対応したタスクコント
ロールブロック(以下TCBという)を作成し、タスク
の管理を行なう。このTCB内には、タスク識別子や優
先順位等のタスク固有の情報が格納されており、TCB
の管理は、対応するタスクの状態に応じてRTOSのワ
ーク領域(システムベーステーブル、以下SBTという
)内で行われ、RTOSは、こ゛の様に管理されるタス
クの中から状況に応じた最適なタスクを選択し、CPU
を割当ててゆく。
ロールブロック(以下TCBという)を作成し、タスク
の管理を行なう。このTCB内には、タスク識別子や優
先順位等のタスク固有の情報が格納されており、TCB
の管理は、対応するタスクの状態に応じてRTOSのワ
ーク領域(システムベーステーブル、以下SBTという
)内で行われ、RTOSは、こ゛の様に管理されるタス
クの中から状況に応じた最適なタスクを選択し、CPU
を割当ててゆく。
このタスクの切替えは、様々な状況で発生する。タスク
が切替わる可能性がある代表的な状況としては、 (1)タスクの待ち要因の解除;タスク、割込み処理ル
ーチンによって、待ち状態にあるタスクの待ち要因が解
除された場合 (2)指定時間の経過待ち;一定時間の待ち状態に入っ
たタスクにおいて、指定した時間が経過した場合 (3)要求資源の不足;資源を獲得しようとしたタスク
において、資源が要求数に満たす、待ち状態に入った場
合゛ (4)優先順位の変更;タスクの優先順位を、変更した
場合等がある。
が切替わる可能性がある代表的な状況としては、 (1)タスクの待ち要因の解除;タスク、割込み処理ル
ーチンによって、待ち状態にあるタスクの待ち要因が解
除された場合 (2)指定時間の経過待ち;一定時間の待ち状態に入っ
たタスクにおいて、指定した時間が経過した場合 (3)要求資源の不足;資源を獲得しようとしたタスク
において、資源が要求数に満たす、待ち状態に入った場
合゛ (4)優先順位の変更;タスクの優先順位を、変更した
場合等がある。
例えば、第4図のシステムにおいて、上述の(2)の状
況を想定してみる。RTOSは、一定時間ごとに発生す
るインターバルタイマ15の割込みに対応したRTOS
の割込み処理ルーチンによって、時間管理を行なってお
り、あるタスクが時間経過待ち状態とすると、インター
バルタイマ15の割込みによって、RTOSの割込み処
理ルーチンが起動される。この割込み処理ルーチンは、
時間経過待ちタスクの待ち時間をチエツクし、指定され
ている時間が経過している場合は、そのタスクを実行可
能状態にする。この時、CPU13が割当てられていた
タスクの優先順位よりも、新たに実行可能状態になった
タスクの優先順位の方が高い場合、タスクの切替えがお
こる。
況を想定してみる。RTOSは、一定時間ごとに発生す
るインターバルタイマ15の割込みに対応したRTOS
の割込み処理ルーチンによって、時間管理を行なってお
り、あるタスクが時間経過待ち状態とすると、インター
バルタイマ15の割込みによって、RTOSの割込み処
理ルーチンが起動される。この割込み処理ルーチンは、
時間経過待ちタスクの待ち時間をチエツクし、指定され
ている時間が経過している場合は、そのタスクを実行可
能状態にする。この時、CPU13が割当てられていた
タスクの優先順位よりも、新たに実行可能状態になった
タスクの優先順位の方が高い場合、タスクの切替えがお
こる。
このタスクの切替え動作は第5図のタスク切替えの処理
フロー図により説明される。第6図はタスクのコンテキ
ストの構成を示している。簡単の為に、CPUが割当て
られていたタスクをタスクB、新たに実行可能状態にな
ったタスクをタスクAとする。
フロー図により説明される。第6図はタスクのコンテキ
ストの構成を示している。簡単の為に、CPUが割当て
られていたタスクをタスクB、新たに実行可能状態にな
ったタスクをタスクAとする。
まず、ステップ1で実行可能状態にあるタスクの中から
、最も優先順位の高いタスクを探し、この場合はタスク
Aが選ばれる。つぎに、ステップ2で、このタスクが、
CPUが割当てられていたタスクと同一か否かを判定す
る。ここで、CPUが割当てられていたタスクはタスク
Bであり、タスクの切替えがおこる。まず、ステップ3
でタスクBのコンテキストを退避し、次に、ステップ9
でタスクAのコンテキストを復帰する。この様にして、
タスクBのコンテキストがちタスクAのコンテキストへ
と入替わり、−タスクの切替えが完了する。
、最も優先順位の高いタスクを探し、この場合はタスク
Aが選ばれる。つぎに、ステップ2で、このタスクが、
CPUが割当てられていたタスクと同一か否かを判定す
る。ここで、CPUが割当てられていたタスクはタスク
Bであり、タスクの切替えがおこる。まず、ステップ3
でタスクBのコンテキストを退避し、次に、ステップ9
でタスクAのコンテキストを復帰する。この様にして、
タスクBのコンテキストがちタスクAのコンテキストへ
と入替わり、−タスクの切替えが完了する。
ぃま、CPtJの機能を向上させるために、コプロセッ
サを付加したとする。コプロセッサは、CPUと密に結
合して動作する。また、プログラム上からは、CPUの
命令セットが拡張された様に見え、別のプロセッサとし
て意識する必要が無い等の特徴をもっている。前述した
μPD70136に対しては、浮動小数点演算プロセッ
サμPD72291が、コプロセッサとしである。
サを付加したとする。コプロセッサは、CPUと密に結
合して動作する。また、プログラム上からは、CPUの
命令セットが拡張された様に見え、別のプロセッサとし
て意識する必要が無い等の特徴をもっている。前述した
μPD70136に対しては、浮動小数点演算プロセッ
サμPD72291が、コプロセッサとしである。
第7図は第4図のシステムに浮動小数点演算プロセッサ
のコプロセッサ21が付加された場合を示す。この場合
、コプロセッサ21はCPU13aと密に動作する。従
って、コンテキストは、このコプロセッサ21のコンテ
キストが含まれる事になる。このコプロセッサがある場
合に、増加するコンテキストを第8図に示す。
のコプロセッサ21が付加された場合を示す。この場合
、コプロセッサ21はCPU13aと密に動作する。従
って、コンテキストは、このコプロセッサ21のコンテ
キストが含まれる事になる。このコプロセッサがある場
合に、増加するコンテキストを第8図に示す。
次に、第9図のコプロセッサが付加されたタスク切替え
処理フロー図を参照しながら説明する。
処理フロー図を参照しながら説明する。
この場合、コプロセッサが無い場合と同様の切替え処理
を考える。
を考える。
まず、ステップ1で実行可能状態にあるタスクの中から
、最も優先順位の高いタスクを探し、タスクAが選ばれ
る。つぎに、ステップ2でこのタスクかCPU13aか
割当てられていたタスクと同一か否かを判定し、CPL
Iが割当てられていたタスクかタスクBであるので、タ
スクの切替えがおこる。まず、ステップ3てタスクBの
CPUコンテキストを退避し、次にステップ6でコプロ
セッサ21のコンテキストを退避する。続いて、ステッ
プ8でタスクAのCPUコンテキストを復帰し、ステッ
プ9でコプロセッサのコンテキストを復帰する。この様
にして、タスクBのコンテキストからタスクAのコンテ
キストへと入替わり、タスクの切替えが完了する。
、最も優先順位の高いタスクを探し、タスクAが選ばれ
る。つぎに、ステップ2でこのタスクかCPU13aか
割当てられていたタスクと同一か否かを判定し、CPL
Iが割当てられていたタスクかタスクBであるので、タ
スクの切替えがおこる。まず、ステップ3てタスクBの
CPUコンテキストを退避し、次にステップ6でコプロ
セッサ21のコンテキストを退避する。続いて、ステッ
プ8でタスクAのCPUコンテキストを復帰し、ステッ
プ9でコプロセッサのコンテキストを復帰する。この様
にして、タスクBのコンテキストからタスクAのコンテ
キストへと入替わり、タスクの切替えが完了する。
コプロセッサが付加されるとタスク切替え時に退避復帰
するコンテキストのサイズが増える。前述した場合に、
コプロセッサ無しのシステムでは、退避復帰するコンテ
キストがCPUコンテキストのみであるため、そのサイ
ズが26バイトであるが、コプロセッサのあるシステム
では、これに加えて108バイトのコプロセッサコンテ
キストを退避復帰しなければならず、そのサイズの差は
、実に5倍強にもなる。
するコンテキストのサイズが増える。前述した場合に、
コプロセッサ無しのシステムでは、退避復帰するコンテ
キストがCPUコンテキストのみであるため、そのサイ
ズが26バイトであるが、コプロセッサのあるシステム
では、これに加えて108バイトのコプロセッサコンテ
キストを退避復帰しなければならず、そのサイズの差は
、実に5倍強にもなる。
前述した様に、RTOSは、処理オーバーヘッドと割込
み禁止時間の短縮に重点をおいて設計されなければなら
ないので、RTOSの処理に常に存在するタスク切替え
処理は、処理オーバーヘッドを小さくするうえで大きな
比重を持つ。しかし、タスク切替え時間は、コプロセッ
サをシステムに追加する事によって大幅に増加するとに
なり、RTO8処理に常に存在する処理が大幅に増加す
る事は、処理オーバーヘッドを常に増加させる事になり
、RTOSの性能上の重大な欠点となる。
み禁止時間の短縮に重点をおいて設計されなければなら
ないので、RTOSの処理に常に存在するタスク切替え
処理は、処理オーバーヘッドを小さくするうえで大きな
比重を持つ。しかし、タスク切替え時間は、コプロセッ
サをシステムに追加する事によって大幅に増加するとに
なり、RTO8処理に常に存在する処理が大幅に増加す
る事は、処理オーバーヘッドを常に増加させる事になり
、RTOSの性能上の重大な欠点となる。
また、タスク切替え処理は、割込み禁止状態で行なわれ
るが、通常割込み禁止時間が長くなればなるほど、割込
みの受付が遅延される場合が生じる。この割込み発生間
隔が、割込み禁止時間のよりも短い場合は、発生した割
込みが受付けられる前に、次の割込みが発生する事にな
る。この様な場合には、既に発生している割込みが無視
される事になり、RTOSでは割込みが事象であるので
、その事象に対応し切れなくなる事態が生じると言う事
は、RTOSにとって致命的となる。
るが、通常割込み禁止時間が長くなればなるほど、割込
みの受付が遅延される場合が生じる。この割込み発生間
隔が、割込み禁止時間のよりも短い場合は、発生した割
込みが受付けられる前に、次の割込みが発生する事にな
る。この様な場合には、既に発生している割込みが無視
される事になり、RTOSでは割込みが事象であるので
、その事象に対応し切れなくなる事態が生じると言う事
は、RTOSにとって致命的となる。
本発明の目的は、コプロセッサを必要とするタスクに対
してのみコプロセッサのコンテキストを切替えることに
より、割込み処理の遅延を最小限にして、処理時間を短
縮したプロセッサのコンテキスト切替方式を提供するこ
とにある。
してのみコプロセッサのコンテキストを切替えることに
より、割込み処理の遅延を最小限にして、処理時間を短
縮したプロセッサのコンテキスト切替方式を提供するこ
とにある。
本発明の構成は、CPUにコプロセッサが付加されたシ
ステム上で動作するオペレーティングシステムのコンテ
キスト切替方式において、前記オペレーティングシステ
ム上で動作するタスクが前記コプロセッサを使用するか
否かのコプロセッサ情報を保持する第1の情報保持手段
と、前記コプロセッサを使用しているタスクのタスク識
別子を保持する第2の情報保持手段と、任意のタスクの
前記コプロセッサ情報を検索する第1の検索手段と、任
意のタスクのタスク識別子を検索する第2の検索手段と
、前記第1の情報保持手段の保持するタスク識別子と前
記第2の検索手段の検索したタスク識別子とを比較する
比較手段とを有し、新たにCPtJを割当てられるタス
クのコプロセッサ情報を前記第1の検索手段により検索
し、この割当てられるタスクがコプロセッサを使用する
場合に、前記第2の情報保持手段に保持されたタスク識
別子と前記CPUを割当てられるタスクのタスク識別子
とを前記比較手段により比較し、この比較結果が同一の
場合にコプロセッサコンテキストの切替を行なわず、そ
の比較結果が異なる場合に前記コプロセッサコンテキス
トの切替を行うことを特徴とする。
ステム上で動作するオペレーティングシステムのコンテ
キスト切替方式において、前記オペレーティングシステ
ム上で動作するタスクが前記コプロセッサを使用するか
否かのコプロセッサ情報を保持する第1の情報保持手段
と、前記コプロセッサを使用しているタスクのタスク識
別子を保持する第2の情報保持手段と、任意のタスクの
前記コプロセッサ情報を検索する第1の検索手段と、任
意のタスクのタスク識別子を検索する第2の検索手段と
、前記第1の情報保持手段の保持するタスク識別子と前
記第2の検索手段の検索したタスク識別子とを比較する
比較手段とを有し、新たにCPtJを割当てられるタス
クのコプロセッサ情報を前記第1の検索手段により検索
し、この割当てられるタスクがコプロセッサを使用する
場合に、前記第2の情報保持手段に保持されたタスク識
別子と前記CPUを割当てられるタスクのタスク識別子
とを前記比較手段により比較し、この比較結果が同一の
場合にコプロセッサコンテキストの切替を行なわず、そ
の比較結果が異なる場合に前記コプロセッサコンテキス
トの切替を行うことを特徴とする。
次に本発明について図面を参照して説明する。
第1図は本発明の一実施例のタスク切替え処理を説明す
るフロー図、第2図はシステムベーステーブル内に設け
られ現在コプロセッサを使用しているタスクのタスク識
別子を格納する領域を示した図、第3図はTC’B内に
設けられタスクがコプロセッサを使用するか否かを示す
データを格納する領域を示した図である。この場合、コ
プロセッサ使用オプションがrl、のときコプロセッサ
を使用し、「0」のときコプロセッサを使用しないとい
う意味である。
るフロー図、第2図はシステムベーステーブル内に設け
られ現在コプロセッサを使用しているタスクのタスク識
別子を格納する領域を示した図、第3図はTC’B内に
設けられタスクがコプロセッサを使用するか否かを示す
データを格納する領域を示した図である。この場合、コ
プロセッサ使用オプションがrl、のときコプロセッサ
を使用し、「0」のときコプロセッサを使用しないとい
う意味である。
次に、本実施例の動作を説明する。この場合、タスクの
状態は従来例の場合と同様である。
状態は従来例の場合と同様である。
最初に、タスクB、タスクA共に、コプロセッサ使用オ
プションが「1」、即ち「コプロセッサを使用する」場
合を考える。
プションが「1」、即ち「コプロセッサを使用する」場
合を考える。
ます、ステップ1で、実行可能状態にあるタスクの中か
ら、最も優先順位の高いタスクを探し、この場合はタス
クAが選ばれる0次に、ステップ2で、このタスクが、
CP−Uが割当てられていたタスクと同一か否かを判定
し、CPUが割当てられていたタスクは、タスクBであ
り、′タスクの切替えがおこる。まず、ステップ3で、
タスクBのCPUコンテキストを退避する0次に、ステ
ップ4でタスクAのコプロセッサ使用オプションをチエ
ツクする。この場合、タスクAは、コプロセッサを使用
する為に、ステップ5で、第2図に示した領域に格納し
であるタスク識別子とタス−りAのタスク識別子とを比
較する。前者のタスク識別子は、タスクBの識別子であ
り、従って、ステップ6でタスクBのコブロセッサコン
テキス−トの退避を行なう。そして、ステップ7でタス
クAのタスク識別子を第2藺に示した領域nに格納し、
ステップ8でタスクAのコプロセッサジンテキストを復
帰する。続いて、ステップ9でタスクAのCPUコンテ
キストを復帰する。この様にして、タスク゛Bめコンテ
キストからタスクAのコンテキストへと入替わり、タス
クの切替えが完了する。
ら、最も優先順位の高いタスクを探し、この場合はタス
クAが選ばれる0次に、ステップ2で、このタスクが、
CP−Uが割当てられていたタスクと同一か否かを判定
し、CPUが割当てられていたタスクは、タスクBであ
り、′タスクの切替えがおこる。まず、ステップ3で、
タスクBのCPUコンテキストを退避する0次に、ステ
ップ4でタスクAのコプロセッサ使用オプションをチエ
ツクする。この場合、タスクAは、コプロセッサを使用
する為に、ステップ5で、第2図に示した領域に格納し
であるタスク識別子とタス−りAのタスク識別子とを比
較する。前者のタスク識別子は、タスクBの識別子であ
り、従って、ステップ6でタスクBのコブロセッサコン
テキス−トの退避を行なう。そして、ステップ7でタス
クAのタスク識別子を第2藺に示した領域nに格納し、
ステップ8でタスクAのコプロセッサジンテキストを復
帰する。続いて、ステップ9でタスクAのCPUコンテ
キストを復帰する。この様にして、タスク゛Bめコンテ
キストからタスクAのコンテキストへと入替わり、タス
クの切替えが完了する。
次に、タスクBはコプロセッサ使用オプションが「1」
、タスクAはコプロセッサ使用オプションが「0」、即
ちコプロセッサを使用しない場合を゛考える。
′ まずSステップ1で実行可能状態にあるタスクの中から
、最も優先順位の高いタスクを探し、タスクAが選ばれ
る。っ゛ぎに′、ステップ2でこのタスクが、′CPU
が割当てられていた゛タスクと同一か否かを判定する。
、タスクAはコプロセッサ使用オプションが「0」、即
ちコプロセッサを使用しない場合を゛考える。
′ まずSステップ1で実行可能状態にあるタスクの中から
、最も優先順位の高いタスクを探し、タスクAが選ばれ
る。っ゛ぎに′、ステップ2でこのタスクが、′CPU
が割当てられていた゛タスクと同一か否かを判定する。
ここでは、CPLIの割当てられていたタスクは、タス
クBであり、タスクの切替えかおにる。まず、2ステツ
プ3でタスクBのCPUコンテキストを退避し、次に、
ステップ4でタスクAのコプロセッサ使用オプションを
チエツクする。タスクAは、コプロセッサを使用しない
のて、コプロセッサのコンテキストの退避復帰、及び第
2図の領域のタスク識別子の変更は、省略される。続い
て、ステップ9でタスクAのCPUコンテキストを復帰
し、この様にして、タスクBのコンテキストからタスク
Aのコンテキストへと入替り、タスクの切替が完了する
。
クBであり、タスクの切替えかおにる。まず、2ステツ
プ3でタスクBのCPUコンテキストを退避し、次に、
ステップ4でタスクAのコプロセッサ使用オプションを
チエツクする。タスクAは、コプロセッサを使用しない
のて、コプロセッサのコンテキストの退避復帰、及び第
2図の領域のタスク識別子の変更は、省略される。続い
て、ステップ9でタスクAのCPUコンテキストを復帰
し、この様にして、タスクBのコンテキストからタスク
Aのコンテキストへと入替り、タスクの切替が完了する
。
最後に、再υタスクAが指定時間経過待ちになり、タス
クBにCPUが割当てられる場合を考える。
クBにCPUが割当てられる場合を考える。
まず、ステ′ツブ1で実行可能状態にあるタスクの中か
ら、最も優先順位の高いタスクを探し、タスクBが選ば
れる。つぎに、ステップ2でこのタスクがCPUに割当
てられていたタスクと同一が否かを判定し、C”PUが
割当てられていたタスクがタスクAであり、タスクの切
替えかおこる。まず、ステップ3でタスクAのCPUコ
ンテキストを退避し、次にステップ4てタスクBのコプ
ロセッサ使用オプションをチエツクする。ここでタスス
Bは、コプロセッサを使用するため、ステップ5で第2
図に示した領域に格納しであるタスク識別子とタスクB
のタスク識別子とを比較する。前者のタスク識別子は、
タスクBの識別子である。
ら、最も優先順位の高いタスクを探し、タスクBが選ば
れる。つぎに、ステップ2でこのタスクがCPUに割当
てられていたタスクと同一が否かを判定し、C”PUが
割当てられていたタスクがタスクAであり、タスクの切
替えかおこる。まず、ステップ3でタスクAのCPUコ
ンテキストを退避し、次にステップ4てタスクBのコプ
ロセッサ使用オプションをチエツクする。ここでタスス
Bは、コプロセッサを使用するため、ステップ5で第2
図に示した領域に格納しであるタスク識別子とタスクB
のタスク識別子とを比較する。前者のタスク識別子は、
タスクBの識別子である。
従って、コプロセッサのコンテキストの退避復帰は、省
略される。続いて、ステップ9てタスクBのCPUコン
テキストを復帰する。この様にして、タスクAのコンテ
キストからタスクBのコンテキストへと入替わり、タス
クの切替えが完了する。
略される。続いて、ステップ9てタスクBのCPUコン
テキストを復帰する。この様にして、タスクAのコンテ
キストからタスクBのコンテキストへと入替わり、タス
クの切替えが完了する。
以上の説明で明らかなように、本発明は、コプロセッサ
を使用するタスクと使用しないタスクとを識別し、コプ
ロセッサを使用しないタスクにCPUが割当てられる場
合は、CPUコンテキストと比較してサイズの大きなコ
プロセッサコンテキストの退避復帰を省略する事ができ
、従ってタスク切替え時にかかる処理時間を短縮し、割
込み禁止時間を短くする事かでき、RTO3にとって致
命的となる割込み処理の遅延を最小限に押える事か可能
となる。
を使用するタスクと使用しないタスクとを識別し、コプ
ロセッサを使用しないタスクにCPUが割当てられる場
合は、CPUコンテキストと比較してサイズの大きなコ
プロセッサコンテキストの退避復帰を省略する事ができ
、従ってタスク切替え時にかかる処理時間を短縮し、割
込み禁止時間を短くする事かでき、RTO3にとって致
命的となる割込み処理の遅延を最小限に押える事か可能
となる。
また、コプロセッサのコンテキストは、次にコプロセッ
サを使用するタスクにCPUか割当てられるまではその
ままてあり、タスク切替え処理において、コプロセッサ
コンテキストか退避されず、システムベーステーブルの
コプロセッサ使用タスク識別子も変更されない。従って
、前述したタスクの切替わりがあった後、再びタスクB
にCPUが割当てられる場合は、コプロセッサのコンテ
キストを切替え処理を省略する事ができ、この場合も、
タスク切替え時にかかる処理時間を短縮し、割込み禁止
時間を短くする事ができる。
サを使用するタスクにCPUか割当てられるまではその
ままてあり、タスク切替え処理において、コプロセッサ
コンテキストか退避されず、システムベーステーブルの
コプロセッサ使用タスク識別子も変更されない。従って
、前述したタスクの切替わりがあった後、再びタスクB
にCPUが割当てられる場合は、コプロセッサのコンテ
キストを切替え処理を省略する事ができ、この場合も、
タスク切替え時にかかる処理時間を短縮し、割込み禁止
時間を短くする事ができる。
第1図は本発明の一実施例を説明するタスク切替処理の
フロー図、第2図は第1図におけるシステムベーステー
ブル内に設けたコプロセッサを使用しているタスクのタ
スク識別子を格納する領域を示した模式図、第3図は第
1図におけるTCB内に設けられタスクがコプロセッサ
を使用するか否かを示すテークを格納する領域を示した
模式図、第4図は従来のCPUのみによるRTO3実行
領域を示すブロック図、第5図は第4図のタスク切替え
の処理フロー図、第6図はタスクのコンテキストの構成
を示す配置図、第7図は従来のコプロセッサを含むシス
テムのブロック図、第8図は第7図のコプロセッサがあ
る場合のコンテキストの配置図、第9図は第7図のタス
ク切替え処理フロー図である。 1〜9・・・処理ステップ、11・・・アドレスバス、
12・・・データバス、13.13a・−・CPU、1
4・・・割込みコントローラ、15・・・インターバル
タイマ、16・・・RAM、17・・・ROM、18・
・・割込みコントローラ14からCPU13への割込み
信号路、19・・・CPU13から割込みコントローラ
14への割込み受付は信号路、20・・・インターバル
タイマ15から割込みコントローラ14への割込み信号
路、2トコプロセッサ。
フロー図、第2図は第1図におけるシステムベーステー
ブル内に設けたコプロセッサを使用しているタスクのタ
スク識別子を格納する領域を示した模式図、第3図は第
1図におけるTCB内に設けられタスクがコプロセッサ
を使用するか否かを示すテークを格納する領域を示した
模式図、第4図は従来のCPUのみによるRTO3実行
領域を示すブロック図、第5図は第4図のタスク切替え
の処理フロー図、第6図はタスクのコンテキストの構成
を示す配置図、第7図は従来のコプロセッサを含むシス
テムのブロック図、第8図は第7図のコプロセッサがあ
る場合のコンテキストの配置図、第9図は第7図のタス
ク切替え処理フロー図である。 1〜9・・・処理ステップ、11・・・アドレスバス、
12・・・データバス、13.13a・−・CPU、1
4・・・割込みコントローラ、15・・・インターバル
タイマ、16・・・RAM、17・・・ROM、18・
・・割込みコントローラ14からCPU13への割込み
信号路、19・・・CPU13から割込みコントローラ
14への割込み受付は信号路、20・・・インターバル
タイマ15から割込みコントローラ14への割込み信号
路、2トコプロセッサ。
Claims (1)
- CPUにコプロセッサが付加されたシステム上で動作す
るオペレーティングシステムのコンテキスト切替方式に
おいて、前記オペレーティングシステム上で動作するタ
スクが前記コプロセッサを使用するか否かのコプロセッ
サ情報を保持する第1の情報保持手段と、前記コプロセ
ッサを使用しているタスクのタスク識別子を保持する第
2の情報保持手段と、任意のタスクの前記コプロセッサ
情報を検索する第1の検索手段と、任意のタスクのタス
ク識別子を検索する第2の検索手段と、前記第1の情報
保持手段の保持するタスク識別子と前記第2の検索手段
の検索したタスク識別子とを比較する比較手段とを有し
、新たにCPUを割当てられるタスクのコプロセッサ情
報を前記第1の検索手段により検索し、この割当てられ
るタスクがコプロセッサを使用する場合に、前記第2の
情報保持手段に保持されたタスク識別子と前記CPUを
割当てられるタスクのタスク識別子とを前記比較手段に
より比較し、この比較結果が同一の場合にコプロセッサ
コンテキストの切替を行なわず、その比較結果が異なる
場合に前記コプロセッサコンテキストの切替を行うこと
を特徴とするオペレーティングシステムのコンテキスト
切替方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP20851190A JPH0495137A (ja) | 1990-08-07 | 1990-08-07 | オペレーティングシステムのコンテキスト切替方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP20851190A JPH0495137A (ja) | 1990-08-07 | 1990-08-07 | オペレーティングシステムのコンテキスト切替方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0495137A true JPH0495137A (ja) | 1992-03-27 |
Family
ID=16557378
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP20851190A Pending JPH0495137A (ja) | 1990-08-07 | 1990-08-07 | オペレーティングシステムのコンテキスト切替方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0495137A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003233508A (ja) * | 2002-01-04 | 2003-08-22 | Microsoft Corp | コンピューティングシステム中のコプロセッサの計算リソースを制御するための方法およびコンピューティング装置 |
WO2011135759A1 (ja) | 2010-04-30 | 2011-11-03 | 日本電気株式会社 | 情報処理装置及びタスク切り替え方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62221732A (ja) * | 1986-03-24 | 1987-09-29 | Nec Corp | 情報処理装置 |
-
1990
- 1990-08-07 JP JP20851190A patent/JPH0495137A/ja active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62221732A (ja) * | 1986-03-24 | 1987-09-29 | Nec Corp | 情報処理装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003233508A (ja) * | 2002-01-04 | 2003-08-22 | Microsoft Corp | コンピューティングシステム中のコプロセッサの計算リソースを制御するための方法およびコンピューティング装置 |
US7631309B2 (en) | 2002-01-04 | 2009-12-08 | Microsoft Corporation | Methods and system for managing computational resources of a coprocessor in a computing system |
WO2011135759A1 (ja) | 2010-04-30 | 2011-11-03 | 日本電気株式会社 | 情報処理装置及びタスク切り替え方法 |
JPWO2011135759A1 (ja) * | 2010-04-30 | 2013-07-18 | 日本電気株式会社 | 情報処理装置及びタスク切り替え方法 |
US9043806B2 (en) | 2010-04-30 | 2015-05-26 | Nec Corporation | Information processing device and task switching method |
JP5776688B2 (ja) * | 2010-04-30 | 2015-09-09 | 日本電気株式会社 | 情報処理装置及びタスク切り替え方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100746797B1 (ko) | 프로세서 및 정보처리 방법 | |
US6006247A (en) | Method and system for scheduling threads and handling exceptions within a multiprocessor data processing system | |
US7926062B2 (en) | Interrupt and exception handling for multi-streaming digital processors | |
US7412590B2 (en) | Information processing apparatus and context switching method | |
US5526521A (en) | Method and system for process scheduling from within a current context and switching contexts only when the next scheduled context is different | |
EP1189137A1 (en) | Interruption managing device and interruption managing method | |
JPH0495137A (ja) | オペレーティングシステムのコンテキスト切替方式 | |
JPH08297581A (ja) | リアルタイム・オペレーティングシステムにおける割り込み管理方式 | |
JPH05108380A (ja) | データ処理システム | |
WO2000070482A1 (en) | Interrupt and exception handling for multi-streaming digital processors | |
JPH0451329A (ja) | コンテキスト切替装置 | |
JPH09282188A (ja) | 割込処理方法およびこの方法を用いたシステム | |
JPH0414376B2 (ja) | ||
JPH05113887A (ja) | コンピユータシステム | |
JPH06119190A (ja) | タスク切替処理方式 | |
JPH07114517A (ja) | マルチプロセッサシステムのプログラム実行制御方式 | |
JPH02139630A (ja) | オンラインタスク入替え装置 | |
JP2001282555A (ja) | コンピュータシステムのプロセス管理方式 | |
JPH0340139A (ja) | マルチタスクシステムにおけるコンテキスト切換方法 | |
JP2000315162A (ja) | 制御ブロック処理装置及び制御ブロック処理プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JPH02173828A (ja) | 割込み処理方式 | |
JPH03182945A (ja) | 主記憶内データ転送方式 | |
JPH03116335A (ja) | 非特権cpuから特権cpuヘの乗り移り方式 | |
JPH0474230A (ja) | 割り込み制御方式 | |
JPH06103224A (ja) | 割込み制御装置 |