JPS62251851A - Overlay control system for electronic computer system - Google Patents

Overlay control system for electronic computer system

Info

Publication number
JPS62251851A
JPS62251851A JP61094366A JP9436686A JPS62251851A JP S62251851 A JPS62251851 A JP S62251851A JP 61094366 A JP61094366 A JP 61094366A JP 9436686 A JP9436686 A JP 9436686A JP S62251851 A JPS62251851 A JP S62251851A
Authority
JP
Japan
Prior art keywords
resident
data
text
parts
program
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
JP61094366A
Other languages
Japanese (ja)
Inventor
Tadashi Hiroshima
規 廣嶋
Yukio Ninomiya
二宮 幸夫
Masatoshi Kitashita
北下 正俊
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.)
Sharp Corp
Original Assignee
Sharp 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 Sharp Corp filed Critical Sharp Corp
Priority to JP61094366A priority Critical patent/JPS62251851A/en
Publication of JPS62251851A publication Critical patent/JPS62251851A/en
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

PURPOSE:To obtain an overlay function by dividing a text part and a data part of a user process to form a resident part and a non-resident part, and at the execution of a process, loading the non-resident part dynamically to a main storage. CONSTITUTION:The text part and the data part of the user process are divided, one of the divided data parts is regarded as a resident text part 1, one of the divided data parts is regarded as a resident data part 2, and these resident parts are arranged in a main storage at the execution of a program. Out of the residual part of the user process, the text part and the data part mainly referred by the text part are collectively regarded as non-resident parts 3-5 and one of these non-resident parts 3-5 is selected in accordance with necessity at the execution of the program and loaded to the main memory. Consequently, the overlay function can be attained and a large scale program can be easily executed even in a system having the few number of mounting memories.

Description

【発明の詳細な説明】 く技術分野〉 本発明は、実装メモリ容量の少ないシステムにおいてオ
ペレーティングシステムtlNIX上で大規模プログラ
ムを実行させるためのオーバレイ制御方式に関する。
DETAILED DESCRIPTION OF THE INVENTION Technical Field The present invention relates to an overlay control method for executing a large-scale program on an operating system tlNIX in a system with a small installed memory capacity.

〈従来の技術〉 従来のUNIXシステムでは、ユーザプロセス空間を管
理するため、各プロセスをテキスト部と呼ばれるプログ
ラム命令部分とデータ部と呼ばれるプログラムデータ部
分に分割し、テキスト部とデータ部のそれぞれについて
連続した物理メモリ領域を割り当てている。テキスト部
とデータ部は、1つのユーザプロセスにそれぞれ1つし
か存在できない。そのため、大規模なプログラムを実行
させるためには、プログラムをロードできるだけのメモ
リを実装するか、仮想記憶管理の手法を用いて対処して
いた。
<Conventional technology> In conventional UNIX systems, in order to manage the user process space, each process is divided into a program instruction part called a text part and a program data part called a data part. Allocating physical memory area. Only one text section and one data section can exist in one user process. Therefore, in order to run large-scale programs, it has been necessary to implement memory sufficient to load the program, or to use virtual memory management techniques.

しかしながら、小型コンピュータにとっては、大容量の
メモリ実装はコスト高になり、仮想記憶管理を用いると
システムが複雑化する。
However, for small computers, implementing large amounts of memory is expensive and using virtual memory management complicates the system.

〈発明の目的〉 本発明は上記事情に鑑みてなされたものであり、υNI
X上でオーバレイ機能を実現した電子計算機システムの
オーバレイ制御方式の堤供を目的とする。
<Object of the invention> The present invention has been made in view of the above circumstances, and
The purpose of this paper is to provide an overlay control method for a computer system that implements an overlay function on X.

〈発明の要旨ン 本発明に係る電子計算機システムのオーバレイ制御方式
は、ユーザプロセスのテキスト部とデータ部を分割し、
分割したテキスト部とデータ部の1つを常駐部としてプ
ログラム実行時に主記憶上に配置し、残りのテキスト部
とデータ部を非常駐部としてプログラム実行時に主記憶
上へ動的にロードする。
<Summary of the Invention> The overlay control method for a computer system according to the present invention divides a text part and a data part of a user process,
One of the divided text parts and data parts is placed as a resident part on the main memory when the program is executed, and the remaining text part and data part are made non-resident parts and dynamically loaded onto the main memory when the program is executed.

〈実施例〉 第1図は本発明を通用したユーザプロセスのメモリマツ
プの一実施例を示す。
<Embodiment> FIG. 1 shows an embodiment of a memory map of a user process to which the present invention is applied.

ユーザプロセスのテキスト部とデータ部を分割し、分割
されたテキスト部の1つを常駐テキスト部1とし、分割
されたデータ部の1つを常駐データ部2とする。この常
駐テキスト部1と常駐データ部2は、プログラム実行時
に主メモリ上に配置する。ユーザプロセスの残りの部分
のうち、テキスト部とこのテキスト部により主として参
照されるデータ部をまとめて非常駐部3,4.5とし、
プログラム実行時に必要に応じてこれらの非常駐部3.
4.5を選択し主メモリ上にロードする。
A user process is divided into a text part and a data part, one of the divided text parts is designated as a resident text part 1, and one of the divided data parts is designated as a resident data part 2. The resident text section 1 and resident data section 2 are placed on the main memory when the program is executed. Among the remaining parts of the user process, the text part and the data part mainly referenced by this text part are collectively referred to as non-resident parts 3, 4.5,
These non-resident areas 3.
4. Select 5 and load it onto main memory.

主メモリのアドレスaから常駐テキスト部1がロードさ
れ、アドレスbから非常駐部3. 4. 5がそれぞれ
動的にロードされ、常駐データ部2がアドレスCまでに
ロードされる。アドレスC以降は、データ部の拡張領域
となる。このように、tlNIX上でのユーザ空間へ自
由に物理アドレスを割り当てる方式により、常駐テキス
ト部1と非常駐部3゜4.5は従来のUNIXのテキス
ト部、常駐データ部2は従来のUNIXのデータ部とし
て扱われる。
Resident text part 1 is loaded from address a in main memory, non-resident text part 3 is loaded from address b. 4. 5 are dynamically loaded, and the resident data section 2 is loaded up to address C. The area after address C becomes an extended area of the data section. In this way, by freely assigning physical addresses to the user space on tlNIX, the resident text section 1 and non-resident section 3°4.5 are the conventional UNIX text section, and the resident data section 2 is the conventional UNIX data section. treated as a department.

本方式の実行の手順を説明する。The procedure for executing this method will be explained.

アドレス参照の解決(リンク)を行ない、実行時にはU
NIX上でのユーザ空間へ自由に物理アドレスを割り当
てる方式を利用して制御を移す。
Performs address reference resolution (linking), and at runtime U
Control is transferred using a method of freely assigning physical addresses to user space on NIX.

i)リンク手順 リンク手順は、UNIXのリンクコマンド、ファイル形
式をそのまま利用して行なうことができ、実現が容易で
ある。
i) Link procedure The link procedure can be performed using UNIX link commands and file formats as they are, and is easy to implement.

■ UNIXのリンクエディタを用いて常駐部をリンク
し、常駐テキスト部1のサイズを測る。これは、非常駐
部のロードアドレスbを決定する際に必要となる。
■ Link the resident section using the UNIX link editor and measure the size of the resident text section 1. This is necessary when determining the load address b of the non-resident area.

■ tlNIXのオブジェクトファイルには、シンボル
テーブルが付けられており、外部参照などアドレス参照
の解決に必要なシンボルのアドレスが保存されている。
■ A symbol table is attached to the tlNIX object file, and addresses of symbols necessary for resolving address references such as external references are stored.

これらの情報を利用し、■で求めたアドレスbを基に常
駐テキスト部1と常駐データ部2で未定義であるが非常
駐部3,4.5で定義されているシンボルのアドレスを
求め、シンボルをアドレスで定義する形(アセンブラの
EQUやset等の命令による)のプログラムを作り、
オブジェクトモジュールを作成する。
Using this information, find the address of the symbol that is undefined in the resident text part 1 and resident data part 2 but defined in the non-resident parts 3 and 4.5 based on the address b found in Create a program that defines by address (using assembler instructions such as EQU and set),
Create an object module.

■ ■で作ったオブジェクトモジュールと常駐テキスト
部1及び常駐データ部2とをロードアドレスをaとして
リンクする。これにより、常駐テキスト部1と常駐デー
タ部2で未定義であったシンボルのアドレス参照が■で
作ったオブジェクトモジュールにより解決される。これ
により、常駐テキスト部1と常駐データ部2とがリンク
される。
(2) Link the object module created in (2) with the resident text section 1 and resident data section 2 using the load address a. As a result, address references to symbols that were undefined in resident text section 1 and resident data section 2 are resolved by the object module created in step 3. As a result, the resident text section 1 and the resident data section 2 are linked.

■ 非常駐部3,4.5で未定義のシンボルを捜し、■
で作った常駐部1.2のシンボルテーブル(非常駐部3
,4.5で定義されているシンボルを含む。従って、非
常駐部間のシンボル参照も可能である)よりアドレス値
を求め、■と同様の方法でオブジェクトモジュールを作
成する。
■ Search for undefined symbols in non-resident area 3, 4.5, and
Symbol table of resident part 1.2 (non-resident part 3
, 4.5. Therefore, symbol references between non-resident parts are also possible), and the address value is obtained from the address value, and an object module is created using the same method as in (2).

■ ■で作成したオブジェクトモジュールと非常駐部3
.4.5とを■で求めたアドレスbをロードアドレスと
してリンクする。非常駐部3.4゜5のそれぞれについ
て、■■の手順を行なう。これにより、非常駐部3,4
.5が作成される。
■ Object module created in ■ and non-resident part 3
.. 4.5 is linked with the address b obtained in ■ as the load address. For each of the non-resident parts 3.4°5, carry out the procedure of ■■. As a result, non-resident parts 3 and 4
.. 5 is created.

ii )実行手順 ユーザプロセスの実行時に非常駐部が必要になると、シ
ステムに対して非常駐部のロードのためのシステムコー
ルを発行する。システムは、ユーザ空間に対して自由に
物理アドレスを割り当てることができる方式を採用して
いるため、必要なプログラムを主メモリ上にロードし、
その後、ロードしたプログラムに対して制御を移したり
参照したりすることが可能となる。
ii) Execution procedure When a non-resident part is required during execution of a user process, a system call is issued to the system to load the non-resident part. The system uses a method that allows physical addresses to be freely assigned to user space, so the necessary programs can be loaded into main memory,
After that, it becomes possible to transfer control to or reference the loaded program.

第2図はシステムの構成を示す。Figure 2 shows the configuration of the system.

主メモリユニット10は、CPU (図示せず)によっ
てアクセスされる半導体メモリで構成され、テキスト及
びデータをページ単位(512バイl、)に物理アドレ
スで割り付けて記憶する。図ではこのページ単位により
物理メモリp O,p 1、−。
The main memory unit 10 is composed of a semiconductor memory accessed by a CPU (not shown), and stores text and data in page units (512 bytes) allocated by physical addresses. In the figure, this page unit corresponds to the physical memory p O, p 1, -.

pnに区分けされている。ファイルユニット11は、磁
気ディスク装置等の外部記憶装置で構成され、複数のプ
ロセスデータ(プログラムデータ)を格納するプログラ
ム格納領域工2と生メモリュニッ]−10からページを
スワツプアウトする仮想記憶領域13とを有する。
It is divided into pn. The file unit 11 is composed of an external storage device such as a magnetic disk device, and has a program storage area 2 that stores a plurality of process data (program data) and a virtual storage area 13 that swaps out pages from the raw memory memory 10. have

OSユニット14は、オペレーティングシステムUNI
Xを格納し、UNIXはリンクエディタ15を含む。
The OS unit 14 is an operating system UNI
X, and UNIX includes a link editor 15.

メモリ制御ユニット16は、O8によって管理制御され
、主メモリユニット10とファイルユニy l・l 1
をアクセスする。このメモリ制御ユニット16は、並行
処理されるプロセスに対する複数のプロセスコントロー
ルブロック17.主メモリュニソ)10の各物理メモリ
の使用状態を記憶するビットマツプメモリ18、並びに
、ファイルユニット11の管理テーブル(図示せず)等
で構成されている。
The memory control unit 16 is managed and controlled by O8, and has a main memory unit 10 and a file unit y l・l 1
access. This memory control unit 16 includes a plurality of process control blocks 17 . It is composed of a bitmap memory 18 that stores the usage status of each physical memory in the main memory (main memory) 10, a management table (not shown) for the file unit 11, and the like.

プロセスコントロールブロック17は、プロセスのコン
トロールデータ、スター]・アドレス、サイズデータ等
を格納するコントロール情報部19と、主メモリユニッ
ト10の各ページとファイルユニット11の仮想記憶領
域13との対応表を格納する管理テーブル20から構成
される。この管理テーブル20は、主メモリユニット1
0のページ数に相当するテーブル数を有し、各テーブル
には主メモリユニット10の物理アドレスと仮想記憶領
域13のディスクアドレスとが格納される。
The process control block 17 stores a control information section 19 that stores process control data, star addresses, size data, etc., and a correspondence table between each page of the main memory unit 10 and the virtual storage area 13 of the file unit 11. It consists of a management table 20. This management table 20 is stored in the main memory unit 1
The number of tables corresponds to the number of pages of 0, and each table stores the physical address of the main memory unit 10 and the disk address of the virtual storage area 13.

ビットマツプメモリ18は、主メモリユニット10の各
ページの使用状態を記憶する。プロセスの実行処理にお
いてプログラム(常駐部又は非常駐部)のロードが発生
すると、このビットマツプメモリ18を参照して主メモ
リユニット10の空きページを検出し、必要サイズ分の
空きメモリをプログラム空間にマンプし、ファイルユニ
ット11から対応したプログラムのデータをロードする
Bitmap memory 18 stores the usage status of each page of main memory unit 10. When a program (resident part or non-resident part) is loaded during process execution, this bitmap memory 18 is referenced to detect free pages in the main memory unit 10, and the free memory of the required size is mapped into the program space. Then, data of the corresponding program is loaded from the file unit 11.

空きページが無いときは、プロセスコントロールプロ・
ツク17中のコントロール情報19を参照し、最も優先
度の低いプロセスを仮想記憶領域13ヘスワツプアウト
し、空きページを生成する。
If there are no free pages, use Process Control Pro.
Referring to the control information 19 in the block 17, the process with the lowest priority is swapped out to the virtual storage area 13 to generate a free page.

ユーザプロセスの常駐部と非常駐部の主メモリユニット
10への割り付けについて説明する。
The allocation of the resident part and non-resident part of a user process to the main memory unit 10 will be explained.

OSユニット14のリンクエディタ15によって、前述
のように、主メモリユニット10の任意の物理メモリを
常駐テキスト部1と常駐データ部2のプログラム空間に
割り付け、ファイルユニット11のプログラム格納領域
12から當駐部1゜2のオブジェクトモジュールをロー
ドする。さらに、この常駐部1と連続したプログラム空
間にも物理メモリを割り付け、非常駐部3をロードする
As described above, the link editor 15 of the OS unit 14 allocates any physical memory of the main memory unit 10 to the program space of the resident text section 1 and the resident data section 2, and extracts the resident data from the program storage area 12 of the file unit 11. Load the object module of section 1.2. Further, physical memory is also allocated to a program space continuous with this resident section 1, and the non-resident section 3 is loaded.

この場合、常駐部1,2と非常駐部3の割り付けは、主
メモリユニット10のページ単位で制御される。
In this case, the allocation of the resident sections 1 and 2 and the non-resident section 3 is controlled on a page-by-page basis of the main memory unit 10.

常駐テキスト部1の処理を実行し、他の非常駐部をアク
セスすることが要求されると、主メモリ上の非常駐部3
に割り付けた物理メモリを全て解放し、プログラム格納
領域12から対応した非常駐部4または非常駐部5をロ
ードする。
When executing the process of resident text part 1 and accessing another non-resident part, the non-resident part 3 in the main memory is
All the physical memory allocated to the program is released, and the corresponding non-resident part 4 or non-resident part 5 is loaded from the program storage area 12.

〈発明の効果〉 以上説明したように本発明においては、ユーザプロセス
のテキスト部とデータ部を分割して常駐部と非常駐部を
形成し、プロセスの実行時に非常駐部を動的に主記憶上
ヘロードするオーバレイ機能をUNIX上で実現したの
で、小型コンピュータのように少ない実装メモリのシス
テムにおいても大規模なプログラムをUNIX上で容易
に実行させることができる。
<Effects of the Invention> As explained above, in the present invention, the text part and data part of a user process are divided to form a resident part and a non-resident part, and the non-resident part is dynamically loaded into main memory when the process is executed. Since the overlay function has been realized on UNIX, large-scale programs can be easily executed on UNIX even in a system with a small amount of installed memory, such as a small computer.

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

第1図は本発明の実施例のメモリマツプを示す図、第2
図は本発明の実施例のシステム構成を示す図である。 1−・・・常駐テキスト部 2−・・−常駐データ部 3.4.5−・−非常駐部 1〇−主メモリユニット 11−・ファイルユニット 14・−〇Sユニット 16−メモリ制御ユニット 特許出願人    シャープ株式会社 代 理 人    弁理士 西1)新 築1図 アドレス
FIG. 1 is a diagram showing a memory map of an embodiment of the present invention, and FIG.
The figure is a diagram showing a system configuration of an embodiment of the present invention. 1--Resident text section 2--Resident data section 3.4.5--Non-resident section 1〇-Main memory unit 11-・File unit 14・-〇S unit 16-Memory control unit Patent application Person Sharp Co., Ltd. Representative Person Patent attorney Nishi 1) New building 1 drawing address

Claims (1)

【特許請求の範囲】[Claims] ユーザプロセスのテキスト部とデータ部を分割し、分割
されたテキスト部の1つを常駐テキスト部とし分割され
たデータ部の1つを常駐データ部としてプログラム実行
時に主記憶上に配置し、上記以外の分割されたテキスト
部とこのテキスト部により主として参照される上記以外
の分割されたデータ部を非常駐部とし、プログラム実行
時に上記非常駐部を動的に主記憶上にロードすることを
特徴とする電子計算機システムのオーバレイ制御方式。
Divide the text part and data part of the user process, and place one of the divided text parts as a resident text part and one of the divided data parts as a resident data part in the main memory when the program is executed, and do not use other than the above. An electronic device characterized in that a divided text part and a divided data part other than the above mainly referred to by this text part are made non-resident parts, and the non-resident part is dynamically loaded onto main memory when a program is executed. Overlay control method for computer systems.
JP61094366A 1986-04-23 1986-04-23 Overlay control system for electronic computer system Pending JPS62251851A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61094366A JPS62251851A (en) 1986-04-23 1986-04-23 Overlay control system for electronic computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61094366A JPS62251851A (en) 1986-04-23 1986-04-23 Overlay control system for electronic computer system

Publications (1)

Publication Number Publication Date
JPS62251851A true JPS62251851A (en) 1987-11-02

Family

ID=14108312

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61094366A Pending JPS62251851A (en) 1986-04-23 1986-04-23 Overlay control system for electronic computer system

Country Status (1)

Country Link
JP (1) JPS62251851A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01169633A (en) * 1987-12-25 1989-07-04 Hitachi Ltd Information processor
EP0403124A2 (en) * 1989-06-16 1990-12-19 International Business Machines Corporation Overlay swapping

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58221442A (en) * 1982-06-16 1983-12-23 Yokogawa Hokushin Electric Corp Processing method of data
JPS60101641A (en) * 1983-11-07 1985-06-05 Usac Electronics Ind Co Ltd Control system of overlay module
JPS62143150A (en) * 1985-12-17 1987-06-26 Nec Corp Program execution control system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58221442A (en) * 1982-06-16 1983-12-23 Yokogawa Hokushin Electric Corp Processing method of data
JPS60101641A (en) * 1983-11-07 1985-06-05 Usac Electronics Ind Co Ltd Control system of overlay module
JPS62143150A (en) * 1985-12-17 1987-06-26 Nec Corp Program execution control system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01169633A (en) * 1987-12-25 1989-07-04 Hitachi Ltd Information processor
EP0403124A2 (en) * 1989-06-16 1990-12-19 International Business Machines Corporation Overlay swapping
US5175830A (en) * 1989-06-16 1992-12-29 International Business Machines Corporation Method for executing overlays in an expanded memory data processing system

Similar Documents

Publication Publication Date Title
US5539899A (en) System and method for handling a segmented program in a memory for a multitasking data processing system utilizing paged virtual storage
US5978892A (en) Virtual memory allocation in a virtual address space having an inaccessible gap
US6061773A (en) Virtual memory system with page table space separating a private space and a shared space in a virtual memory
US5802341A (en) Method for the dynamic allocation of page sizes in virtual memory
Fabry Capability-based addressing
EP0238158B1 (en) Copy-on-write segment sharing in a virtual memory, virtual machine data processing system
US6055617A (en) Virtual address window for accessing physical memory in a computer system
CA1266533A (en) Method to automatically increase the segment size of file in a page segmented virtual memory data processing system
US6480845B1 (en) Method and data processing system for emulating virtual memory working spaces
JP2893071B2 (en) Thread private memory for multi-threaded digital data processor
US5873127A (en) Universal PTE backlinks for page table accesses
US5675793A (en) Dynamic allocation of a common buffer for use by a set of software routines
US5835961A (en) System for non-current page table structure access
US6842759B2 (en) Single-instance class objects across multiple JVM processes in a real-time system
US5146580A (en) Method and system for using expanded memory for operating system buffers and application buffers
EP0169018A2 (en) Computer memory system
KR100470258B1 (en) Large memory allocation method and apparatus
US5873120A (en) Variable split virtual address space allocation with multi-system compatibility
EP0403124A2 (en) Overlay swapping
US6600493B1 (en) Allocating memory based on memory device organization
US7240176B2 (en) Apparatus and methods for placing a managed heap
US6532487B1 (en) Method and system for managing semaphores in an object-oriented multi-tasking computer system
CN109643276B (en) System and method for creating database subset snapshot
US6463515B1 (en) System and method for recovering physical memory locations in a computer system
JPS62251851A (en) Overlay control system for electronic computer system