JPH05233307A - Plural process generating method - Google Patents

Plural process generating method

Info

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
Application number
JP4037605A
Other languages
Japanese (ja)
Inventor
Kazutoshi Yokoyama
和俊 横山
Hideo Taniguchi
秀夫 谷口
Satoshi Hakomori
聰 箱守
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.)
N T T DATA TSUSHIN KK
NTT Data Corp
Original Assignee
N T T DATA TSUSHIN KK
NTT Data Communications Systems 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 N T T DATA TSUSHIN KK, NTT Data Communications Systems Corp filed Critical N T T DATA TSUSHIN KK
Priority to JP4037605A priority Critical patent/JPH05233307A/en
Publication of JPH05233307A publication Critical patent/JPH05233307A/en
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)
  • Stored Programmes (AREA)

Abstract

PURPOSE:To accelerate processing to generate plural processes in an operating system which provides a dynamic link function. CONSTITUTION:Firstly, a program is read from an external memory device 12 in a memory device, and a piece of logical space can be generated. Secondly, an address for the logical space is solved by using the dynamic link function 11. After that, the processes after second can be generated by copying the logical space of the process generated first. Thereby, it is possible to omit address solution processing for individual process after second performed in a conventional system.

Description

【発明の詳細な説明】Detailed Description of the Invention

【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]

【図面の簡単な説明】[Brief description of drawings]

【図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.

【符号の説明】[Explanation of symbols]

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)

【特許請求の範囲】[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.
JP4037605A 1992-02-25 1992-02-25 Plural process generating method Pending JPH05233307A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (2)

* Cited by examiner, † Cited by third party
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