JPH0612524B2 - Object execution control method - Google Patents
Object execution control methodInfo
- Publication number
- JPH0612524B2 JPH0612524B2 JP61267964A JP26796486A JPH0612524B2 JP H0612524 B2 JPH0612524 B2 JP H0612524B2 JP 61267964 A JP61267964 A JP 61267964A JP 26796486 A JP26796486 A JP 26796486A JP H0612524 B2 JPH0612524 B2 JP H0612524B2
- Authority
- JP
- Japan
- Prior art keywords
- name
- common routine
- area
- processing unit
- memory
- 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.)
- Expired - Lifetime
Links
Landscapes
- Devices For Executing Special Programs (AREA)
Description
【発明の詳細な説明】 〔概要〕 例えば8ビットのプロセッサ等を用いた小規模のデータ
処理システムにおいて,プログラムおよびデータのメモ
リ配置単位を,それ自身の管理情報を含むオブジェクト
として管理し,実行時に必要となった時点で,オブジェ
クトの所定をメモリ内に動的に配置し,順次,各オブジ
ェクトに実行制御を渡していく手段を設けることによ
り,応用システムの開発を容易にし,かつメモリの効率
的使用を可能にしている。DETAILED DESCRIPTION [Outline] For example, in a small-scale data processing system using an 8-bit processor or the like, a memory allocation unit of a program and data is managed as an object including management information of itself, and at the time of execution, By dynamically arranging predetermined objects in memory when needed, and by providing a means for sequentially passing execution control to each object, development of an application system is facilitated and memory efficiency is improved. It is possible to use.
本発明は,いわゆるパーソナル・コンピュータ等におけ
るプログラムの実行制御方式に係り,特にオブジェクト
指向の概念を取り入れて,効率的なシステム開発を可能
としたオブジェクト実行制御方式に関するものである。The present invention relates to a program execution control method in a so-called personal computer or the like, and more particularly to an object execution control method that enables efficient system development by incorporating an object-oriented concept.
例えば8ビット・プロセッサを用いたパーソナル・コン
ピュータのシステムでは,64KBというアドレス空間
の制限があるが,複雑なメモリ管理機構を用いずに,簡
単に大きなプログラム等を開発できるようにすることが
望まれている。For example, a personal computer system using an 8-bit processor has an address space limitation of 64 KB, but it is desirable to be able to easily develop a large program without using a complicated memory management mechanism. ing.
例えば,パーソナル・コンピュータ等では,ハードウェ
アの他に,オプリケーションを動かす環境として,BA
SICインタプリタが基本的な制御プログラムと一体化
されて提供されることが多い。しかし,BASIC言語
で記述されたプログラムは,アセンブラ等により開発さ
れたプログラムに比べて,極端に実行性能が落ちるとい
う問題がある。For example, in a personal computer or the like, in addition to hardware, as an environment for running applications, BA
The SIC interpreter is often provided integrated with a basic control program. However, a program written in the BASIC language has a problem that its execution performance is extremely deteriorated as compared with a program developed by an assembler or the like.
そのため,ゲームソフトウェアや教育ソフトウェア等の
パッケージを,アセンブラで開発することが考慮されて
いるが,開発されたプログラムを動作させるために,汎
用的な動作環境を提供する基本オペレーティング・シス
テムを必要とするか,または動作環境を含めたパッケー
ジの開発が必要であった。Therefore, it is considered to develop packages such as game software and educational software in assembler, but a basic operating system that provides a general-purpose operating environment is required to run the developed programs. Or, it was necessary to develop a package that included the operating environment.
従来のパーソナル・コンピュータにおけるマシン語プロ
グラムの動作環境では,メモリのアドレス空間に制限が
あり,大きなプログラムの開発ができないという問題が
ある。また,個々のモジュールに,アドレスを固定的に
割り当つけた後に,一部のモジュールに変更があると,
他のモジュールについてもアドレスの変更が必要にな
り,柔軟性に欠けるという問題がある。In the conventional operating environment for a machine language program in a personal computer, there is a problem that the memory address space is limited and a large program cannot be developed. Also, if some modules are changed after fixedly assigning an address to each module,
There is also the problem of lack of flexibility because the addresses of other modules also need to be changed.
しかしながら,8ビット・プロセッサを使用するパーソ
ナル・コンピュータ等の小規模システムに,仮想記憶方
式を採用するとすれば,システムの規模が大掛かりにな
り,高価になると共に,オペレーティング・システムに
よるオーバヘッドが増大するという問題がある。However, if a virtual memory system is adopted for a small-scale system such as a personal computer using an 8-bit processor, the scale of the system becomes large, the cost becomes high, and the overhead by the operating system increases. There's a problem.
本発明は上記問題点の解決を図り,単純な制御機構によ
って,限られたメモリの効率的な使用を可能とし,かつ
アセンブラ等で開発される応用システムの開発を容易化
した動作環境を提供することを目的としている。The present invention solves the above problems, provides an operating environment that enables efficient use of limited memory with a simple control mechanism and facilitates the development of an application system developed by an assembler or the like. Is intended.
第1図は本発明の基本構成例を示す。 FIG. 1 shows a basic configuration example of the present invention.
第1図において,10はCPUおよびメモリからなる処
理装置,11は一連の命令コードまたはデータ群とその
操作に必要となる管理情報とからなるオブジェクト,1
1Aはオブジェクト管理情報部,11Bはオブジェクト
本体部,12はオブジェクトが動的に再配置されるオブ
ジェクト用メモリ領域,13は実行対象となるオブジェ
クト名が格納される次オブジェクト名記憶部,14はオ
ブジェクトの実行を制御するメイン制御部,15は共通
ルーチンの呼び出し制御を行う共通ルーチン制御部,1
6はリクエスト番号に対応して角共通ルーチンの先頭ア
ドレスを記憶する共通ルーチン・アドレス・テーブル,
17は各オブジェクトおよびメイン制御部14が共通に
使用する共通ルーチン部,18はオブジェクトをサーチ
し必要に応じてオブジェクト用メモリ領域12にロード
するオブジェクト・サーチ処理部,19はローダ,20
はオブジェクト用メモリ領域12における使用済み領域
を回収するガーベジ・コレクア,21はディスプレイに
メッセージを表示するメッセージ表示処理部,22はA
SCIIコードとJISコードとの変換を行うコード変
換部,23はフロッピーディスク等の外部記憶装置を表
す。In FIG. 1, reference numeral 10 is a processing unit composed of a CPU and a memory, 11 is an object consisting of a series of instruction codes or data groups, and management information necessary for its operation, 1
1A is an object management information section, 11B is an object body section, 12 is an object memory area in which objects are dynamically rearranged, 13 is a next object name storage section in which the name of an object to be executed is stored, and 14 is an object Is a main control unit for controlling the execution of a common routine, 15 is a common routine control unit for controlling the calling of a common routine,
6 is a common routine address table that stores the start address of the corner common routine corresponding to the request number,
Reference numeral 17 is a common routine section commonly used by each object and the main control section 14, 18 is an object search processing section for searching for an object and loading it into the object memory area 12 as necessary, 19 is a loader, 20
Is a garbage collector for collecting used areas in the object memory area 12, 21 is a message display processing section for displaying a message on the display, and 22 is A
A code conversion unit 23 for converting between the SCII code and the JIS code represents an external storage device such as a floppy disk.
本発明では,教育ソフトウェア・パッケージ等の応用シ
ステムは,操作単位となる複数のオブジェクト11の集
合として管理される。即ち,システム設計時に,そのシ
ステムを構成するプログラムやデータが,予め例えば処
理機能単位で分解され,その分割された個々の要素が,
オブジェクト11とされる。In the present invention, an application system such as an educational software package is managed as a set of a plurality of objects 11 which are operation units. That is, when designing a system, the programs and data that make up the system are decomposed in advance, for example, in processing function units, and the divided individual elements are
It is an object 11.
オブジェクト11は,オブジェクト管理情報部11Aと
オブジェクト本体部11Bとからなる。オブジェクト管
理情報部11Aは,例えば次のような情報を持つ。The object 11 includes an object management information section 11A and an object body section 11B. The object management information unit 11A has the following information, for example.
サイズ情報 そのオブジェクト全体の大きさ(バイト数)を示す。 Size information Indicates the size (byte count) of the entire object.
タイプ情報 プログラム・タイプ・オブジェクト(PTO)であるか
データ・タイプ・オブジェクト(DTO)であるか等そ
のオブジェクトの型を示す。Type information Indicates the type of the object such as a program type object (PTO) or a data type object (DTO).
レベル情報 オブジェクト用メモリ領域12におけるそのオブジェク
トの必要度合から見た優先順位を示す。例えば,ガーベ
ジ・コレクションの対象であるかどうかというような情
報を提供する。Level information Indicates the priority order in terms of the degree of necessity of the object in the object memory area 12. For example, it provides information such as whether it is subject to garbage collection.
名前長情報 オブジェクト名の長さ(バイト数)を示す。 Name length information Indicates the length (number of bytes) of the object name.
オブジェクト名情報 オブジェクトを識別するために付与されるオブジェクト
名を示す。Object name information Indicates the object name given to identify the object.
固有属性情報 上記情報以外に必要に応じて用意されるオブジェクト属
性情報を示す。Unique attribute information In addition to the above information, the object attribute information prepared as necessary is shown.
オブジェクト管理情報部11Aに続くオブジェクト本体
部11Bには,オブジェクト11がプログラム・タイプ
・オブジェクト(PTO)である場合には,マシン語コ
ードが格納され,データ・タイプ・オブジェクト(DT
O)である場合には,数値や文字等のデータが格納され
る。When the object 11 is a program type object (PTO), the machine language code is stored in the object body section 11B following the object management information section 11A, and the data type object (DT
In the case of O), data such as numerical values and characters are stored.
メイン制御部14は,各オブジェクト11の実行終了毎
に,次オブジェクト名記憶部13に設定されたオブジェ
クト名を取り出し,共通ルーチン制御部15を介して,
共通ルーチン部17におけるオブジェクト・サーチ処理
部18を呼び出す処理を実行する。そして,オブジェク
ト・サーチ処理部18から通知されたオブジェクトのア
ドレス情報に基づいて,次のオブジェクト11へ実行制
御を渡す。The main control unit 14 retrieves the object name set in the next object name storage unit 13 each time the execution of each object 11 is completed, and, via the common routine control unit 15,
Processing for calling the object search processing unit 18 in the common routine unit 17 is executed. Then, based on the address information of the object notified from the object search processing unit 18, the execution control is passed to the next object 11.
例えば,オブジェクト(PTO−1)が、次オブジェク
ト名記憶部13に,次に制御を移行するオブジェクト
(PTO−2)のオブジェクト名を設定しておけば,オ
ブジェクト(PTO−1)の実行が終了したときに,オ
ブジェクト用メモリ領域12上にオブジェクト(PTO
−2)が用意され,そのオブジェクト(PTO−2)に
実行制御が渡されることになる。For example, if the object (PTO-1) sets the object name of the object (PTO-2) whose control is to be transferred next in the next object name storage unit 13, the execution of the object (PTO-1) ends. When the object (PTO
-2) is prepared, and execution control is passed to the object (PTO-2).
共通ルーチン部17は,汎用的に使用される処理機能や
ハードウェア制御に関連する処理機能等を実現するルー
チン群からなる。例示的に示したメッセージ表示処理部
21やコード変換部22等の他に,各種ファイル入出力
機能を提供するルーチン等が必要に応じて用意される。
これらの各共通ルーチンには,リクエスト番号が付与さ
れ,共通ルーチン・アドレス・テーブル16に,そのリ
クエスト番号に対応する共通ルーチンのアドレス情報が
記憶される。The common routine unit 17 is composed of a routine group that realizes processing functions that are used in general and processing functions related to hardware control. In addition to the message display processing unit 21 and the code conversion unit 22 shown by way of example, routines for providing various file input / output functions are prepared as needed.
A request number is assigned to each of these common routines, and the common routine address table 16 stores the address information of the common routine corresponding to the request number.
共通ルーチン制御部15は,指定されたリクエスト番号
によって,そのリクエスト番号が付与された共通ルーチ
ンを呼び出す制御を行う。The common routine control unit 15 controls to call the common routine to which the request number is given, according to the designated request number.
共通ルーチン部17には,本発明に関連するものとし
て,特にオブジェクト・サーチ処理部18が設けられ
る。オブジェクト・サーチ処理部18は,指定されたオ
ブジェクト名を持つオブジェクト11が,オブジェクト
用メモリ領域12上に存在するか否かを,各オブジェク
トのオブジェクト管理情報部11Aを参照することによ
り,検査する。該当するオブジェグト11がある場合,
そのオブジェクト11の先頭アドレスを,共通ルーチン
制御部15の呼び出し元へ通知する。The common routine section 17 is particularly provided with an object search processing section 18 as related to the present invention. The object search processing section 18 checks whether or not the object 11 having the specified object name exists in the object memory area 12 by referring to the object management information section 11A of each object. If there is a corresponding object 11,
The starting address of the object 11 is notified to the caller of the common routine control unit 15.
該当するオブジェスト11が,オブジェクト用メモリ領
域12上にない場合,ローダ19を呼び出すことによ
り,外部記憶装置23からオブジェクト用メモリ領域1
2上へ,そのオブジェクト11をロードして,その先頭
アドレスを呼び出し元へ通知する。ロードするときに,
オブジェクト用メモリ領域12上に充分なフリー(空
き)領域がない場合には,ガーベジ・コレクタ20を呼
び出して,不要となった領域を回収することにより,フ
リー領域を確保する。If the corresponding object 11 is not in the object memory area 12, the loader 19 is called to read the object memory area 1 from the external storage device 23.
The object 11 is loaded onto the upper part of the table 2 and its start address is notified to the caller. When loading,
If there is not a sufficient free (empty) area on the object memory area 12, the garbage collector 20 is called to collect an unnecessary area to secure the free area.
なお,メイン制御部14による実行制御とは無関係に,
プログラム・タイプ・オブジェクト(PTO)は,必要
なデータ・タイプ・オブジェクト(DTO)を,いつま
でもロードすることができる。In addition, regardless of the execution control by the main control unit 14,
The program type object (PTO) can load the required data type object (DTO) forever.
このデータ・タイプ・オブジェクトを,例えばディスプ
レイに表示する画像デーの管理等に用いると,外部記憶
装置23からのデータ入出力に,上記オブジェクト・サ
ーチ処理部18またはローダ19を利用できるので便利
である。When this data type object is used, for example, for managing image data displayed on a display, it is convenient because the object search processing unit 18 or the loader 19 can be used for data input / output from the external storage device 23. .
本発明によれば,応用システムがオブジェクト11とし
て管理され,各オブジェクト11は,実行が必要となっ
た時点で,オブジェクト用メモリ領域12上に動的に再
配置される。実行中のオブジェクト11は,1時点では
1つだけであり,他の実行済みオブジェクトについて
は,必要に応じてオブジェクト用メモリ領域12から廃
棄できるので,オブジェクトの数を増やすことにより,
いくらでも応用システムを開発することができるように
なる。According to the present invention, the application system is managed as the objects 11, and each object 11 is dynamically relocated to the object memory area 12 when execution is required. Only one object 11 is being executed at one time point, and other executed objects can be discarded from the object memory area 12 as necessary. Therefore, by increasing the number of objects,
You will be able to develop applied systems as much as you want.
機能の新規追加が必要になった場合,新しいオブジェク
トを作成すればよく,応用システム既存部分に与える影
響を少なくすることができる。各オブジェクト11の制
御の受け渡しが簡単化されているため,いわゆる結合デ
バッグがほどんど不要となり,デバッグを容易化するこ
とができる。また,複数人がパラレルに開発作業を進め
ることが非常にやり易くなり,開発期間を短縮できるよ
うになる。When a new function needs to be added, a new object can be created, and the influence on the existing part of the application system can be reduced. Since the transfer of control of each object 11 is simplified, so-called combined debugging is almost unnecessary, and debugging can be facilitated. In addition, it is very easy for multiple people to proceed with development work in parallel, and the development period can be shortened.
第2図は本発明の一実施例に係るメモリ・マッピング
例,第3図は本発明の一実施例に係るオブジェクト制御
移行例,第4図は本発明の一実施例処理説明図を示す。FIG. 2 shows an example of memory mapping according to one embodiment of the present invention, FIG. 3 shows an example of object control transfer according to one embodiment of the present invention, and FIG. 4 shows a processing explanatory diagram of one embodiment of the present invention.
8ビットのプロセッサを備え,64KBのアドレス空間
を持つシステムについてのメモリは,例えば第2図
(1)に示すように使用される。The memory for a system having an 8-bit processor and an address space of 64 KB is used, for example, as shown in FIG.
第2図において,30はメモリ,31はBASIC等の
ワーク領域,32はモニタ領域,33はオブジェクト用
メモリ領域12におけるPTO領域,34はDTO領
域,35はハードウェア制御に関連するインタフェース
領域を表す。In FIG. 2, 30 is a memory, 31 is a work area such as BASIC, 32 is a monitor area, 33 is a PTO area in the object memory area 12, 34 is a DTO area, and 35 is an interface area related to hardware control. .
メモリ30のモニタ領域32には,第1図に示す次オブ
ジェクト名記憶部13,メイン制御部14,共通ルーチ
ン制御部15,共通ルーチン・アドレス・テーブル1
6,共通ルーチン部17が設定される。In the monitor area 32 of the memory 30, the next object name storage 13, the main controller 14, the common routine controller 15, and the common routine address table 1 shown in FIG.
6, the common routine unit 17 is set.
応用システム用の領域としては,モニタ領域32の後
に,オブジェクト用メモリ領域12が設けられ,本実施
例では,オブジェクト用メモリ領域12が,プログラム
・タイプ・オブジェクト用のPTO領域33と,データ
・タイプ・オブジェクト用のDTO領域34とに分けて
管理されるようになっている。As an application system area, an object memory area 12 is provided after a monitor area 32. In this embodiment, the object memory area 12 is a program type object PTO area 33 and a data type. -The DTO area 34 for objects is managed separately.
第2図(ロ)は,3個のプログラム・タイプ・オブジェ
クト「PTO−1」,「PTO−2」,「PTO−3」
と,2個のデータ・タイプ・オブジェクト「DTO−
1」,「DTO−2」がロードされている状態を示して
いる。PTO状態33,DTO領域34は,それぞれ先
頭から順次使用され,残りの領域は,フリー(空き)領
域として管理される。Figure 2 (b) shows three program type objects "PTO-1", "PTO-2", and "PTO-3".
And two data type objects "DTO-
1 ”and“ DTO-2 ”are loaded. The PTO state 33 and the DTO area 34 are sequentially used from the beginning, and the remaining areas are managed as free (empty) areas.
第2図(ロ)の状態で,例えばオブジェクトPTO−3
の実行が終了し,次にオブジェクトPTO−4が指定さ
れたとする。このときオブジェクトRTO−4のサイズ
が調べられ,PTO領域33のフリー領域から,オブジ
ェクトPTO−4用のロード領域が確保できるかどうか
検査される。フリー領域が小さいため,確保できない場
合には,第1図に示すガーベジ・コレクタ20により,
不要となったオブジェクトがレベル情報に応じてPTO
領域33から廃棄され,詰め替えが行われる。この例で
は,第2図(ロ)におけるオブジェクトPTO−2が廃
棄され,第2図(ハ)図示のようにオブジェクトPTO
−3が移動されて,オブジェクトPTO−4がロードさ
れている。オブジェクトPTO−4は,DTO領域34
に,データ・タイプ・オブジェクトDTO−3を,ロー
ドしている。In the state of FIG. 2B, for example, the object PTO-3
Is completed, and the object PTO-4 is next specified. At this time, the size of the object RTO-4 is checked to see if a load area for the object PTO-4 can be secured from the free area of the PTO area 33. If the free area is small and cannot be secured, use the garbage collector 20 shown in FIG.
Objects that are no longer needed PTO according to level information
It is discarded from the area 33 and refilled. In this example, the object PTO-2 in FIG. 2B is discarded, and the object PTO-2 is displayed as shown in FIG.
-3 has been moved and object PTO-4 has been loaded. The object PTO-4 has a DTO area 34.
Then, the data type object DTO-3 is loaded.
次に,プログラム・タイプ・オブジェクトの制御移行例
を,第3図に従って説明する。Next, an example of control transfer of the program type object will be described with reference to FIG.
例えば,第3図(イ)図示の〜の順番で,各オブジ
ェクトPTO−1〜PTO−7間の制御移行がなされる
とする。なお,各オブジェクト間の制御の移行は,起動
元のオブジェクトが,起動されるオブジェクトのオブジ
ェト名を,実行終了前に,第1図に示す次オブジェクト
名記憶部13に設定しておくことにより,メイン制御部
14によって行われる。For example, it is assumed that control transfer is performed among the objects PTO-1 to PTO-7 in the order of to shown in FIG. The transfer of control between the objects is performed by the activation source object by setting the object name of the activated object in the next object name storage unit 13 shown in FIG. 1 before the end of execution. It is performed by the main control unit 14.
説明を簡単にするために,フリー領域が充分にあるとす
ると,各オブジェクトの制御移行に従って,各オブジェ
クトは,メモリ30上に,第3図(ロ)図示のように展
開されていくことになる。領域不足により,ガーベジ・
コレクションが行われない限り,一旦,ロードされたオ
ブジェクトは,メモリ30上に存在するので,再び呼び
出された場合には,再ロードすることなく使用すること
ができる。もちろん,各プログラム・タイプ・オブジェ
クト,予めリロケータブルに構成される必要がある。If there is a sufficient free area to simplify the explanation, each object will be expanded in the memory 30 as shown in FIG. 3B according to the control transfer of each object. . Garbage caused by lack of space
Unless the collection is performed, the object once loaded exists in the memory 30, so that it can be used without reloading when it is called again. Of course, each program type object must be relocatable in advance.
次に,第4図に従って,本発明の一実施例により処理の
例について説明する。以下の説明における(a)〜(m)は,
第4図に示す処理(a)〜(m)に対応している。Next, an example of processing according to the embodiment of the present invention will be described with reference to FIG. (A) to (m) in the following explanation are
This corresponds to the processes (a) to (m) shown in FIG.
メイン制御部14は,例えば第4図(イ)に示す(a)〜
(c)のように処理する。The main control unit 14 is, for example, (a) to (a) shown in FIG.
Process as in (c).
(a) 第1図に示す次オブジェクト名記憶部13から,
次に起動すべきオブジェクト名を取り出す。(a) From the next object name storage unit 13 shown in FIG.
Get the object name to be invoked next.
(b) オブジェクト・サーチ処理部18のリクエスト番
号を指定し,共通ルーチン制御部15を呼び出す。これ
によって,オブジェクト・サーチ処理部18が動作し,
次に起動すべきオブジェクトの先頭アドレスが通知され
る。(b) The request number of the object search processing unit 18 is specified and the common routine control unit 15 is called. As a result, the object search processing unit 18 operates,
The start address of the object to be activated next is notified.
(c) 通知された先頭アドレスから,そのオブジェクト
11のマシン語コード先頭アトレスを計算し,実行制御
を渡す。そのオブジェクト11の実行が終了したなら
ば,処理(a)へ制御を戻し,同様に処理を繰り返す。(c) The machine language code start address of the object 11 is calculated from the notified start address, and execution control is passed. When the execution of the object 11 is completed, the control is returned to the processing (a), and the processing is repeated.
共通ルーチン制御部15は,例えば第4図(ロ)に示す
(d)〜(g)のように処理する。The common routine control unit 15 is shown in, for example, FIG.
Process like (d) to (g).
(d) 要求元から,例えば所定のレジスタにより,リク
エスト番号を受け取る。(d) The request number is received from the request source by, for example, a predetermined register.
(e) 共通ルーチン・アドレス・テーブル16から,リ
クエスト番号に応じた共通ルーチンの先頭アドレスを得
る。(e) From the common routine address table 16, obtain the start address of the common routine corresponding to the request number.
(f)〜(g) その先頭アドレスに制御を渡し,指定された
共通ルーチンを呼び出す。共通ルーチンの実行が終了し
たならば,要求元へ制御を戻す。共通ルーチンの1つと
して設けられているオブジェクト・サーチ処理部18
は,例えば第4図(ハ)に示す(h)〜(m)のように処理す
る。(f) to (g) Pass control to the start address and call the specified common routine. When the execution of the common routine is completed, control is returned to the request source. Object search processing unit 18 provided as one of common routines
Are processed as shown in (h) to (m) of FIG.
(h) 指定されたオブジェクト名により,オブジェクト
用メモリ領域12に既にロードされているオブジェクト
を検索する。(h) With the specified object name, the object already loaded in the object memory area 12 is searched.
(i) 該当オブジェクトが,オブジェクト用メモリ領域
12上に存在するか否かを判定する。存在しない場合,
処理(k)へ制御を移す。(i) It is determined whether or not the corresponding object exists in the object memory area 12. If it does not exist,
Control is transferred to process (k).
(j) オブジェクト用メモリ領域12上の該当オブジェ
クトの先頭アドレスを得て,呼び出し元へ通知する。(j) Obtain the start address of the corresponding object in the object memory area 12 and notify the caller.
(k) 該当オブジェクトがロードされていない場合,外
部記憶装置上にあるそのオブジェクトのサイズを調べ,
オブジェクト用メモリ領域12のフリー領域を確保す
る。確保できない場合,ガーベジ・コレクタ20を呼び
出し,フリー領域を拡張する。(k) If the object is not loaded, check the size of the object on the external storage device,
A free area of the object memory area 12 is secured. If it cannot be secured, the garbage collector 20 is called to expand the free area.
(l) ローダ19を呼び出すことにより,該当オブジェ
クトのオブジェクト用メモリ領域12上にロードする。(l) By calling the loader 19, the object memory area 12 of the corresponding object is loaded.
(m) フリー領域の先頭アドレスを書き直し,処理(j)へ
制御を移す。(m) Rewrite the start address of the free area and transfer control to processing (j).
以上説明したように,本発明によれば,応用システム
が,それ自身の管理情報を含むオブジェクトの集合とし
て構成され,実行時に必要となった時点でメモリ内に動
的に配置されるので,メモリの効率的使用か可能にな
る。特に,制御の受け渡し構造が単純であり,モニタ領
域を小さくすることができるので,個人的に使用する小
規模システムに適している。また,システムの多様なデ
ータ構造をその機能の共通性に着目して,オブジェクト
により統一的に扱うことができるようになるので,拡張
性,柔軟性に富み,システムの設計・開発・改良が容易
になる。As described above, according to the present invention, the application system is configured as a set of objects including its own management information and is dynamically arranged in the memory at the time when it is needed at the time of execution. It enables efficient use of. In particular, the control transfer structure is simple and the monitor area can be reduced, so it is suitable for a small-scale system used for personal use. In addition, since various data structures of the system can be handled in a unified manner by focusing on the commonality of their functions, they are highly expandable, flexible, and easy to design, develop, and improve. become.
第1図は本発明の基本構成例,第2図は本発明の一実施
例に係るメモリ・マッピング例,第3図は本発明の一実
施例に係るオブジェクト制御移行例,第4図は本発明の
一実施例処理説明図を示す。 図中,10は処理配置,11はオブジェクト,11Aは
オブジェクト管理情報部,11Bはオブジェクト本体
部,12はオブジェクト用メモリ領域,13は次オブジ
ェクト名記憶部,14はメイン制御部,15は共通ルー
チン制御部,16は共通ルーチン・アドレス・テーブ
ル,17は共通ルーチン部,18はオブジェクト・サー
チ処理部,19はローダ,20はガーベジ・コレクタ,
21はメッセージ表示処理部,22はコード変換部,2
3は外部記憶装置を表す。FIG. 1 is a basic configuration example of the present invention, FIG. 2 is a memory mapping example according to an embodiment of the present invention, FIG. 3 is an object control transfer example according to an embodiment of the present invention, and FIG. The process explanatory drawing of one Example of invention is shown. In the figure, 10 is a processing arrangement, 11 is an object, 11A is an object management information section, 11B is an object body section, 12 is an object memory area, 13 is a next object name storage section, 14 is a main control section, and 15 is a common routine. Control unit, 16 is a common routine address table, 17 is a common routine unit, 18 is an object search processing unit, 19 is a loader, 20 is a garbage collector,
21 is a message display processing unit, 22 is a code conversion unit, 2
Reference numeral 3 represents an external storage device.
Claims (1)
備えたデータ処理システムにおいて, 一連の命令コードまたはデータ群とその操作に必要とな
る管理情報とからなるオブジェクト(11)であって,該管
理情報は少なくともそのオブジェクトのサイズ情報およ
びオブジェクトを識別するオブジェクト名の情報を含む
ものが,動的に再配置されるオブジェクト用メモリ領域
(12)と, 上記の各オブジェクト(11)および下記のメイン制御部(1
4)から共通にアクセスされる所定の領域であって,次に
実行されるべきオブジェクトを識別するオブジェクト名
が現在実行中であるオブジェクト(11)によって格納され
る次オブジェクト名記憶部(13)と, 指定されたオブジェクト名により,上記オブジェクト用
メモリ領域(12)を検索し,該オブジェクト用メモリ領域
(12)に,該当オブジェクトが存在する場合にはそのアド
レス情報を返却し,該当オブジェクトが存在しない場合
には上記外部記憶装置から該当オブジェクトをロードし
てそのアドレス情報を返却する処理を行うオブジェクト
・サーチ処理部(18)と, システムに共通に用意された所定の処置を行う共通ルー
チンであって,上記オブジェクト・サーチ処理部(18)を
含む共通ルーチンを,各共通ルーチンに対応してあらか
じめ定められたリクエスト番号によって呼び出す制御を
行う共通ルーチン制御部(15)と, 現在実行されているオブジェクトの実行終了時に,上記
次オブジェクト名記憶部(13)が記憶するオブジェクト名
を持つオブジェクト(11)を指定し、上記共通ルーチン制
御部(15)を介して上記オブジェクト・サーチ処理部(18)
を呼び出すことにより,該当オブジェクトのアドレス情
報を得て,そのオブジェクト(11)に実行制御を渡すメイ
ン制御部(14)とを備えたことを特徴とするオブジェクト
実行制御方式。1. A data processing system comprising a central processing unit, a memory and an external storage device, which is an object (11) consisting of a series of instruction codes or data groups and management information necessary for its operation, The management information includes at least the size information of the object and the information of the object name for identifying the object, and is a memory area for the object dynamically relocated.
(12), the above objects (11) and the following main control unit (1
A predetermined object area commonly accessed from 4), and an object name identifying an object to be executed next is stored in the next object name storage unit (13) stored by the currently executing object (11). , The object memory area (12) is searched by the specified object name, and the object memory area is searched.
In (12), an object that returns the address information if the corresponding object exists, and loads the corresponding object from the external storage device and returns the address information if the corresponding object does not exist. A common routine that performs a prescribed procedure commonly prepared for the search processing unit (18) and the system and that includes the above-described object search processing unit (18) is determined in advance for each common routine. The common routine control part (15) that controls to call by the specified request number and the object (11) having the object name stored in the next object name storage part (13) when the execution of the currently executed object ends. The object search processing unit (18) is specified via the common routine control unit (15).
An object execution control method comprising: a main control unit (14) that obtains address information of the corresponding object by calling, and transfers execution control to the object (11).
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61267964A JPH0612524B2 (en) | 1986-11-11 | 1986-11-11 | Object execution control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61267964A JPH0612524B2 (en) | 1986-11-11 | 1986-11-11 | Object execution control method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS63121931A JPS63121931A (en) | 1988-05-26 |
JPH0612524B2 true JPH0612524B2 (en) | 1994-02-16 |
Family
ID=17452038
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP61267964A Expired - Lifetime JPH0612524B2 (en) | 1986-11-11 | 1986-11-11 | Object execution control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0612524B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5265206A (en) * | 1990-10-23 | 1993-11-23 | International Business Machines Corporation | System and method for implementing a messenger and object manager in an object oriented programming environment |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58149549A (en) * | 1982-03-02 | 1983-09-05 | Nec Corp | Data base prefetch controller |
JPS60252973A (en) * | 1984-05-30 | 1985-12-13 | Fujitsu Ltd | Dynamic loading control system |
-
1986
- 1986-11-11 JP JP61267964A patent/JPH0612524B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPS63121931A (en) | 1988-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7376942B2 (en) | Method of managing memory for class variables | |
US4916608A (en) | Provision of virtual storage resources to an operating system control program | |
EP0371942A2 (en) | System and method for interfacing in computer systems | |
JPS62165250A (en) | Virtual memory | |
JPH0578857B2 (en) | ||
JPH11237990A (en) | Mixed execution stack and exception processing | |
JPH03179528A (en) | Position independent type code location system | |
JPH03126144A (en) | Method and apparatus for using memory in virtual address type information processing system | |
GB2273591A (en) | Microcomputer control systems for interprogram communication and scheduling methods | |
EP0243402A1 (en) | A special purpose processor for off-loading many operating system functions in a large data processing system. | |
JPH0612524B2 (en) | Object execution control method | |
JPS5818708B2 (en) | Method and apparatus for storing and accessing information in a shared access multi-program data processing system | |
US6748503B1 (en) | System and method facilitating unmanaged code participation in garbage collection | |
JPS62126451A (en) | Initial program load system for distributed processor | |
JP3163196B2 (en) | Instruction interruption information storage control method in virtual storage control | |
US20020124164A1 (en) | Method for starting computer system | |
JPH10240581A (en) | Cpu time measuring instrument | |
JPH11212858A (en) | Method and device for managing memory pool area | |
JPH01120624A (en) | Address allocation system for program module | |
JPS62284443A (en) | Blank area retrieving and controlling system | |
JPH0469739A (en) | Method and device for generating process | |
JPH02199533A (en) | Dynamic link system for core part of operating system | |
JPH0922363A (en) | Task constituting system | |
JP2754866B2 (en) | Object code generator for data driven computer | |
JPH04213117A (en) | Program management processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EXPY | Cancellation because of completion of term |