[go: up one dir, main page]

JP2003330741A - Information processing equipment - Google Patents

Information processing equipment

Info

Publication number
JP2003330741A
JP2003330741A JP2002136387A JP2002136387A JP2003330741A JP 2003330741 A JP2003330741 A JP 2003330741A JP 2002136387 A JP2002136387 A JP 2002136387A JP 2002136387 A JP2002136387 A JP 2002136387A JP 2003330741 A JP2003330741 A JP 2003330741A
Authority
JP
Japan
Prior art keywords
module
program
information processing
storage area
execution environment
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.)
Withdrawn
Application number
JP2002136387A
Other languages
Japanese (ja)
Inventor
Koichi Nakahara
鉱一 中原
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2002136387A priority Critical patent/JP2003330741A/en
Publication of JP2003330741A publication Critical patent/JP2003330741A/en
Withdrawn legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To solve the problem that at the time of execution, the storage area becomes insufficient in an information processor having only a little hardware resource and an interpreter-system execution environment. <P>SOLUTION: This information processor having interpreter-system execution environment is characterized in that, at the time of performing a program execution control system and means, allocation and deallocation of storage area are performed dynamically. <P>COPYRIGHT: (C)2004,JPO

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、少量の記憶領域し
かもたない情報処理装置上でのデバイス制御プログラム
の管理方法に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method of managing a device control program on an information processing device having a small storage area.

【0002】[0002]

【従来の技術】現在のコンピュータ環境では、豊富な物
理メモリとハードディスクなど外部記憶装置を利用した
仮想記憶システムを装備したオペレーティングシステム
を利用することができ、以前に比べて同一コンピュータ
上で同時に稼動できるプログラムの数は飛躍的に向上し
ている。一方、ソフトウエアの生産性の観点から、異な
る種類のコンピュータ上で同じプログラムを実行させる
JAVA(登録商標)のような環境も普及してきてい
る。JAVA(登録商標)では、一度プログラムを作成
すれば、JAVA(登録商標)実行環境を持つ任意のコ
ンピュータで、そのプログラムが稼動できることを理想
としている。
2. Description of the Related Art In the current computer environment, an operating system equipped with a virtual storage system using abundant physical memory and an external storage device such as a hard disk can be used, and it is possible to operate on the same computer at the same time as before. The number of programs has improved dramatically. On the other hand, from the viewpoint of software productivity, an environment such as JAVA (registered trademark) that allows the same program to be executed on different types of computers has become widespread. In JAVA (registered trademark), it is ideal that a program can be created once and then run on any computer having a JAVA (registered trademark) execution environment.

【0003】このような、異なるプログラム実行環境上
で同一プログラムを稼動させるためには、図1のような
仮想マシンを導入したシステムが考えられる。
In order to operate the same program in such different program execution environments, a system in which a virtual machine as shown in FIG. 1 is introduced can be considered.

【0004】近年では、この機構を応用した、ネットワ
ークコンピュータ(以下NCと略す)と呼ばれるコンピ
ュータが、広まりつつある。
In recent years, computers called network computers (hereinafter abbreviated as NC) to which this mechanism is applied are becoming widespread.

【0005】NCは、オフィス、家庭など、ユーザの用
途を絞ることによって必要なアプリケーション、実行環
境を必要最低限なものとした新しいタイプのコンピュー
タで、ハードディスクなどの固有資源も持たず、オペレ
ーティングシステムを含めたすべてのプログラムをネッ
トワーク上に接続されたサーバを通じて取得する(図
8)ことが特徴である(図1)。このため、オフィスな
どの定常的な業務かつ、必要な台数が多い場合に特に有
効なシステムである。
The NC is a new type of computer in which required applications and execution environments are minimized by narrowing down users' uses such as offices and homes. The feature is that all the included programs are acquired through a server connected on the network (FIG. 8). For this reason, this system is particularly effective in the case of regular work such as offices and a large number of required units.

【0006】[0006]

【発明が解決しようとする課題】同一プログラムが、異
なる環境で実行可能であることは、豊富なハードウエア
資源を持つ環境と、少ない資源しかもたない環境で、同
じプログラムを実行させることを意味する。NCなどで
は、固有のハードディスクを持たないため、スワップ、
ページングなどの仮想記憶が実現されず実メモリのみで
プログラムが実行される。
The fact that the same program can be executed in different environments means that the same program is executed in an environment having abundant hardware resources and an environment having few resources. . Since NC does not have its own hard disk, swap,
Virtual memory such as paging is not realized, and the program is executed only in real memory.

【0007】このため、豊富なハードウエア資源を持つ
パーソナルコンピュータなどでは問題になりにくい、記
憶容量などの問題が露出してくる。
For this reason, problems such as storage capacity, which are less likely to occur in personal computers having abundant hardware resources, are exposed.

【0008】このような環境では、特に豊富な資源上で
メモリ容量を意識することなく作成されたプログラムは
動作しない可能性が大きくなる。
In such an environment, there is a high possibility that a program created without paying attention to the memory capacity on abundant resources will not operate.

【0009】また、この問題は、スワップやページング
などの仮想記憶を持たないシステムで特に顕著に表れ
る。
Further, this problem is particularly remarkable in a system having no virtual memory such as swapping or paging.

【0010】本発明は、上記の問題点をかんがみてなさ
れたもので、プログラム実行環境上に、モジュールのア
ンロード機能を持たせたるものである。
The present invention has been made in view of the above problems, and provides a module unloading function on the program execution environment.

【0011】また、アンロード時に優先順位を考慮し、
重要度の低いモジュールからアンロードする方法も提案
する。
Further, considering the priority when unloading,
We also propose a method of unloading from less important modules.

【0012】[0012]

【課題を解決するための手段】上記目的を達成するため
に、本発明は次のような構成からなる。
In order to achieve the above object, the present invention has the following constitution.

【0013】インタプリタ形式の実行環境を持つ。It has an execution environment of an interpreter format.

【0014】実行環境は、ハードディスクあるいは、ネ
ットワーク上のサーバに接続されたハードディスクなど
のアクセス可能な外部記憶装置をもつ。
The execution environment has an accessible external storage device such as a hard disk or a hard disk connected to a server on the network.

【0015】実行環境は、プログラムおよび、プログラ
ムに必要なモジュールを外部記憶装置からロードする手
段をもつ。
The execution environment has means for loading a program and modules required for the program from an external storage device.

【0016】実行環境は、モジュールへのアクセスを監
視する手段をもつ。
The execution environment has means for monitoring access to the module.

【0017】実行環境は、プログラム実行に必要なモジ
ュールを動的にロードできる手段をもつ。
The execution environment has means for dynamically loading the modules required for program execution.

【0018】実行環境は、プログラム実行中に、不必要
な、あるいは必要度の低いモジュールをアンロードする
手段を持つ。
The execution environment has means for unloading unnecessary or unneeded modules during program execution.

【0019】実行環境は、モジュールの必要度を算出す
る手段をもつ。
The execution environment has means for calculating the necessity degree of the module.

【0020】[0020]

【発明の実施の形態】(実施例1)実施例1は次のよう
に構成される。図1は本発明の実施例1の構成を示す図
で、1は数々の処理を司る中央演算装置(CPU)、2
は本発明のプログラムなどを格納しているハードディス
ク(HD)、3はランダムアクセスメモリ(RAM)で
CPUで実行できるようになっている。
BEST MODE FOR CARRYING OUT THE INVENTION (Embodiment 1) Embodiment 1 is constructed as follows. First Embodiment FIG. 1 is a diagram showing a configuration of a first embodiment of the present invention. Reference numeral 1 is a central processing unit (CPU) that controls various processes
Is a hard disk (HD) that stores the program of the present invention, and 3 is a random access memory (RAM) that can be executed by the CPU.

【0021】また、コンピュータの実行環境は図2のよ
うになっている。
Further, the execution environment of the computer is as shown in FIG.

【0022】プログラム実行環境は図3のようになって
いる。301は、図1に示したハードウエア、302
は、ハードウエアを制御するオペレーティングシステ
ム、303はオペレーティングシステム上で動作するイ
ンタプリタ式プログラム実行環境、304はインタプリ
タ上で実行されるプログラム、305は、プログラムで
使用される個々のモジュールへのアクセスを監視する手
段である。
The program execution environment is as shown in FIG. 301 is the hardware shown in FIG.
Is an operating system that controls the hardware, 303 is an interpreter program execution environment that operates on the operating system, 304 is a program that is executed on the interpreter, and 305 is an access to each module used in the program. Is a means to do.

【0023】プログラムの実行開始時には、インタプリ
タに付随するシステムライブラリと、実行しようとする
プログラムの本体(Main)部分のみがロードされる
ものとする。システムライブラリ自身も、unload
に対応できるよう、モジュール、クラス単位に分割され
ているものとする。
At the start of execution of a program, it is assumed that only the system library attached to the interpreter and the main part (Main) of the program to be executed are loaded. The system library itself is also unloaded
It is assumed that it is divided into modules and classes so that it can support.

【0024】Mainモジュールを実行を進める過程で
他のモジュール内の変数あるいは関数(メソッド)にア
クセスが生じると、監視モジュール305へ制御が移
り、図4のモジュールロード手順に従い、モジュールが
ロード可能かどうかを調査する(401)。このような
監視モジュールへ制御を移すことはインタプリタ式の実
行系では容易に実現することができる。
When a variable or function (method) in another module is accessed in the process of executing the Main module, control is transferred to the monitoring module 305 and whether the module can be loaded according to the module loading procedure of FIG. (401). Transferring control to such a monitoring module can be easily realized in an interpreter type execution system.

【0025】401のモジュールサイズのチェックにお
いて、十分な量のメモリが使用可能であるばあいは、通
常通りのロードが行われる。十分な量のメモリが確保さ
れなかった場合については、図5のモジュール・テーブ
ルに基づいて、各モジュールの必要度を調べる。ここで
は、必要度として、モジュールへのアクセス回数を取
る。すなわち、Mainモジュール実行時からの、モジ
ュール別の変数、関数などへのアクセス回数の総計とす
る。
In checking the module size of 401, if a sufficient amount of memory is available, the load will proceed normally. When a sufficient amount of memory is not secured, the necessity of each module is checked based on the module table of FIG. Here, the number of times the module is accessed is taken as the degree of necessity. That is, it is the total number of times of access to variables and functions for each module since the execution of the Main module.

【0026】このテーブルを参照し、最も必要度が低い
モジュールの中から最初に見つかったものの、コード領
域を開放するUnloadする。データ領域は、一般
に、他からの参照の有無がわからないため、ガーベッジ
・コレクションなどが利用できる場合を除いて、開放で
きない。
With reference to this table, although the module is first found among the modules with the lowest necessity, the code area is unloaded. In general, the data area cannot be released unless it is possible to use garbage collection or the like because it is not known whether or not there is a reference from another.

【0027】開放後は、Unloadされたことを記録
するため、図6のようなUnloadテーブルに登録す
る。このテーブルは次回Unloadされたモジュール
への関数コールが発生したときに図7の手順で再ロード
するために使用される。
After the release, in order to record that it has been unloaded, it is registered in the Unload table as shown in FIG. This table is used for reloading in the procedure of FIG. 7 when the next function call to the unloaded module occurs.

【0028】以上の手順が、必要なメモリ量が確保され
るまで繰り返される。
The above procedure is repeated until the required memory amount is secured.

【0029】このとき、あらかじめ決められた規定回数
のUnloadを行っていれば、無限ループを避けるた
め、実行時エラーを起こし、終了する。
At this time, if Unloading is performed a predetermined number of times, a run-time error is generated and the process ends, in order to avoid an infinite loop.

【0030】このようにして、使用頻度の低いモジュー
ルのコード領域を開放しながら、必要なモジュールをロ
ードすることができる。
In this way, the necessary module can be loaded while releasing the code area of the module that is rarely used.

【0031】(他の実施例) (実施例2)実施例2では、JAVA(登録商標)やS
mallTalkのようなオブジェクト指向言語を仮定
する。これらの言語では、C言語のようなポインタが存
在しないため、任意の時点でのオブジェクトへの参照の
有無を調べることができる。この参照の有無を実施例1
のアクセス回数の代わりに使うことにより、参照の有無
による、クラスのアンロードが実現できる。
(Other Embodiments) (Second Embodiment) In the second embodiment, JAVA (registered trademark) or S
Assume an object-oriented language such as mallTalk. In these languages, since there is no pointer like C language, it is possible to check whether or not there is a reference to an object at any time. The presence or absence of this reference is determined in Example 1.
By using instead of the access count of, class unloading can be realized depending on whether or not there is a reference.

【0032】(実施例3)実施例3では、ネットワーク
上に接続されたNCと、NCを管理するサーバを仮定す
る。ローカルにハードディスクを持たないNCでは、ク
ラスファイルをサーバ上に持つ。Unloadされたク
ラスファイルを再loadする場合は、サーバに対し
て、クラスのロードを要求する。
(Third Embodiment) In the third embodiment, an NC connected on the network and a server for managing the NC are assumed. An NC that does not have a hard disk locally has a class file on the server. When reloading the unloaded class file, the server is requested to load the class.

【0033】[0033]

【発明の効果】本発明では、仮想記憶をもたないシステ
ム上で、記憶領域を有効にする手段を提案した。この発
明の特徴は、Unloadされたモジュールを記録して
おくことによって、次回のアクセスに対して安全性を確
保できることにある。また、安全性の確保のために、コ
ード領域を積極的に開放し、データ領域は、安全性が確
定しない限り開放しない点も重要である。
The present invention has proposed means for making a storage area effective on a system having no virtual memory. A feature of the present invention is that by recording the modules that have been unloaded, it is possible to ensure the security for the next access. Further, in order to ensure security, it is important that the code area is positively opened and the data area is not opened unless the safety is decided.

【0034】本発明により、記憶領域の少ないシステム
でも、有効に記憶領域を活用することが期待できる。
According to the present invention, it can be expected that even a system having a small storage area can effectively utilize the storage area.

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

【図1】NCの構成図。FIG. 1 is a configuration diagram of an NC.

【図2】インタプリタ・システムの構成図。FIG. 2 is a block diagram of an interpreter system.

【図3】モジュール監視機構を備えたインタプリタ・シ
ステムの構成図。
FIG. 3 is a block diagram of an interpreter system including a module monitoring mechanism.

【図4】モジュール監視機構を利用した、モジュール・
ロードの手順。
[Fig. 4] Module using a module monitoring mechanism
Loading procedure.

【図5】モジュール監視機構が持つ、モジュールのアク
セステーブル。
FIG. 5 is an access table of modules possessed by the module monitoring mechanism.

【図6】Unloadされたモジュールを記録するテー
ブル。
FIG. 6 is a table that records modules that have been unloaded.

【図7】Unloadされたモジュールを考慮したモジ
ュール・ロードの手順。
FIG. 7 is a procedure of module loading considering an unloaded module.

【図8】NCとサーバからなるネットワーク。FIG. 8 is a network including an NC and a server.

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

1 中央演算装置(CPU) 2 外部記憶装置(ハードディスク・HD) 3 ランダムアクセスメモリ(RAM) 4 ネットワークインターフェースカード(NIC) 5 ネットワークコンピュータ(NC) 1 Central processing unit (CPU) 2 External storage device (hard disk, HD) 3 Random access memory (RAM) 4 Network interface card (NIC) 5 Network computer (NC)

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】 プログラムの一部を実行時にアンロード
する手段を有し、記憶領域を開放する手段を有し、開放
された記憶領域を再利用する手段を有するインタプリタ
形式の実行系を備える情報処理装置。
1. Information comprising an interpreter type execution system having means for unloading a part of a program at execution time, means for releasing a storage area, and means for reusing the released storage area. Processing equipment.
【請求項2】 プログラム中の使用頻度の低いモジュー
ルを決定する手段を持ち、アンロードされたモジュール
を再ロードする手段を持つ請求項1の情報処理装置。
2. The information processing apparatus according to claim 1, further comprising means for determining a less frequently used module in a program, and means for reloading an unloaded module.
【請求項3】 使用頻度がモジュール内の関数、変数へ
の参照回数である請求項2の情報処理装置。
3. The information processing apparatus according to claim 2, wherein the usage frequency is the number of times a function or variable in the module is referenced.
【請求項4】 モジュールがデバイスドライバである請
求項3の情報処理装置。
4. The information processing apparatus according to claim 3, wherein the module is a device driver.
【請求項5】 使用頻度が、モジュール内のオブジェク
トへの参照の有無である請求項2の情報処理装置。
5. The information processing apparatus according to claim 2, wherein the usage frequency is whether or not there is a reference to an object in the module.
JP2002136387A 2002-05-13 2002-05-13 Information processing equipment Withdrawn JP2003330741A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002136387A JP2003330741A (en) 2002-05-13 2002-05-13 Information processing equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002136387A JP2003330741A (en) 2002-05-13 2002-05-13 Information processing equipment

Publications (1)

Publication Number Publication Date
JP2003330741A true JP2003330741A (en) 2003-11-21

Family

ID=29698416

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002136387A Withdrawn JP2003330741A (en) 2002-05-13 2002-05-13 Information processing equipment

Country Status (1)

Country Link
JP (1) JP2003330741A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006338498A (en) * 2005-06-03 2006-12-14 Fuji Xerox Co Ltd Image processor, image processing method and program
CN106716359A (en) * 2014-09-22 2017-05-24 亚马逊技术股份有限公司 Computing environment selection techniques

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006338498A (en) * 2005-06-03 2006-12-14 Fuji Xerox Co Ltd Image processor, image processing method and program
CN106716359A (en) * 2014-09-22 2017-05-24 亚马逊技术股份有限公司 Computing environment selection techniques
CN106716359B (en) * 2014-09-22 2020-09-08 亚马逊技术股份有限公司 Computing Environment Selection Technology

Similar Documents

Publication Publication Date Title
US5559978A (en) Method for increasing the efficiency of a virtual memory system by selective compression of RAM memory contents
US8209692B2 (en) Deallocation of computer data in a multithreaded computer
JP3676827B2 (en) Scheduling method for multiprocessor system
US12307295B1 (en) Task scheduling method and apparatus, electronic device, and storage medium
US8713582B2 (en) Providing policy-based operating system services in an operating system on a computing system
CN114625533B (en) Distributed task scheduling method, device, electronic device and storage medium
US6687799B2 (en) Expedited memory dumping and reloading of computer processors
CN113342554B (en) IO multiplexing method, medium, device and operating system
CN116127494A (en) Control method and related device for concurrent access of users
CN101361036B (en) Method and device for changing scheduler in virtual machine monitor
US7770177B2 (en) System for memory reclamation based on thread entry and release request times
US5335332A (en) Method and system for stack memory alignment utilizing recursion
CN107656804A (en) Process pool system and method
CN113220495B (en) Method and device for processing process abnormal event, electronic equipment and storage medium
US7360213B1 (en) Method for promotion and demotion between system calls and fast kernel calls
JP5157537B2 (en) MEMORY MANAGEMENT DEVICE, SYSTEM, METHOD, AND PROGRAM
JP2003330741A (en) Information processing equipment
CN114489826B (en) Chip operation method and device, storage medium and electronic equipment
CN118672844A (en) Exception handling method, terminal device and storage medium
CN100530139C (en) System and method for updating references when incrementally compacting a heap
CN115525462A (en) Log storage method and device, electronic equipment and storage medium
CN120066619B (en) A method, device, medium and product for implementing a programmable I/O scheduler
CN110427224B (en) EJB module loading method and device, server and readable storage medium
CN119806667A (en) A method, device and storage medium for resolving conflicts in loading packages with the same name
JP2533931B2 (en) Data contents protection method of dynamic allocation area

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20050802