JP3314378B2 - 実行可能プログラムに対するメモリ割当を管理するシステムおよび方法 - Google Patents

実行可能プログラムに対するメモリ割当を管理するシステムおよび方法

Info

Publication number
JP3314378B2
JP3314378B2 JP00572894A JP572894A JP3314378B2 JP 3314378 B2 JP3314378 B2 JP 3314378B2 JP 00572894 A JP00572894 A JP 00572894A JP 572894 A JP572894 A JP 572894A JP 3314378 B2 JP3314378 B2 JP 3314378B2
Authority
JP
Japan
Prior art keywords
memory
program
executable program
loading
executable
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 - Fee Related
Application number
JP00572894A
Other languages
English (en)
Other versions
JPH06250924A (ja
Inventor
ジェームス・ウェンデル・アレンド
ポール・プラシド・ジアンガーラ
ラビンドラナス・カシナス・マニクンダラム
ドナルド・ロバート・パジェット
ジェームス・マイケル・ペラン
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH06250924A publication Critical patent/JPH06250924A/ja
Application granted granted Critical
Publication of JP3314378B2 publication Critical patent/JP3314378B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は情報処理システムに関
し、特にオペレーティング・システムに関する。更に詳
しくは、本発明はオペレーティング・システムにより実
行可能タスクのロードを制御するシステムに関する。
【0002】
【従来の技術】コンピュータ・オペレーティング・シス
テムはコンピュータ・システム・コンポーネントの動作
を制御する。オペレーティング・システムの役割の中
に、実行用の他のプログラムのロードがある。他のプロ
グラムは典型的にはアプリケーション・プログラムであ
るが、オペレーティング・システム・コンポーネントも
含まれる。プログラムのロードには、プログラム記憶媒
体上、典型的にはハード・ディスク・ファイル上で要求
プログラムを見い出し、当該プログラムをメモリ内に導
き、それをプロセッサにより実行する用意をすることが
含まれる。
【0003】プログラムはプログラム・ソース・コード
のコンパイルまたはアセンブルによって生成される実行
形式で、プログラム記憶領域に記憶される。実行可能形
式はローダによって認識される指定フォーマットを有
し、実行可能コードを処理するために必要な情報を含
む。ローダが実行する処理ステップの1つはアドレス再
配置である。実行可能ファイル内のアドレスは開始アド
レスに関連して表現される。この開始アドレスまたは開
始オフセットは、プログラムがメモリ内にロードされる
まで決定されない。アドレス再配置は相対アドレスを変
更し、それによりこれらのアドレスはシステム内の実際
のアドレス可能記憶位置をさすようになる。アドレスが
指定されると、プログラムは実行の準備が整う。
【0004】システム・ユーザ要求が拡大し、システム
の能力が増すにつれ、コンピュータ・プログラムは益々
複雑化しつつある。IBM PS/2コンピュータ・システム
(PS/2はIBMの登録商標)などのマイクロコンピュー
タ・システムの向上された能力が1例として挙げられ
る。向上されたプロセッサ能力及び機能は、複雑な文書
処理、スプレッド・シート、データベース、及び他の事
務及び科学アプリケーションの開発を可能としてきた。
しかしながら、複雑なアプリケーションは著しく大きな
実行可能ファイルを生じる。
【0005】大きな実行可能ファイルの生成は、アプリ
ケーションまたはシステムの1部が変更される時、アプ
リケーションまたはシステムを作成または訂正するため
に要求されるコスト及び時間を増加させる。この問題に
対する1つの解答が、アプリケーションまたはシステム
を動的にロード可能なセグメントに分割することであっ
た。これらのセグメントのリンク(アドレス再配置)は
実行時まで延期される。各セグメントはコードの特定の
部分を含むように定義され、好適に定義されたインタフ
ェースに応答するように作成される。特定のセグメント
・オブジェクトをアクセスする他のセグメント内のプロ
グラムは、そのインタフェースが一定な限り、変更また
は再コンパイルされる必要がない。これはオペレーティ
ング・システム及びアプリケーション・プログラムの開
発及び保守において、より高い柔軟性を提供する。
【0006】ダイナミック・リンクの概念はIBM OS/2オ
ペレーティング・システム製品(OS/2はIBMの登録商
標)で実施された。OS/2ダイナミック・リンク・ライブ
ラリ(またはDLL)が、オペレーティング・システム
またはアプリケーション・プログラムに定義された関数
を提供するために、動的にリンクされる。DLLとのイ
ンタフェースは指定されたライブラリ・インタフェース
である。ダイナミック・リンク・ライブラリを使用する
プログラムは、そのプログラムに対するライブラリ・イ
ンタフェース呼出しを含む。コンパイラはこれらの外部
ライブラリ呼出しの各々を追跡し、実行可能ファイルの
セクションにそれらを含む。現行のシステムでは、OS/2
ローダが実行可能プログラム(典型的には .EXE拡張子
を有するファイルとして記憶される)をロードする時、
ローダは全てのダイナミック・リンク・ライブラリ参照
を見い出すためにファイルを走査する。参照される各ラ
イブラリ関数が次に動的にロードされる。ローダはこれ
らのライブラリの各々をチェックし、それらが他のライ
ブラリ関数を呼出すか否かを判断する。このチェック及
びロード処理は、全てのダイナミック・リンク参照が解
析されるまで、再帰的に継続される。
【0007】現行のOS/2オペレーティング・システム
は、タスクによって参照される各ライブラリに、メモリ
・アドレス及びユーザ・メモリ空間を割当てる。共通に
使用されるDLLは頻繁に他のDLLを参照し、これら
は更に他のDLLを参照する。その結果、DLLの長い
連鎖が割当てられ、各タスクにマップされる。これらの
多くのDLLはエラーまたは他の例外状態を扱うために
指定され、稀にしか使用されない。これはロードされた
大きなメモリがほとんどの時間、不要であることを意味
する。大きなメモリ割当てはまたシステムのオーバヘッ
ドを増す。なぜなら、メモリ・マネージャがページング
・システム内に置換する領域を決定する時、この大きな
割当てられたメモリを通じてシフトしなければならない
からである。
【0008】カーネギ・メロン(Carnegie Mellon) 大
学により開発されたMachオペレーティング・システ
ムなどのマイクロカーネル・システムでは、別の問題が
存在する。Machマイクロカーネルはプロセス間通信
にカーネル・ポート識別子を割当てる。Machカーネ
ルはカーネル・ポート識別子を各DLL、またはより効
率的に各DLLオブジェクトに割当てる。未参照のポー
トの割当ては効率的なポート解決を妨げる。
【0009】動的なサブルーチン・ロード技法が以前に
提案されているが、各々は欠点を有した。IBM Technica
l Disclosure Bulletin、pp.5535-5537(1986年5
月発行)には、"Transparent Dynamic Subroutine Load
er" が記載されている。ここで提案される技法は、メイ
ン・ルーチンとリンクされる特殊目的の動的ローダを要
求する。ローダはサブルーチン参照のテーブルを保持
し、サブルーチンが呼ばれるとそれらをロードする。こ
のアプローチはオペレーティング・システムにとって不
可欠ではなく、タスク間の共用をサポートしない。トラ
ッキング及びローディングが特定のタスクにのみ適用さ
れる。動的ローダ・プログラムのメイン・プログラムへ
のリンク要求も透過性を制限する。
【0010】多少異なるアプローチが、IBM Technical
Disclosure Bulletin、pp.3521 (1987年1月発
行)記載の"Execution Time Loading Using Self Modif
yingStubs"に提案されている。このアプローチでは各メ
イン・プログラムにサブルーチン・スタブが追加される
ことを要求する。サブルーチンが最初に参照される時、
ライブラリのコピーがロードされ、ロードされたライブ
ラリのコピーに分岐するためにスタブが変更される。こ
のアプローチは特殊なコーディング技法、及びプログラ
ムのフローに対する実行時間の変更を要求する欠点を有
する。
【0011】最後に、IBM Technical Disclosure Bulle
tin、pp.209-210(1991年11月発行)記載の"Dyn
amic Link Library Mechanism in DOS Environment" で
は、DOS環境においてライブラリ・ルーチンのリスト
を管理する"terminate andstay resident"(TSR)ル
ーチンが提案されている。このルーチンは、メイン・ル
ーチンに挿入される特殊な結合呼出しにより生成され
る"ソフト割込み"に応答する。割込みが受信されると、
TSRルーチンがテーブルをチェックし、関数が以前に
ロードされたか否かを判断し、否定の場合、その関数が
ロードされ、テーブルが更新される。制御は次に当該関
数に移行する。このアプローチは動的ライブラリを管理
するために特殊な割込みルーチンを要求する欠点を有す
る。メイン・プログラム内に特殊な割込み呼出しを挿入
する要求は、また一般のアプリケーションをも制限す
る。
【0012】
【発明が解決しようとする課題】提示された技術的な問
題は、実行可能ライブラリ・オブジェクトが実行要求さ
れる時にだけ、これらのオブジェクトを動的にロードす
る機構を提供することである。この問題の解決は、アプ
リケーション開発者及び実行プログラムにとって透過的
となるべきである。すなわち、ライブラリ関数がメイン
・プログラムにリンクされる場合と差異ないように見え
なければならない。
【0013】
【課題を解決するための手段】本発明はライブラリ・オ
ブジェクトが実行のために要求される時にだけ、それら
を動的にロードするシステムを目的とする。このシステ
ムは未参照のオブジェクトのロードを、参照が行われる
まで遅延させる手段を含む。本発明はこの機能をシステ
ム・ローダ及び実行処理の1部として組込み、メイン実
行可能プログラムの変更は要求しない。
【0014】本発明はメモリの実行可能プログラムへの
割当てを管理するシステムを含み、このシステムは、1
次実行可能プログラムをメモリにロードするための要求
を受信する手段、1次実行可能プログラムにより参照さ
れる2次実行可能プログラムを決定する手段、プログラ
ムをメモリにロードすることなく、メモリ・スロット
(領域)を2次実行可能プログラムに割当てる手段、割
当てられロードされていないあるスロットへの参照を検
出する手段、参照が検出される時の検出信号の生成を検
出する手段、検出信号に応答して、スロットを割当てら
れた実行可能プログラムをメモリにロードする手段を含
む。
【0015】本発明の上述の目的、機能、及び利点が、
添付の図面により表される後述の実施例により明らかに
され、ここで同一参照番号は本発明の同一のパーツを表
す。
【0016】
【実施例】本発明は情報処理システムに関連して使用さ
れる。こうしたシステムの例が図1の100に示され
る。このシステムは処理ユニットまたはCPU102を
有し、これはシステム・バス103により様々なシステ
ム・コンポーネントに相互接続される。これらのコンポ
ーネントにはハード・ディスク記憶装置104、ランダ
ム・アクセス・メモリ(RAM)106、ネットワーク
・インタフェース108、入出力インタフェース110
などが含まれるが、これらに限るものではない。入出力
インタフェースはキーボード114、ポインティング装
置116からの入力を調整し、表示装置112への出力
を制御する。ディスケット・ドライブ、テープ・ドライ
ブまたはCD−ROMドライブなどの永久記憶装置を更
にこうしたシステムに接続することができる。
【0017】現行のシステムが動作する情報処理システ
ムは、好適にはIBM PS/2コンピュータ・システムであ
る。しかしながら、ここで開示されるシステム及び方法
はこうしたシステムに限るものではなく、他のマイクロ
コンピュータ・システム、IBMRISC System/6000ワーク
ステーション(RISC System/6000はIBMの登録商標)
などのワークステーション・システム、またはIBM ES/9
000 コンピュータ・システム(ES/9000はIBMの登録
商標)上においても動作可能である。
【0018】本発明の実施例はダイナミック・リンク・
ライブラリ(DLL)をサポートするシステムにおいて
実施される。これらのライブラリは、ライブラリ内の各
オブジェクトがロード時に再配置可能である、すなわち
各オブジェクトがローダにより任意のアドレスに割当て
られる特性を有する。
【0019】各実行可能モジュールは永久記憶装置(例
えばハード・ディスク上)に、指定されるフォーマット
で記憶される。実施例ではメイン実行可能ファイル及び
全てのダイナミック・リンク・ライブラリが、"LX (Lin
ear Executable Module)" フォーマットに従い記憶され
る。記憶フォーマットは全てのフォーマットがローダに
より認識可能である限り、メイン実行及びダイナミック
・リンク・ライブラリの間で、またはダイナミック・リ
ンク・ライブラリ内においても異なることが可能であ
る。
【0020】実行可能モジュールの例が図2の202に
示される。メイン実行可能モジュールは、関数を実行す
るためにオペレーティング・システムまたは直接ユーザ
により呼出されるプログラムである。ユーザ呼出しの例
は、オペレーティング・システム・コマンド・プロンプ
ト位置における、ユーザによるプログラム名の入力であ
る。例えば、MYPROGMの入力により、MYPROGM.EXEがロ
ードされて実行される。
【0021】実行可能モジュール・ヘッダは、プログラ
ムをロード及び実行するために要求される様々な情報を
含む。これらにはモジュール名、バージョン・レベル、
CPUまたはオペレーティング・システム依存性、モジ
ュールのサイズ、アドレス再配置のために必要なアドレ
ス再配置(fixup )情報、及び実行に際し搬入されるD
LLモジュールに対する搬入モジュール参照が含まれ
る。
【0022】メイン実行可能プログラムはインポート・
モジュール・リストを通じて、ダイナミック・リンク・
ライブラリを参照する。DLL参照はシステム開発者に
より挿入される明示的なプログラム呼出しのために発生
するか、またはコンパイルの間にコンパイラにより挿入
される。図2に示されるように、モジュール202はD
LL204及び206内のオブジェクトに対する参照を
含む。モジュール204はモジュール208、210及
び212に対する参照を含み、モジュール206はモジ
ュール212及び214に対する参照を含む。
【0023】各ダイナミック・リンク・ライブラリ(D
LL)は、テキスト、共用データ、及びインスタンス・
データを含む多数のオブジェクトに分割される。実行可
能オブジェクトは、オブジェクトの生成時に選択される
オプションに依存して、いくつかのまたは単一のルーチ
ンを含む。各オブジェクトはロード時に再配置される。
すなわち、ロード時に任意のアドレスに割当てられる。
各オブジェクトは更に、コンピュータ・システムの仮想
メモリ・マネージャ内で使用されるページのサイズに対
応して、ページに分割される。各ページは関連する "ア
ドレス再配置ストリーム(fixup stream)" を有し、こ
れはモジュールのロード時に変更されなければならない
アドレスを識別し符号化する。これらの変更は局所アド
レス再配置と外部アドレス再配置に分かれ、前者では局
所アドレスがオブジェクトの開始アドレスによりオフセ
ットされ、後者ではアドレスが他のオブジェクトまたは
他のダイナミック・リンク・ライブラリのアドレスにも
とづきオフセットされる。
【0024】本発明の実施例はOS/2オペレーティング・
システムの性質を有するMachマイクロカーネル基本
システムを使用して実施される。このシステムの主な機
能コンポーネントが図3に示される。ユーザ302はユ
ーザ空間で実行されるプログラムである。これはアプリ
ケーションまたはシステム・ユーティリティ・プログラ
ムである。OS/2サーバ304はOS/2のオペレーティング
・システム機構を含み、これはOS/2ユーザ・インタフェ
ースを提供し、マイクロカーネル306に対して必要な
マイクロカーネル・サービス要求を生成する。ファイル
・サーバ308はディスク・ファイルまたは他の記憶媒
体を管理する。
【0025】OS/2サーバ304は本発明に関わる3つの
コンポーネントを含む。タスキング310は要求動作を
実行するための実行タスクを確立する。ローダ312は
ファイル・サーバ308から実行可能モジュールを要求
するための関数を実行し、実行可能モジュールを取り決
め、それらをメモリ内にロードする。メモリ・マネージ
ャ314はマイクロカーネル・メモリ管理機構を使用し
て、メモリ資源を管理する。マイクロカーネルは仮想
(VM)メモリ・システム316を有する。仮想メモリ
・システムはVMページのメモリ・オブジェクトへの割
当てを管理し、メモリ・ページ不在を検出する。ページ
不在はタスクに割当てられているが、現在メモリ内に存
在しないメモリ・ページを要求するタスクにより引起こ
される。不在の扱いとしては、未使用または最近使用さ
れていないページをページ・アウトし、要求ページをペ
ージ・インすることが要求される。
【0026】本発明の動的ローディング処理の動作につ
いて、図3及び図4を参照しながら説明する。処理は実
行可能プログラム初期化のためのユーザ空間要求により
開始される(402)。これはタスキング310に実行
されるタスクを生成させ、そのタスクを仮想メモリ・シ
ステム316に登録させる。タスキングは次にローダ3
12に .EXEファイルのメモリ・ロードを開始させる
(404)。ローダはファイル・サーバ308を通じて
.EXEファイルをアクセスする。
【0027】ローダは初期実行可能コードのロードを開
始する(406)。ローダは .EXEヘッダをフェッチ
し、モジュールに対応するモジュール・テーブル・エン
トリ(MTE)を生成する。モジュール・テーブル・エ
ントリがVM316に登録される。ローダは .EXEファ
イルにより参照されるDLLのリストを作成する。各.
DLL オブジェクトに対し、ローダはMTEがそのDLL
オブジェクトに対応して存在するか否かを判断し、否定
の場合、ファイル・サーバを用いてDLLをアクセス
し、DLLオブジェクトに対応するMTEをロードし生
成する。MTEはVMに登録される。
【0028】タスクの実行が次に開始される(40
8)。ローディング処理は .EXE及び参照される .DLL
に関連するデータの各ページをユーザの仮想メモリ空間
にマップする。しかし、物理ページは参照されるまでロ
ードされない。ロードされない仮想メモリ・ページの参
照はページ不在を引起こす(410)。メモリ・オブジ
ェクト・ページ不在を処理するために外部ページャ(pa
ger) が提供される。このページャはユーザ・メモリに
要求ページをロードする。ページが1度ロードされる
と、デフォルトのマイクロカーネル・ページャが続くロ
ーディングまたはアンローディングを処理する。
【0029】ページ不在の場合(410)、マイクロカ
ーネルVM316はオブジェクト名、ページ、及びMT
Eを決定する。有効ページに対し、外部ページャはロー
ダにページをアドレス再配置させ、ロードするように命
じる(416及び418)。アドレス再配置処理は任意
の別の外部オブジェクトすなわち他のDLLオブジェク
トを検出し、そのオブジェクトがメモリを割当てられて
いるか否かを判断する(420)。否定の場合、適切な
サイズのメモリ・スロットが要求され(422)、ペー
ジがユーザ・アドレス空間にマップされる(424)。
【0030】実施例はタスクが特定のメモリ領域を共用
可能な共用メモリ・システムにおいて実施される。別の
ユーザ・タスクがあるユーザに既に割当てられているペ
ージを参照する時(414)、カーネルはその第2のユ
ーザ・タスクにカーネル・キャッシュからそのページの
コピーを提供し、ローダがページのアドレス再配置を行
う必要性を回避する。この共用は、第2のユーザのため
に再度そのページの読出し及びアドレス再配置を行うオ
ーバヘッドを回避する。第2のユーザが共用ページ上の
オブジェクトを参照する時、メモリ保護不在が発生す
る。アドレス再配置が成されていないために、共用ペー
ジからのオブジェクトはユーザ空間にはロードされず、
固定ページのコピーだけが実行される。サーバはオブジ
ェクトを第2のユーザのアドレス空間にマップすること
により不在を処理し(430)、ユーザ・タスクを再ス
タートする。
【0031】上述の処理はライブラリ・オブジェクト要
求の評価(evaluation)を遅延させるか、レイジ(lazy)
にする。ローダはライブラリ・オブジェクトが使用され
ようとするまで、そのロードを延期する。.EXE ファイ
ル内の全てのDLLオブジェクト参照は初期にロードさ
れる。なぜならば、初期実行がこれらのオブジェクトの
いずれをも含むことができるからである。各DLLオブ
ジェクトが参照される時、そのオブジェクトにより参照
される次のレベルのDLLオブジェクトが処理される。
【0032】以下のように発明を開示する。 (1)実行可能プログラムに対するメモリの割当てを管
理するシステムであって、(i)1次実行可能プログラ
ムをメモリにロードするための要求を受信する手段と、
(ii)上記1次実行可能プログラムにより参照される
2次実行可能プログラムを決定する手段と、(iii)
上記2次実行プログラムをメモリにロードすることな
く、該プログラムにメモリ・スロットを割当てる手段
と、(iv)上記割当てられてロードされてないあるス
ロットに対する参照を検出する手段であって、該参照が
検出される時の検出信号の生成を検出する手段と、
(v)上記検出信号に応答して、上記スロットを割当て
られた実行可能プログラムをメモリにロードする手段
と、を含むシステム。 (2)実行可能プログラムをロードする上記手段が、
(a)上記実行可能プログラムを記憶装置からコピーす
る手段と、(b)上記実行可能プログラム内のアドレス
参照を再配置する手段と、(c)上記実行可能プログラ
ムにより参照される実行可能プログラムを決定する手段
と、(d)上記参照される実行可能プログラムをメモリ
にロードすることなく、該プログラムにメモリ・スロッ
トを割当てる手段と、を含む、(1)記載のシステム。 (3)上記検出手段がページ不在検出システムである、
(2)記載のシステム。 (4)上記ロード手段が外部ページャである、(1)記
載のシステム。 (5)上記ロード手段が外部ページャである、(3)記
載のシステム。
【0033】(6)実行可能ルーチンを動的にロードす
る方法であって、(i)メイン実行可能ルーチンをメモ
リにロードするための要求を受信するステップと、(i
i)上記メイン実行可能ルーチンにより参照される全て
のルーチンのリストを作成するステップと、(iii)
上記ルーチンをロードすることなく、該ルーチンにメモ
リ・ロケーションを割当てるステップと、(iv)ある
上記割当てられたメモリ・ロケーションに対する参照を
検出し、検出信号を生成するステップと、(v)上記検
出信号に応答して、上記ルーチンを上記割当てられたメ
モリ・ロケーションにロードするステップと、を含む方
法。 (7)上記ロード・ステップが、(a)上記ルーチンを
記憶装置からコピーするステップと、(b)上記ルーチ
ン内のアドレス参照を再配置するステップと、(c)上
記ロード・ルーチンにより参照されるルーチンのリスト
を作成するステップと、(d)上記参照されるルーチン
をメモリにロードすることなく、該ルーチンにメモリ・
ロケーションを割当てるステップと、を含む、(6)記
載の方法。 (8)上記検出ステップがメモリ・ページ不在参照を検
出するステップを含む、(6)記載の方法。 (9)上記ロード・ステップが該ロード・ステップを実
行するために、制御を外部ページャに渡すステップを含
む、(6)記載の方法。
【0034】(10)実行可能ルーチンをメモリに動的
にロードするための、コンピュータ・プログラム論理が
記録されるコンピュータ読出し可能媒体を有するコンピ
ュータ・システムであって、(i)1次実行可能ルーチ
ンをメモリにロードするための要求を受信する手段と、
(ii)上記1次実行可能ルーチンにより参照される2
次実行可能ルーチンを決定する手段と、(iii)上記
2次実行ルーチンをメモリにロードすることなく、該ル
ーチンにメモリ・スロットを割当てる手段と、(iv)
上記割当てられてロードされてないあるスロットに対す
る参照を検出する手段であって、該参照が検出される時
の検出信号の生成を検出する手段と、(v)上記検出信
号に応答して、上記スロットを割当てられた上記実行可
能ルーチンをメモリにロードする手段と、を含むコンピ
ュータ・システム。 (11)実行可能ルーチンをロードする上記手段が、
(a)上記実行可能ルーチンを記憶装置からコピーする
手段と、(b)上記実行可能ルーチン内のアドレス参照
を再配置する手段と、(c)上記実行可能ルーチンによ
り参照される実行可能ルーチンを決定する手段と、
(d)上記参照される実行可能ルーチンをメモリにロー
ドすることなく、該ルーチンにメモリ・スロットを割当
てる手段と、を含む、(10)記載のコンピュータ・シ
ステム。 (12)上記検出手段がページ不在検出システムであ
る、(11)記載のコンピュータ・システム。 (13)上記ロード手段が外部ページャである、(1
0)記載のコンピュータ・システム。 (14)上記ロード手段が外部ページャである、(1
2)記載のコンピュータ・システム。
【0035】
【発明の効果】以上説明したように、本発明はメモリ割
当てを制限し、参照オブジェクトにより要求されるメモ
リ割当てにロードする利点を有する。これはまた、割当
てられなければならないMachポート及びメモリ・ペ
ージの数を制限し、それにより全体的なシステムのオー
バヘッドを低減する。
【0036】実施例はMachマイクロカーネルに関連
して示された。しかしながら、当業者には理解されるよ
うに、レイジ・ローディング処理はこのタイプのオペレ
ーティング・システムに限るものではない。ここで述べ
られる処理は他のオペレーティング・システム、特に仮
想メモリ管理をサポートするシステムに適用可能であ
る。
【図面の簡単な説明】
【図1】本発明で使用される情報処理システムを表すブ
ロック図である。
【図2】実行可能オブジェクトの構造及び相関を示す図
である。
【図3】本発明の実施例のコンポーネントを示すブロッ
ク図である。
【図4】本発明の処理ステップを表す流れ図である。
【符号の説明】
102 CPU 104 ハード・ディスク記憶装置 106 ランダム・アクセス・メモリ(RAM) 204、206 DLL 302 ユーザ 304 OS/2サーバ 308 ファイル・サーバ 310 タスキング 312 ローダ 314 メモリ・マネージャ 316 仮想メモリ・システム(VM)
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジェームス・ウェンデル・アレンド アメリカ合衆国78681、テキサス州ラウ ンド・ロック、ブラックジャック・ドラ イブ 1501 (72)発明者 ポール・プラシド・ジアンガーラ アメリカ合衆国33434、フロリダ州ボ カ・ラトン、ノース・ウエスト・フォー ティース・ストリート 2591 (72)発明者 ラビンドラナス・カシナス・マニクンダ ラム アメリカ合衆国78728、テキサス州オー スティン、ウッド・チェイス・トレイル 2406 (72)発明者 ドナルド・ロバート・パジェット アメリカ合衆国78731、テキサス州オー スティン、キャット・クリーク・トレイ ル 6604 (72)発明者 ジェームス・マイケル・ペラン アメリカ合衆国78731、テキサス州オー スティン、ナンバー136、ドライ・クリ ーク・ドライブ 3839 (56)参考文献 特開 昭60−252973(JP,A) 特開 平1−258029(JP,A) 特開 平4−170643(JP,A) 特開 昭64−88742(JP,A) 特開 平1−286024(JP,A) J.I.クランツ,外著「OS/2− 特徴・機能・アプリケーション」1989, 10月 近代科学社発行 P.228〜237 (58)調査した分野(Int.Cl.7,DB名) G06F 12/00

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】実行可能プログラムに対するメモリ割当を
    管理するシステムであって、 前記システムは、 (i)1次実行可能プログラムをメモリにロードするた
    めの要求を受信し、ロードする手段と、 (ii)前記1次実行可能プログラムにより参照される2
    次実行可能プログラムのリストを作成する手段と、 (iii)前記2次実行可能プログラムを参照されるまで
    メモリにロードすることなく、該プログラムにメモリ・
    スロットを割当てる手段と、 (iv)前記2次実行可能プログラムに割当てられたメモ
    リ・スロットに対する参照を検出する手段と、 (v)前記検出に応答して、前記メモリ・スロットを割
    当てられた前記2次実行可能プログラムをメモリにロー
    ドする手段と、 を含み、前記2次 実行可能プログラムをメモリにロードする手段
    は、 (a)前記2次実行可能プログラムを記憶装置からコピ
    ーする手段と、 (b)前記2次実行可能プログラム内のアドレス参照を
    再配置する手段と、 (c)前記2次実行可能プログラムにより参照される実
    行可能プログラムのリストを作成し、決定する手段と、 (d)前記参照される実行可能プログラムを参照される
    までメモリにロードすることなく、該プログラムにメモ
    リ・スロットを割当てる手段と、 を含み、前記参照される実行可能プログラムは、前記2次実行可
    能プログラムをメモリにロードする手段によってロード
    すること、 を特徴とするシステム。
  2. 【請求項2】前記検出する手段がページ不在検出システ
    ムである、請求項1記載のシステム。
  3. 【請求項3】前記2次実行可能プログラムをメモリにロ
    ードする手段が外部ページャである、請求項1記載のシ
    ステム。
  4. 【請求項4】実行可能プログラムに対するメモリ割当を
    管理する方法であって、 前記方法は、 (i)1次実行可能プログラムをメモリにロードするた
    めの要求を受信し、ロードするステップと、 (ii)前記1次実行可能プログラムにより参照される2
    次実行可能プログラムのリストを作成するステップと、 (iii)前記2次実行可能プログラムを参照されるまで
    メモリにロードすることなく、該プログラムにメモリ・
    スロットを割当てるステップと、 (iv)前記2次実行可能プログラムに割当てられたメモ
    リ・スロットに対する参照を検出するステップと、 (v)前記検出に応答して、前記メモリ・スロットを割
    当てられた前記2次実行可能プログラムをメモリにロー
    ドするステップと、 を含み、 前記2次実行可能プログラムをメモリにロードするステ
    ップは、 (a)前記2次実行可能プログラムを記憶装置からコピ
    ーするステップと、 (b)前記2次実行可能プログラム内のアドレス参照を
    再配置するステップと、 (c)前記2次実行可能プログラムにより参照される実
    行可能プログラムのリストを作成し、決定するステップ
    と、 (d)前記参照される実行可能プログラムを参照される
    までメモリにロードすることなく、該プログラムにメモ
    リ・スロットを割当てるステップと、 を含み、 前記参照される実行可能プログラムは、前記2次実行可
    能プログラムをメモリにロードするステップによってロ
    ードすること、 を特徴とする方法。
  5. 【請求項5】前記検出するステップがメモリ・ページ不
    在参照を検出するステップである、請求項4記載の方
    法。
  6. 【請求項6】前記2次実行可能プログラムをメモリにロ
    ードするステップが該ロードを実行するために、制御を
    外部ページャに渡すステップを含む、請求項4記載の方
    法。
JP00572894A 1993-02-26 1994-01-24 実行可能プログラムに対するメモリ割当を管理するシステムおよび方法 Expired - Fee Related JP3314378B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US2364393A 1993-02-26 1993-02-26
US023643 1993-02-26

Publications (2)

Publication Number Publication Date
JPH06250924A JPH06250924A (ja) 1994-09-09
JP3314378B2 true JP3314378B2 (ja) 2002-08-12

Family

ID=21816373

Family Applications (1)

Application Number Title Priority Date Filing Date
JP00572894A Expired - Fee Related JP3314378B2 (ja) 1993-02-26 1994-01-24 実行可能プログラムに対するメモリ割当を管理するシステムおよび方法

Country Status (7)

Country Link
US (1) US5708811A (ja)
EP (1) EP0613084A1 (ja)
JP (1) JP3314378B2 (ja)
KR (1) KR0152461B1 (ja)
CN (1) CN1042862C (ja)
BR (1) BR9400603A (ja)
CA (1) CA2102883A1 (ja)

Families Citing this family (120)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5379432A (en) * 1993-07-19 1995-01-03 Taligent, Inc. Object-oriented interface for a procedural operating system
US7188352B2 (en) * 1995-07-11 2007-03-06 Touchtunes Music Corporation Intelligent digital audiovisual playback system
US8661477B2 (en) * 1994-10-12 2014-02-25 Touchtunes Music Corporation System for distributing and selecting audio and video information and method implemented by said system
US7424731B1 (en) 1994-10-12 2008-09-09 Touchtunes Music Corporation Home digital audiovisual information recording and playback system
WO1996012255A1 (fr) 1994-10-12 1996-04-25 Technical Maintenance Corporation Systeme de reproduction audio-visuelle numerique intelligent
US6466992B2 (en) 1994-12-07 2002-10-15 Next Computer, Inc. Method for providing stand-in objects
FR2753868A1 (fr) * 1996-09-25 1998-03-27 Technical Maintenance Corp Procede de selection d'un enregistrement sur un systeme numerique de reproduction audiovisuel et systeme pour mise en oeuvre du procede
US5960204A (en) * 1996-10-28 1999-09-28 J.D. Edwards World Source Company System and method for installing applications on a computer on an as needed basis
US6363436B1 (en) * 1997-01-27 2002-03-26 International Business Machines Corporation Method and system for loading libraries into embedded systems
US5878263A (en) * 1997-03-05 1999-03-02 International Business Machines Corporation Internal chaining technique for fixup records
US6385567B1 (en) * 1997-07-31 2002-05-07 Microsoft Corporation Program-module substitution in a program loader for multiple-platform emulation
JPH1185526A (ja) * 1997-09-12 1999-03-30 Hitachi Ltd プログラムロード方法
FR2769165B1 (fr) * 1997-09-26 2002-11-29 Technical Maintenance Corp Systeme sans fil a transmission numerique pour haut-parleurs
US6292843B1 (en) * 1998-01-16 2001-09-18 International Business Machines Corporation Quick loading of run time dynamic link library for OS/2
US6185733B1 (en) * 1998-01-20 2001-02-06 International Business Machines Corporation Method and apparatus for remote object code inclusion
US6074432A (en) * 1998-03-19 2000-06-13 Xilinx, Inc. Method for generating a software class compatible with two or more interpreters
US6158047A (en) * 1998-07-08 2000-12-05 Hewlett-Packard Company Client/server system for fast, user transparent and memory efficient computer language translation
FR2781582B1 (fr) * 1998-07-21 2001-01-12 Technical Maintenance Corp Systeme de telechargement d'objets ou de fichiers pour mise a jour de logiciels
FR2781591B1 (fr) 1998-07-22 2000-09-22 Technical Maintenance Corp Systeme de reproduction audiovisuelle
US8028318B2 (en) 1999-07-21 2011-09-27 Touchtunes Music Corporation Remote control unit for activating and deactivating means for payment and for displaying payment status
FR2781580B1 (fr) 1998-07-22 2000-09-22 Technical Maintenance Corp Circuit de commande de son pour systeme de reproduction audiovisuelle numerique intelligent
GB2340266B (en) * 1998-07-31 2003-03-12 Sony Uk Ltd Data processing
US6430569B1 (en) * 1998-08-14 2002-08-06 Sun Microsystems, Inc. Methods and apparatus for type safe, lazy, user-defined class loading
US8434099B2 (en) * 1998-09-09 2013-04-30 Microsoft Corporation Efficient linking and loading for late binding and platform retargeting
US7409694B2 (en) * 1998-09-09 2008-08-05 Microsoft Corporation Highly componentized system architecture with loadable virtual memory manager
US6486897B1 (en) * 1998-09-29 2002-11-26 Apple Computer, Inc. Multi-repository display system using separate presentation, adaptation and access layers
US6314566B1 (en) * 1998-09-29 2001-11-06 Apple Computer, Inc. Method and apparatus for “Just-in-Time” dynamic loading and unloading of computer software libraries
US8726330B2 (en) 1999-02-22 2014-05-13 Touchtunes Music Corporation Intelligent digital audiovisual playback system
US6308184B1 (en) * 1999-04-09 2001-10-23 Hewlett-Packard Company Delayed unloading of a dynamically loadable file
AU2004200283B2 (en) * 1999-05-27 2006-11-02 Sun Microsystems, Inc. Module-by-module verification
US6618769B1 (en) * 1999-05-27 2003-09-09 Sun Microsystems, Inc. Module-by-module verification
US6601114B1 (en) * 1999-05-27 2003-07-29 Sun Microsystems, Inc. Fully lazy linking with module-by-module verification
US6763397B1 (en) 1999-05-27 2004-07-13 Sun Microsystems, Inc. Fully lazy linking
US6766521B1 (en) * 1999-05-27 2004-07-20 Sun Microsystems, Inc. Dataflow algorithm for symbolic computation of lowest upper bound type
US7539973B2 (en) * 1999-06-01 2009-05-26 Bruce Hodge Object type-declaration prefix syntax
US6973560B1 (en) 1999-07-16 2005-12-06 Lamarck, Inc. Fault tolerant and combinatorial software environment system, method and medium
FR2796482B1 (fr) 1999-07-16 2002-09-06 Touchtunes Music Corp Systeme de gestion a distance d'au moins un dispositif de reproduction d'informations audiovisuelles
US6634019B1 (en) 1999-07-16 2003-10-14 Lamarck, Inc. Toggling software characteristics in a fault tolerant and combinatorial software environment system, method and medium
US6609246B1 (en) * 1999-12-07 2003-08-19 Bull Hn Information Systems Inc. Integrated development environment for high speed transaction processing WWW applications on heterogeneous computer systems
FR2805377B1 (fr) 2000-02-23 2003-09-12 Touchtunes Music Corp Procede de commande anticipee d'une selection, systeme numerique et juke-box permettant la mise en oeuvre du procede
FR2805072B1 (fr) 2000-02-16 2002-04-05 Touchtunes Music Corp Procede d'ajustement du volume sonore d'un enregistrement sonore numerique
FR2805060B1 (fr) 2000-02-16 2005-04-08 Touchtunes Music Corp Procede de reception de fichiers lors d'un telechargement
FR2808906B1 (fr) 2000-05-10 2005-02-11 Touchtunes Music Corp Dispositif et procede de gestion a distance d'un reseau de systemes de reproduction d'informations audiovisuelles
FR2811175B1 (fr) 2000-06-29 2002-12-27 Touchtunes Music Corp Procede de distribution d'informations audiovisuelles et systeme de distribution d'informations audiovisuelles
FR2811114B1 (fr) 2000-06-29 2002-12-27 Touchtunes Music Corp Dispositif et procede de communication entre un systeme de reproduction d'informations audiovisuelles et d'une machine electronique de divertissement
US6498937B1 (en) 2000-07-14 2002-12-24 Trw Inc. Asymmetric bandwidth wireless communication techniques
KR100752067B1 (ko) * 2000-07-25 2007-08-28 메크로비젼 코오포레이션 동적으로 연결 가능한 실행 가능 이미지들의 진정성을증명하는 시스템 및 방법
FR2814085B1 (fr) 2000-09-15 2005-02-11 Touchtunes Music Corp Procede de divertissement base sur les jeux concours a choix multiples
FR2820221B1 (fr) * 2001-02-01 2004-08-20 Cimai Technology Procede et systeme pour gerer des executables a bibliotheques partagees
US6960291B2 (en) * 2001-06-19 2005-11-01 Exxonmobil Research And Engineering Company Naphtha desulfurization method
DE10130115A1 (de) * 2001-06-20 2003-01-02 Oliver H Wesling Verfahren zur beschleunigten, gesicherten und bedarfsorientierten Übertragung und Ferninstallation von Daten auf mobilen und stationären Computersystemen zum Zwecke der Datenreduktion und peerorientierten individuellen Beschaffung
DE50104035D1 (de) * 2001-12-10 2004-11-11 Aladdin Knowledge Systems Gmbh Verfahren zum Ausführen eines Programms auf einem Computer
US7533101B2 (en) * 2002-03-04 2009-05-12 Microsoft Corporation Extensible loader
US7346780B2 (en) 2002-04-03 2008-03-18 Microsoft Corporation Integrity ordainment and ascertainment of computer-executable instructions
US7228426B2 (en) * 2002-04-03 2007-06-05 Microsoft Corporation Integrity ordainment and ascertainment of computer-executable instructions with consideration for execution context
US7117507B2 (en) * 2002-06-03 2006-10-03 Sumisho Computer Systems Corporation Software atomization
US20030226929A1 (en) * 2002-06-06 2003-12-11 Robert Knizner Holding device for spare string trimmer line spools with slotted inner cavities
US7281017B2 (en) * 2002-06-21 2007-10-09 Sumisho Computer Systems Corporation Views for software atomization
US7165075B2 (en) * 2002-07-20 2007-01-16 Microsoft Corporation Object graph faulting and trimming in an object-relational database system
US11029823B2 (en) 2002-09-16 2021-06-08 Touchtunes Music Corporation Jukebox with customizable avatar
US8103589B2 (en) 2002-09-16 2012-01-24 Touchtunes Music Corporation Digital downloading jukebox system with central and local music servers
US8151304B2 (en) * 2002-09-16 2012-04-03 Touchtunes Music Corporation Digital downloading jukebox system with user-tailored music management, communications, and other tools
US10373420B2 (en) * 2002-09-16 2019-08-06 Touchtunes Music Corporation Digital downloading jukebox with enhanced communication features
US9646339B2 (en) 2002-09-16 2017-05-09 Touchtunes Music Corporation Digital downloading jukebox system with central and local music servers
US8332895B2 (en) * 2002-09-16 2012-12-11 Touchtunes Music Corporation Digital downloading jukebox system with user-tailored music management, communications, and other tools
US12100258B2 (en) 2002-09-16 2024-09-24 Touchtunes Music Company, Llc Digital downloading jukebox with enhanced communication features
US7822687B2 (en) 2002-09-16 2010-10-26 Francois Brillon Jukebox with customizable avatar
US8584175B2 (en) 2002-09-16 2013-11-12 Touchtunes Music Corporation Digital downloading jukebox system with user-tailored music management, communications, and other tools
US8090943B1 (en) * 2003-04-28 2012-01-03 Teradata Us, Inc. Preventing unauthorized access of routines in a library
KR100617698B1 (ko) * 2004-06-07 2006-08-28 삼성전자주식회사 기능별 데이터 저장을 위한 바이너리 파일 생성 장치 및방법과 그 방법이 저장된 컴퓨터 판독 가능한 저장 매체
US8117607B2 (en) * 2004-08-18 2012-02-14 International Business Machines Corporation Administration of kernel extensions
US8196098B2 (en) * 2006-01-03 2012-06-05 International Business Machines Corporation System and method for executing temporary processing agents
US7971182B1 (en) 2006-05-09 2011-06-28 Vmware, Inc. Application environment specifications for provisioning application specific runtime environments using undefined symbols
KR100790053B1 (ko) * 2006-06-05 2008-01-02 주식회사 대우일렉트로닉스 마스터 장치의 번들 처리 장치 및 방법
CN101187899B (zh) * 2006-11-17 2010-05-12 中兴通讯股份有限公司 嵌入式系统存储空间的优化方法
US20080163185A1 (en) * 2006-12-29 2008-07-03 Rto Software, Inc. Delay-load optimizer
US9330529B2 (en) * 2007-01-17 2016-05-03 Touchtunes Music Corporation Game terminal configured for interaction with jukebox device systems including same, and/or associated methods
US9171419B2 (en) 2007-01-17 2015-10-27 Touchtunes Music Corporation Coin operated entertainment system
KR100866627B1 (ko) * 2007-01-29 2008-11-03 삼성전자주식회사 컨트롤 플로우를 이용한 페이지 프리로드 방법 및 그시스템
US9953481B2 (en) * 2007-03-26 2018-04-24 Touchtunes Music Corporation Jukebox with associated video server
US7900217B2 (en) * 2007-03-29 2011-03-01 Microsoft Corporation Dynamic DLL cycle resolution
US8707283B2 (en) * 2007-03-29 2014-04-22 Microsoft Corporation Parallel DLL tree initialization
US7971047B1 (en) 2007-09-10 2011-06-28 Vmware, Inc. Operating system environment and installation
US8001083B1 (en) 2007-05-09 2011-08-16 Vmware, Inc. Repository including version management
US8577937B1 (en) 2007-05-09 2013-11-05 Vmware, Inc. Repository including exclusion list
US9015180B1 (en) 2007-05-09 2015-04-21 Vmware, Inc. Repository including file identification
US8219987B1 (en) 2007-08-24 2012-07-10 Vmware, Inc. Optimized virtual machine specification for provisioning application specific runtime environment
US8347263B1 (en) 2007-05-09 2013-01-01 Vmware, Inc. Repository including installation metadata for executable applications
US11262996B2 (en) 2007-05-09 2022-03-01 Vmware, Inc. Repository including exclusion list
US10290006B2 (en) * 2008-08-15 2019-05-14 Touchtunes Music Corporation Digital signage and gaming services to comply with federal and state alcohol and beverage laws and regulations
US8332887B2 (en) 2008-01-10 2012-12-11 Touchtunes Music Corporation System and/or methods for distributing advertisements from a central advertisement network to a peripheral device via a local advertisement server
GB2456019A (en) * 2007-12-31 2009-07-01 Symbian Software Ltd Loading dynamic link libraries in response to an event
GB2461499A (en) * 2008-05-30 2010-01-06 Symbian Software Ltd Loading software stored in two areas into RAM, the software in a first area is loaded whole and from a second it is demand paged loaded.
GB2460462A (en) * 2008-05-30 2009-12-02 Symbian Software Ltd Method for loading software components into RAM by modifying the software part to be loaded based on the memory location to be used.
WO2010005569A1 (en) 2008-07-09 2010-01-14 Touchtunes Music Corporation Digital downloading jukebox with revenue-enhancing features
CN101645019A (zh) * 2008-08-04 2010-02-10 优诺威讯国际有限公司 虚拟操作系统创建方法
US8370932B2 (en) * 2008-09-23 2013-02-05 Webroot Inc. Method and apparatus for detecting malware in network traffic
CN101727345B (zh) * 2008-10-29 2013-09-04 国际商业机器公司 控制动态链接库dll加载状态的方法和系统
EP2409273A4 (en) 2009-03-18 2016-05-11 Touchtunes Music Corp ENTERTAINMENT SERVER AND RELATED SOCIAL NETWORK SERVICES
US12112093B2 (en) 2009-03-18 2024-10-08 Touchtunes Music Company, Llc Entertainment server and associated social networking services
US9292166B2 (en) 2009-03-18 2016-03-22 Touchtunes Music Corporation Digital jukebox device with improved karaoke-related user interfaces, and associated methods
US10564804B2 (en) 2009-03-18 2020-02-18 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US10719149B2 (en) 2009-03-18 2020-07-21 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US8171141B1 (en) 2009-04-02 2012-05-01 Vmware, Inc. Provisioning system including stack manager
JP5338452B2 (ja) * 2009-04-24 2013-11-13 日本電気株式会社 メモリ管理システム、メモリ管理方法及びプログラム
CN105336349A (zh) 2010-01-26 2016-02-17 踏途音乐公司 具有改进的用户界面的数字点播设备和相关方法
US8793809B2 (en) 2011-04-25 2014-07-29 Apple Inc. Unified tracking data management
GB2522772B (en) 2011-09-18 2016-01-13 Touchtunes Music Corp Digital jukebox device with karaoke and/or photo booth features, and associated methods
US11151224B2 (en) 2012-01-09 2021-10-19 Touchtunes Music Corporation Systems and/or methods for monitoring audio inputs to jukebox devices
CN103414838B (zh) 2013-06-20 2015-12-23 威海华菱光电股份有限公司 图像扫描装置及其控制方法
WO2015070070A1 (en) 2013-11-07 2015-05-14 Touchtunes Music Corporation Techniques for generating electronic menu graphical user interface layouts for use in connection with electronic devices
TWI722981B (zh) 2014-03-25 2021-04-01 美商觸控調諧音樂公司 具改良使用者介面的數位點唱機裝置及相關聯方法
US9348625B2 (en) 2014-05-23 2016-05-24 Google Inc. Application access to native and bundled libraries
US10528735B2 (en) * 2014-11-17 2020-01-07 Morphisec Information Security 2014 Ltd. Malicious code protection for computer systems based on process modification
US11200070B2 (en) 2018-08-03 2021-12-14 International Business Machines Corporation Dynamic-link library usage based on memory size
US10983926B2 (en) 2018-08-29 2021-04-20 Red Hat, Inc. Efficient userspace driver isolation for virtual machines
US10754796B2 (en) * 2018-08-29 2020-08-25 Red Hat, Inc. Efficient user space driver isolation by CPU page table switching
US11662987B2 (en) * 2021-08-06 2023-05-30 International Business Machines Corporation Logically splitting object code into modules with lazy loading of content
US20230305890A1 (en) * 2022-03-22 2023-09-28 Nvidia Corporation Application programming interface to identify location of program portions
US20230305883A1 (en) * 2022-03-22 2023-09-28 Nvidia Corporation Application programming interface to perform selective loading

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60252973A (ja) * 1984-05-30 1985-12-13 Fujitsu Ltd ダイナミツクロ−デイング制御方式
US5291601A (en) * 1989-06-01 1994-03-01 Hewlett-Packard Company Shared libraries implemented with linking program loader
US5247678A (en) * 1989-10-12 1993-09-21 Texas Instruments Incorporated Load time linker for software used with a multiprocessor system
JPH0418638A (ja) * 1990-05-11 1992-01-22 Fujitsu Ltd 静的メモリ割当て処理方法
US5241623A (en) * 1990-09-27 1993-08-31 General Electric Company Method and system for delineation of structure and linkages between knowledge base modules
US5291593A (en) * 1990-10-24 1994-03-01 International Business Machines Corp. System for persistent and delayed allocation object reference in an object oriented environment
US5247681A (en) * 1990-12-18 1993-09-21 International Business Machines Corporation Dynamic link libraries system and method
IL97894A0 (en) * 1991-04-17 1992-06-21 Ibm Multi-processor computer system
GB2261753B (en) * 1991-11-19 1995-07-12 Intel Corp Multi-mode microprocessor with electrical pin for selective re-initialization of processor state
US5359721A (en) * 1991-12-18 1994-10-25 Sun Microsystems, Inc. Non-supervisor mode cross address space dynamic linking
US5303392A (en) * 1992-02-27 1994-04-12 Sun Microsystems, Inc. Accessing current symbol definitions in a dynamically configurable operating system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
J.I.クランツ,外著「OS/2−特徴・機能・アプリケーション」1989,10月 近代科学社発行 P.228〜237

Also Published As

Publication number Publication date
CN1042862C (zh) 1999-04-07
CN1101142A (zh) 1995-04-05
EP0613084A1 (en) 1994-08-31
KR0152461B1 (ko) 1998-10-15
BR9400603A (pt) 1994-09-27
CA2102883A1 (en) 1994-08-27
KR940020238A (ko) 1994-09-15
JPH06250924A (ja) 1994-09-09
US5708811A (en) 1998-01-13

Similar Documents

Publication Publication Date Title
JP3314378B2 (ja) 実行可能プログラムに対するメモリ割当を管理するシステムおよび方法
US7380276B2 (en) Processor extensions and software verification to support type-safe language environments running with untrusted code
US5761680A (en) Coherent film system access during defragmentation operations on a storage medium
US5375241A (en) Method and system for dynamic-link library
US7409694B2 (en) Highly componentized system architecture with loadable virtual memory manager
US7143421B2 (en) Highly componentized system architecture with a demand-loading namespace and programming model
US5634058A (en) Dynamically configurable kernel
Yokote et al. A Reflective Architecture for an Object-Oriented Distributed Operating System.
US8434099B2 (en) Efficient linking and loading for late binding and platform retargeting
US5774722A (en) Method for efficient external reference resolution in dynamically linked shared code libraries in single address space operating systems
US7260815B1 (en) Method and apparatus for managing registers in a binary translator
US7565665B2 (en) Efficient linking and loading for late binding and platform retargeting
JP4608580B2 (ja) ソフトウェア・モジュールを実行する方法及び計算システム
US6728963B1 (en) Highly componentized system architecture with a loadable interprocess communication manager
US5539899A (en) System and method for handling a segmented program in a memory for a multitasking data processing system utilizing paged virtual storage
US4970639A (en) Virtual machine architecture independent program loader
US7162626B2 (en) Use of common language infrastructure for sharing drivers and executable content across execution environments
US7558724B2 (en) Operation region describing a virtual device
KR20000057010A (ko) 바이트코드 실행 프로세스, 방법 및 데이터 처리 시스템과그를 구현한 컴퓨터 프로그램 제품
JP2004070944A (ja) アプリケーション向けにオペレーティングシステム機能を拡張するシステムおよび方法
US20030018909A1 (en) Method and apparatus for enforcing security policies in Java applications
US20090133042A1 (en) Efficient linking and loading for late binding and platform retargeting
US8200938B2 (en) Computer system and method providing a memory buffer for use with native and platform-independent software code
US6324688B1 (en) Method and apparatus for optimizing execution of Java programs
US7426720B1 (en) System and method for dynamic preloading of classes through memory space cloning of a master runtime system process

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees