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
Application number
JP28221290A
Other languages
English (en)
Inventor
Masayuki Otaka
大鷹 正之
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 JP28221290A priority Critical patent/JPH04155532A/ja
Publication of JPH04155532A publication Critical patent/JPH04155532A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、複数タスクを計画的に使用してプログラム処
理するマルチタスクシステムを構成するコンピュータシ
ステムでのタスク切替方式に関し、特にタスク環境の退
避・復元方式に関する。
〔従来の技術〕
従来、この種のタスク切替方式は、タスクからオペレー
ティングシステム(以後OS)へシステムコールを発行
したとき、OSがタスクで使用中の全レジスタを主記憶
装置のタスク制御記憶領域(以後TCB)に退避させ、
タスク再開のとき該当レジスタを復元させていた。
これについて、第2図を参照して説明する。第2図は従
来の一例を示すフロー図である。
第2図に示すように、タスク1を処理中にシステムコー
ルの発行条件が発生(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)する手順が続く
手j[20Bで、OSか走行中のプログラムが使用中の
全レジスタを退避・復元により保存処理するのは、OS
からは保存の要・不要の判断がつがないためであり、ア
プリケーションプログラムで使用する可能性のあるレジ
スタすべてが保存の対象になるからである。
更に、レジスタの退避・復元の際、TCBとレジスタと
の間でメモリ呼出しがあるのて、多数の退避レジスタの
場合、タスク切替時のオーバヘッドとなるOSの処理時
間が増大する。
〔発明が解決しようとする課題〕
上述のように、従来のタスク切替方式は、オーバヘッド
となる処理時間をもつOSが、通常作業域として使われ
タスク切替時には必ずしも保存する必要のないレジスタ
もすべて保存するように構成されているので、多数のレ
ジスタの保存のためTCBとレジスタ間でメモリアクセ
スが多発しタスク切替頻度の高いシステムではシステム
全体の性能低下を引き起こすという問題点があな。
本発明の目的は、OSが退避処理するレジスタの多数を
プログラム側のタスクで処理することにより、上記問題
点を解決したタスク切替方式を提供することにある。
〔課題を解決するための手段〕
本発明によるタスク切替方式の基本構成は、プログラム
処理中に一つのタスクがオペレーティングシス゛テム(
以後O3)へシステムコールを発行して他のタスク処理
に切替える複数タスクのタスク切替方式において、処理
中にタスクがOSへのシステムコールを発行するとき、
タスク側で使用する所定のレジスタだけを退避したのち
OSへシステムコールを発行し、且つOSからの起動を
受けたとき退避した前記レジスタを復元する一方、OS
はタスクからシステムコールの発行を受けたときOS側
で使用する所定のOS側レジスタを退避させてシステム
コール処理しタスク処理再開を起動するとき退避したO
S側レジスタを復元する。
また、前記基本構成で記載のタスクおよびOSの一つの
具体化構成は、タスクがシステムコールを発行するとき
走行中のアプリケーションプログラム側で使用するレジ
スタを退避する一方、OSがプログラム状態語用のレジ
スタを退避する。
〔実施例〕
次に本発明について図面を参照して説明する。
第1図は本発明の一実施例を示すフロー図である。第1
図によればタスク1がシステムコールを発行する条件が
発生(101)したとき、必ず発生するタスク切替のた
めアプリケーションプログラム(AP)で使用するレジ
スタだけをタスク1の作業記憶領域に退避<102)し
ておく。
システムコール発行(103)により制御がOSに渡る
とOSはタスク1のプログラム状態語(PSW)用レジ
スタを退避(104)L、要求されたシステムコール処
理(105)を行った後、タスク選択処fl(106)
によりタスク2を選択し、選択したタスク2を起動する
と共にタスク2の退避レジスタを復元(107)する。
OSから起動されたタスク2は、システムコール発行前
に作業記憶領域に退避したレジスタを復元<108)L
、中断された処理を再開(109>する、タスク2は自
タスクの処理を行ないシステムコールを発行する条件が
発生(110)すると、タスク1の場合と同様、アプリ
ケーションプログラム(AP)で使用中のレジスタの退
避処理(111)に進む。
本実施例では、タスク側ではアプリケーションプログラ
ムで使用のレジスタを、一方OS側ではプログラム状態
語のレジスタをそれぞれ退避させると説明したか、タス
ク側で退避するレジスタの数を、OS側のそれと比較し
て大きくできれば、その分たけ効果かあがる。
〔発明の効果〕
以上説明したように本発明は、アプリケーションプログ
ラム側でタスクごとに保存すべきレジスタの退避・復元
を行うことにより、OS側はタスクを切り替える際、T
CBに対するレジスタの退避・復元処理をほぼ不要にで
き高速がっオーバヘッドの小さなタスク切替を実現でき
る効果がある。
【図面の簡単な説明】
第1図は、本発明のタスク切り替え方式の一実施例を示
すフロー図、第2図は従来の一例を示すフロー図である

Claims (1)

  1. 【特許請求の範囲】 1、プログラム処理中に一つのタスクがオペレーティン
    グシステム(以後OS)へシステムコールを発行して他
    のタスク処理に切替える複数タスクのタスク切替方式に
    おいて、処理中にタスクがOSへのシステムコールを発
    行するとき、タスク側で使用する所定のレジスタだけを
    退避したのちOSへシステムコールを発行し、且つOS
    からの起動を受けたとき退避した前記レジスタを復元す
    る一方、OSはタスクからシステムコールの発行を受け
    たときOS側で使用する所定のOS側レジスタを退避さ
    せてシステムコール処理しタスク処理再開を起動すると
    き退避したOS側レジスタを復元することを特徴とする
    タスク切替方式。 2、請求項1記載のタスクがシステムコールを発行する
    とき走行中のアプリケーションプログラム側で使用する
    レジスタを退避する一方、OSがプログラム状態語用の
    レジスタを退避することを特徴とする請求項1記載のタ
    スク切替方式。
JP28221290A 1990-10-19 1990-10-19 タスク切替方式 Pending JPH04155532A (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07191863A (ja) * 1993-12-25 1995-07-28 Nec Corp マルチタスク実行管理方式

Cited By (1)

* Cited by examiner, † Cited by third party
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) 演算レジスタ情報監視方式