JPS61138338A - Process start processing system - Google Patents

Process start processing system

Info

Publication number
JPS61138338A
JPS61138338A JP26017484A JP26017484A JPS61138338A JP S61138338 A JPS61138338 A JP S61138338A JP 26017484 A JP26017484 A JP 26017484A JP 26017484 A JP26017484 A JP 26017484A JP S61138338 A JPS61138338 A JP S61138338A
Authority
JP
Japan
Prior art keywords
program
segment
address space
secured
segments
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
JP26017484A
Other languages
Japanese (ja)
Inventor
Sadao Fukatsu
深津 貞雄
Yoshihiro Nakamura
芳弘 中村
Nobuo Watabe
信雄 渡部
Takashi Kimoto
木本 隆
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP26017484A priority Critical patent/JPS61138338A/en
Publication of JPS61138338A publication Critical patent/JPS61138338A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To execute process formation at a high speed and to improve the efficiency of a memory by detecting a logical address space to which a module is loaded on the basis of a module control table and using the detected information. CONSTITUTION:Start processing is executed on the basis of a process start processing program 10 and a process table 7-p is tried to be acquired at first. When the table 7-p can acquired, a required program is searched in a module control table 8, and when there is no required program, the program is loaded to any segment. When the program exists, a process control table 9-i is searched and whether a data area having required size can be secured or not. When the area can be secured, the table 7-p is set up and the status is informed to an active queue. When the data area can not be secured, the program is copied on another segment. When the program can be copied, the data area is secured, a process table is set up and the process is set up in the active queue. When the data area can not be secured, an error is outputted.

Description

【発明の詳細な説明】 (A)産業上の利用分野 本発明は、プロセス起動処理方式、特に論理アドレス空
間よりも物理アドレス空間の方が大きいデータ処理シス
テムにおいて、生成したいプロセスが使用するプログラ
ムが、いずれかの論理空間上に存在している限り、それ
を利用できるようにして、プロセスの生成を高速化した
プロセス起動処理方式に関するものである。
DETAILED DESCRIPTION OF THE INVENTION (A) Industrial field of application The present invention is directed to process startup processing systems, particularly data processing systems where the physical address space is larger than the logical address space. The present invention relates to a process startup processing method that speeds up process creation by making it possible to utilize logical spaces as long as they exist in any logical space.

(B)従来の技術と発明が解決しようとする問題点従来
のプロセス起動処理方式には、次の2つの方式が知られ
ている。即ち ■バンク方式 物理アドレス空間を複数の論理アドレス空間に分割して
各論理アドレス空間を独立したアドレス空間とし、互い
のアドレス空間内の情報を使わない方式。この方式では
、エアドレス空間に1プロセスしか作らない。互いの情
報を何も使わないので、プロセスを生成するときはいつ
でもプログラムをファイルからロードしなければならな
い。この方式には、次のような欠点がある。(i)生成
できるプロセスの最大数は論理アドレス空間の数に制限
される。(ii )同じプログラムを共用できないので
、メモリ効率が悪い。(iii )プログラムがどこか
の論理アドレス空間にある場合でも、ファイルからその
プログラムをロードしなければならないので、ロード時
間が長い。
(B) Prior Art and Problems to be Solved by the Invention The following two methods are known as conventional process startup processing methods. Namely, ①Bank method A method in which the physical address space is divided into a plurality of logical address spaces, each logical address space is an independent address space, and the information in each address space is not used. In this method, only one process is created in the air address space. Since they do not use any information about each other, the program must be loaded from a file whenever a process is spawned. This method has the following drawbacks. (i) The maximum number of processes that can be created is limited to the number of logical address spaces. (ii) Memory efficiency is poor because the same program cannot be shared. (iii) Even if the program is located somewhere in the logical address space, the program must be loaded from a file, which takes a long time to load.

■マツピング方式 物理アドレス空間から論理アドレス空間を動的に作る方
式。プロセスを生成するときにもし、プログラムが既に
どこかのアドレス空間にあれば、プログラムの存在する
部分を共有するようにマツピングする。プログラムがど
のアドレス空間にもない場合には、ファイルからそのプ
ログラムをロードする。この方式は、バンク方式に比較
するとメモリ効率はよいが、論理アドレス空間が動的に
変化するのでプログラムのデバッグ等が複雑になる欠点
がある。
■Mapping method A method that dynamically creates a logical address space from a physical address space. When creating a process, if the program already exists somewhere in the address space, the part where the program exists is mapped so that it is shared. If the program is not in any address space, load the program from the file. Although this method has better memory efficiency than the bank method, it has the disadvantage that program debugging becomes complicated because the logical address space changes dynamically.

(C)問題点を解決するための手段 本発明は、上記の問題点を解決しており、少なくとも、
モジュール管理テーブルを用いることにより、どの論理
アドレス空間にモジュールがロードされているかを知り
、その情報を使うことによって、プロセス生成を高速に
行ってメモリ効率を上げるが、メモリ・マツピングを動
的には変えないでデバッグ等が比較的易しくなるように
したプロセス生成方式を提供している。
(C) Means for solving the problems The present invention solves the above problems, and includes at least the following:
By using the module management table, we can know in which logical address space a module is loaded, and by using that information, we can speed up process creation and improve memory efficiency, but we cannot dynamically perform memory mapping. We provide a process generation method that makes debugging relatively easy without making any changes.

そして、本発明のプロセス起動処理方式は、■生成する
プロセスのプログラムがどこかのアドレス空間に存在す
るかかを調べ、もしあれば、そのアドレス空間にプロセ
スを生成して、プログラム・コードの共有化を図る。 
■プログラムがあってもメモリ容量等の関係で、プログ
ラムの存在する空間においてプロセスを生成できなけれ
ば、プロセスを生成できる別のアドレス空間にプログラ
ムをコピーし、その空間にプロセスを生成する。
Then, the process startup processing method of the present invention checks whether the program of the process to be created exists in any address space, and if so, creates a process in that address space and shares the program code. We aim to make this possible.
■Even if a program exists, if a process cannot be created in the space where the program exists due to memory capacity, etc., the program is copied to another address space where a process can be created, and a process is created in that space.

■プログラムがどのアドレス空間にもない場合はファイ
ルからロードして、プロセスを生成するようにすること
を特徴としている。以下図面を参照しつつ説明する。
■If the program does not exist in any address space, it is characterized by loading it from a file and creating a process. This will be explained below with reference to the drawings.

(D)実施例 第1図は本発明の一実施例構成、第2図は本発明に用い
るプロセス起動プログラムの一実施例処理態様を示す。
(D) Embodiment FIG. 1 shows the configuration of an embodiment of the present invention, and FIG. 2 shows the processing mode of an embodiment of a process startup program used in the present invention.

第1図において、1は中央処理装置、2は主記憶装置、
3は外部メモリ、4−0ないし4−15は夫々セグメン
トであって主記憶袋W2内を論理アドレス空間に対応す
る大きさの16個に区分したもの、5はメモリ・セグメ
ント・レジスタであってその内容によって現にどのセグ
メントに対応する処理が実行されつつあるかを指示する
もの、6はアクティブ・ポインタであって現に生成され
た状態にあるプロセスについてのキューの入口を指示す
るもの、7−0、? −11,、、、は夫々プロセス・
テーブルであって現に生成された状態にあるプロセスに
関する情報が格納されているもの、8は本発明にいうモ
ジュール管理テーブルであって夫々のセグメント上にロ
ードされているプログラム・モジュールに関する情報を
保持しているもの、9−ロないし9−15は夫々プロセ
ス管理テーブルであって夫々のセグメントに対応しても
うけられて当該セグメントに対応して生成されているプ
ロセスに関する情報を保持するもの、10はプロセス起
動処理プログラムを表わしている。なお、図示7.8.
9.10は夫々主記憶装W2上に格納されているもので
あるが説明の都合上中央処理装置1上に存在するものと
して図示されている。
In FIG. 1, 1 is a central processing unit, 2 is a main memory,
3 is an external memory, 4-0 to 4-15 are segments each of which divides the main memory bag W2 into 16 pieces each having a size corresponding to the logical address space, and 5 is a memory segment register. Its contents indicate which segment the process is currently being executed; 6 is an active pointer that indicates the entrance of the queue for the process currently being generated; 7-0 ,? −11, , , are the process and
A table 8 stores information regarding processes that are currently generated, and 8 is a module management table referred to in the present invention that stores information regarding program modules loaded on each segment. 9-B to 9-15 are process management tables, which are provided corresponding to each segment and hold information regarding the process generated corresponding to the segment; 10 is a process management table; Represents the startup processing program. In addition, illustration 7.8.
9 and 10 are respectively stored on the main memory W2, but for convenience of explanation, they are shown as existing on the central processing unit 1.

今仮に16ビツト・アドレスのデータ処理装置を考える
と、論理アドレス空間として64にバイトの大きさをも
つものとなり、1Mバイトの主記憶装W2の場合には1
6個のセグメントに区分される。夫々のセグメントは、
処理上独立したちのとなり、1時点ではいずれか1つの
セグメントのみがアクティブにされ、メモリ・セグメン
ト・レジスタ(MSR)5にセグメント番号を書くこと
によって、現にいずれのセグメントに関連した処理が行
なわれているかが指示される。
If we consider a data processing device with a 16-bit address, the logical address space will have a size of 64 bytes, and in the case of a 1M byte main memory W2, it will have a logical address space of 64 bytes.
It is divided into 6 segments. Each segment is
They are independent in processing, and only one segment is active at a time, and by writing the segment number to memory segment register (MSR) 5, it is possible to determine which segment is currently being processed. It will tell you what you are doing.

第1図図示の場合には、セグメント4−1上のアドレス
rl O00Jを先頭アドレスとする位置に、サイズr
500Jのプログラム名rsORT」なるプログラム・
モジュールがロードされており、当該モジュールはいず
れか1つのプロセスが使用している(使用カウント「1
」)ことが、モジュール管理テーブル8から明らかにさ
れる。またセグメント4−2上のアドレスr4000」
を先頭アドレスとする位置に、サイズr300Jのプロ
グラム名「MERGE」なるプログラム・モジュールが
ロードされており、当該モジューJしはいずれか2つの
プロセスが使用している(使用カウント「2」)ことが
明らかにされる。
In the case shown in Figure 1, a size r
The program name of 500J is rsORT.
The module is loaded and is being used by one of the processes (use count "1").
”) is revealed from the module management table 8. Also, address r4000 on segment 4-2.”
A program module with the program name "MERGE" of size r300J is loaded at the start address of be revealed.

また例えばセグメント4−1に対応するプロセス管理テ
ーブル9−0の内容から、 (i)プロセス#1が、アドレスr8000Jを先頭ア
ドレスとしサイズr500Jのプログラムを使用し、か
つデータ域としてアドレスrl 000Jを先頭アドレ
スとしサイズr200Jの領域を使用しており、 (ii ) 7” l:l セス# 2 カ、’ア?し
x r7000J t−先頭アドレスとしサイ:ズr3
00JのプログうJ、や使用6、ヵ、4≠−2域よ、7
アルスr2000Jを先頭アドレスとしてサイズr40
0Jの領域を使用している、ことが明らかにされている
。勿論、当該プロセス#1や#2は、アクティブ・ポイ
ンタ6によって指示されるキュー内にキューイングされ
ている。
For example, from the contents of the process management table 9-0 corresponding to segment 4-1, (i) Process #1 uses a program with size r500J with address r8000J as the first address, and address rl 000J as the first address as the data area. An area of size r200J is used as an address, and (ii) 7" l:l access #2 is used as an address. Size: r3 as the first address.
00J prog UJ, use 6, ka, 4≠-2 area, 7
Size r40 with Ars r2000J as the first address
It has been revealed that the area of 0J is used. Of course, the processes #1 and #2 are queued in the queue indicated by the active pointer 6.

第1図図示の如き構成の下で二本発明においては、プロ
セス起動処理プログラム10にもとづいて、所望の起動
処理を実行するようにされている。゛第2図は当該プロ
セス起動処理プログラム10の一実施例処理a様を示し
ている。以下、次のような処理を行なう。即ち (11処理(A)において、プロセス・テーブルを獲得
しようとする。
In the present invention, with the configuration as shown in FIG. 1, a desired startup process is executed based on a process startup process program 10. 2 shows an example of processing a of the process startup processing program 10. Hereinafter, the following processing will be performed. That is, in (11 process (A)), an attempt is made to acquire the process table.

(2)獲得できた場合においては、処理(B)において
、モジュール管理テーブル8をサーチし、使′ 用しよ
うとするプログラムが、いずれかのセグメント上に存在
している°か否かを調べる。
(2) If the program can be acquired, in process (B), the module management table 8 is searched to determine whether the program to be used exists on any segment.

(3)存在していなかった場合には、処理(C)によっ
て、所望のプログラムをいずれかのセグメント上にロー
ドする。
(3) If it does not exist, load the desired program onto any segment by processing (C).

(4)存在していた場合には、処理(D)によって、プ
ロセス管理テーブル9−iをサーチし、所望の大きさの
データ域を確保できる□か否かを調べる。
(4) If it exists, the process management table 9-i is searched by process (D) to check whether a data area of the desired size can be secured.

(5)確保できた場客には、処理(E)によって、プロ
セス・テーブル7−p、をセッ、ル、処理(F)によっ
・てアクティブ・キューに連結する。
(5) For the reserved customers, the process table 7-p is set by process (E) and connected to the active queue by process (F).

(6)確保できなかつ入場合には、処理(G)によって
、他のセグメント上にプログラムをコピーする。。
(6) If the segment cannot be secured and is available, the program is copied onto another segment by processing (G). .

(7)コピーできた場合には、処理(H)によってデー
タ域を確保する処理を行なう。
(7) If the copy is successful, perform processing (H) to secure the data area.

+811i1保できた場合には、処理(E)、処理(F
)を行なう。
If +811i1 can be maintained, process (E), process (F
).

(9)確保できなかった場合には、処理(1)によって
エラーとなる。
(9) If it cannot be secured, an error will occur in process (1).

(E)発明の詳細 な説明した如く、本発明によれば、いずれかのセグメン
ト上に所望のプログラムが存在すれば、それを使用する
形でプロセスを生成することができる。
(E) As described in detail, according to the present invention, if a desired program exists on any segment, a process can be generated using it.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は本発明の一実施例構成、第2図は本発明に用い
るプロセス起動プログラムの一実施例処理態様を示す。 図中、1は中央処理装置、2は主記憶装置、3は外部メ
モリ、4−0ないし4−15は夫々セグメント、6はア
クティブ・ポインタ、7はプロセス・テーブル、8はモ
ジュール管理テーブル、9はプロセス管理テーブル、1
0はプロセス起動処理プログラムを表わしている。
FIG. 1 shows the configuration of an embodiment of the present invention, and FIG. 2 shows the processing mode of an embodiment of a process startup program used in the present invention. In the figure, 1 is a central processing unit, 2 is a main memory, 3 is an external memory, 4-0 to 4-15 are segments, 6 is an active pointer, 7 is a process table, 8 is a module management table, 9 is a process management table, 1
0 represents a process activation processing program.

Claims (1)

【特許請求の範囲】 論理アドレス空間よりも大きい物理アドレス空間をそな
え、当該物理アドレス空間を上記論理アドレス空間に対
応する大きさをもつ複数個のセグメントに区分すると共
に、上記夫々のセグメント上にロードされているプログ
ラムを1つまたは複数のプロセスが利用して処理を実行
するデータ処理システムにおいて、上記夫々のセグメン
ト上にロードされているプログラム・モジュールを当該
モジュールのモジュール名を含む情報によって管理する
モジュール管理テーブル、上記夫々のセグメント上にロ
ードされているプログラム・モジュールを使用すべく生
成されたプロセスに関する情報を管理するプロセス管理
テーブル、現に生成されているプロセスに関するプロセ
ス・テーブルをキューイングするアクティブ・キューを
少なくともそなえ、 (i)生成しようとするプロセスが使用するプログラム
が上記いずれかのセグメント上に存 在するか否かを、上記モジュール管理テー ブルの内容を調べてチェックする手段、 (ii)いずれかのセグメント上に存在している場合に
、当該セグメントに関連して当該プロ セスを生成すべく、上記プロセス管理テー ブルの内容を調べて、データ域を当該セグ メント上に確保できるか否かをチェックす る手段、 (iii)確保できた場合に、当該セグメント上にプロ
セスを生成して、当該生成したプロセス を上記アクティブ・キューに連結する手段、(iv)確
保できなかった場合に、上記プログラムを他の空きセグ
メント上に転送した上で、 当該セグメントに関連してプロセスを生成 する手段、 (v)上記プログラムが存在しなかった場合に、所望の
プログラムを外部メモリから1つの セグメント上にロードし、当該セグメント に関連してプロセスを生成する手段、 をもうけ、プロセスを起動するようにしたことを特徴と
するプロセス起動処理方式。
[Claims] A physical address space larger than a logical address space is provided, the physical address space is divided into a plurality of segments each having a size corresponding to the logical address space, and a load is loaded onto each of the segments. In a data processing system in which one or more processes use a program that is loaded to execute processing, a module that manages the program modules loaded on each of the segments using information including the module name of the module. a management table, a process management table that manages information about processes that are generated to use the program modules loaded on each of the above segments, and an active queue that queues process tables related to processes that are currently being generated. (i) means for checking the contents of the module management table to determine whether a program used by the process to be generated exists in any of the segments; (ii) any of the above; means for checking whether a data area can be secured on the segment by checking the contents of the process management table in order to generate the process in relation to the segment when the process exists on the segment; (iii) If the segment can be secured, a means to generate a process on the segment and connect the generated process to the active queue; (iv) If the segment cannot be secured, the program can be moved to another free segment. (v) if the above program does not exist, loading a desired program from external memory onto a segment and transferring it to the segment; A process startup processing method characterized in that a means for creating a process in association with the above is provided, and the process is started.
JP26017484A 1984-12-10 1984-12-10 Process start processing system Pending JPS61138338A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26017484A JPS61138338A (en) 1984-12-10 1984-12-10 Process start processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26017484A JPS61138338A (en) 1984-12-10 1984-12-10 Process start processing system

Publications (1)

Publication Number Publication Date
JPS61138338A true JPS61138338A (en) 1986-06-25

Family

ID=17344344

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26017484A Pending JPS61138338A (en) 1984-12-10 1984-12-10 Process start processing system

Country Status (1)

Country Link
JP (1) JPS61138338A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0512125A (en) * 1991-07-04 1993-01-22 Nec Corp Address conversion system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0512125A (en) * 1991-07-04 1993-01-22 Nec Corp Address conversion system

Similar Documents

Publication Publication Date Title
US6470380B1 (en) Signal processing device accessible as memory
US5377337A (en) Method and means for enabling virtual addressing control by software users over a hardware page transfer control entity
US5511227A (en) Method for configuring a composite drive for a disk drive array controller
JP2013512519A (en) Controller directly accessing memory for direct transfer of data between memories of several peripheral devices, method and computer program enabling such controller
JPH0477847A (en) Dma controller and information processor
JPH0512126A (en) Device and method for address conversion for virtual computer
JPS59167761A (en) Computer system
JP5904948B2 (en) The system that allows direct data transfer between memories of several components of the system
WO2001016741A2 (en) Semaphore control of shared-memory
JPS61138338A (en) Process start processing system
JPS6046748B2 (en) Computer interrupt processing method
EP0291907B1 (en) Interprocessor communication system in information processing system enabling communication between execution processor units during communication between other processor units
EP0522728A1 (en) Method for efficient access of data stored in a nexus table
JPS62226367A (en) Digital computer system
JP2594611B2 (en) DMA transfer control device
JP3189894B2 (en) Virtual computer system
CN117692416A (en) Network message processing method, device, computer equipment and storage medium
JPS61269545A (en) Computer system
JPS6327740B2 (en)
JP2584082B2 (en) High-speed interrupt processing device
JPH02166548A (en) Common bus control system
JP3211694B2 (en) Multiprocessor connection method
JPH0778760B2 (en) Bite alignment control method
JPS63158660A (en) Multiprocessor bus control system
JPH0241551A (en) Interrupt handling method for specifying destination