JPH0553834A - マルチタスキングプログラムの処理方法 - Google Patents
マルチタスキングプログラムの処理方法Info
- Publication number
- JPH0553834A JPH0553834A JP3237276A JP23727691A JPH0553834A JP H0553834 A JPH0553834 A JP H0553834A JP 3237276 A JP3237276 A JP 3237276A JP 23727691 A JP23727691 A JP 23727691A JP H0553834 A JPH0553834 A JP H0553834A
- Authority
- JP
- Japan
- Prior art keywords
- task
- program
- sequence
- processing
- multitasking
- 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
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02E—REDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
- Y02E60/00—Enabling technologies; Technologies with a potential or indirect contribution to GHG emissions mitigation
- Y02E60/10—Energy storage using batteries
Abstract
(57)【要約】
【目的】 マルチタスキングプログラムの処理系におい
てハードウェアに依存する処理部分を排除し、ハードウ
ェアに依存することなく実行できる汎用的なマルチタス
キングプログラムを実現する。 【構成】 ユーザがプログラミングしたマルチタスキン
グプログラムにおける各タスクをステートメント単位で
関数呼び出しのシーケンスに変換し、この関数呼び出し
のシーケンスに変換された複数タスクのステートメント
の関数を1つのプロセスによって順次呼び出し、実行す
る。
てハードウェアに依存する処理部分を排除し、ハードウ
ェアに依存することなく実行できる汎用的なマルチタス
キングプログラムを実現する。 【構成】 ユーザがプログラミングしたマルチタスキン
グプログラムにおける各タスクをステートメント単位で
関数呼び出しのシーケンスに変換し、この関数呼び出し
のシーケンスに変換された複数タスクのステートメント
の関数を1つのプロセスによって順次呼び出し、実行す
る。
Description
【0001】
【産業上の利用分野】この発明は、マルチタスキングプ
ログラムの実行において、ハードウェアの依存性を排除
する処理方法に関するものである。
ログラムの実行において、ハードウェアの依存性を排除
する処理方法に関するものである。
【0002】
【従来の技術】従来の技術では、ユーザがプログラミン
グしたマルチタスキングプログラムを実行するには、以
下の参考文献(1),(2)に示すような各システムが
用意しているマルチタスキング用の機能やライブラリを
用いる方法がとられていた。 (1) Sun OS Reference Manual,6章 Lightweight P
rocesses (2) UNIX System V AT & T C++ Language System R
eelease 2.0 ,Library Manual Select Code 307-145,
2章 The Task Library 参考文献(1)は、オペレーティングシステムが、マル
チタスキング用の機能を持っている例で、参考文献
(2)は、マルチタスキング用のライブラリの例であ
る。
グしたマルチタスキングプログラムを実行するには、以
下の参考文献(1),(2)に示すような各システムが
用意しているマルチタスキング用の機能やライブラリを
用いる方法がとられていた。 (1) Sun OS Reference Manual,6章 Lightweight P
rocesses (2) UNIX System V AT & T C++ Language System R
eelease 2.0 ,Library Manual Select Code 307-145,
2章 The Task Library 参考文献(1)は、オペレーティングシステムが、マル
チタスキング用の機能を持っている例で、参考文献
(2)は、マルチタスキング用のライブラリの例であ
る。
【0003】次に、従来のようにシステムが予め用意し
ているマルチタスキング用の機能やライブラリにおける
マルチタスキングプログラムの処理方法を示す。従来の
方法では、各タスクに、それぞれに固有なCPU資源を
割り当て、マルチタスキングを実現するためのタスクの
コンテクストスイッチングは、現在実行中のタスクのC
PU資源情報(レジスタの値)をセーブし、次に実行す
るタスクのCPU資源情報をロードすることにより行わ
れる。
ているマルチタスキング用の機能やライブラリにおける
マルチタスキングプログラムの処理方法を示す。従来の
方法では、各タスクに、それぞれに固有なCPU資源を
割り当て、マルチタスキングを実現するためのタスクの
コンテクストスイッチングは、現在実行中のタスクのC
PU資源情報(レジスタの値)をセーブし、次に実行す
るタスクのCPU資源情報をロードすることにより行わ
れる。
【0004】
【発明が解決しようとする課題】このように従来のマル
チタスキングプログラムの処理方法は、CPUのレジス
タを直接扱う処理があるため、この部分がハードウェア
に依存しており、したがって、予め決められたシステム
以外のハードウェアではこの種のマルチタスキングプロ
グラムを実行できず、汎用的なマルチタスキングプログ
ラムを実行できないという問題点があった。
チタスキングプログラムの処理方法は、CPUのレジス
タを直接扱う処理があるため、この部分がハードウェア
に依存しており、したがって、予め決められたシステム
以外のハードウェアではこの種のマルチタスキングプロ
グラムを実行できず、汎用的なマルチタスキングプログ
ラムを実行できないという問題点があった。
【0005】この発明は上記のような問題点を解決する
ためになされたもので、マルチタスキングプログラムの
処理系においてハードウェアに依存する処理部分を排除
し、ハードウェアに依存することなく実行できる汎用的
なマルチタスキングプログラムを実現できるマルチタス
キングプログラムの処理方法を提供することを目的とす
る。
ためになされたもので、マルチタスキングプログラムの
処理系においてハードウェアに依存する処理部分を排除
し、ハードウェアに依存することなく実行できる汎用的
なマルチタスキングプログラムを実現できるマルチタス
キングプログラムの処理方法を提供することを目的とす
る。
【0006】
【課題を解決するための手段】この発明に係るマルチタ
スキングプログラムの処理方法は、ユーザがプログラミ
ングしたマルチタスキングプログラムにおける各タスク
をステートメント単位で関数呼び出しのシーケンスに変
換し、この関数呼び出しのシーケンスに変換された複数
タスクのステートメントの関数を1つのプロセスによっ
て順次呼び出し、実行するものである。
スキングプログラムの処理方法は、ユーザがプログラミ
ングしたマルチタスキングプログラムにおける各タスク
をステートメント単位で関数呼び出しのシーケンスに変
換し、この関数呼び出しのシーケンスに変換された複数
タスクのステートメントの関数を1つのプロセスによっ
て順次呼び出し、実行するものである。
【0007】
【作用】マルチタスキングプログラムにおける各タスク
はステートメント単位で関数呼び出しのシーケンスに変
換され、複数タスクのステートメントの関数は1つのプ
ロセスによって順次呼び出され、実行される。したがっ
て、ハードウェアに依存する処理部分は排除される。
はステートメント単位で関数呼び出しのシーケンスに変
換され、複数タスクのステートメントの関数は1つのプ
ロセスによって順次呼び出され、実行される。したがっ
て、ハードウェアに依存する処理部分は排除される。
【0008】
【実施例】図1はこの発明の一実施例に係るマルチタス
キングプログラムの処理方法による処理の流を示すフロ
ーチャートである。図1において、まず、マルチタスキ
ングプログラムのソースファイルを入力し(ステップS
1)、そのソースファイル中の各タスクのステートメン
トを関数呼び出しのシーケンスに変換する(ステップS
2)。そして関数呼び出しのシーケンスに変換された各
タスクのステートメントを実行する(ステップS3)。
この実行は、関数呼び出しのシーケンスに変換された各
タスクのステートメントの関数を1つのプロセスによっ
て順次呼び出すことによって行われる(ステップS
4)。順次呼び出しが終わると、この処理は終了する
(ステップS5)。
キングプログラムの処理方法による処理の流を示すフロ
ーチャートである。図1において、まず、マルチタスキ
ングプログラムのソースファイルを入力し(ステップS
1)、そのソースファイル中の各タスクのステートメン
トを関数呼び出しのシーケンスに変換する(ステップS
2)。そして関数呼び出しのシーケンスに変換された各
タスクのステートメントを実行する(ステップS3)。
この実行は、関数呼び出しのシーケンスに変換された各
タスクのステートメントの関数を1つのプロセスによっ
て順次呼び出すことによって行われる(ステップS
4)。順次呼び出しが終わると、この処理は終了する
(ステップS5)。
【0009】図2はユーザがプログラミングしたマルチ
タスキングのソースプログラムの一例である。図2にお
いて、1行目から5行目までがメインタスクの定義であ
る。6行目から11行目までが第1のタスクの定義であ
る。また12行目から17行目までが第2のタスクの定
義である。第1,第2のタスクはそれぞれ3行から成
る。
タスキングのソースプログラムの一例である。図2にお
いて、1行目から5行目までがメインタスクの定義であ
る。6行目から11行目までが第1のタスクの定義であ
る。また12行目から17行目までが第2のタスクの定
義である。第1,第2のタスクはそれぞれ3行から成
る。
【0010】図3はトランスレータによって変換された
第1,第2のタスクのコードである。第1,第2のタス
クにおいて、それぞれの行(図2の8〜10行目,14
〜16行目)は図3に示すように関数に変換され、初期
化関数により、それらの関数のエントリアドレス(f0
−0000等)を配列に代入する。この時、タスク毎の
全行数もカウントしておく。
第1,第2のタスクのコードである。第1,第2のタス
クにおいて、それぞれの行(図2の8〜10行目,14
〜16行目)は図3に示すように関数に変換され、初期
化関数により、それらの関数のエントリアドレス(f0
−0000等)を配列に代入する。この時、タスク毎の
全行数もカウントしておく。
【0011】図4はトランスレータによって変換された
メインタスクのコードである。図4において、3,4行
目は第1,第2タスクの初期化関数を呼び出している。
メインタスクは6行目で全タスクの終了が確認されるま
で無限ループの処理に入る。そして8行目から11行目
で、次に実行すべきタスクIDの決定、及びそのタスク
IDのタスクの次に実行すべきステートメント番号を決
定する。この時、停止状態のタスクは選ばれない。12
行目は選ばれた関数を呼び出している。
メインタスクのコードである。図4において、3,4行
目は第1,第2タスクの初期化関数を呼び出している。
メインタスクは6行目で全タスクの終了が確認されるま
で無限ループの処理に入る。そして8行目から11行目
で、次に実行すべきタスクIDの決定、及びそのタスク
IDのタスクの次に実行すべきステートメント番号を決
定する。この時、停止状態のタスクは選ばれない。12
行目は選ばれた関数を呼び出している。
【0012】このように、この実施例のマルチタスキン
グプログラムの処理方法は、従来の方法のように各タス
クにそれぞれ固有なCPU資源を割り当てず、各タスク
の実現を唯一なCPU資源で実行することにより、コン
テキストスイッチングの処理からハードウェアに依存す
る処理部分を排除している。即ち、この実施例の処理方
法では、マルチタスキングプログラムの各タスクを、ス
テートメント単位に関数呼び出しのシーケンスに変換
し、適切なタスクの変換されたステートメントの関数を
順次実行することによりマルチタスキング処理を行う。
したがって各タスクの変換されたステートメントの関数
呼び出しは、一つのプロセスにより行われるので、ハー
ドウェアに依存する処理部分は排除される。
グプログラムの処理方法は、従来の方法のように各タス
クにそれぞれ固有なCPU資源を割り当てず、各タスク
の実現を唯一なCPU資源で実行することにより、コン
テキストスイッチングの処理からハードウェアに依存す
る処理部分を排除している。即ち、この実施例の処理方
法では、マルチタスキングプログラムの各タスクを、ス
テートメント単位に関数呼び出しのシーケンスに変換
し、適切なタスクの変換されたステートメントの関数を
順次実行することによりマルチタスキング処理を行う。
したがって各タスクの変換されたステートメントの関数
呼び出しは、一つのプロセスにより行われるので、ハー
ドウェアに依存する処理部分は排除される。
【0013】
【発明の効果】以上のように本発明によれば、各タスク
を関数呼び出しのシーケンスに変換し、複数タスクの関
数呼び出しを一つのプロセスで行うようにしたので、各
タスクにハードウェアの固有な環境(CPU資源)を割
り当てる必要がなくなり、これによりマルチタスキング
プログラムの処理系においてハードウェアに依存する処
理部分が排除され、したがってハードウェアに依存する
ことなく実行できる汎用的なマルチタスキングプログラ
ムが実現できるという効果が得られる。
を関数呼び出しのシーケンスに変換し、複数タスクの関
数呼び出しを一つのプロセスで行うようにしたので、各
タスクにハードウェアの固有な環境(CPU資源)を割
り当てる必要がなくなり、これによりマルチタスキング
プログラムの処理系においてハードウェアに依存する処
理部分が排除され、したがってハードウェアに依存する
ことなく実行できる汎用的なマルチタスキングプログラ
ムが実現できるという効果が得られる。
【図1】この発明の一実施例によるマルチタスキングプ
ログラムの処理の流れを示すフローチャートである。
ログラムの処理の流れを示すフローチャートである。
【図2】この実施例においてユーザがプログラミングし
たマルチタスキングプログラムの一例を示す図である。
たマルチタスキングプログラムの一例を示す図である。
【図3】この実施例においてトランスレータによって変
換された各タスクのコードを示す図である。
換された各タスクのコードを示す図である。
【図4】この実施例においてトランスレータによって変
換されたメインタスクのコードを示す図である。
換されたメインタスクのコードを示す図である。
S2 ステートメントを関数呼び出しのシーケンスに変
換するステップ S4 それぞれの関数を順次呼び出すステップ
換するステップ S4 それぞれの関数を順次呼び出すステップ
Claims (1)
- 【請求項1】 ユーザがプログラミングしたマルチタス
キングプログラムにおける各タスクをステートメント単
位で関数呼び出しのシーケンスに変換し、この関数呼び
出しのシーケンスに変換された複数タスクのステートメ
ントの関数を1つのプロセスによって、順次呼び出し、
実行することを特徴とするマルチタスキングプログラム
の処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3237276A JPH0553834A (ja) | 1991-08-23 | 1991-08-23 | マルチタスキングプログラムの処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3237276A JPH0553834A (ja) | 1991-08-23 | 1991-08-23 | マルチタスキングプログラムの処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0553834A true JPH0553834A (ja) | 1993-03-05 |
Family
ID=17012994
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3237276A Pending JPH0553834A (ja) | 1991-08-23 | 1991-08-23 | マルチタスキングプログラムの処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0553834A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE112005000851B4 (de) * | 2004-04-28 | 2010-05-27 | Showa Denko K.K. | Verbindungshalbleiter-Lichtemissionsvorrichtung |
-
1991
- 1991-08-23 JP JP3237276A patent/JPH0553834A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE112005000851B4 (de) * | 2004-04-28 | 2010-05-27 | Showa Denko K.K. | Verbindungshalbleiter-Lichtemissionsvorrichtung |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH02272627A (ja) | デイジタル・コンピユータ・システムとその手続呼び出し方法 | |
JP2000056986A (ja) | ソフトウエア割り込み機構 | |
JP3837453B2 (ja) | マルチタスクオペレーティングシステムにおける共用コード及びデータを保護するための方法およびシステム | |
JPH0553834A (ja) | マルチタスキングプログラムの処理方法 | |
EP1020087A2 (en) | Services using call independent building blocks | |
JPS63120338A (ja) | プログラム変換装置 | |
JPS617903A (ja) | シ−ケンス制御装置 | |
US4285036A (en) | Data processing device using a subroutine call instruction | |
JP2003271575A (ja) | 処理機能の実行方法 | |
JP2002041310A (ja) | クラス動的バインドシステムおよび方法 | |
KR0164139B1 (ko) | 운영체제의 실시간성을 높이기 위한 레디큐 관리방법 | |
JP2674694B2 (ja) | 他システム制御言語の変換装置 | |
JP2718377B2 (ja) | 子タスク終了待ち合わせシステム | |
JPH0471034A (ja) | マルチタスク実行装置 | |
EP0359823A1 (en) | Method and apparatus for controlling the execution of microprogram | |
Silberschatz | On the synchronization mechanism of the ADA language | |
Silberschatz | A note on the distributed program component cell | |
JP2929823B2 (ja) | マルチレートシグナルプロセッサ | |
JPH02226428A (ja) | マルチタスク処理プログラム作成装置 | |
JPH03127164A (ja) | マルチプロセッサシステム | |
JPH06149594A (ja) | マルチタスク実行装置 | |
JPH04168530A (ja) | プログラム優先度制御方式 | |
JPH11212780A (ja) | 監視制御システム用アプリケーション群開発方法とアプリケーションテンプレート開発支援装置 | |
JPH03237577A (ja) | データフロープログラムにおける自動ソート処理方式 | |
JPH04316127A (ja) | 情報処理装置 |