JPH0381827A - Reentrant program system - Google Patents
Reentrant program systemInfo
- Publication number
- JPH0381827A JPH0381827A JP21754589A JP21754589A JPH0381827A JP H0381827 A JPH0381827 A JP H0381827A JP 21754589 A JP21754589 A JP 21754589A JP 21754589 A JP21754589 A JP 21754589A JP H0381827 A JPH0381827 A JP H0381827A
- Authority
- JP
- Japan
- Prior art keywords
- program
- task
- transferred
- contents
- control
- 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
- 238000012546 transfer Methods 0.000 claims abstract description 24
- 238000013518 transcription Methods 0.000 claims description 9
- 230000035897 transcription Effects 0.000 claims description 9
- 238000013461 design Methods 0.000 abstract description 8
- 238000011156 evaluation Methods 0.000 abstract description 3
- 238000012423 maintenance Methods 0.000 abstract 2
- 238000000034 method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 206010011224 Cough Diseases 0.000 description 1
- 239000003292 glue Substances 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、コンビエータマルチプロゲラ電ングシステム
において、複数のタスク筐たはジ嘗ブかもの呼び出しに
対し予め定められた機能を実行するよう設計されたりニ
ットラントプログラムを用いるツエントラ/ドブログラ
ム方式に関する。[Detailed Description of the Invention] [Field of Industrial Application] The present invention is a combiator multi-programming system for performing predetermined functions for calling multiple task boxes or jobs. It concerns the Tzentra/Dobrogram method, which is designed as such and uses the Knitland program.
従来のリエントラントプログラム方式では、リス/トラ
ンドブログラムは、あるタスクからの呼び出しにより実
行している際中に割込1れ、他のタスクから割込まれた
プログラムが呼び出されることを設計者またはプログラ
マが意識して、いつ。In the traditional reentrant programming method, a list/trand program is interrupted during execution by a call from one task, and the designer or programmer does not know that the interrupted program will be called from another task. When is it conscious?
どこで割込1れても各タスクからの呼び出しにも対応で
きるよう設計またはコーディングがなされていた。tた
ある種のシステムでは、リエントラントなオブジェクト
を出力するよう指示されると目的のオブジェクトを出力
するコンパイラを備えているものもあった。It was designed or coded so that it could handle calls from each task no matter where an interrupt occurred. Some systems had compilers that, when instructed to output reentrant objects, output the desired objects.
こOように従来では、ツエントラ/ドブログラムは一連
の命令のどこでも、いつ割込筐れても各タスクからO呼
び出しに対し予め定=められた機能を実行するよう、プ
ログラム設計者またはプログラマが意、識して設計また
はコーディングを行っていたので、非すエ/トランドブ
ログラムと比べて。Conventionally, the program designer or programmer designed a Tzentra/Do program to execute a predetermined function in response to an O call from each task at any point in a series of instructions or at any time. , compared to non-study/trand programs because they were designed or coded with knowledge.
設計、:l−ディングに多くの時間を必要とし、また人
的要因に基づく設計ミス、:1−ディングミスが発生し
易く、さらにはリエントラントプログラムの検証(デバ
ッグ)評価に多大欧時間がかかるといった欠点があった
。またコン/4イラでリエ/トラントなオブジェクトを
出力させる場合にも。It takes a lot of time to design, design, design mistakes based on human factors, and it takes a lot of time to verify (debug) and evaluate reentrant programs. There were drawbacks. Also, when outputting rie/tranto objects with Con/4 Ira.
使用できるコン/4イラステートメント(文)に制限が
あったり、コンノ臂イラ作成者自身がリエントラントプ
ログラムのオブジェクト生成を意識する必要があるので
、上記と同様の欠点があった。There are limitations on the Con/4 Illustrator statements that can be used, and the Con/4 Illustrator creator must be aware of object generation in a reentrant program, so there are the same drawbacks as above.
本発明はこのような従来の欠点を改善したもので、その
目的は、設計、コーディング、評価に費やす時間を大幅
に短縮することができ、また人的要因に基づくミスの発
生を低減できて、さらにはプログラムの保守性や他のコ
ンビ島−タへの移植性を向上させることの可能なりエン
トラ/ドブログラム方式を提供することにある。The present invention improves on these conventional drawbacks, and aims to significantly reduce the time spent on design, coding, and evaluation, and reduce the occurrence of errors due to human factors. Furthermore, it is an object of the present invention to provide an entrant/do-program system that makes it possible to improve program maintainability and portability to other combination computers.
本発明のりエントラ/ドブログラム方式は、呼出プログ
ラムから被呼出プログラムへ制御が渡されるとき、被呼
出プログラムのデータ部が呼出プログラム側のタスクに
転写されているか否かを判断する判定手段と、咳判定手
段からの判定結果が未転写であるとき被呼出プログラム
のデータ部を呼出プログラム側のタスクに転送する転写
手段と。The login/doprogram method of the present invention includes a determining means for determining whether or not the data part of the called program is transferred to a task on the calling program side when control is passed from the calling program to the called program, and a cough determination method. a transcription means for transferring the data portion of the called program to a task on the calling program side when a determination result from the means is that it has not been copied;
前記判定手段によってすでに転写されていると判断され
たときあるいは前記転写手段によって転写されたとき被
呼出プログラムへ制御を渡す実行手段とを有している。and execution means for passing control to the called program when it is determined by the determination means that the program has already been copied or when the transcription has been performed by the transcription means.
呼出プログラムから被呼出プログラムへ制御が渡される
とき1判定手段では、被呼出プログラムのr−夕部が呼
出プログラム側のタスクに転写されているか否かを判断
し、會だ転写されていないときには転写手段により被呼
出プログラムのデータ部を呼出プログラム側のタスクに
転送する。判定手段によってすでに転写されていると判
断されているときあるいは転写手段によって転写された
ときには、実行手段は被呼出プログラムへ制御を渡し、
実行を開始させる。When control is passed from the calling program to the called program, the first determining means determines whether or not the r-part of the called program has been copied to the task of the calling program, and if it has not been copied, the copy is not transferred. The means transfers the data portion of the called program to the task on the calling program side. When it is determined by the determination means that the program has already been transcribed or when the transcription means has transcribed it, the execution means passes control to the called program;
Start execution.
以下、本発明の一実施例を図面に基づいて説明する。 Hereinafter, one embodiment of the present invention will be described based on the drawings.
第1図は本発明の一実施例のブロック図であって、第1
図には、マルチプログラミフグ環境下において1例えば
オペレーティングシステムが提供するプログラム5すな
わち被呼出プログラムを呼出プログラム側のタスク4,
6で呼出し共用する場合が一例として示されている。タ
スク4.6%プログラム5は、各々、データ部41,6
1゜51と、命令部42,62.52とを有している。FIG. 1 is a block diagram of one embodiment of the present invention.
In the figure, in a multi-programming environment, 1, for example, a program 5 provided by an operating system, that is, a called program, a task 4 on the calling program side,
6 is shown as an example in which calls are shared. Task 4.6% program 5 has data sections 41 and 6, respectively.
1.51, and instruction sections 42, 62.52.
判定手段1は、呼出プログラム側のタスク4tたは6の
命令部42または62から制御が渡されると、被呼出プ
ログラム5のデータ部51の内容がタスク4または6に
転写されているかを判定するようになっている。転写手
段2は、判定手段1による判定の結果、転写されていな
い場合に、被呼出プログラム5のデータ部51の内容を
タスク4筐たは6のデータ部41または61の一部に転
送するようになっている。また実行手段3は、判定手段
1で被呼出プログラム5のデータ部51の内容がタスク
4または6に転写されていると判定されたかあるいは転
写手段2で転送したときに制御を渡され、被呼出プログ
ラム5の命令部52に制御を移し、被呼出プログラム5
を実行させるようになっている。When control is passed from the instruction section 42 or 62 of the task 4t or 6 on the calling program side, the determining means 1 determines whether the contents of the data section 51 of the called program 5 have been transferred to the task 4 or 6. It looks like this. The transcription means 2 transfers the contents of the data section 51 of the called program 5 to a part of the data section 41 or 61 of the task 4 case or the task 6 when the result of judgment by the judgment means 1 is that the contents have not been transcribed. It has become. Furthermore, when the determining means 1 determines that the contents of the data section 51 of the called program 5 have been transferred to the task 4 or 6, or when the transcription means 2 transfers the contents, the execution means 3 is given control and Control is transferred to the instruction section 52 of the program 5, and the called program 5
It is designed to run.
次にこのよう々構成のリエントラントプログラム方式の
より詳細な処理動作を説明する。Next, a more detailed processing operation of the reentrant program system configured as described above will be explained.
い1例えばタスク4が被呼出プログラム5を用いる場合
を考える。この場合には、タスク4の命令部42より判
定手段1に制御が渡されると1判定手段1は被呼出プロ
グラム5のデータ部51の内容がタスク4に転写されて
いるか否か調べ、すでに転写されている場合には転写先
アドレスをレジスタに格納し実行手段3に制御を渡す。For example, consider a case where task 4 uses called program 5. In this case, when control is passed from the command section 42 of task 4 to the determining means 1, the determining means 1 checks whether the contents of the data section 51 of the called program 5 have been copied to the task 4, and checks whether the contents of the data section 51 of the called program 5 have already been copied. If so, the transfer destination address is stored in the register and control is passed to the execution means 3.
一方判定手段1の結果が未転写のときには転写手段2に
制御を渡す。On the other hand, when the result of the determination means 1 is that the transfer has not been performed, control is passed to the transfer means 2.
尚判定手段1での判定にはコンビ島−夕のアーキテクチ
ャに依存して種々の仕方が考えられる。It should be noted that various methods can be considered for the determination by the determination means 1 depending on the architecture of Combi Island-Yu.
例えば被呼出プログラム5から14ラメータとして渡さ
れるアドレスの内容が10”のとき未転写。For example, if the content of the address passed from the called program 5 as a 14-parameter value is 10'', it is not transferred.
′″1”のとき転写済として取り、扱うようにしても良
いし、あるいは、タスクがアクセスできるメモリ空間を
セグメント記述子で規定するコンビ&−タのケースにか
いて予め規定される番号の記述子が有効であるか否かで
判定することもできる。If it is ``1'', it may be treated as transcribed and handled, or it may be a predefined number description in the case of a combination descriptor that specifies the memory space that a task can access using a segment descriptor. It is also possible to determine whether the child is valid or not.
転写手段2では被呼出プログラム5のデータ部51の内
容の全てをタスク4のデータ部41の一部に移送し転写
先アドレス411t−コンビa−−/のレジスタに格納
し実行手段3に制御を渡す。実行手段3Fi必要であれ
ばタスク4と被呼、出プログラム5との間で予め決めら
れたパラメータを転写先アドレスの所定番地に格納し、
上記レジスタ内に格納される転写先アドレス411を持
って被呼出プログラム5の命令部に制御t−移す。The transfer means 2 transfers all the contents of the data section 51 of the called program 5 to a part of the data section 41 of the task 4, stores it in the register at the transfer destination address 411t-combi a--/, and sends control to the execution means 3. hand over. If necessary, the execution means 3Fi stores parameters predetermined between the task 4 and the called/outgoing program 5 in a predetermined location of the transfer destination address,
Control is transferred to the instruction section of the called program 5 with the transfer destination address 411 stored in the register.
このように本実施例では、タスク4筐たは6から被呼出
グログ2ム5へ制御が渡るときに、被呼出プログラム5
のデータ部51がタスク4tたは6に転写されているか
否かを判定し、転写されていないときにのみ、転写させ
、しかる後実行させるようにしているので1判定手段1
.転写手段2゜実行手段3のみをリエントラントプログ
ラムとして配慮1作成し、これらの手段以外は非すエン
トラントプ□ダラムとして作成することができる。In this way, in this embodiment, when control is transferred from task 4 or task 6 to called program 2,
It is determined whether or not the data part 51 of the task 4t or 6 has been transferred to the task 4t or 6, and only when it has not been transferred, it is transferred and then executed.
.. Only the transfer means 2 and the execution means 3 can be created as a reentrant program, and the other means can be created as non-entrant programs.
これによりて、リエントラントプログラムの設計。This allows for the design of reentrant programs.
コーディング、評価に費やされる時間を大幅に削減する
ことができ、また設計ミス、コーディングミスなどの人
的要因に基づくミスの発生を低減することができる。ま
た高級言語(コンノ臂イラ)を用イテリエントラントプ
ログラムを作成することができて、これによシ、プログ
ラムの保守性、他のコンビエータへの移植性を向上させ
ることが可能となる。さらには上記3つの手段1,2.
3は各種のりニットラントプログラムの全てに共通して
使用することができる。The time spent on coding and evaluation can be significantly reduced, and the occurrence of errors due to human factors such as design errors and coding errors can be reduced. Furthermore, it is possible to create an iterative program using a high-level language (combiator), thereby making it possible to improve program maintainability and portability to other combinators. Furthermore, the above three means 1, 2.
3 can be used in common with all of the various glue knit runt programs.
以上に説明したように本発明は1判定手段、転写手段、
実行手段のみをリス/トランドブログラムとして配慮し
作成すれば良いので、リエントラントプログラムの設計
、コーディ/グ、評価に費やす時間を大幅に短縮するこ
とができ、tた人的要因・に基づくミスの発生を低減で
きて、さらにはプログラムの保守性や他のコンビエータ
への移植性を向上させることができる。As explained above, the present invention provides: 1 determination means, transfer means,
Since only the execution means need be considered and created as a reentrant program, the time spent on designing, coding, and evaluating reentrant programs can be greatly reduced, and errors due to human factors can be reduced. This can reduce the number of occurrences, and further improve the maintainability of programs and portability to other combiators.
g1図は本発明の一実施例のブμツク図である。
図にかいて
1・・・判定手段%2・・・転写手段、3・・・実行手
段。
4.6・・・タスク%5・・・被呼出グログツム%41
゜51.61・・・データ部、42,52.62・・・
命令部、411,611−・・転写先アドレス。Figure g1 is a book diagram of one embodiment of the present invention. In the figure, 1...determination means %2...transfer means, 3...execution means. 4.6...Task%5...Called Glogzum%41
゜51.61...data section, 42,52.62...
Instruction part, 411, 611--Transfer destination address.
Claims (1)
とき、被呼出プログラムのデータ部が呼出プログラム側
のタスクに転写されているか否かを判断する判定手段と
、該判定手段からの判定結果が未転写であるとき被呼出
プログラムのデータ部を呼出プログラム側のタスクに転
送する転写手段と、前記判定手段によってすでに転写さ
れていると判断されたときあるいは前記転写手段によっ
て転写されたとき被呼出プログラムへ制御を渡す実行手
段を有することを特徴とするリエントラントプログラム
方式。When control is passed from the calling program to the called program, there is provided a determination means for determining whether the data portion of the called program has been transferred to a task on the calling program side, and a determination result from the determination means that the data portion of the called program has not been transferred. a transcription means that transfers the data part of the called program to a task on the calling program side at a certain time; and a transcription means that transfers control to the called program when it is determined by the determination means that the data part has already been transcribed or when the data part has been transcribed by the transcription means. A reentrant program method characterized by having an execution means for passing.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP21754589A JPH0381827A (en) | 1989-08-25 | 1989-08-25 | Reentrant program system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP21754589A JPH0381827A (en) | 1989-08-25 | 1989-08-25 | Reentrant program system |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0381827A true JPH0381827A (en) | 1991-04-08 |
Family
ID=16705936
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP21754589A Pending JPH0381827A (en) | 1989-08-25 | 1989-08-25 | Reentrant program system |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0381827A (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2004234634A (en) * | 2003-01-06 | 2004-08-19 | Matsushita Electric Ind Co Ltd | COMPILER PROGRAM, COMPUTER-READABLE RECORDING MEDIUM RECORDING COMPILER PROGRAM, COMPILING METHOD AND COMPILING DEVICE |
-
1989
- 1989-08-25 JP JP21754589A patent/JPH0381827A/en active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2004234634A (en) * | 2003-01-06 | 2004-08-19 | Matsushita Electric Ind Co Ltd | COMPILER PROGRAM, COMPUTER-READABLE RECORDING MEDIUM RECORDING COMPILER PROGRAM, COMPILING METHOD AND COMPILING DEVICE |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPS6017539A (en) | Emulation system | |
| KR920003044B1 (en) | Control system for guest execution of virtual computer system | |
| EP0140299A2 (en) | Vector mask control system | |
| JPH0381827A (en) | Reentrant program system | |
| US9361114B1 (en) | Instruction based interrupt masking for managing interrupts in a computer environment | |
| JPS63214804A (en) | Processor for plc and plc | |
| KR930006555A (en) | Computer system with interrupt-related instructions operating in virtual mode | |
| JPS59218569A (en) | micro computer | |
| JPH0460719A (en) | Electronic computers, programmable logic circuits and program processing methods | |
| KR950005523B1 (en) | Step Run Processing Method of Programmable Logic Controller | |
| JPS60142428A (en) | Emulation system | |
| JPS5829051A (en) | Operation processing device | |
| JPS6143347A (en) | Vector instruction simulation method | |
| JPS6220032A (en) | Information processor | |
| JPS61160147A (en) | Virtual computer control system | |
| JP2591818B2 (en) | Auxiliary function selection control method | |
| JPS6232540A (en) | Information processor | |
| JPS60220468A (en) | Vector arithmetic control system | |
| JPS61241843A (en) | Information processor | |
| JPH071478B2 (en) | Micro program controller | |
| JPS6338729B2 (en) | ||
| JPS6029846A (en) | Execution state control method in information processing equipment | |
| JPH03204744A (en) | Address converting mechanism | |
| JPS63308659A (en) | Parallel processing method | |
| JPS62279431A (en) | Input/output emulator |