JPH0844570A - System and method for program execution - Google Patents
System and method for program executionInfo
- Publication number
- JPH0844570A JPH0844570A JP19600594A JP19600594A JPH0844570A JP H0844570 A JPH0844570 A JP H0844570A JP 19600594 A JP19600594 A JP 19600594A JP 19600594 A JP19600594 A JP 19600594A JP H0844570 A JPH0844570 A JP H0844570A
- Authority
- JP
- Japan
- Prior art keywords
- program
- load
- storage device
- load image
- memory
- 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
Landscapes
- Stored Programmes (AREA)
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明は、複数のロードモジュー
ルからなるプログラムを実行するためのプログラム実行
システムに関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a program execution system for executing a program composed of a plurality of load modules.
【0002】[0002]
【従来の技術】計算機システムがプログラムを実行する
場合、実行に先立って、外部記憶装置に格納されている
プログラムモジュールを、プロセッサが直接アクセスで
きる主メモリにロードする必要がある。プログラムは、
1個又は複数個のロードモジュールから構成されてお
り、それらを順次主メモリにロードしなければならな
い。ここで、ロードとは、プログラムを実行するプロセ
スのメモリ領域上へプログラムを読み込むことをいう。2. Description of the Related Art When a computer system executes a program, it is necessary to load a program module stored in an external storage device into a main memory that can be directly accessed by a processor before executing the program. The program is
It is composed of one or a plurality of load modules, which must be sequentially loaded into the main memory. Here, loading means reading the program into the memory area of the process that executes the program.
【0003】従来、プログラムが複数個のロードモジュ
ールから構成されている場合には、プログラムの実行を
次のような手順で行っていた。まず、プログラムの中で
最初に起動されるロードモジュールをロードする。この
モジュールは、プログラムが必要とするロードモジュー
ルの情報を保持しており、次に、この情報を用いて残り
のロードモジュールをロードする。必要なロードモジュ
ールを全てロードしたならば、ロードモジュール間で相
互に参照される関数や変数のアドレスを解決する処理を
行う。Conventionally, when a program is composed of a plurality of load modules, the program is executed by the following procedure. First, load the load module that is first started in the program. This module holds the load module information needed by the program and then uses this information to load the remaining load modules. Once all the required load modules have been loaded, the process of resolving the addresses of functions and variables that are mutually referenced between the load modules is performed.
【0004】しかしながら、全てのロードモジュールを
外部記憶装置から読み込むと、外部記憶装置に対するア
クセスが多くなるため、ロードに時間がかかる。また、
ロードモジュールをロードした後に関数や変数のアドレ
ス解決処理を行うと、ロードからプログラムの実行まで
に時間がかかる。However, if all the load modules are read from the external storage device, the access to the external storage device increases, so that it takes time to load. Also,
If function and variable address resolution processing is performed after loading the load module, it takes time from loading to program execution.
【0005】一方、従来より外部記憶装置に対するアク
セス回数を少なくして、高速にロードできるようにした
テキスト共有方式が知られている。このテキスト共有方
式は、複数のプログラムが同じロードモジュールを使用
する場合において、いったん読み込まれたロードモジュ
ールの内容のうち、テキスト部(操作命令部)をプロセ
ス間で共有することにより、テキスト部に対する外部記
憶装置からの読み込み回数を減少させるものである。On the other hand, there is conventionally known a text sharing system in which the number of accesses to an external storage device is reduced and the data can be loaded at high speed. In this text sharing method, when multiple programs use the same load module, the text part (operation instruction part) of the contents of the load module that has been read once is shared by the processes, and The number of readings from the storage device is reduced.
【0006】また、従来よりアドレス解決処理を必要最
小限とすることにより、ロードからプログラム実行まで
の時間を短縮する実行時アドレス解決方式がある。この
実行アドレス解決方式は、ロードモジュールをロードし
た後、変数のアドレス解決処理のみを行い、関数のアド
レス解決処理はプログラム実行中に必要に応じて行うこ
とにより、ロードからプログラム実行までにかかる時間
を短縮させるものである。Further, conventionally, there is a runtime address resolution method that shortens the time from loading to program execution by minimizing the address resolution processing. In this execution address resolution method, after loading the load module, only the address resolution processing of variables is performed, and the address resolution processing of functions is performed as needed during program execution, so that the time from loading to program execution is reduced. To shorten it.
【0007】[0007]
【発明が解決しようとする課題】前述のテキスト共有方
式では、プログラムがテキスト部に対しては更新処理を
行わず、参照のみを行うことを利用してるので、テキス
ト部に対しては外部記憶装置に対するアクセス回数を少
なくすることができる。しかしながら、ロードモジュー
ルの内容のうち、プログラムが更新を行うデータ部、す
なわちプログラムが走行したときに利用する数値や文字
列等を持つ部分に対しては、このようにプロセス間で共
有することはできない。その結果、テキスト共有方式を
用いた場合でも、データ部を読み込むためにはロードモ
ジュール毎に外部記憶装置に対するアクセスが発生す
る。In the above-mentioned text sharing method, the program does not perform update processing on the text portion but only refers to it. Therefore, an external storage device for the text portion is used. The number of accesses to can be reduced. However, in the contents of the load module, the data part that the program updates, that is, the part that has numerical values and character strings used when the program runs cannot be shared between processes like this. . As a result, even when the text sharing method is used, access to the external storage device occurs for each load module in order to read the data part.
【0008】また、実行時アドレス解決方式では、ロー
ドからプログラム実行までの時間が短縮されるが、プロ
グラムが実行を解決した後にアドレス解決処理を行うた
め、プログラム実行時間が長くなる。In the run-time address resolution method, the time from loading to execution of the program is shortened, but since the address resolution processing is performed after the program has resolved the execution, the program execution time becomes long.
【0009】このように、従来のプログラム実行方式で
は、ロードモジュールの数に比例した回数だけ外部記憶
装置に対してアクセスが発生するため、ロードに時間が
かかるという問題があった。また、ロードモジュールの
ロード後にアドレス解決処理を行うため、プログラム実
行までの時間やプログラムを実行する時間が長くなると
いう問題があった。As described above, the conventional program execution method has a problem that it takes time to load the external storage device because the external storage device is accessed a number of times proportional to the number of load modules. In addition, since the address resolution processing is performed after the load module is loaded, there is a problem that the time until the program is executed and the time for executing the program become long.
【0010】本発明の目的は、このような従来の課題を
解決し、プログラムロード時の外部記憶装置へのアクセ
ス回数を減少させ、アドレス解決処理をプログラムロー
ド時以前に行うことにより、プログラムを実行するまで
の時間やプログラムの実行時間を短縮することが可能な
プログラム実行システムを提供することにある。An object of the present invention is to solve the conventional problems as described above, reduce the number of accesses to an external storage device at the time of program loading, and execute address resolution processing before the program loading to execute the program. An object of the present invention is to provide a program execution system capable of reducing the time required to execute the program and the execution time of the program.
【0011】[0011]
【課題を解決するための手段】上記目的を達成するた
め、本発明のプログラム実行システムは、プログラムを
構成する複数のロードモジュールのメモリへロードと、
それらロードモジュール間で相互に参照する関数及び変
数のアドレス解決処理とを行なうことにより、プログラ
ムの実行に必要なロードイメージをメモリ上に作成する
ロードイメージ作成手段と、このメモリ上に作成された
ロードイメージを、不揮発性の記憶装置へ保存するロー
ドイメージ保存手段と、プログラムを実行するとき、上
記記憶装置に保存されているロードイメージをメモリ上
へ読み込むロードイメージ読み込み手段とを備えたこと
を特徴とする。In order to achieve the above object, the program execution system of the present invention is configured to load into a memory of a plurality of load modules constituting a program,
Load image creating means for creating a load image necessary for program execution on the memory by performing address resolution processing of the functions and variables mutually referenced between the load modules, and a load created on the memory A load image saving means for saving the image in a non-volatile storage device; and a load image reading means for reading the load image saved in the storage device into a memory when the program is executed. To do.
【0012】[0012]
【作用】本発明では、複数のロードモジュールのロード
と、ロードモジュール間で相互に参照する関数や変数の
アドレス解決処理を、プログラムを実行する以前にあら
かじめ行い、その結果得られたメモリ上のロードイメー
ジを不揮発性の記憶装置に保存しておく。以後プログラ
ムを実行するにときは、ロードモジュールをロードする
代りに、保存したロードイメージをメモリ上に読み込
む。According to the present invention, the load of a plurality of load modules and the address resolution processing of the functions and variables that are mutually referenced between the load modules are performed in advance before the program is executed, and the resulting load on the memory is executed. Save the image in non-volatile storage. When executing the program thereafter, instead of loading the load module, the saved load image is read into the memory.
【0013】これにより、プログラムを実行するときの
外部記憶装置へのアクセス回数を減少することができ
る。また、プログラムを実行するときやプログラム実行
中のアドレス解決処理は不要となる。これにより、プロ
グラムの実行までの時間やプログラム実行時間を短縮す
ることができる。As a result, it is possible to reduce the number of accesses to the external storage device when executing the program. In addition, address resolution processing is not required when executing a program or during program execution. As a result, it is possible to shorten the time until the program is executed and the program execution time.
【0014】[0014]
【実施例】以下、本発明の実施例を図面により詳細に説
明する。Embodiments of the present invention will now be described in detail with reference to the drawings.
【0015】図1は、本発明の一実施例を示す計算算機
システムの全体構成図である。FIG. 1 is an overall configuration diagram of a computer system showing an embodiment of the present invention.
【0016】図1に示すように、プロセッサ1、プロセ
ッサの主メモリを提供するメモリ3及びプログラムを蓄
積した不揮発性の外部記憶装置3によりシステムが構成
されている。As shown in FIG. 1, a system is constituted by a processor 1, a memory 3 that provides a main memory of the processor, and a non-volatile external storage device 3 that stores programs.
【0017】プログラム実行時の際に行う動作の概略は
以下の通りである。The outline of the operation performed when the program is executed is as follows.
【0018】プロセッサ1は、プログラムを実行する以
前に、準備動作として、外部記憶装置3よりそのプログ
ラムのロードモジュールを読み出しメモリ2へロードす
る。全てのロードモジュールをロードしたならば、プロ
セッサ1は、ロードモジュール間で相互に参照する関数
や変数のアドレス解決処理を行なう。次に、プロセッサ
1は、以上の準備動作によってメモリ2上に作成された
情報を外部記憶装置3に保存する。Before executing the program, the processor 1 reads the load module of the program from the external storage device 3 and loads it into the memory 2 as a preparatory operation. When all the load modules have been loaded, the processor 1 performs address resolution processing of functions and variables that are mutually referenced among the load modules. Next, the processor 1 stores in the external storage device 3 the information created on the memory 2 by the above preparatory operation.
【0019】以後、プロセッサ1は、そのプログラムを
実行するときは、外部記憶装置3に保存した上記情報を
メモリ2へ読み込むことにより、外部記憶装置3に対す
るアクセス回数を減少し、アドレス解決処理を不要とす
る。After that, when executing the program, the processor 1 reads the above information stored in the external storage device 3 into the memory 2 to reduce the number of accesses to the external storage device 3 and to eliminate the address resolution processing. And
【0020】以下、詳細に説明する。The details will be described below.
【0021】図2は、本実施例におけるプログラム実行
を制御する部分の機能ブロック図である。FIG. 2 is a functional block diagram of a portion for controlling program execution in this embodiment.
【0022】図2において、プログラム実行制御部11
は、上に概説した動作を行うもので、プロセッサ1のオ
ペレーティングシステム内に用意された一つの機能であ
る。このプログラム実行制御部11の働きにより、メモ
リ2内には、準備動作においてロードモジュールが読み
込まれるロードイメージ作成領域21や、プログラムの
実行時に使用されるプロセス領域22等が確保される。
外部記憶装置3には、プログラムを構成する複数のロー
ドモジュール31が予め格納されており、また、プログ
ラム実行制御部11の働きにより、ロードイメージが格
納されるロードイメージ格納領域32が確保される。In FIG. 2, the program execution control unit 11
Performs one of the operations outlined above and is a function provided in the operating system of the processor 1. By the function of the program execution control unit 11, a load image creation area 21 into which a load module is read in the preparatory operation, a process area 22 used when the program is executed, and the like are secured in the memory 2.
In the external storage device 3, a plurality of load modules 31 forming a program are stored in advance, and the function of the program execution control unit 11 secures a load image storage area 32 in which a load image is stored.
【0023】図3は、図2のプログラム実行制御部11
が、プログラムの実行に先立ちプログラムのロードイメ
ージを作成する動作の流れを示す。FIG. 3 shows the program execution control unit 11 of FIG.
Shows the flow of operations for creating a load image of a program prior to execution of the program.
【0024】プログラム実行制御部11は、まず、ロー
ドモジュール31の中で最初に起動されるロードモジュ
ールを、メモリ2のロードイメージ作成領域21へ読み
込む(S1)。次に、読み込んだロードモジュールか
ら、プログラムに必要な全てのロードモジュールのファ
イル名のリストを取り出す(S2)。そして、このリス
トに従い、残りのロードモジュールをロードイメージ作
成領域21へ読み込む(S4)。The program execution control unit 11 first reads the load module to be activated first among the load modules 31 into the load image creation area 21 of the memory 2 (S1). Next, from the read load module, a list of file names of all load modules required for the program is taken out (S2). Then, according to this list, the remaining load modules are read into the load image creation area 21 (S4).
【0025】プログラムの全てのロードモジュールを読
み込んだならば(S3)、次にロードモジュール間で相
互に参照される関数や変数のアドレス解決処理を行い
(S5)、その結果をメモリ2のロードイメージ作成領
域21に書込む。こうして、プログラムの実行に必要な
全ての情報(ロードイメージ)がロードイメージ作成領
域21上に作成されると、次に、このロードイメージ作
成領域21上のロードイメージを外部記憶装置3内のロ
ードイメージ格納領域32へ格納する(S6)。If all the load modules of the program have been read (S3), then the address resolution processing of the functions and variables mutually referenced between the load modules is performed (S5), and the result is the load image of the memory 2. Write in the creation area 21. In this way, all the information (load image) necessary for executing the program is created in the load image creating area 21, and then the load image in the load image creating area 21 is loaded into the external storage device 3. The data is stored in the storage area 32 (S6).
【0026】プログラムが複数ある場合、外部記憶装置
3の容量が許せば、それらプログラムの全てについて、
前もって上記のようにロードイメージを作成して外部記
憶装置3のロードイメージ作成領域32に格納しておく
ことが望ましい。When there are a plurality of programs, if the capacity of the external storage device 3 permits,
It is desirable to create the load image in advance as described above and store it in the load image creating area 32 of the external storage device 3.
【0027】図4は、プログラム実行制御部11が、プ
ログラムを実行するときの動作の流れを示す。FIG. 4 shows a flow of operations when the program execution control unit 11 executes a program.
【0028】プログラム実行制御部11は、プログラム
の実行要求を受けると、そのプログラムに対応するロー
ドイメージを外部記憶装置3内のロードイメージ格納領
域32から検索し(S11)、それをプロセス領域22
へ読み込む(S12)。Upon receiving the program execution request, the program execution control unit 11 retrieves the load image corresponding to the program from the load image storage area 32 in the external storage device 3 (S11), and retrieves it from the process area 22.
Read in (S12).
【0029】このように、本実施例では、複数のロード
モジュールのロードと、ロードモジュール間で相互に参
照する関数や変数のアドレス解決処理を、プログラムを
実行する以前に予め行い、その結果得られたメモリ上の
情報を外部記憶装置へ保存する。そして、プログラムを
実行するときには、ロードモジュールをロードするので
はなく、保存した情報をメモリ上に読み込むことによ
り、プログラムを実行するときの外部記憶装置へのアク
セス回数を減少し、プログラムを実行するときやプログ
ラム実行中のアドレス解決処理を不要とする。これによ
り、プログラムの実行までの時間やプログラム実行時間
を短縮することができる。As described above, in this embodiment, the load of a plurality of load modules and the address resolution processing of the functions and variables mutually referenced between the load modules are performed in advance before executing the program, and the result is obtained. The information stored in the memory is stored in the external storage device. When the program is executed, the load module is not loaded, but the saved information is read into the memory to reduce the number of accesses to the external storage device when the program is executed and to execute the program. Address resolution processing during program execution is unnecessary. As a result, it is possible to shorten the time until the program is executed and the program execution time.
【0030】以上、本発明を実施例に基づき具体的に説
明したが、本発明は前記実施例に限定されるものではな
く、その主旨を逸脱しない範囲内において種々の変更可
能であることは言うまでもない。Although the present invention has been specifically described based on the embodiments, it is needless to say that the present invention is not limited to the above embodiments and various modifications can be made without departing from the spirit of the invention. Yes.
【0031】[0031]
【発明の効果】以上説明したように、本発明によれば、
プログラムを実行するときの外部記憶装置へのアクセス
回数を減少することができると共に、プログラムを実行
するときやプログラムの実行中のアドレス解決処理は不
要となり、プログラムの実行までの時間やプログラム実
行時間を短縮することができる。As described above, according to the present invention,
The number of accesses to the external storage device when executing the program can be reduced, and the address resolution processing when executing the program or during execution of the program becomes unnecessary, and the time until the program is executed and the program execution time can be reduced. It can be shortened.
【図1】本発明のプログラム実行方法を適用する計算機
システムの構成図。FIG. 1 is a configuration diagram of a computer system to which a program execution method of the present invention is applied.
【図2】本発明の一実施例を示すプログラム実行制御部
の機能ブロック図。FIG. 2 is a functional block diagram of a program execution control unit showing an embodiment of the present invention.
【図3】本発明のプログラム実行制御部がプログラム実
行以前に行う動作フローチャート。FIG. 3 is an operation flowchart performed by a program execution control unit of the present invention before executing a program.
【図4】本発明のプログラム実行制御部がプログラム実
行時に行う動作フローチャート。FIG. 4 is a flowchart of an operation performed by a program execution control unit of the present invention when executing a program.
1 プロセッサ 2 メモリ 3 外部記憶装置 11 プログラム実行制御部 21 ロードイメージ作成領域 22 プロセス領域 31 ロードモジュール 32 ロードイメージ格納領域 1 Processor 2 Memory 3 External Storage Device 11 Program Execution Control Unit 21 Load Image Creation Area 22 Process Area 31 Load Module 32 Load Image Storage Area
Claims (2)
ラムを実行するプログラム実行システムにおいて、 前記プログラムを構成するロードモジュールのメモリへ
ロードと、それらロードモジュール間で相互に参照する
関数及び変数のアドレス解決処理とを行なうことによ
り、前記プログラムの実行に必要なロードイメージを前
記メモリ上に作成するロードイメージ作成手段と、 前記ロードイメージ作成手段によって前記メモリ上に作
成されたロードイメージを、不揮発性の記憶装置へ保存
するロードイメージ保存手段と、 前記プログラムを実行するとき、前記記憶装置内のロー
ドイメージを前記メモリ上へ読み込むロードイメージ読
み込み手段と、を備えたことを特徴とするプログラム実
行システム。1. A program execution system for executing a program composed of a plurality of load modules, comprising: loading into a memory of a load module which constitutes the program; and address resolution processing of a function and a variable which are mutually referenced between the load modules. By performing a load image creating means for creating a load image required for executing the program on the memory, and a load image created on the memory by the load image creating means to a non-volatile storage device. A program execution system comprising: a load image storage unit that stores the load image; and a load image reading unit that loads the load image in the storage device onto the memory when the program is executed.
ラムを実行するプログラム実行方法において、 前記プログラムを構成するロードモジュールのメモリへ
ロードと、それらロードモジュール間で相互に参照する
関数及び変数のアドレス解決処理とを行なうことによ
り、前記プログラムの実行に必要なロードイメージを前
記メモリ上に作成するロードイメージ作成過程と、 前記ロードイメージ作成過程によって前記メモリ上に作
成されたロードイメージを、不揮発性の記憶装置へ保存
するロードイメージ保存過程と、 前記プログラムを実行するとき、前記記憶装置内のロー
ドイメージを前記メモリ上へ読み込むロードイメージ読
み込み手段と、を備えたことを特徴とするプログラム実
行システム。2. A program execution method for executing a program composed of a plurality of load modules, comprising: loading into a memory of a load module that constitutes the program; and address resolution processing of a function and a variable which are mutually referenced between the load modules. By executing the load image creating process for creating the load image necessary for executing the program on the memory, and the load image created on the memory by the load image creating process to a non-volatile storage device. A program execution system comprising: a load image saving process for saving; and a load image reading means for reading a load image in the storage device onto the memory when executing the program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP19600594A JPH0844570A (en) | 1994-07-28 | 1994-07-28 | System and method for program execution |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP19600594A JPH0844570A (en) | 1994-07-28 | 1994-07-28 | System and method for program execution |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0844570A true JPH0844570A (en) | 1996-02-16 |
Family
ID=16350649
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP19600594A Pending JPH0844570A (en) | 1994-07-28 | 1994-07-28 | System and method for program execution |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0844570A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008305398A (en) * | 2007-06-05 | 2008-12-18 | Intel Corp | Dynamic linking and loading of post-processing kernel |
-
1994
- 1994-07-28 JP JP19600594A patent/JPH0844570A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008305398A (en) * | 2007-06-05 | 2008-12-18 | Intel Corp | Dynamic linking and loading of post-processing kernel |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4462086A (en) | Loading system in numerical controller | |
WO1998013762A1 (en) | Processing system and method for reading and restoring information in a ram configuration | |
JPH0844570A (en) | System and method for program execution | |
JPH01261758A (en) | Computer system | |
JPH07152574A (en) | Program loading system | |
JP3442972B2 (en) | Information processing apparatus and rewritable nonvolatile memory rewriting method | |
JPH082727Y2 (en) | Programmable sequencer | |
JP2927102B2 (en) | Instruction string switching method and arithmetic processor using the same | |
JP3341061B2 (en) | Programmable controller | |
JPH02109128A (en) | Computer system | |
JPS5835648A (en) | Program execution controlling system | |
JPH02270032A (en) | Loading system | |
JPH0667898A (en) | Task control system | |
JPH04107634A (en) | Memory data bypass control system | |
JPS62221034A (en) | Arithmetic controller | |
JPH0287227A (en) | Data processor | |
JPH08249022A (en) | Multiprocessor arithmetic unit and programmable controller having the arithmetic unit | |
JPH08249024A (en) | Programmable controller | |
JPH0454548A (en) | Memory check system for computer system | |
JPS62226250A (en) | System rise system | |
JPH01284941A (en) | Information processor | |
JPH05233305A (en) | Program loading system | |
JPH02105935A (en) | Microprogram controller | |
JPH05274212A (en) | Memory initializing processing method | |
JPS58114218A (en) | Program loading system |