JPH02226428A - マルチタスク処理プログラム作成装置 - Google Patents

マルチタスク処理プログラム作成装置

Info

Publication number
JPH02226428A
JPH02226428A JP4713889A JP4713889A JPH02226428A JP H02226428 A JPH02226428 A JP H02226428A JP 4713889 A JP4713889 A JP 4713889A JP 4713889 A JP4713889 A JP 4713889A JP H02226428 A JPH02226428 A JP H02226428A
Authority
JP
Japan
Prior art keywords
program
task
source program
processing program
task 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
Application number
JP4713889A
Other languages
English (en)
Inventor
Shigeharu Hirao
平尾 繁晴
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP4713889A priority Critical patent/JPH02226428A/ja
Publication of JPH02226428A publication Critical patent/JPH02226428A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 [発明の目的コ (産業上の利用分野) 本発明は、プログラムのマルチタスク処理に係り、特に
タスク自身が実行管理を行うマルチタスク処理プログラ
ムを作成する装置に関する。
(従来の技術) 一般に、組込み制御用として用いられるプログラムでは
、一つのジョブがいくつかの独立したタスクの集合から
なっている。このため、そのプログラムの実行に際して
はマルチタスク処理が必要とされる。
このマルチタスク処理におけるタスク間のt目互関係は
、通常、データの通信のみであり、実行制御はタスク毎
に独立していると考えてよい。つまり、各タスクはそれ
ぞれ自身がCPUを専有しているものとして動作するよ
うに設計される。
このようなマルチタスク処理プログラムを計算機上で実
現する方法の一つとしては、例えば第4図に示すように
、多重計算機を用いた方法がある。
同図に示すように、この方法は、各タスクA1B、C毎
に専用の計算機IA、IB、ICを割当てることにより
、個々の計算機IA、IB、ICがそれぞれ対応してい
るタスクA、B、Cを実行する方法である。この方法に
よれば、各タスクA1BSCの独立性が保たれ、タスク
A、B、C間の干渉による誤動作を防ぐことができる。
また、その他の実現方法としては、第5図に示すように
、マルチタスク・オペレーティング・システム(以下、
単にマルチタスクO8と称す)2を使用する方法がある
この方法は、マルチタスクO32において全てのタスク
A、B、Cの実行、監視、制御する方法である。この方
法では、各タスクA、B、Cの実行中におけるそれぞれ
の待状態をマルチタスクO82が検知して、その待状態
が解除される条件が発生するまで他のタスクへ制御を渡
すという処理が行われる。
したがって、この方法により一つの計算機3上でのマル
チタスク処理が可能となる。
さらにその他の実現方法としては、第6図に示すように
、各タスク自身がプログラムの実行管理を行う方法が挙
げられる。
この方法では、各タスクA、BSCは、それぞれマルチ
タスク処理プログラムの一部分であることを考慮しなが
ら、あるタスクが待状態に入るときには次のタスクへ制
御を渡す処理を、待状態に入るタスク自身が実行する。
この方法によれば、マルチタスクO8の持つオーバヘッ
ドの問題を解消することができ、高性能なマルチタスク
処理プログラムを実現することが可能である。
(発明が解決しようとする課題) しかしながら、以上説明した方法では、それぞれ次のよ
うな難点があった。
すなわち、マルチタスク処理プログラムを多重計算機上
で実現する方法では、タスクの数だけ計算機が必要とな
るためコスト高となる。
また、マルチタスクO8を使用する方法では、上述した
ようにマルチタスクO8によるメモリ、スタック、実行
時間等のオーバヘッドが問題とな、す、計算機の性能を
十分に引出すことが困難になる。
またさらに、タスク自身がプログラムの実行管理を行う
方法では、マルチタスクO8のオーバヘッドが生じない
ため高性能なマルチタスク処理プログラムが実現される
ものの、その反面、コーディングが複雑になる等の問題
があった。
本発明はこのような課題を解決するためなされたもので
あり、マルチタスクO8の利用を前提としたソースプロ
グラムからタスク自身が実行管理を行う高性能なマルチ
タスク処理プログラムを容品に得ることのできるマルチ
タスク処理プログラム作成装置の提供を「1的としてい
る。
[発明の構成] (課題を解決するための手段) 本発明のマルチタスク処理プログラム作成装置は上記し
た目的を達成するために、ソースプログラムが格納され
たソースプログラム格納手段と、このソースプログラム
格納手段に格納されたソースプログラム中の入口および
システムコールに一連の状態参号を付与する状態番号付
与手段と、前記ソースプログラムより前記入口あるいは
システムコールから始りシステムコールで終るパスを検
出するパス検出手段と、前記状態番号付与手段により付
与された前記入口および前記各システムコールの状態番
号と前記パス検出手段により検出された前記パスに基づ
いて、前記ソースプログラムをタスク自身が実行管理を
行うマルチタスク処理プログラムに変換するプログラム
変換手段とを具備したものである。
(作 用) 本発明のマルチタスク処理プログラム作成装置では、状
態番号付与手段により付与されたソースプログラム中の
入口および各システムコールの状態番号とパス検出手段
により検出されたパスに基づいて、プログラム変換手段
が、ソースプログラムを、タスク自身が実行管理を行う
プログラムに変換して、マルチタスク処理プログラムを
作成するので、ソースプログラムからタスク自身が実行
管理を行う高性能なマルチタスク処理プログラムを容易
に得ることができる。
(実施例) 以下、本発明の実施例を図面に基づいて説明する。
第1図は本発明の一実施例であるマルチタスク処理プロ
グラム作成装置の構成を説明するためのブロック図であ
る。
同図に示すように、この装置は、ソースプログラムが格
納されたソースプログラム記憶部11と、ソースプログ
ラム中の入口および各システムコールに一連の状態番号
(入口は状態番号−〇)を付与する状態番号付与部12
と、ソースプログラム中から、入口あるいはシステムコ
ールから始まりシステムコールで終わる全てのパスを検
出するパス検出部13と、状態番号付与部12によりソ
ースプログラム中の入口および各システムコールに付さ
れた状態番号とパス検出部13により検出されたパスに
基づいて、当該ソースプログラムを、タスク自身が実行
管理を行うマルチタスク処理プログラムに変換するプロ
グラム変換部14と、変換後のマルチタスク処理プログ
ラムを格納する変換プログラム記憶部15とを備えて構
成されている。
なお、この実施例において、上述したソースプログラム
記憶部11および変換プログラム記憶部15は、例えば
、計算機ファイル上等において用意され、状態番号付与
部12、パス検出部13およびプログラム変換部14は
、計算機のプログラム上において実現されている。
そしてこの実施例装置では、次のような手順により、例
えば第2図に示すソースプログラムから、第3図に示す
“タスク自身が実行管理を行うマルチタスク処理プログ
ラム”を作成する。
まず、第3図に示すように、タスクAの状態変数sva
を「0」にリセットする命令(sva−0;)を作る。
これは他のタスクの状態低数をリセットする命令ととも
に初期設定ルーチン内に置かれる。
続いてタスクAの処理ルーチンの内部に、状態変数によ
る分岐命令が作られる。
第2図に示すように、ソースプログラム中のタスクAに
は入口の他にS01とSC2のシステムコールが2つあ
る。したがって、状態番号付与部12は、状態変数とし
てこれらの入口とシステムコールにそれぞれ「0.1.
2」の3つの値を付与する。そしてプログラム変換部1
4は、これらの状態番号に基づいて、3方向の分岐命令
を作成する。
次に、パス検出部13は、入口またはシステムコールか
ら始まり、システムコールで終わる全てのパスを検出す
る。この結果、以下のパスが検出される。
A1入口(状態番号O)から始まるパス■入口→処理P
O→システムコール5CIB、システムコールSCI 
(状態番号1)から始まるパス ■システムコールSC1→処理P1→Cによる分岐→シ
ステムコールSCI ■システムコールSC1→処理P1→Cによる分岐→処
理P2−システムコール5C2C,システムコールSC
2(状態番号2)から始まるパス ■システムコールSC2→処理P3−システムコールS
CI こうして全てのパスが検出されると、プログラム変換1
4は、前段の処理で作成した各分岐命令の先に、それぞ
れ対応するソースプログラム中の処理を複写する。ただ
し、各パスの最後のシステムコールSCI、SC2は、
状態鹿数svaはシステムコールの状態番号とする命令
にそれぞれ置換えられる。
こうしてソースプログラムからタスク自身が実行管理可
能なマルチタスク処理プログラムが作J戊される。
かくしてこの実施例のマルチタスク処理プログラム作成
装置によれば、マルチタスクO8を用いて実行可能なソ
ースプログラムを、タスク自身により実行管理が可能な
高性能のマルチタスク処理プログラムに容易に変換する
ことができる。また、シングルチップマイコン等の計算
機リソースが極端に貧弱な計算機においても、マルチタ
スクosを使用した場合と同様の容易さでプログラムを
作成できる。
なお上述した実施例において、第2図に示すソースプロ
グラム中のシステムコールSCI、SC2はlGm5の
周期的デイレイを作るシステムコールてあり、第3図に
示すプログラムは113m5の周期で起動されるものと
している。
[発明の効果] 以上説明したように本発明のマルチタスク処理プログラ
ム作成装置によれば、マルチタスクO8を用いて実行管
理が可能なソースプログラムから、タスク自身が実行管
理を行う高性能なマルチタスク処理プログラムを容易に
得ることができる。
【図面の簡単な説明】
第1図は本発明の一実施例であるマルチタスク処理プロ
グラム作成装置の構成を説明するためのブロック図、第
2図はマルチタスクO8により実行可能なソースプログ
ラムのフローを示す図、第3図は第2図のソースプログ
ラムから変換されたタスク自身が実行管理可能なマルチ
タスク処理プログラムのフローを示す図、第4図はマル
チタスク処理を多重計算機上で実現する場合の構成を示
すブロック図、第5図はマルチタスク処理をマルチタス
クO8を用いて単一の計算機上で実現する場合の構成を
示すブロック図、第6図は各タスク自身がそれぞれプロ
グラムの実行管理を行う場合の構成を示すブロック図で
ある。 11・・・ソースプログラム記憶部、12・・・状態番
号付与部、13・・・パス検出部、14・・・プログラ
ム変換部、15・・・変換プログラム記憶部。 出願人     株式会社 東芝

Claims (1)

    【特許請求の範囲】
  1. (1)ソースプログラムが格納されたソースプログラム
    格納手段と、このソースプログラム格納手段に格納され
    たソースプログラム中の入口およびシステムコールに一
    連の状態番号を付与する状態番号付与手段と、前記ソー
    スプログラムより前記入口あるいはシステムコールから
    始りシステムコールで終るパスを検出するパス検出手段
    と、前記状態番号付与手段により付与された前記入口お
    よび前記各システムコールの状態番号と前記パス検出手
    段により検出された前記パスに基づいて、前記ソースプ
    ログラムをタスク自身が実行管理を行うマルチタスク処
    理プログラムに変換するプログラム変換手段とを具備し
    たことを特徴とするマルチタスク処理プログラム作成装
    置。
JP4713889A 1989-02-28 1989-02-28 マルチタスク処理プログラム作成装置 Pending JPH02226428A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4713889A JPH02226428A (ja) 1989-02-28 1989-02-28 マルチタスク処理プログラム作成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4713889A JPH02226428A (ja) 1989-02-28 1989-02-28 マルチタスク処理プログラム作成装置

Publications (1)

Publication Number Publication Date
JPH02226428A true JPH02226428A (ja) 1990-09-10

Family

ID=12766754

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4713889A Pending JPH02226428A (ja) 1989-02-28 1989-02-28 マルチタスク処理プログラム作成装置

Country Status (1)

Country Link
JP (1) JPH02226428A (ja)

Similar Documents

Publication Publication Date Title
JP2692609B2 (ja) マルチタスクのプログラムデバッグ方法とその装置
JP2921190B2 (ja) 並列実行方式
WO2015032311A1 (zh) 一种代码生成方法、编译器、调度方法、装置及调度系统
JP3837453B2 (ja) マルチタスクオペレーティングシステムにおける共用コード及びデータを保護するための方法およびシステム
JPH02226428A (ja) マルチタスク処理プログラム作成装置
JPH01273136A (ja) オペレーティングシステムのファームウェア化方式
Zabatta et al. A thread performance comparison: Windows NT and Solaris on a symmetric multiprocessor
JPH05257902A (ja) 処理プログラム・モードにおけるロック獲得処理方式
JP2817349B2 (ja) 並列化処理方式
JPH04276834A (ja) プログラムのデバッグ方式
JPH01292536A (ja) 複数os対応エミュレータ
JPS62259142A (ja) 命令のスケジユ−リング処理方式
JPH064306A (ja) 割り込み処理の分割方法
JPS6121532A (ja) スケジユ−リング方法
JPS62219061A (ja) マルチプロセツサ制御方式
JPH0553834A (ja) マルチタスキングプログラムの処理方法
JP2682215B2 (ja) 並列処理時の手続き呼出し方式
JPH0471034A (ja) マルチタスク実行装置
JP3011471B2 (ja) 帳票出力処理の制御方法
JPH03282735A (ja) 並列処理システム
CN119045959A (zh) 基于bpf的片上异构多处理器系统任务调度系统及方法
JPH0772874B2 (ja) 割込み受取り装置
JPH09325892A (ja) ジョブ並列実行制御方法
JPH10232856A (ja) 並列処理方式
JPH02132547A (ja) 並列プログラム実行方法