JPH0619717A - 情報処理装置 - Google Patents
情報処理装置Info
- Publication number
- JPH0619717A JPH0619717A JP17209692A JP17209692A JPH0619717A JP H0619717 A JPH0619717 A JP H0619717A JP 17209692 A JP17209692 A JP 17209692A JP 17209692 A JP17209692 A JP 17209692A JP H0619717 A JPH0619717 A JP H0619717A
- Authority
- JP
- Japan
- Prior art keywords
- dynamic link
- library
- function
- application program
- link library
- 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
Links
Landscapes
- Stored Programmes (AREA)
Abstract
(57)【要約】
【目的】 ライブラリルーチンを必要に応じてリンクし
たり、切り離したりすることができるダイナミックリン
ク機構を提供する。 【構成】 アプリケーションプログラム111のコード
が、ダイナミックリンクサービスライブラリ112の関
数DllOpenを呼び出すと、ロードテーブル116が作成
される。また、当該ダイナミックリンクライブラリ11
3の各モジュール(ルーチン)の格納されたグローバル
領域アドレス、ベクタアドレスおよび、ロードテーブル
116のエントリアドレスがパステーブル115に格納
される。関数DllExecuteを実行すると、アプリケーショ
ンプログラム112はパステーブル115を参照してダ
イナミックリンクライブラリ113をコールすることに
よりダイナミックリンクライブラリ113が実行され
る。また、関数DllUnlkを実行すると、ダイナミックリ
ンクライブラリ113のメモリ領域が解放される。
たり、切り離したりすることができるダイナミックリン
ク機構を提供する。 【構成】 アプリケーションプログラム111のコード
が、ダイナミックリンクサービスライブラリ112の関
数DllOpenを呼び出すと、ロードテーブル116が作成
される。また、当該ダイナミックリンクライブラリ11
3の各モジュール(ルーチン)の格納されたグローバル
領域アドレス、ベクタアドレスおよび、ロードテーブル
116のエントリアドレスがパステーブル115に格納
される。関数DllExecuteを実行すると、アプリケーショ
ンプログラム112はパステーブル115を参照してダ
イナミックリンクライブラリ113をコールすることに
よりダイナミックリンクライブラリ113が実行され
る。また、関数DllUnlkを実行すると、ダイナミックリ
ンクライブラリ113のメモリ領域が解放される。
Description
【0001】
【産業上の利用分野】本発明は情報処理装置、特に外部
記憶装置から、RAMの所定領域にアプリケーションプ
ログラム、およびダイナミックリンクライブラリをロー
ドして実行する情報処理装置に関するものである。
記憶装置から、RAMの所定領域にアプリケーションプ
ログラム、およびダイナミックリンクライブラリをロー
ドして実行する情報処理装置に関するものである。
【0002】
【従来の技術】従来より、パーソナルコンピュータ、ワ
ークステーションなどの種々のコンピュータシステムに
おいて、プログラムをコンパイル、リンクする際にライ
ブラリルーチンを実行モジュールにリンクするのではな
く、実行時に必要に応じてライブラリルーチンをメモリ
にロードする、いわゆるダイナミックリンク機能が実現
されている。
ークステーションなどの種々のコンピュータシステムに
おいて、プログラムをコンパイル、リンクする際にライ
ブラリルーチンを実行モジュールにリンクするのではな
く、実行時に必要に応じてライブラリルーチンをメモリ
にロードする、いわゆるダイナミックリンク機能が実現
されている。
【0003】このような機能は、主として、ファイル入
出力のような基本的なルーチンを多数のプログラムにリ
ンクすることを回避し、プログラムが必要とする外部記
憶装置の容量を減少させることを目的としたものであ
る。
出力のような基本的なルーチンを多数のプログラムにリ
ンクすることを回避し、プログラムが必要とする外部記
憶装置の容量を減少させることを目的としたものであ
る。
【0004】
【発明が解決しようとする課題】従来のダイナミックリ
ンク機能は、プログラマは、せいぜいダイナミックリン
クすべきライブラリを指定する程度でよく、そのライブ
ラリルーチンがどのようにリンクされるかをなんら意識
する必要がない。
ンク機能は、プログラマは、せいぜいダイナミックリン
クすべきライブラリを指定する程度でよく、そのライブ
ラリルーチンがどのようにリンクされるかをなんら意識
する必要がない。
【0005】これは、これで利点であるが、逆にいう
と、プログラマがダイナミックリンクするライブラリル
ーチンをコントロールすることができないという問題が
ある。
と、プログラマがダイナミックリンクするライブラリル
ーチンをコントロールすることができないという問題が
ある。
【0006】たとえば、ダイナミックリンクされたライ
ブラリルーチンは、実行時に自動的にメモリにロードさ
れ、実行終了までそのまま保持される。
ブラリルーチンは、実行時に自動的にメモリにロードさ
れ、実行終了までそのまま保持される。
【0007】したがって、プログラマは、ライブラリル
ーチンを必要に応じてリンクしたり、切り離したりする
ことができなかった。
ーチンを必要に応じてリンクしたり、切り離したりする
ことができなかった。
【0008】従来では、前記のように実行時に自動的に
メモリにロードされたライブラリルーチンは実行終了ま
でそのまま保持され、メモリ領域が不足したような場合
は、オペレーティングシステムの仮想記憶機構などを利
用して不足のメモリが割り付けられる。
メモリにロードされたライブラリルーチンは実行終了ま
でそのまま保持され、メモリ領域が不足したような場合
は、オペレーティングシステムの仮想記憶機構などを利
用して不足のメモリが割り付けられる。
【0009】ところが、仮想記憶機構を利用する方式で
は、結局、ディスク上の領域が使用されることになる問
題があり、また、仮想記憶機構をもたないオペレーティ
ングシステムでは、メモリ不足によって所期の機能を達
成しえなくなる可能性がある。
は、結局、ディスク上の領域が使用されることになる問
題があり、また、仮想記憶機構をもたないオペレーティ
ングシステムでは、メモリ不足によって所期の機能を達
成しえなくなる可能性がある。
【0010】本発明は、上記問題点を解決し、ライブラ
リルーチンを必要に応じてリンクしたり、切り離したり
することができるダイナミックリンク機構を提供するこ
とにある。
リルーチンを必要に応じてリンクしたり、切り離したり
することができるダイナミックリンク機構を提供するこ
とにある。
【0011】
【課題を解決するための手段】以上の課題を解決するた
めに、本発明においては、外部記憶装置から、RAMの
所定領域にアプリケーションプログラム、およびダイナ
ミックリンクライブラリをロードして実行する情報処理
装置において、アプリケーションプログラムの記述に応
じて前記ダイナミックリンクライブラリの前記RAMへ
のロード、ロードした前記ダイナミックリンクライブラ
リのサブルーチンの実行、および前記ダイナミックリン
クライブラリ領域のメモリ解放を制御する手段を設けた
構成を採用した。
めに、本発明においては、外部記憶装置から、RAMの
所定領域にアプリケーションプログラム、およびダイナ
ミックリンクライブラリをロードして実行する情報処理
装置において、アプリケーションプログラムの記述に応
じて前記ダイナミックリンクライブラリの前記RAMへ
のロード、ロードした前記ダイナミックリンクライブラ
リのサブルーチンの実行、および前記ダイナミックリン
クライブラリ領域のメモリ解放を制御する手段を設けた
構成を採用した。
【0012】
【作用】以上の構成によれば、アプリケーションプログ
ラムの記述に応じてダイナミックリンクライブラリのR
AMへのロード、実行、および切り離しを動的に制御す
ることができる。
ラムの記述に応じてダイナミックリンクライブラリのR
AMへのロード、実行、および切り離しを動的に制御す
ることができる。
【0013】
【実施例】以下、図面に示す実施例に基づき、本発明を
詳細に説明する。ここでは、データエントリ用のコンピ
ュータシステムの構造を示す。なお、ここに示す構造
は、他の情報処理装置、たとえば、パーソナルコンピュ
ータ、ワークステーションなどでも共通するものであ
る。
詳細に説明する。ここでは、データエントリ用のコンピ
ュータシステムの構造を示す。なお、ここに示す構造
は、他の情報処理装置、たとえば、パーソナルコンピュ
ータ、ワークステーションなどでも共通するものであ
る。
【0014】図1に本発明を採用した情報処理装置10
の構造を示す。データエントリシステム10は、マイク
ロプロセッサ13、RAM11、ROM12、などから
なる制御部1、ユーザインターフェース手段としてのC
RTなどからなるディスプレイ4およびキーボード2、
オペレーティングシステムソフトウェア、アプリケーシ
ョンプログラムなどを格納した外部記憶装置3からな
る。
の構造を示す。データエントリシステム10は、マイク
ロプロセッサ13、RAM11、ROM12、などから
なる制御部1、ユーザインターフェース手段としてのC
RTなどからなるディスプレイ4およびキーボード2、
オペレーティングシステムソフトウェア、アプリケーシ
ョンプログラムなどを格納した外部記憶装置3からな
る。
【0015】さらに、データエントリシステム10に
は、所定のインターフェース回路、あるいはシステムバ
スなどを介してプリンタ21、イメージスキャナ22、
フロッピーディスクドライブ23が接続されている。こ
れら、プリンタ21、イメージスキャナ22、フロッピ
ーディスクドライブ23は、公知の構成を有するもので
ある。
は、所定のインターフェース回路、あるいはシステムバ
スなどを介してプリンタ21、イメージスキャナ22、
フロッピーディスクドライブ23が接続されている。こ
れら、プリンタ21、イメージスキャナ22、フロッピ
ーディスクドライブ23は、公知の構成を有するもので
ある。
【0016】制御部1は、データエントリ処理に必要な
種々のアプリケーションプログラムを、オペレーティン
グシステムソフトウェア上で実行する。
種々のアプリケーションプログラムを、オペレーティン
グシステムソフトウェア上で実行する。
【0017】外部記憶装置3には、Cコンパイラ、リン
カ、各種入出力サブルーチンのライブラリが記憶され
る。
カ、各種入出力サブルーチンのライブラリが記憶され
る。
【0018】リンク方式としては、ライブラリルーチン
を実行モジュールにリンクする従来どおりのリンク方式
の他、ダイナミックリンクサービスを設ける。
を実行モジュールにリンクする従来どおりのリンク方式
の他、ダイナミックリンクサービスを設ける。
【0019】本実施例におけるダイナミックリンクサー
ビスは、プログラマがライブラリルーチンを必要に応じ
てリンクしたり、切り離したりすることができるように
する。具体的には、図2のようなプログラム記述を可能
とするものである。
ビスは、プログラマがライブラリルーチンを必要に応じ
てリンクしたり、切り離したりすることができるように
する。具体的には、図2のようなプログラム記述を可能
とするものである。
【0020】図2は、ダイナミックリンクライブラリル
ーチンを実行中のプログラムにリンクし、また、そのル
ーチンを呼び出し、ダイナミックリンクライブラリルー
チンを不要にすることを記述したCプログラムである。
ーチンを実行中のプログラムにリンクし、また、そのル
ーチンを呼び出し、ダイナミックリンクライブラリルー
チンを不要にすることを記述したCプログラムである。
【0021】図2におけるDllOpen 関数は、ダイナミッ
クリンクライブラリルーチンをリンクし、使用可能にす
る設定を行なうもので、この関数は、通常のリンク方式
であらかじめこのプログラムにリンクされている。
クリンクライブラリルーチンをリンクし、使用可能にす
る設定を行なうもので、この関数は、通常のリンク方式
であらかじめこのプログラムにリンクされている。
【0022】"dll_1" は、ダイナミックリンクすべきダ
イナミックリンクライブラリルーチンの名前で、データ
エントリシステムにおけるリフォーマットプログラム作
成、帳票のプリントアウト、その他の業務に必要なサブ
ルーチンを"dll_1", "dll_2"…などの名前で外部記憶装
置3に記憶させておくものとする。外部記憶装置3に用
意されたリンカは、ダイナミックリンクサブルーチン"d
ll_1", "dll_2"は、図示のプログラムのリンク時にはプ
ログラムにはリンクされない。
イナミックリンクライブラリルーチンの名前で、データ
エントリシステムにおけるリフォーマットプログラム作
成、帳票のプリントアウト、その他の業務に必要なサブ
ルーチンを"dll_1", "dll_2"…などの名前で外部記憶装
置3に記憶させておくものとする。外部記憶装置3に用
意されたリンカは、ダイナミックリンクサブルーチン"d
ll_1", "dll_2"は、図示のプログラムのリンク時にはプ
ログラムにはリンクされない。
【0023】3つの関数DllExecute()は、それぞれ、そ
の1番目の引数に示されるように、2番目、3番目の引
数x、yをもって、ダイナミックリンクサブルーチン"d
ll_1"の0番目、1番目、2番目のルーチン(それぞれ
加算、減算乗算を行うものとするが、この内容はどのよ
うなものであってもよい)を呼び出すもので、その結果
は、変数zに格納され、関数printfにより画面に打ち出
される。
の1番目の引数に示されるように、2番目、3番目の引
数x、yをもって、ダイナミックリンクサブルーチン"d
ll_1"の0番目、1番目、2番目のルーチン(それぞれ
加算、減算乗算を行うものとするが、この内容はどのよ
うなものであってもよい)を呼び出すもので、その結果
は、変数zに格納され、関数printfにより画面に打ち出
される。
【0024】処理が終了した場合には、関数DllCloseに
より、ダイナミックリンクサブルーチン"dll_1"をクロ
ーズする。このクローズ処理は、ダイナミックリンクサ
ブルーチン"dll_1"を実際に切り離す処理ではなく、単
にこのルーチンを後述のダイナミックリンクサービスの
テーブルから削除するものである。
より、ダイナミックリンクサブルーチン"dll_1"をクロ
ーズする。このクローズ処理は、ダイナミックリンクサ
ブルーチン"dll_1"を実際に切り離す処理ではなく、単
にこのルーチンを後述のダイナミックリンクサービスの
テーブルから削除するものである。
【0025】最後に、関数DllUnlkを呼び出し、ダイナ
ミックリンクサブルーチン"dll_1"の占めていたメモリ
領域を解放(切り離し)する。ダイナミックリンクサー
ビスは、図3に示すように、関数DllIniz、DllOpen、Dl
lClose、DllExecute、DllUnlk、として、各種サービス
を提供する。これらは通常ライブラリの形でアプリケー
ションプログラムにリンクされる。
ミックリンクサブルーチン"dll_1"の占めていたメモリ
領域を解放(切り離し)する。ダイナミックリンクサー
ビスは、図3に示すように、関数DllIniz、DllOpen、Dl
lClose、DllExecute、DllUnlk、として、各種サービス
を提供する。これらは通常ライブラリの形でアプリケー
ションプログラムにリンクされる。
【0026】このうち、関数DllInizは、ダイナミック
リンクライブラリを利用できるようにサービスのルーチ
ンをダイナミックリンクサービス自身の後述のテーブル
などを初期化するものである。この関数は、プログラマ
が明示的に実行するほか、スタートアップコードなどで
自動的に呼び出してもよい。
リンクライブラリを利用できるようにサービスのルーチ
ンをダイナミックリンクサービス自身の後述のテーブル
などを初期化するものである。この関数は、プログラマ
が明示的に実行するほか、スタートアップコードなどで
自動的に呼び出してもよい。
【0027】関数DllOpenは上述のように、要求された
ダイナミックリンクサブルーチンを外部記憶装置3から
検索し、あらかじめ定められたロード領域(たとえば、
プログラムのグローバル領域の1つ:通常方式でリンク
されたコードとは別のグローバル領域とする。)にロー
ドし、自身の後述のテーブルにこのダイナミックリンク
サブルーチンを登録するものである。
ダイナミックリンクサブルーチンを外部記憶装置3から
検索し、あらかじめ定められたロード領域(たとえば、
プログラムのグローバル領域の1つ:通常方式でリンク
されたコードとは別のグローバル領域とする。)にロー
ドし、自身の後述のテーブルにこのダイナミックリンク
サブルーチンを登録するものである。
【0028】関数DllCloseは、上記のように、ダイナミ
ックリンクサブルーチンの不要宣言で、自身の後述のテ
ーブルから、指定されたダイナミックリンクサブルーチ
ンのエントリをパージ(削除)する。
ックリンクサブルーチンの不要宣言で、自身の後述のテ
ーブルから、指定されたダイナミックリンクサブルーチ
ンのエントリをパージ(削除)する。
【0029】関数DllExecuteは、上記のように、ダイナ
ミックリンクサブルーチンの実行のためのものである。
ミックリンクサブルーチンの実行のためのものである。
【0030】関数DllUnlkは、ダイナミックリンクサブ
ルーチン"dll_1"の占めていたメモリ領域を解放(切り
離し)するものである。
ルーチン"dll_1"の占めていたメモリ領域を解放(切り
離し)するものである。
【0031】図2のように記述されたプログラムはRA
M11上で、図4のようして実行される。
M11上で、図4のようして実行される。
【0032】アプリケーションプログラムがリンクされ
た直後では、アプリケーションプログラム111、およ
びダイナミックリンクサービスライブラリ112のみが
通常方式でリンクされ、外部記憶装置3に記憶される。
そして、ユーザがこのアプリケーションの実行を指示す
ると、アプリケーションプログラム111、およびダイ
ナミックリンクサービスライブラリ112が外部記憶装
置3から読み出され、RAM11上に配置される。
た直後では、アプリケーションプログラム111、およ
びダイナミックリンクサービスライブラリ112のみが
通常方式でリンクされ、外部記憶装置3に記憶される。
そして、ユーザがこのアプリケーションの実行を指示す
ると、アプリケーションプログラム111、およびダイ
ナミックリンクサービスライブラリ112が外部記憶装
置3から読み出され、RAM11上に配置される。
【0033】この段階では、ダイナミックリンクライブ
ラリ113は、RAM11上には配置されていない。
ラリ113は、RAM11上には配置されていない。
【0034】関数DllOpenが呼び出されると、ダイナミ
ックリンクサービスライブラリ112は、ダイナミック
リンクライブラリ113を外部記憶装置3から読み出し
て、RAM11の所定領域に配置するとともに、自身の
テーブル(後述)にこのダイナミックリンクサブルーチ
ンを登録する。
ックリンクサービスライブラリ112は、ダイナミック
リンクライブラリ113を外部記憶装置3から読み出し
て、RAM11の所定領域に配置するとともに、自身の
テーブル(後述)にこのダイナミックリンクサブルーチ
ンを登録する。
【0035】ダイナミックリンクライブラリ113は、
アプリケーションプログラム111およびダイナミック
リンクサービスライブラリ112とは異なるグローバル
領域(通常、マイクロプロセッサ13の所定レジスタな
どによりアドレスされるが、ここでは、マイクロプロセ
ッサ13のA6レジスタ(68x000系のCPUを想定)に
より、アプリケーションプログラム111およびダイナ
ミックリンクサービスライブラリ112と、ダイナミッ
クリンクライブラリ113の領域がアドレスされるもの
とする)に配置される。
アプリケーションプログラム111およびダイナミック
リンクサービスライブラリ112とは異なるグローバル
領域(通常、マイクロプロセッサ13の所定レジスタな
どによりアドレスされるが、ここでは、マイクロプロセ
ッサ13のA6レジスタ(68x000系のCPUを想定)に
より、アプリケーションプログラム111およびダイナ
ミックリンクサービスライブラリ112と、ダイナミッ
クリンクライブラリ113の領域がアドレスされるもの
とする)に配置される。
【0036】関数DllOpenが呼び出された後、符号11
1〜113のモジュールは、RAM11上に配置され、
関数DllExecuteの実行時、図4に示すようにダイナミッ
クリンクライブラリ113のルーチンが実行される。
1〜113のモジュールは、RAM11上に配置され、
関数DllExecuteの実行時、図4に示すようにダイナミッ
クリンクライブラリ113のルーチンが実行される。
【0037】ダイナミックリンクサービスライブラリ1
12は内部にテーブル114を有している。テーブル1
14は、パステーブル115およびロードテーブル11
6からなる。
12は内部にテーブル114を有している。テーブル1
14は、パステーブル115およびロードテーブル11
6からなる。
【0038】このうち、ロードテーブル116は、ダイ
ナミックリンクライブラリ113の名称およびロードア
ドレスを格納したものである。また、パステーブル11
5は、関数DllExecuteの第1引数により指定されたモジ
ュール番号から、ロードされたモジュールの目的のルー
チンをアドレスするためのテーブルである。
ナミックリンクライブラリ113の名称およびロードア
ドレスを格納したものである。また、パステーブル11
5は、関数DllExecuteの第1引数により指定されたモジ
ュール番号から、ロードされたモジュールの目的のルー
チンをアドレスするためのテーブルである。
【0039】このように、パステーブル115およびロ
ードテーブル116を2つ設けておくことにより、ダイ
ナミックリンクライブラリ113をロードテーブル11
6の書き換えのみで、解放を繰り返すことができる。
ードテーブル116を2つ設けておくことにより、ダイ
ナミックリンクライブラリ113をロードテーブル11
6の書き換えのみで、解放を繰り返すことができる。
【0040】アプリケーションプログラム111のコー
ドが、ダイナミックリンクサービスライブラリ112の
関数DllOpenを呼び出すと、この関数は、通常のファイ
ルオープン関数とほぼ同様に作用し、ロードテーブル1
16が作成される。図5に示されるように、ライブラリ
名と、そのロードアドレスがロードテーブル116に格
納される。
ドが、ダイナミックリンクサービスライブラリ112の
関数DllOpenを呼び出すと、この関数は、通常のファイ
ルオープン関数とほぼ同様に作用し、ロードテーブル1
16が作成される。図5に示されるように、ライブラリ
名と、そのロードアドレスがロードテーブル116に格
納される。
【0041】同時に、当該ダイナミックリンクライブラ
リ113の各モジュール(ルーチン)の格納されたグロ
ーバル領域アドレス、ベクタアドレスおよび、ロードテ
ーブル116のエントリアドレスがパステーブル115
に格納される。パステーブルは、該当するダイナミック
ライブラリをオープンしたアプリケーション(同時実行
されるものであってよい)ごとに用意される。
リ113の各モジュール(ルーチン)の格納されたグロ
ーバル領域アドレス、ベクタアドレスおよび、ロードテ
ーブル116のエントリアドレスがパステーブル115
に格納される。パステーブルは、該当するダイナミック
ライブラリをオープンしたアプリケーション(同時実行
されるものであってよい)ごとに用意される。
【0042】アプリケーションプログラム111が、関
数DllExecuteを呼び出すと、ダイナミックリンクサービ
スライブラリ112は、関数DllExecuteの第1引数を用
いて、パステーブル115を参照し、ダイナミックリン
クライブラリ113を呼び出す。返り値は通常のコーリ
ングシーケンス同様に、所定のレジスタ(D0など)を
使用し、ダイナミックリンクサービスライブラリ112
はダイナミックリンクライブラリ113からの返り値を
アプリケーションプログラム111に戻す。
数DllExecuteを呼び出すと、ダイナミックリンクサービ
スライブラリ112は、関数DllExecuteの第1引数を用
いて、パステーブル115を参照し、ダイナミックリン
クライブラリ113を呼び出す。返り値は通常のコーリ
ングシーケンス同様に、所定のレジスタ(D0など)を
使用し、ダイナミックリンクサービスライブラリ112
はダイナミックリンクライブラリ113からの返り値を
アプリケーションプログラム111に戻す。
【0043】ダイナミックリンクサービスライブラリ1
12から、ダイナミックリンクライブラリ113のルー
チンへのコールは、前記のグローバルエリアのポインタ
である、マイクロプロセッサ13のA6レジスタを用い
た相対分岐命令を使用する。ダイナミックリンクサービ
スライブラリ112は、このとき、アプリケーション1
11側のA6レジスタを破壊しないように保管してお
き、アプリケーションプログラム111に戻るときにA
6レジスタの内容を復帰させる。
12から、ダイナミックリンクライブラリ113のルー
チンへのコールは、前記のグローバルエリアのポインタ
である、マイクロプロセッサ13のA6レジスタを用い
た相対分岐命令を使用する。ダイナミックリンクサービ
スライブラリ112は、このとき、アプリケーション1
11側のA6レジスタを破壊しないように保管してお
き、アプリケーションプログラム111に戻るときにA
6レジスタの内容を復帰させる。
【0044】このようにして、本実施例のダイナミック
リンク機構によれば、プログラマがライブラリルーチン
を必要に応じてリンクしたり、切り離したりすることが
できる。アプリケーション起動時には必要最小限のサブ
ルーチンのみがリンクされていればよいので、外部記憶
装置3の必要容量も少なくて済む。
リンク機構によれば、プログラマがライブラリルーチン
を必要に応じてリンクしたり、切り離したりすることが
できる。アプリケーション起動時には必要最小限のサブ
ルーチンのみがリンクされていればよいので、外部記憶
装置3の必要容量も少なくて済む。
【0045】また上記のようなダイナミックリンク機構
は、メモリの容量が限られているデータエントリシステ
ムなどの情報処理装置などにおいて特に有効である。
は、メモリの容量が限られているデータエントリシステ
ムなどの情報処理装置などにおいて特に有効である。
【0046】さらに、データエントリシステムなどにお
いて、リフォーマットプログラムの作成、プリンタへの
出力処理など、異なる多種のライブラリモジュールを必
要とする業務処理を記述する際に有効である。
いて、リフォーマットプログラムの作成、プリンタへの
出力処理など、異なる多種のライブラリモジュールを必
要とする業務処理を記述する際に有効である。
【0047】
【発明の効果】以上から明らかなように、本発明によれ
ば、外部記憶装置から、RAMの所定領域にアプリケー
ションプログラム、およびダイナミックリンクライブラ
リをロードして実行する情報処理装置において、アプリ
ケーションプログラムの記述に応じて前記ダイナミック
リンクライブラリの前記RAMへのロード、ロードした
前記ダイナミックリンクライブラリのサブルーチンの実
行、および前記ダイナミックリンクライブラリ領域のメ
モリ解放を制御する手段を設けた構成を採用しているの
で、アプリケーションプログラムの記述に応じてダイナ
ミックリンクライブラリのRAMへのロード、実行、お
よび切り離しを動的に制御することができ、必要最小限
のサブルーチンのみがリンクされていればよいので、外
部記憶装置の必要容量を減少し、限られているメモリ資
源を有効に利用でき、データエントリシステムなどにお
いて、リフォーマットプログラムの作成、プリンタへの
出力処理など、異なる多種のライブラリモジュールを必
要とする業務処理を効率よく実行できる優れた情報処理
装置を提供することができる。
ば、外部記憶装置から、RAMの所定領域にアプリケー
ションプログラム、およびダイナミックリンクライブラ
リをロードして実行する情報処理装置において、アプリ
ケーションプログラムの記述に応じて前記ダイナミック
リンクライブラリの前記RAMへのロード、ロードした
前記ダイナミックリンクライブラリのサブルーチンの実
行、および前記ダイナミックリンクライブラリ領域のメ
モリ解放を制御する手段を設けた構成を採用しているの
で、アプリケーションプログラムの記述に応じてダイナ
ミックリンクライブラリのRAMへのロード、実行、お
よび切り離しを動的に制御することができ、必要最小限
のサブルーチンのみがリンクされていればよいので、外
部記憶装置の必要容量を減少し、限られているメモリ資
源を有効に利用でき、データエントリシステムなどにお
いて、リフォーマットプログラムの作成、プリンタへの
出力処理など、異なる多種のライブラリモジュールを必
要とする業務処理を効率よく実行できる優れた情報処理
装置を提供することができる。
【図1】本発明を採用した情報処理装置の構成を示した
ブロック図である。
ブロック図である。
【図2】図1の装置におけるプログラム記述を示した説
明図である。
明図である。
【図3】本発明のダイナミックリンクサービスライブラ
リの処理内容を示した説明図である。
リの処理内容を示した説明図である。
【図4】本発明のダイナミックリンクサービスライブラ
リの処理手順を示した説明図である。
リの処理手順を示した説明図である。
【図5】図4のダイナミックリンクサービスライブラリ
のテーブルの構造を示した説明図である。
のテーブルの構造を示した説明図である。
1 制御部 2 キーボード 3 外部記憶装置 4 ディスプレイ 10 データエントリシステム 11 RAM 12 ROM 13 マイクロプロセッサ 21 プリンタ 22 イメージスキャナ 23 フロッピーディスクドライブ 111 アプリケーションプログラム 112 ダイナミックリンクサービスライブラリ 113 ダイナミックリンクライブラリ 114 テーブル 115 パステーブル 116 ロードテーブル
Claims (1)
- 【請求項1】 外部記憶装置から、RAMの所定領域に
アプリケーションプログラム、およびダイナミックリン
クライブラリをロードして実行する情報処理装置におい
て、 アプリケーションプログラムの記述に応じて前記ダイナ
ミックリンクライブラリの前記RAMへのロード、ロー
ドした前記ダイナミックリンクライブラリのサブルーチ
ンの実行、および前記ダイナミックリンクライブラリ領
域のメモリ解放を制御する手段を設けたことを特徴とす
る情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17209692A JPH0619717A (ja) | 1992-06-30 | 1992-06-30 | 情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17209692A JPH0619717A (ja) | 1992-06-30 | 1992-06-30 | 情報処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0619717A true JPH0619717A (ja) | 1994-01-28 |
Family
ID=15935470
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP17209692A Pending JPH0619717A (ja) | 1992-06-30 | 1992-06-30 | 情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0619717A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08179947A (ja) * | 1994-06-30 | 1996-07-12 | Sun Microsyst Inc | バイナリ・アプリケーション・プログラムとディジタル・コンピュータのインタフェースをとるためのアプリケーション・バイナリ・インタフェースおよび方法 |
JPH09511351A (ja) * | 1995-01-28 | 1997-11-11 | フィリップス エレクトロニクス ネムローゼ フェンノートシャップ | 遠隔通信装置内のソフトウェア構成 |
JPH10105403A (ja) * | 1996-10-01 | 1998-04-24 | Tsubasa Syst Kk | コンピュータシステム及びビジュアルプログラミングシステム及びプログラムを記録した媒体 |
JPH10228381A (ja) * | 1997-01-27 | 1998-08-25 | Internatl Business Mach Corp <Ibm> | 組み込みシステムにライブラリをロードする方法及び装置 |
WO2000034866A1 (fr) * | 1998-12-07 | 2000-06-15 | Sony Corporation | Ordinateur, support d'enregistrement stockant un programme de traitement d'exceptions et procede de traitement d'exceptions |
WO2010113380A1 (ja) * | 2009-03-31 | 2010-10-07 | 日本電気株式会社 | 計算機システム |
-
1992
- 1992-06-30 JP JP17209692A patent/JPH0619717A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08179947A (ja) * | 1994-06-30 | 1996-07-12 | Sun Microsyst Inc | バイナリ・アプリケーション・プログラムとディジタル・コンピュータのインタフェースをとるためのアプリケーション・バイナリ・インタフェースおよび方法 |
JPH09511351A (ja) * | 1995-01-28 | 1997-11-11 | フィリップス エレクトロニクス ネムローゼ フェンノートシャップ | 遠隔通信装置内のソフトウェア構成 |
JPH10105403A (ja) * | 1996-10-01 | 1998-04-24 | Tsubasa Syst Kk | コンピュータシステム及びビジュアルプログラミングシステム及びプログラムを記録した媒体 |
JPH10228381A (ja) * | 1997-01-27 | 1998-08-25 | Internatl Business Mach Corp <Ibm> | 組み込みシステムにライブラリをロードする方法及び装置 |
US6363436B1 (en) | 1997-01-27 | 2002-03-26 | International Business Machines Corporation | Method and system for loading libraries into embedded systems |
WO2000034866A1 (fr) * | 1998-12-07 | 2000-06-15 | Sony Corporation | Ordinateur, support d'enregistrement stockant un programme de traitement d'exceptions et procede de traitement d'exceptions |
WO2010113380A1 (ja) * | 2009-03-31 | 2010-10-07 | 日本電気株式会社 | 計算機システム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5121498A (en) | Translator for translating source code for selective unrolling of loops in the source code | |
US5991822A (en) | System for modifying functions of static device driver using a registered driver extension extended dynamically by providing an entry point for the driver extension | |
US5428779A (en) | System and method for supporting context switching within a multiprocessor system having functional blocks that generate state programs with coded register load instructions | |
US5365606A (en) | Virtual software machine running multiple program modules in a single address space of a target computer | |
US6665735B1 (en) | Method of changing a dynamic link library function efficiently and a computer system for executing the same | |
JPH06290084A (ja) | 記号定義を再構成する方法と装置及びそれらに使用するコンピュータシステム | |
KR100288170B1 (ko) | 레지스터 화일군을 공유하는 연산 유닛을 갖춘 데이타 처리기 | |
JPH0619717A (ja) | 情報処理装置 | |
Lycklama et al. | unix Time‐Sharing System: A Minicomputer Satellite Processor System | |
Loehr | Beyond Concurrent Pascal | |
US5689710A (en) | Protected mode C binding for PCMCIA card services interface | |
JPH0554009A (ja) | プログラムロード方式 | |
JPH03208187A (ja) | 拡張グラフィック機能を与える方法 | |
JPH1153249A (ja) | メモリ管理方法 | |
JP2663895B2 (ja) | Cpuシミュレータ | |
JPH1069393A (ja) | 仮想計算機エミュレータ、仮想計算機エミュレート方法 および仮想計算機エミュレートプログラムを記録した記録 媒体 | |
JP2906958B2 (ja) | ユーザプログラムロード方式 | |
JP3270729B2 (ja) | 拡張命令セット・シミュレータ | |
JPS6152747A (ja) | マイクロプロセツサ | |
Ashton et al. | SunOS Minix: a tool for use in Operating System Laboratories | |
JP2897748B2 (ja) | キーボード装置 | |
Machine et al. | Checkpoint & Migration of UNIX Processes in the Condor Distributed Processing System | |
JPH06131212A (ja) | 他のプログラムによるターゲットプログラムの呼び出しに関してターゲットプログラムの実行を追跡するコンピュータ制御方法 | |
JP2001222447A (ja) | 実動作環境下のデバッグ方法及びデバッグ対象装置 | |
KR950010484B1 (ko) | 실시간 운영체계에서 시스템 라이브러리 기능 구현방법 |