JPH04155532A - タスク切替方式 - Google Patents
タスク切替方式Info
- Publication number
- JPH04155532A JPH04155532A JP28221290A JP28221290A JPH04155532A JP H04155532 A JPH04155532 A JP H04155532A JP 28221290 A JP28221290 A JP 28221290A JP 28221290 A JP28221290 A JP 28221290A JP H04155532 A JPH04155532 A JP H04155532A
- Authority
- JP
- Japan
- Prior art keywords
- task
- system call
- registers
- processing
- register
- 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 claims description 22
- 230000006866 deterioration Effects 0.000 abstract 1
- 230000015654 memory Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000003936 working memory Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、複数タスクを計画的に使用してプログラム処
理するマルチタスクシステムを構成するコンピュータシ
ステムでのタスク切替方式に関し、特にタスク環境の退
避・復元方式に関する。
理するマルチタスクシステムを構成するコンピュータシ
ステムでのタスク切替方式に関し、特にタスク環境の退
避・復元方式に関する。
従来、この種のタスク切替方式は、タスクからオペレー
ティングシステム(以後OS)へシステムコールを発行
したとき、OSがタスクで使用中の全レジスタを主記憶
装置のタスク制御記憶領域(以後TCB)に退避させ、
タスク再開のとき該当レジスタを復元させていた。
ティングシステム(以後OS)へシステムコールを発行
したとき、OSがタスクで使用中の全レジスタを主記憶
装置のタスク制御記憶領域(以後TCB)に退避させ、
タスク再開のとき該当レジスタを復元させていた。
これについて、第2図を参照して説明する。第2図は従
来の一例を示すフロー図である。
来の一例を示すフロー図である。
第2図に示すように、タスク1を処理中にシステムコー
ルの発行条件が発生(201)Lなとき、OSへシステ
ムコールが発行(202>される。OSはシステムコー
ルの発行を受けたとき、まずタスク1の処理で使用中の
レジスタのすべての記憶内容を、主記憶装置のTCBに
設定したタスク1記憶領域に記憶退避(203)する。
ルの発行条件が発生(201)Lなとき、OSへシステ
ムコールが発行(202>される。OSはシステムコー
ルの発行を受けたとき、まずタスク1の処理で使用中の
レジスタのすべての記憶内容を、主記憶装置のTCBに
設定したタスク1記憶領域に記憶退避(203)する。
次いで、OSはシステムコール処理(204)したのち
、タスクの選択処理(205)によりタスク2を選択し
、選択したタスク2を起動するときTCBのタスク2記
憶領域から退避した内容をレジスタに復元(2,06)
する。手順206により、タスク2が処理再開(207
)L、次のシステムコールの発行条件発生(208>で
OSにシステムコールを発行(209)する手順が続く
。
、タスクの選択処理(205)によりタスク2を選択し
、選択したタスク2を起動するときTCBのタスク2記
憶領域から退避した内容をレジスタに復元(2,06)
する。手順206により、タスク2が処理再開(207
)L、次のシステムコールの発行条件発生(208>で
OSにシステムコールを発行(209)する手順が続く
。
手j[20Bで、OSか走行中のプログラムが使用中の
全レジスタを退避・復元により保存処理するのは、OS
からは保存の要・不要の判断がつがないためであり、ア
プリケーションプログラムで使用する可能性のあるレジ
スタすべてが保存の対象になるからである。
全レジスタを退避・復元により保存処理するのは、OS
からは保存の要・不要の判断がつがないためであり、ア
プリケーションプログラムで使用する可能性のあるレジ
スタすべてが保存の対象になるからである。
更に、レジスタの退避・復元の際、TCBとレジスタと
の間でメモリ呼出しがあるのて、多数の退避レジスタの
場合、タスク切替時のオーバヘッドとなるOSの処理時
間が増大する。
の間でメモリ呼出しがあるのて、多数の退避レジスタの
場合、タスク切替時のオーバヘッドとなるOSの処理時
間が増大する。
上述のように、従来のタスク切替方式は、オーバヘッド
となる処理時間をもつOSが、通常作業域として使われ
タスク切替時には必ずしも保存する必要のないレジスタ
もすべて保存するように構成されているので、多数のレ
ジスタの保存のためTCBとレジスタ間でメモリアクセ
スが多発しタスク切替頻度の高いシステムではシステム
全体の性能低下を引き起こすという問題点があな。
となる処理時間をもつOSが、通常作業域として使われ
タスク切替時には必ずしも保存する必要のないレジスタ
もすべて保存するように構成されているので、多数のレ
ジスタの保存のためTCBとレジスタ間でメモリアクセ
スが多発しタスク切替頻度の高いシステムではシステム
全体の性能低下を引き起こすという問題点があな。
本発明の目的は、OSが退避処理するレジスタの多数を
プログラム側のタスクで処理することにより、上記問題
点を解決したタスク切替方式を提供することにある。
プログラム側のタスクで処理することにより、上記問題
点を解決したタスク切替方式を提供することにある。
本発明によるタスク切替方式の基本構成は、プログラム
処理中に一つのタスクがオペレーティングシス゛テム(
以後O3)へシステムコールを発行して他のタスク処理
に切替える複数タスクのタスク切替方式において、処理
中にタスクがOSへのシステムコールを発行するとき、
タスク側で使用する所定のレジスタだけを退避したのち
OSへシステムコールを発行し、且つOSからの起動を
受けたとき退避した前記レジスタを復元する一方、OS
はタスクからシステムコールの発行を受けたときOS側
で使用する所定のOS側レジスタを退避させてシステム
コール処理しタスク処理再開を起動するとき退避したO
S側レジスタを復元する。
処理中に一つのタスクがオペレーティングシス゛テム(
以後O3)へシステムコールを発行して他のタスク処理
に切替える複数タスクのタスク切替方式において、処理
中にタスクがOSへのシステムコールを発行するとき、
タスク側で使用する所定のレジスタだけを退避したのち
OSへシステムコールを発行し、且つOSからの起動を
受けたとき退避した前記レジスタを復元する一方、OS
はタスクからシステムコールの発行を受けたときOS側
で使用する所定のOS側レジスタを退避させてシステム
コール処理しタスク処理再開を起動するとき退避したO
S側レジスタを復元する。
また、前記基本構成で記載のタスクおよびOSの一つの
具体化構成は、タスクがシステムコールを発行するとき
走行中のアプリケーションプログラム側で使用するレジ
スタを退避する一方、OSがプログラム状態語用のレジ
スタを退避する。
具体化構成は、タスクがシステムコールを発行するとき
走行中のアプリケーションプログラム側で使用するレジ
スタを退避する一方、OSがプログラム状態語用のレジ
スタを退避する。
次に本発明について図面を参照して説明する。
第1図は本発明の一実施例を示すフロー図である。第1
図によればタスク1がシステムコールを発行する条件が
発生(101)したとき、必ず発生するタスク切替のた
めアプリケーションプログラム(AP)で使用するレジ
スタだけをタスク1の作業記憶領域に退避<102)し
ておく。
図によればタスク1がシステムコールを発行する条件が
発生(101)したとき、必ず発生するタスク切替のた
めアプリケーションプログラム(AP)で使用するレジ
スタだけをタスク1の作業記憶領域に退避<102)し
ておく。
システムコール発行(103)により制御がOSに渡る
とOSはタスク1のプログラム状態語(PSW)用レジ
スタを退避(104)L、要求されたシステムコール処
理(105)を行った後、タスク選択処fl(106)
によりタスク2を選択し、選択したタスク2を起動する
と共にタスク2の退避レジスタを復元(107)する。
とOSはタスク1のプログラム状態語(PSW)用レジ
スタを退避(104)L、要求されたシステムコール処
理(105)を行った後、タスク選択処fl(106)
によりタスク2を選択し、選択したタスク2を起動する
と共にタスク2の退避レジスタを復元(107)する。
OSから起動されたタスク2は、システムコール発行前
に作業記憶領域に退避したレジスタを復元<108)L
、中断された処理を再開(109>する、タスク2は自
タスクの処理を行ないシステムコールを発行する条件が
発生(110)すると、タスク1の場合と同様、アプリ
ケーションプログラム(AP)で使用中のレジスタの退
避処理(111)に進む。
に作業記憶領域に退避したレジスタを復元<108)L
、中断された処理を再開(109>する、タスク2は自
タスクの処理を行ないシステムコールを発行する条件が
発生(110)すると、タスク1の場合と同様、アプリ
ケーションプログラム(AP)で使用中のレジスタの退
避処理(111)に進む。
本実施例では、タスク側ではアプリケーションプログラ
ムで使用のレジスタを、一方OS側ではプログラム状態
語のレジスタをそれぞれ退避させると説明したか、タス
ク側で退避するレジスタの数を、OS側のそれと比較し
て大きくできれば、その分たけ効果かあがる。
ムで使用のレジスタを、一方OS側ではプログラム状態
語のレジスタをそれぞれ退避させると説明したか、タス
ク側で退避するレジスタの数を、OS側のそれと比較し
て大きくできれば、その分たけ効果かあがる。
以上説明したように本発明は、アプリケーションプログ
ラム側でタスクごとに保存すべきレジスタの退避・復元
を行うことにより、OS側はタスクを切り替える際、T
CBに対するレジスタの退避・復元処理をほぼ不要にで
き高速がっオーバヘッドの小さなタスク切替を実現でき
る効果がある。
ラム側でタスクごとに保存すべきレジスタの退避・復元
を行うことにより、OS側はタスクを切り替える際、T
CBに対するレジスタの退避・復元処理をほぼ不要にで
き高速がっオーバヘッドの小さなタスク切替を実現でき
る効果がある。
第1図は、本発明のタスク切り替え方式の一実施例を示
すフロー図、第2図は従来の一例を示すフロー図である
。
すフロー図、第2図は従来の一例を示すフロー図である
。
Claims (1)
- 【特許請求の範囲】 1、プログラム処理中に一つのタスクがオペレーティン
グシステム(以後OS)へシステムコールを発行して他
のタスク処理に切替える複数タスクのタスク切替方式に
おいて、処理中にタスクがOSへのシステムコールを発
行するとき、タスク側で使用する所定のレジスタだけを
退避したのちOSへシステムコールを発行し、且つOS
からの起動を受けたとき退避した前記レジスタを復元す
る一方、OSはタスクからシステムコールの発行を受け
たときOS側で使用する所定のOS側レジスタを退避さ
せてシステムコール処理しタスク処理再開を起動すると
き退避したOS側レジスタを復元することを特徴とする
タスク切替方式。 2、請求項1記載のタスクがシステムコールを発行する
とき走行中のアプリケーションプログラム側で使用する
レジスタを退避する一方、OSがプログラム状態語用の
レジスタを退避することを特徴とする請求項1記載のタ
スク切替方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP28221290A JPH04155532A (ja) | 1990-10-19 | 1990-10-19 | タスク切替方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP28221290A JPH04155532A (ja) | 1990-10-19 | 1990-10-19 | タスク切替方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH04155532A true JPH04155532A (ja) | 1992-05-28 |
Family
ID=17649525
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP28221290A Pending JPH04155532A (ja) | 1990-10-19 | 1990-10-19 | タスク切替方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH04155532A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07191863A (ja) * | 1993-12-25 | 1995-07-28 | Nec Corp | マルチタスク実行管理方式 |
-
1990
- 1990-10-19 JP JP28221290A patent/JPH04155532A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07191863A (ja) * | 1993-12-25 | 1995-07-28 | Nec Corp | マルチタスク実行管理方式 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS62184544A (ja) | 仮想計算機システム | |
US6820153B2 (en) | Interrupt processing and memory management method in an operation processing device and a device using the same | |
JPH04155532A (ja) | タスク切替方式 | |
JPS6159539A (ja) | サブプロセツサのレジスタ退避/復帰方式 | |
JPH02272640A (ja) | タスク切り替え方式 | |
JPH0319033A (ja) | システム中断・再開方式 | |
JPH02163834A (ja) | マルチ・タスク処理方式 | |
JP2000132409A (ja) | 待ち状態のないタスクのスタック共有方式 | |
JPH03141435A (ja) | プロセス切り換え方式 | |
JPH02245828A (ja) | 実行中ジョブの凍結・再開装置 | |
JPH08166887A (ja) | 割込み処理からの復帰方法 | |
JPH05224953A (ja) | 割込み制御装置及び方法 | |
JP2000029850A (ja) | オペレーティングシステムのプロセッサ間通信を使用したタスク制御方法 | |
JPS6273335A (ja) | スタツク管理方式 | |
JPH0495137A (ja) | オペレーティングシステムのコンテキスト切替方式 | |
JPH03126134A (ja) | Cpuのタスク切替方式 | |
JPH04177504A (ja) | プログラマブルコントローラのバックアップ装置 | |
JPH0340139A (ja) | マルチタスクシステムにおけるコンテキスト切換方法 | |
JPH04322332A (ja) | プログラム実行制御方式 | |
JPS6380335A (ja) | バツクグランドジヨブ起動方式 | |
JPS58142451A (ja) | 割込制御方式 | |
JPH01309135A (ja) | マイクロプロセッサ | |
JPH03260840A (ja) | マルチタスクにおけるバンクメモリの制御方式 | |
JPS6027032A (ja) | プログラム起動方法 | |
JPH0520101A (ja) | 演算レジスタ情報監視方式 |