JPS6314255A - Allocation control system for virtual memory - Google Patents

Allocation control system for virtual memory

Info

Publication number
JPS6314255A
JPS6314255A JP61158209A JP15820986A JPS6314255A JP S6314255 A JPS6314255 A JP S6314255A JP 61158209 A JP61158209 A JP 61158209A JP 15820986 A JP15820986 A JP 15820986A JP S6314255 A JPS6314255 A JP S6314255A
Authority
JP
Japan
Prior art keywords
task
tasks
virtual memory
object module
processing
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
JP61158209A
Other languages
Japanese (ja)
Inventor
Ryuichi Matsuda
隆一 松田
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP61158209A priority Critical patent/JPS6314255A/en
Publication of JPS6314255A publication Critical patent/JPS6314255A/en
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PURPOSE:To refer to an object module with a virtual storage shared among tasks by automatically detecting the object module used by plural tasks and allocating it to the same address in virtual storages characteristic to to respective tasks. CONSTITUTION:The object module (OM) is inputted in a processing 5 and is registered in a task share entry table and a task proper entry table in accordance with the task shared attributes of each area, and the entry number is registered in OM entry table. In a processing 10, it is checked whether an OM to which said OM refers is already inputted or not. If it is registered by another task, plural reference flags in the task proper entry table are marked in a processing 20. The OM reference chain is updated in a processing. After the OM input processing of all tasks is terminated, entries to which plural reference flags in the task proper entry table corresponding are allocated to virtual memories characteristic to tasks in all tasks by a processing 39. In a processing, the entries in parts characteristic to tasks are allocated to virtual memories characteristic to tasks.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は仮想記憶の割当て制御方式に関し、特にタスク
共有の仮想記憶とタスク固有の仮想記憶とを有する電子
計算機システムにおけるマルチタスクプログラムを仮想
記憶に割当てる制御方式に関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a virtual memory allocation control system, and in particular to a virtual memory allocation control system for a multitask program in a computer system having a task-shared virtual memory and a task-specific virtual memory. Regarding the control method to be assigned to.

〔従来の技術〕[Conventional technology]

タスク共有の仮想記憶とタスク固有の仮想記憶とを有す
る電子計算機システムでは、複数のタスクから参照され
るオブジェクトモジュールをコード部とデータ部に分割
し、コード部をタスク共有の仮想記憶に、データ部をタ
スク固有の仮想記憶に割当てる。
In a computer system that has a task-shared virtual memory and a task-specific virtual memory, an object module that is referenced by multiple tasks is divided into a code part and a data part, and the code part is stored in the task-shared virtual memory and the data part is divided into a data part. to task-specific virtual memory.

タスク共有の仮想記憶に割当てたオブジェクトモジュー
ルのコード部がら、各タスク固有のデータ部を参照でき
るようにする為には、タスク共有の仮想記憶にアドレス
定数を有するシステムではデータ部の仮想記憶上のアド
レスは全タスクで同じにしなければならない問題がある
In order to be able to refer to the data section unique to each task from the code section of the object module allocated to the task-shared virtual memory, in a system that has address constants in the task-shared virtual memory, the data section of the virtual memory must be There is a problem that the address must be the same for all tasks.

従来この種の技術では、この問題を解決する為に次の2
方式がある。第3図に示すモジュール関連例において、
オブジェクトモジュールB、C。
Conventionally, this type of technology uses the following two methods to solve this problem.
There is a method. In the module related example shown in Figure 3,
Object modules B and C.

D、J、Pが複数のタスクで参照され、コード部がタス
ク共有の仮想記憶に割当てられるものとして、その割当
て制御方式を説明する。なお、第3図において、丸印○
で示される各節はオブジェクトモジュール名を示す。
The allocation control method will be described assuming that D, J, and P are referenced by a plurality of tasks, and the code portion is allocated to a virtual memory shared by the tasks. In addition, in Figure 3, the circle mark ○
Each clause indicated by indicates an object module name.

第1の方式では、先ず最初のタスクPOのオブジェクト
モジュールをタスク共有および固有の属性に応じてタス
ク共有の仮想記憶またはタスクPO固有の仮想記憶に割
当てる。次に二番目のタスクP1のオブジェクトモジュ
ールを割当てる場合に、既に処理したタスクPOと同一
のオブジェクトモジュール(J)に対して、タスクPO
固有の仮想記憶上のアドレスと同じアドレスをタスクP
1固有の仮想記憶上に割当てる。既に処理したタスクP
Oにないオブジェクトモジュールに対しては、タスクP
O固有の仮想記憶の最上位アドレスn1を開始アドレス
として、タスクP1固有の仮想記憶に割当てる。その結
果、第3図のモジュール関連例は、第4図に割当てられ
る。
In the first method, the object module of the first task PO is first assigned to the task-shared virtual memory or the task-PO-specific virtual memory depending on the task-shared and unique attributes. Next, when assigning the object module for the second task P1, assign the task PO to the same object module (J) as the already processed task PO.
The same address as the unique virtual memory address is assigned to task P.
1 on a unique virtual memory. Already processed task P
For object modules not in O, task P
The highest address n1 of the O-specific virtual memory is used as a start address and assigned to the task P1-specific virtual memory. As a result, the module related example of FIG. 3 is assigned to FIG.

第2の方式では、複数のタスクで参照されるオブジェク
トモジュールを利用者に指定させる。先ず、指定された
オブジェクトモジュールを全タスクとも同一のアドレス
となるようにタスク固有の仮想記憶に割当てる。次に各
々のタスクでのみ参照されるオブジェクトモジュールを
、複数のタスクで参照されるオブジェクトモジュールを
割当てた次のアドレスから割当てる。その結果、第3図
に示すモジュール関連例は、第5図に示すようにタスク
固有の仮想記憶に割当てられる。
In the second method, the user is asked to specify object modules that are referenced by multiple tasks. First, a designated object module is assigned to a task-specific virtual memory so that all tasks have the same address. Next, an object module that is referenced only in each task is assigned from the next address to which an object module that is referenced in multiple tasks is assigned. As a result, the module association example shown in FIG. 3 is allocated to the task-specific virtual memory as shown in FIG.

〔発明が解決しようとする問題点〕[Problem that the invention seeks to solve]

上述した従来の仮想記憶の割当て制御方式では、次のよ
うな欠点がある。第1の方式では、先に処理したタスク
の「タスク固有の仮想記憶」の最上位アドレスから、次
のタスクの「タスク固有の仮想記憶」に割当てを行うの
で、仮想記憶に未使用領域が生じる。
The conventional virtual memory allocation control method described above has the following drawbacks. In the first method, the highest address of the "task-specific virtual memory" of the previously processed task is allocated to the "task-specific virtual memory" of the next task, resulting in unused space in the virtual memory. .

第2の方式では、第1の方式の欠点はないものの、利用
者が複数のタスクから参照されるオブジェクトモジュー
ルを調査して指定しなければならない。
Although the second method does not have the drawbacks of the first method, the user must investigate and specify object modules referenced by multiple tasks.

〔問題点を解決するための手段〕[Means for solving problems]

本発明の仮想記憶の割当て制御方式は、タスク共有の仮
想記憶とタスク固有の仮想記憶とを有する電子計算機シ
ステムにおいて、複数のタスクで参照されるオブジェク
トモジュールを検出する手段と、この検出手段によって
検出されたオブジェクトモジュールを各タスク固有の仮
想記憶の先頭から同一番地に割当てる手段とを有してい
る。
The virtual memory allocation control method of the present invention provides means for detecting an object module referenced by a plurality of tasks in a computer system having a task-shared virtual memory and a task-specific virtual memory; and means for allocating the created object module to the same location from the beginning of the virtual memory unique to each task.

〔実施例〕〔Example〕

次に本発明の実施例について図面を参照して説明する。 Next, embodiments of the present invention will be described with reference to the drawings.

第1図は本発明の一実施例を示す、リンカはタスクの入
口点を含むオブジェクトモジュールをオブジェクトモジ
ュールライブラリから入力する。
FIG. 1 illustrates one embodiment of the invention in which a linker inputs an object module containing an entry point for a task from an object module library.

さらにそのオブジェクトモジュールが参照しているオブ
ジェクトモジュールをオブジェクトモジュールライブラ
リから入力する。入力されたオブジェクトモジュールに
対してこの操作をくり返して未解決のオブジェクトモジ
ュールがなくなるまでオブジェクトモジュールの入力を
行う。そして全タスクで参照されるオブジェクトモジュ
ールを全て入力した後に仮想記憶に割当てを行う。
Furthermore, the object module referenced by that object module is input from the object module library. This operation is repeated for the input object modules until there are no more unresolved object modules. Then, after inputting all the object modules referenced by all the tasks, allocation to the virtual memory is performed.

本実施例では、オブジェクトモジュールの入力処理にお
いて、複数のタスクで参照されたオブジェクトモジュー
ルの検出を行う。それが第1図に示す処理5〜30のフ
ローである。処理5において、オブジェクトモジュール
を入力し、オブジェクトモジュール中の各領域のタスク
共有属性に応じて、第2図に示すタスク共有エントリ表
(a)。
In this embodiment, in object module input processing, object modules referenced by multiple tasks are detected. This is the flow of processes 5 to 30 shown in FIG. In process 5, an object module is input and the task sharing entry table (a) shown in FIG. 2 is created according to the task sharing attribute of each area in the object module.

タスク固有エントリ表(b)に登録する。同時に、当オ
ブジェクトモジュールがタスク固有エントリ表(b)に
占めたエントリ番号を、オブジェクトモジュールエント
リ表(d)に登録する。なお、第2図に示すオブジェク
トモジュール参照チェーン(c)およびオブジェクトモ
ジュールエントリ表(d)はオブジェクトモジュール毎
に作成される。
Register in the task-specific entry table (b). At the same time, the entry number occupied by this object module in the task-specific entry table (b) is registered in the object module entry table (d). Note that the object module reference chain (c) and object module entry table (d) shown in FIG. 2 are created for each object module.

次に処理10で当オブジェクトモジュールが参照してい
るオブジェクトモジュールが入力済が調べ、入力されて
いない場合は、未解決オブジェクトモジュールスタック
に登録する。入力済の場合は、参照されるオブジェクト
モジュールが別のりスフで登録されたか、第2図のタス
ク固有1259表(b)を走査する。
Next, in process 10, it is checked whether the object module referred to by this object module has been input, and if it has not been input, it is registered in the unresolved object module stack. If the input has been completed, the task-specific 1259 table (b) in FIG. 2 is scanned to see if the referenced object module was registered in another file.

別のタスクで登録されている場合には、フロー20でタ
スク固有1259表(b)の複数参照フラグにマークす
る。マークするエントリは、参照されるオブジェクトモ
ジュールに対応する第2図のオブジェクトモジュールエ
ントリ表中のエントリ、およびオブジェクト参照チェー
ン(c)を用いて得たこのオブジェクトモジュールが参
照する全オブジェクトモジュールのエントリである。
If it is registered in another task, the multiple reference flag in the task-specific 1259 table (b) is marked in flow 20. The entries to be marked are the entry in the object module entry table of FIG. 2 that corresponds to the referenced object module, and the entries of all object modules referenced by this object module obtained using object reference chain (c). .

続いて、処理30でオブジェクトモジュール参照チェー
ン(c)の更新を行う。
Subsequently, in process 30, the object module reference chain (c) is updated.

以上のように処理5〜30は各タスクの入口点を含むオ
ブジェクトモジュールから開始し、未解決オブジェクト
モジュールスタックのエントリがなくなるまで行う。
As described above, processes 5 to 30 start from the object module containing the entry point of each task and are performed until there are no more entries in the unresolved object module stack.

全タスクのオブジェクトモジュールの入力処理が終了し
た後に、処理35へ移る。処理35では、第2図に示す
タスク固有1259表(b)の複数参照フラグがマーク
されたエントリを、全タスクのタスク固有の仮想記憶に
割当てる。その後、処理40で各タスクのみで参照され
るオブジェクトモジュールのタスク固有部分のエントリ
をタスク毎に、タスク固有の仮想記憶に割当てる。
After the input processing of the object modules of all tasks is completed, the process moves to process 35. In process 35, the entries marked with the multiple reference flag in the task-specific 1259 table (b) shown in FIG. 2 are assigned to the task-specific virtual memory of all tasks. Thereafter, in process 40, entries of the task-specific portion of the object module that are referenced only by each task are allocated to the task-specific virtual memory for each task.

その結果、第3図に示すモジュール関連例は第5図のよ
うにタスク固有の仮想記憶においてタスクPO,PL、
P2ではアドレスnoからオブジェクトモジュールB、
C,D、J、Pが割当てられ、更にタスクPOではオブ
ジェクトモジュールA、E・・・Iをアドレスn1〜ア
ドレスn2に割当て、タスクP1ではオブジェクトモジ
ュールK。
As a result, the module-related example shown in FIG. 3 has the task PO, PL,
In P2, from address no to object module B,
C, D, J, and P are assigned, and further, object modules A, E,...I are assigned to addresses n1 to n2 in task PO, and object module K is assigned to task P1.

し・・・Jをアドレス01〜アドレスn3に割当て、更
にタスクP2ではオブジェクトモジュールQ。
...J is assigned to address 01 to address n3, and object module Q is assigned to task P2.

R・・・Uをアドレスn1〜n4に割当てる。Assign R...U to addresses n1 to n4.

〔発明の効果〕〔Effect of the invention〕

以上説明したように本発明は、複数のタスクで使用され
るオブジェクトモジュールを自動的に検出し、各タスク
固有の仮想記憶上の同一アドレスに割当てることにより
、複数のタスク間で使用されるオブジェクトモジュール
をタスク共有の仮想記憶から参照することを利用者の指
定無しに可能にし、同時に各タスク固有の仮想記憶をタ
スク毎に十分使うことを可能にする効果がある。
As explained above, the present invention automatically detects object modules used in multiple tasks and assigns them to the same address on the virtual memory unique to each task. This has the effect of making it possible to refer to the task-shared virtual memory without specifying it from the user, and at the same time making it possible to fully use the virtual memory specific to each task for each task.

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

第1図は本発明の一実施例を示す説明図、第2図は本実
施例における管理情報を示す図、第3図は本実施例およ
び従来におけるモジュール関連を示す図、第4図は従来
の仮想記憶上のレイアウトを示す図、第5図は従来およ
び本実施例における仮想記憶上のレイアウトを示す図で
ある。 5.10,15.20,25.30,35.4(at 
 qxqK、’ri工>ト°JK   (b)シス7四
しir:、hす敦Cc)オブシェブトモジュール斐づ只
チェーン〔dノオブジェンl−[ジJ−ルエンF・)春
第2図 f!3  図 (a+グスフ茗有級想zm− rblクス7目47(胛記4乏− タ入〕 Pθ     タスクf’f       タ
スクP2(dJり又7.去有仮思J乙右4 (b)タズ7固看ノ文セggZ1週。 シス7Pθ      タスク Pf     タズ7
PI茅 、5  図
FIG. 1 is an explanatory diagram showing one embodiment of the present invention, FIG. 2 is a diagram showing management information in this embodiment, FIG. 3 is a diagram showing module relationships in this embodiment and in the conventional method, and FIG. 4 is a diagram in the conventional method. FIG. 5 is a diagram showing the layout on the virtual memory in the conventional and the present embodiment. 5.10, 15.20, 25.30, 35.4 (at
qxqK,'ri 工>ト°JK (b) cis74shiir:,hsu Atsushi Cc) obshebut module 於亚chain [dnoobgenl-[J-ruenF・)Spring 2nd figure f! 3 Diagram (a + Gusuf Myoyu Class Thoughts zm- rbl Kusu 7th item 47 (茛 4 小 - ta entered)] Pθ Task f'f Task P2 (dJ Rimata 7. Leaving a virtual thought J Otsu right 4 (b) Taz 7 fixed view sentences ggZ1 week. cis7Pθ task Pf taz7
PI Kaya, 5 fig.

Claims (1)

【特許請求の範囲】[Claims] タスク共有の仮想記憶とタスク固有の仮想記憶とを有す
る電子計算機システムにおいて、複数のタスクで参照さ
れるオブジェクトモジュールを検出する手段と、該検出
手段によって検出されたオブジェクトモジュールを各タ
スク固有の仮想記憶の先頭から同一番地に割当てる手段
とを有し、マルチタスク構造ロードモジュールを作成す
ることを特徴とする仮想記憶の割当て制御方式。
In a computer system having a task-shared virtual memory and a task-specific virtual memory, a means for detecting an object module referenced by a plurality of tasks, and a means for detecting an object module detected by the detecting means are stored in a virtual memory unique to each task. 1. A virtual memory allocation control method, comprising means for allocating from the beginning of a virtual memory to the same location, and creating a multi-task structure load module.
JP61158209A 1986-07-04 1986-07-04 Allocation control system for virtual memory Pending JPS6314255A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61158209A JPS6314255A (en) 1986-07-04 1986-07-04 Allocation control system for virtual memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61158209A JPS6314255A (en) 1986-07-04 1986-07-04 Allocation control system for virtual memory

Publications (1)

Publication Number Publication Date
JPS6314255A true JPS6314255A (en) 1988-01-21

Family

ID=15666664

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61158209A Pending JPS6314255A (en) 1986-07-04 1986-07-04 Allocation control system for virtual memory

Country Status (1)

Country Link
JP (1) JPS6314255A (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
JPH0131214B2 (en)
JPS6314255A (en) Allocation control system for virtual memory
JPH0713823A (en) File resource management system of virtual computer system
JP3733402B2 (en) Processor resource selection method, processor resource selection system therefor, and computer-readable program recording medium
JPH08129492A (en) Resource exclusion checking system and resource exclusion checking method
JPH0370038A (en) Variable allocating system for high-level language program
JP3304445B2 (en) Program generation processing device
JPH02245864A (en) Multiprocessor system
JPS6385846A (en) Virtual information processing system
JPS63254536A (en) Unitary control system for error event
JPS62226367A (en) Digital computer system
JPH08185384A (en) Method and device for allocating load module
JP2522161B2 (en) Volume resource management method in virtual computer system
JPS58115569A (en) Multiprocessor system
JP2764358B2 (en) Data driven information processor
JPS63168762A (en) Multiprocessor starting device
CN115145714A (en) Method, device and system for scheduling container instances
JP2663600B2 (en) Control table relocation processing method
JPH09204326A (en) Image data storage controller
EP0521265A2 (en) Parallel processing system
JPH02304615A (en) Allocating system for parallel disk control buffer
JPS6325730A (en) Bundling system for plural segments within object program
JPS62105248A (en) Common data control system
JPH0553776A (en) Program management system
JPS63118961A (en) Overlay segment assigning system for data