JPH05233307A - Plural process generating method - Google Patents
Plural process generating methodInfo
- Publication number
- JPH05233307A JPH05233307A JP4037605A JP3760592A JPH05233307A JP H05233307 A JPH05233307 A JP H05233307A JP 4037605 A JP4037605 A JP 4037605A JP 3760592 A JP3760592 A JP 3760592A JP H05233307 A JPH05233307 A JP H05233307A
- Authority
- JP
- Japan
- Prior art keywords
- processes
- storage device
- program
- logical space
- address
- 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
- Memory System Of A Hierarchy Structure (AREA)
- Stored Programmes (AREA)
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明は、プロセスを生成すると
きに実行するプログラムのアドレスを解決するダイナミ
ックリンク機能を有するオペレーティング・システム
(以下OSと記す)において、同じプログラムを実行す
るプロセスを複数、一度に生成する方法に関し、特に複
数のプロセスを高速に生成するのに好適な複数プロセス
生成方法に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an operating system (hereinafter referred to as an OS) having a dynamic link function for resolving an address of a program executed when a process is generated, and a plurality of processes executing the same program, The present invention relates to a method for generating at once, and more particularly to a method for generating a plurality of processes suitable for generating a plurality of processes at high speed.
【0002】[0002]
【従来の技術】上記計算機システムにおいて、プロセス
を生成するときには、外部記憶装置から記憶装置にプロ
グラムを読み込む。また、ダイナミックリンク機能(プ
ロセス固有の論理空間を構成する際、実行するプログラ
ムの関数呼び出しや全体変数参照のアドレスを動的に確
定する機能)を有するOSで実行されるプログラムは、
複数のサブプログラムから構成される。このようなシス
テムにおいて、一つのプロセスを生成する場合、次に
〜に示す順序で処理を行なう。 プログラム名等のプロセス生成情報を受け取る。 プログラム実行に必要な全てのサブプログラムを外部
記憶装置から記憶装置に読み込み、プロセスの論理空間
を一つ作成する。 生成されたプロセスに制御を渡す。 関数呼び出しや全体変数参照のアドレスを解決する。 プログラムの実行を開始する。 同じプログラムを実行するプロセスを、複数生成する従
来の方法は、〜の処理を繰り返す。すなわち、図2
に示すように、外部記憶装置22から記憶装置にプログ
ラムを読み込み、論理空間を作成する処理と、ダイナミ
ックリンク機能21により、関数呼び出しや全体変数の
アドレスを解決する処理を、繰返し行なう必要がある。
また、この他に、マルチプロセス生成機能によって、同
じプログラムを実行するプロセスを複数、一度に生成す
る方法がある。この方法では、次の順序で処理を行な
う。 (1)生成するプロセス数やプログラム名等のプロセス
生成情報を受け取る。 (2)プログラムの実行に必要な全てのサブプログラム
を外部記憶装置から読み込み、プロセスの論理空間を一
つ作成する。 (3)(2)で作成されたプロセスの論理空間を必要個
数複写して、残りのプロセスの論理空間を作成する。 (4)生成されたプロセスに制御を渡す。 (5)関数呼び出しや全体変数参照のアドレスを解決す
る。 (6)プログラムの実行を開始する。 なお、(4)〜(6)は、生成した複数のプロセスが各
々実行する処理である。これは、図3に示すように、外
部記憶装置32から記憶装置にプログラムを読み込み、
一つのプロセスの論理空間を作成する処理を行ない、次
に、必要個数のプロセスの論理空間を、最初に生成され
たプロセスの論理空間を複写することで作成し、さら
に、生成されたプロセスの論理空間に対し、ダイナミッ
クリンク機能31によって、個別にアドレスを解決する
ものである。なお、マルチプロセス生成機能について
は、例えば「プロセス生成の高速化と並列化に関する検
討、情報処理学会(社)発行(1989年8月3日)、
情報処理学会研究会報告、pp.81−86」において
論じられている。2. Description of the Related Art In the above computer system, when a process is created, a program is read from an external storage device into a storage device. Further, a program executed by an OS having a dynamic link function (a function call of a program to be executed or a function of dynamically determining an address for referring to an entire variable when a process-specific logical space is configured) is
It is composed of multiple subprograms. In such a system, when one process is generated, the processes are next performed in the order shown by to. Receive process creation information such as program name. All the subprograms necessary for program execution are read from the external storage device to the storage device, and one logical space of the process is created. Pass control to the spawned process. Resolve the address of function calls and global variable references. Start running the program. In the conventional method of generating a plurality of processes that execute the same program, the processes of to are repeated. That is, FIG.
As shown in, it is necessary to repeatedly perform a process of reading a program from the external storage device 22 to the storage device and creating a logical space, and a process of calling a function or resolving the addresses of all variables by the dynamic link function 21.
In addition to this, there is a method of generating a plurality of processes executing the same program at once by using a multi-process generation function. In this method, processing is performed in the following order. (1) Receive process generation information such as the number of processes to be generated and the program name. (2) All the subprograms required to execute the program are read from the external storage device, and one process logical space is created. (3) The necessary number of process logical spaces created in (2) are copied to create the remaining process logical spaces. (4) Pass control to the created process. (5) Resolve the address of function calls and global variable references. (6) Start executing the program. It should be noted that (4) to (6) are processes executed by each of the plurality of generated processes. This reads the program from the external storage device 32 to the storage device as shown in FIG.
The process of creating the logical space of one process is performed, and then the logical space of the required number of processes is created by copying the logical space of the process that was created first, and the logical space of the created process is created. The address is individually resolved for the space by the dynamic link function 31. Regarding the multi-process generation function, for example, "Study on speeding up and parallelization of process generation, published by IPSJ (August 3, 1989),
IPSJ Technical Report, pp. 81-86 ".
【0003】[0003]
【発明が解決しようとする課題】上記従来技術では、関
数呼び出しや全体変数のアドレス解決の処理が、生成す
るプロセス数回、繰り返して行なわれる、そのため、ア
ドレス解決の処理量が多くなり、複数プロセスの生成処
理速度が遅くなるという問題がある。本発明の目的は、
このような問題点を改善し、従来は生成プロセス数回実
行されていたアドレス解決の処理量を減少させ、複数の
プロセスを生成する処理を高速に行なう複数プロセス生
成方法を提供することにある。In the above-mentioned prior art, the function call and the address resolution process of the whole variable are repeatedly performed several times for the processes to be generated. Therefore, the processing amount of the address resolution is increased and a plurality of processes are generated. There is a problem that the generation processing speed of is slow. The purpose of the present invention is to
An object of the present invention is to provide a multi-process generation method that solves such a problem, reduces the processing amount of address resolution that has been conventionally executed several times in the generation process, and performs a process of generating a plurality of processes at high speed.
【0004】[0004]
【課題を解決するための手段】上記目的を達成するた
め、本発明の複数プロセス生成方法は、マルチプロセス
生成機能において、最初に作成されたプロセスの論理空
間に対して、ダイナミックリンク機能を用いてアドレス
解決を行ない、そのアドレス解決された論理空間を複写
することによって、残りのプロセスを生成することに特
徴がある。すなわち、図1に示すように、まず、外部記
憶装置12から記憶装置にプログラムを読み込み、一つ
の論理空間を作成する。次に、その論理空間に対し、ダ
イナミックリンク機能11を用いて、アドレスを解決す
る。この後、二番目以降のプロセスについては、最初に
生成されたプロセスの論理空間を複写することで生成す
る。これにより、図2および図3に示したプロセス個別
のアドレス解決処理を省く。In order to achieve the above object, the multi-process generation method of the present invention uses the dynamic link function for the logical space of the process created first in the multi-process generation function. It is characterized in that the remaining process is created by performing address resolution and copying the address-resolved logical space. That is, as shown in FIG. 1, first, a program is read from the external storage device 12 into the storage device to create one logical space. Next, the address is resolved for the logical space by using the dynamic link function 11. After that, the second and subsequent processes are created by copying the logical space of the first created process. As a result, the address resolution processing for each process shown in FIGS. 2 and 3 is omitted.
【0005】[0005]
【作用】本発明においては、ダイナミックリンク機能に
より、最初に生成されたプロセスのアドレス解決後の情
報を複写利用することで、二番目以降のプロセスを生成
する。そのため、生成するプロセス数に関係なく、アド
レス解決処理は、一回で済む。このように、実行するプ
ログラムのアドレス解決処理が一回でよいため、複数プ
ロセスの生成処理が高速に行なえる。In the present invention, the dynamic link function is used to copy and use the address-resolved information of the first process to generate the second and subsequent processes. Therefore, regardless of the number of processes to be generated, the address resolution process only needs to be performed once. In this way, since the address resolution processing of the program to be executed only needs to be performed once, the generation processing of a plurality of processes can be performed at high speed.
【0006】[0006]
【実施例】以下、本発明の一実施例を図面により説明す
る。図4は、本発明の一実施例における複数プロセス生
成方法を示すフローチャート、図5は本発明の一実施例
の計算機システムにおける複数プロセス生成処理の動作
を示す図である。本実施例の計算機システムは、システ
ム全体を制御し、記憶装置から命令を取り出して実行す
るCPUと、各種プログラムおよびデータを格納し、プ
ログラム実行時のワークエリアとして用いられる記憶装
置と、磁気ディスク装置等から構成され、プログラム・
ライブラリやデータ・ファイルを格納する外部記憶装置
と、CPUの処理と入出力処理とを並行に実行するため
のチャネル装置と、その他入出力装置を含む周辺装置と
から構成される。また、OSは、ダイナミックリンク機
能を有し、プロセス生成時に、実行するプログラムの関
数呼び出しや全体変数参照のアドレスを定める。DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be described below with reference to the drawings. FIG. 4 is a flow chart showing a multiple process generation method according to an embodiment of the present invention, and FIG. 5 is a diagram showing an operation of multiple process generation processing in a computer system according to an embodiment of the present invention. The computer system of the present embodiment controls the entire system, extracts a CPU from a storage device and executes it, a storage device that stores various programs and data, and is used as a work area when the program is executed, and a magnetic disk device. The program consists of
It is composed of an external storage device for storing libraries and data files, a channel device for executing CPU processing and input / output processing in parallel, and peripheral devices including other input / output devices. Further, the OS has a dynamic link function, and when a process is created, it determines an address for calling a function of a program to be executed or referring to an entire variable.
【0007】このような構成により、図4および図5に
示すように、OSは、複数プロセスの生成要求を受け取
ると、受け取ったプロセス生成情報で示されたプログラ
ムを実行するために必要な全てのサブプログラムを、外
部記憶装置12から記憶装置上に読み込み、最初のプロ
セスの論理空間を作成する(401)。次に、最初のプ
ロセスの論理空間に対し、ダイナミックリンク機能11
を用いて関数呼び出しや全体変数参照のアドレスを解決
する(402)。この後、二番目以降のプロセスの生成
では、最初に生成されたプロセスの論理空間を複写する
ことによって、複数のプロセスを生成する(403,4
04)。With such a configuration, as shown in FIGS. 4 and 5, when the OS receives a request for creating a plurality of processes, all of the OS necessary to execute the program indicated by the received process creation information. The subprogram is read from the external storage device 12 onto the storage device, and the logical space of the first process is created (401). Next, the dynamic link function 11 is added to the logical space of the first process.
Is used to resolve the address of the function call or the whole variable reference (402). After that, in the generation of the second and subsequent processes, a plurality of processes are generated by copying the logical space of the first generated process (403, 4).
04).
【0008】[0008]
【発明の効果】本発明によれば、同じプログラムを実行
する複数のプロセスを生成する処理において、マルチプ
ロセス生成機能を利用することにより、関数呼び出しや
全体変数のアドレス解決処理を一回で済ませることがで
きるため、プロセス生成処理を高速に行なえる。According to the present invention, in the process of generating a plurality of processes executing the same program, the function call and the address resolution process of the whole variable can be performed only once by utilizing the multi-process generation function. Therefore, the process generation process can be performed at high speed.
【0009】[0009]
【図1】本発明の複数プロセス生成方法の概略を示す図
である。FIG. 1 is a diagram showing an outline of a multi-process generation method of the present invention.
【図2】従来のダイナミックリンク機能を用いた複数プ
ロセス生成方法を示す図である。FIG. 2 is a diagram showing a conventional multi-process generation method using a dynamic link function.
【図3】従来のマルチプロセス生成機能による複数プロ
セス生成方法を示す図である。FIG. 3 is a diagram showing a conventional multi-process generation method using a multi-process generation function.
【図4】本発明の一実施例における複数プロセス生成方
法を示すフローチャートである。FIG. 4 is a flowchart showing a method for creating multiple processes according to an embodiment of the present invention.
【図5】本発明の一実施例の計算機システムにおける複
数プロセス生成処理の動作を示す図である。FIG. 5 is a diagram showing an operation of multiple process generation processing in the computer system according to the embodiment of this invention.
11 ダイナミックリンク機能 21 ダイナミックリンク機能 31 ダイナミックリンク機能 12 外部記憶装置 23 外部記憶装置 33 外部記憶装置 11 Dynamic Link Function 21 Dynamic Link Function 31 Dynamic Link Function 12 External Storage Device 23 External Storage Device 33 External Storage Device
Claims (1)
を備え、プロセスを生成するとき、実行するプログラム
の関数呼び出しや全体変数参照のアドレスを解決する機
能を提供するオペレーティング・システムを有する電子
計算機のプロセス生成方法において、同一プログラムを
実行するプロセスを複数、生成する場合、該プログラム
を構成するサブプログラムを、上記外部記憶装置から記
憶装置に読み込み、最初のプロセスの論理空間を作成し
て、該論理空間に対する関数呼び出しや全体変数参照の
アドレスを解決し、二番目以降のプロセスについては、
最初のプロセスの論理空間を複写することを特徴とする
複数プロセス生成方法。1. A computer having an operating system, which includes a processor, a storage device, and an external storage device, and has a function of resolving a function call of a program to be executed and an address of an entire variable reference when a process is generated. In the process generation method, when a plurality of processes that execute the same program are generated, the subprograms forming the program are read from the external storage device to the storage device, a logical space of the first process is created, and Resolve the address of the function call or global variable reference to the space, and for the second and subsequent processes,
A method for creating multiple processes characterized by copying the logical space of the first process.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4037605A JPH05233307A (en) | 1992-02-25 | 1992-02-25 | Plural process generating method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4037605A JPH05233307A (en) | 1992-02-25 | 1992-02-25 | Plural process generating method |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH05233307A true JPH05233307A (en) | 1993-09-10 |
Family
ID=12502212
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4037605A Pending JPH05233307A (en) | 1992-02-25 | 1992-02-25 | Plural process generating method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH05233307A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07152641A (en) * | 1993-11-29 | 1995-06-16 | Fujitsu Ltd | Program cache device |
JP2005216288A (en) * | 2003-12-22 | 2005-08-11 | Sun Microsyst Inc | System and method for dynamically and persistently tracking incremental profiling data in process cloning application environment |
-
1992
- 1992-02-25 JP JP4037605A patent/JPH05233307A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07152641A (en) * | 1993-11-29 | 1995-06-16 | Fujitsu Ltd | Program cache device |
JP2005216288A (en) * | 2003-12-22 | 2005-08-11 | Sun Microsyst Inc | System and method for dynamically and persistently tracking incremental profiling data in process cloning application environment |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2893071B2 (en) | Thread private memory for multi-threaded digital data processor | |
JPH05204656A (en) | Method for holding data inherent in thread | |
JP2001147819A (en) | Optimizing device and recording medium | |
JP2000347872A (en) | Method and device for processing exception as regular control flow | |
JP2009157684A (en) | Virtualization program, simulation device, and virtualization method | |
US5293630A (en) | Method of returning a data structure from a callee function to a caller function for the C programming language | |
JPH05233307A (en) | Plural process generating method | |
KR20060035077A (en) | Data processing device and register allocation method using data processing device | |
JP3339317B2 (en) | Dynamic information utilization type program optimization device | |
CN110045962B (en) | Method and device for supporting multi-language script execution | |
JPH03135630A (en) | Instruction scheduling system | |
JP2019067227A (en) | Image processing apparatus, image processing method, and program | |
JP3566602B2 (en) | Compilation method and recording medium recording compilation program | |
JP2000076095A (en) | Device and method for tracing program and storage medium storing program therefor | |
JP3085309B2 (en) | Debug system | |
JP2003076562A (en) | Method, device for quantitatively controlling memory, computer program and recording medium | |
JP2502128B2 (en) | Compiler device | |
JP3018783B2 (en) | Compilation method | |
JP2591818B2 (en) | Auxiliary function selection control method | |
JP2006031248A (en) | Software evaluation system for generating log by hooking function call | |
JP3918096B2 (en) | Dynamic link method, dynamic link control method and program | |
JP3192177B2 (en) | Object processing device | |
JPH0553827A (en) | Dynamic link optimizing system | |
JPH0566949A (en) | Calling system for function definition compiled code | |
JPS63276629A (en) | Sorting system for record in file |