JPH1185526A - プログラムロード方法 - Google Patents

プログラムロード方法

Info

Publication number
JPH1185526A
JPH1185526A JP9248745A JP24874597A JPH1185526A JP H1185526 A JPH1185526 A JP H1185526A JP 9248745 A JP9248745 A JP 9248745A JP 24874597 A JP24874597 A JP 24874597A JP H1185526 A JPH1185526 A JP H1185526A
Authority
JP
Japan
Prior art keywords
program
instruction
address format
instructions
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP9248745A
Other languages
English (en)
Inventor
Takahiro Hirose
隆裕 廣瀬
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP9248745A priority Critical patent/JPH1185526A/ja
Priority to EP98116802A priority patent/EP0902364A1/en
Priority to US09/149,453 priority patent/US6205580B1/en
Publication of JPH1185526A publication Critical patent/JPH1185526A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】プログラム本体の数倍のロード作業メモリを確
保しないきなければ、プログラムをロードすることがで
きない。 【解決手段】従来の相対アドレス形式ファイルを、命令
本体と命令再配置情報を要素として含むレコードの集合
からなるプログラム形式に変換する。ローダーは、前記
のプログラム形式のファイルから1レコードずつ取り出
し、絶対アドレス形式に変換して、メモリ上に配置す
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】計算機の利用において、プロ
グラムをロードする方法に関する。
【0002】
【従来の技術】プログラムのオブジェクトコード形式に
は絶対アドレス形式と相対アドレス形式がある。絶対ア
ドレス形式とは、メモリ参照や分岐先が絶対アドレスで
指定されている形式である。CPUで直接実行できるの
は絶対アドレス形式のプログラムのみである。
【0003】相対アドレス形式とは、メモリ参照や分岐
先がシンボル等の相対的な方式で指定されている形式で
ある。相対アドレス形式のプログラムは、CPUで直接
実行することができない。ローダーを通して、絶対アド
レス形式に変換してから実行する。相対アドレス形式の
プログラムは、絶対アドレス形式と異なり、ロードする
ときに配置アドレスを指定することができる。そのた
め、メモリ上の配置を自由に選べるという利点があり、
現在、の多くの計算機システムで採用されている。
【0004】相対アドレス形式のプログラムファイル
は、プログラム本体と再配置情報からなる。再配置情報
は、プログラム本体を絶対アドレス形式に変換するとき
にローダーが参照する情報である。その概要は「日本コ
ンピュータ協会発行 John J.Donovan著 システム・プ
ログラム I 第5章ローダー」にある。プログラムファ
イルの形式のうちでもっとも広く使われているのはCOFF
(Common Object File Format)と呼ばれるファイル形
式である。詳細は「AT&T UNIX SYSTEM V Programmers R
eference Manual Chapter 4(File Formats)」に記述さ
れている。
【0005】
【発明が解決しようとする課題】相対アドレス形式ファ
イルを配置するローダーは、ファイルをすべて読み込ん
で、メモリ上に展開してから、絶対アドレス形式ファイ
ルへ変換する。相対アドレス形式ファイルは再配置情報
を持っているので、絶対アドレス形式ファイルの数倍の
サイズになることが多い。そのため、ローダーが動作す
るには、プログラム本体の数倍の作業メモリを確保しな
くてはならない。作業メモリが確保できなければ、プロ
グラムファイルをロードすることができず、プログラム
を実行することもできない。
【0006】本発明の目的は、相対アドレス形式のファ
イルをメモリ上に展開できるだけのメモリ資源を持たな
いシステムであっても、プログラムをロード及び実行で
きるようにする事である。
【0007】
【課題を解決するための手段】
(1)従来の相対アドレス形式ファイルを、命令本体と
命令再配置情報を要素として含むレコードの集合からな
るプログラム形式に変換する。
【0008】(2)ローダーは、上記(1)のプログラ
ム形式のファイルから1レコードずつ取り出し、絶対ア
ドレス形式に変換して、メモリ上に配置する。
【0009】(3)上記(1)のプログラム形式のファ
イルが単一の媒体に収まらない場合は、ファイルを分割
し、複数の媒体に分けて格納する。
【0010】(4)ローダーは、上記(3)のように分
割されたファイルを順次ロードし、単一のプログラムに
再構成してメモリ上に配置する。
【0011】
【発明の実施の形態】図1に本発明のプログラムロード
方法の処理概要を示す。本発明のプログラムロード方法
は、外部記憶装置を有する計算機によって実施される。
ファイル変換処理101は、相対アドレス形式のファイ
ル100を入力として受け取り、逐次変換可能相対アド
レス形式ファイル104を出力する。逐次変換可能相対
アドレス形式ファイル104は、ディスク装置に格納す
ることもできるし、ICカードに格納することもでき
る。単一の媒体に収まらない場合は、複数の媒体に分割
して格納することもできる。
【0012】相対アドレス形式ファイル100のうち最
も一般的なフォーマットはCOFF(Common Object File Fo
rmat)形式である。逐次変換可能相対アドレス形式ファ
イル104は、命令本体と命令再配置情報を要素として
含むレコードの集合からなる形式のファイルである。フ
ァイル変換処理101は、レコード作成処理102でま
ずレコードを作成する。レコードの作成方法には、再配
置情報を単位とする方法と、命令を単位とする方法があ
る。次に作成したレコードをまとめてファイルに出力す
る。ファイルが単一の媒体に収まらない場合は、ファイ
ル分割処理103で複数のファイルに分割する。ファイ
ルを格納する媒体にICカードを使う場合は、記憶容量の
制限が厳しいため、ファイルの分割が必要になることが
多い。
【0013】逐次配置ローダー105は、逐次変換可能
相対アドレス形式ファイル104を読み取り、絶対アド
レス形式のプログラムを出力する。絶対アドレス形式の
プログラムはメモリ上に直接配置して実行することがで
きる。メモリに直接書き込んでも良いし、ファイルに格
納することもできる。入力ファイルが複数ある場合は、
順次ロード処理を行って、単一の絶対アドレス形式プロ
グラムにして出力する。逐次配置ローダー105は、ま
ずファイルヘッダを読み取り、命令配置アドレス決定1
06を行う。このアドレスに基づいて、レコード配置処
理107を行い、絶対アドレス形式プログラム108を生
成する。
【0014】図2は、相対アドレス形式のオブジェクト
ファイルの一例を示している。この例は説明のために一
般的なCOFF形式のファイルに比べて簡略化されてい
る。相対アドレス形式のファイル200は大きく分け
て、ファイルヘッダー201、コード領域202、及び
再配置情報領域207、という3つの部分からなる。フ
ァイルヘッダ201には、ファイルの属性や領域の配置
等の情報が書かれている。コード領域202には、命令
列203,204,205,206が書かれている。命
令の中には、再配置処理の対象になるものとならないも
のがある。命令204,205は再配置対象外命令であ
る。コード領域に書かれている命令がそのまま絶対アド
レス命令になる。命令203,206は再配置対象命令
である。これらは、再配置情報208,209を元に、
ロード時に絶対アドレス命令に変換される。
【0015】逐次変換可能相対形式のファイルフォーマ
ットは2種類考えられる。命令単位でレコードを作成す
る方法と、再配置情報単位でレコードを作成する方法で
ある。再配置情報単位でレコードを作成する方法から説
明する。
【0016】図3のファイル300は、再配置情報単位
でレコードを作成する逐次変換可能相対形式ファイルの
一例を示している。ファイル300は、ファイルヘッダ
ー301とレコードリスト302からなる。ファイルヘッ
ダー301には、ファイル識別情報とレコードを配置す
るオフセットが記述されている。レコードリスト302
は、複数のレコード303,304を順に多数並べたリ
ストである。
【0017】レコード303,304は、再配置情報と
対応する再配置対象命令と再配置対象外命令からなる。
再配置情報と再配置対象命令はそれぞれ常に1つある
が、再配置対象外命令は無い場合もあるし、複数ある場
合もある。レコード303の場合、再配置情報208と
再配置対象命令203があり、2つの再配置対象外命令
204,205がある。レコード304は、再配置情報
209と再配置対象命令206を持っているが、再配置
対象外命令を持っていない。
【0018】各レコードは、再配置情報と再配置対象命
令をレコード内に保持しているので、ローダーは1つの
レコードを読み込むと直ちに命令を配置することができ
る。
【0019】図4のファイル400,403は、再配置
情報単位でレコードを作成する逐次変換可能相対形式フ
ァイルの分割の例を示している。逐次変換可能相対形式
のファイルはレコードを単位として、任意の個数のファ
イルに分割することができる。図3のレコードリスト3
02は、レコードリスト402とレコードリスト405
に分割され、それぞれファイル400とファイル403
の要素になっている。
【0020】ファイルヘッダーには、ファイル識別情報
とコード領域のオフセットが格納されるが、ファイルヘ
ッダー401には、ファイル識別情報のみが記述されて
いる。ファイル400は先頭ファイルなので、コード領
域の先頭から命令を配置すれば良い。ファイルヘッダー
404には、ファイル識別情報とコードのオフセットが
記述されている。ファイル403は2番目のファイルな
ので、先頭ファイルの命令が入るスペースを空けて配置
しなくてはならない。ヘッダー404から、コード領域
先頭から16バイトの地点から命令を配置すれば良いこ
とが判る。
【0021】図5は、再配置情報単位でレコードを作成
する逐次変換可能相対形式ファイルを生成するファイル
変換101の処理手順を示している。ステップ500か
ら504が、図1のレコード作成処理102に対応し、
ステップ505から508が、図1のファイル分割処理
103に対応する。まず、ステップ500で相対アドレ
ス形式のファイルを読み込み、メモリ上に展開する。次
に、ステップ501で再配置情報領域を調べ、登録され
ている再配置情報のエントリ数を調べる。そのエントリ
の数だけ逐次変換可能相対形式のレコードを作成する。
ステップ502で再配置情報領域のエントリを走査し、
再配置情報を逐次変換可能相対形式のレコードに書き込
む。
【0022】次にコード領域の命令をレコードに書き込
む。このとき、再配置対象命令と再配置対象外の命令と
では扱いが異なる。再配置対象命令は、ステップ503
で各レコードに1命令ずつ書き込まれる。再配置対象外
命令は、ステップ504で直前の再配置対象命令と同じ
レコードに組み込まれる。従って、再配置対象外命令が
複数書かれることもあれば、全く書かれないこともあ
る。最終的に全ての命令がレコードに書き込まれる。
【0023】ステップ505で、逐次変換可能相対形式
ファイルの大きさを見積もる。ヘッダーの大きさは固定
なので、レコードの占めるメモリの記憶サイズでファイ
ル全体の大きさを見積もることができる。ファイルの大
きさが書き込む媒体の記憶サイズ以内であれば、そのま
ま単一ファイルとして扱う。媒体に収まりきらない場合
は、ステップ506でレコードリストを適当なところで
分けて、複数ファイルに分割する。ステップ507で各
ファイルの命令オフセット値を計算して、ヘッダーを作
成する。最後にステップ508でレコードをファイルに
書き込む。
【0024】機密性のあるプログラムの場合は、ステッ
プ507でヘッダーに許可条件を記述しておく。さらに
ステップ508でレコードを暗号化してからファイルに
書き込む。レコード単位で暗号化しても良いし、レコー
ドリスト全体で暗号化しても良い。
【0025】図6は、再配置情報単位でレコードを作成
する逐次変換可能相対形式ファイルを配置する逐次配置
ローダー105の処理手順を示している。ステップ60
0、601は図1の命令配置アドレス決定106に対応
し、ステップ602から608は図1のレコード配置処
理107に対応する。ステップ600で逐次配置可能相
対形式のファイルヘッダーを読む。ステップ601でそ
の中のファイル属性を参照する。ヘッダーに許可情報が
付いている場合は、その許可条件を調べ、条件に合致し
たら処理を続ける。次にファイルが分割されているかど
うか調べる。単一ファイルであればそのまま処理を続け
る。複数ファイルに分割されている場合は、命令オフセ
ットを調べる。以後の処理107では、コード領域中の
オフセット分だけずらした位置から命令を配置してい
く。
【0026】ステップ602でレコードを順番に走査し
ていく。レコードが暗号化されている場合はここで復号
化する。全てのレコードを走査したら完了である。まず
ステップ603でレコードの再配置情報を取り出す。次
に、ステップ604で再配置対象命令を取り出し、先に
読んだ再配置情報と合わせて、絶対アドレス命令を生成
する。ステップ605で生成した命令はメモリのコード
領域に配置する。次にステップ606で再配置対象外命
令を調べる。再配置対象外命令がなければ、次のレコー
ドに処理を移す。再配置対象外命令があれば、ステップ
607,608でそのままメモリのコード領域に配置す
る。命令をメモリに書いたら次のレコードに処理を移
す。
【0027】処理が終わったら、メモリのコード領域の
配置情報を調べる。単一ファイルの場合は全てのコード
領域が配置済みになっているはずである。プログラムが
実行可能になったことをシステムに通知する。複数ファ
イルに分割されている場合は、全てのコード領域が配置
済みになっているとは限らない。全ての命令が配置され
たことが確認できたら、プログラムが実行可能になった
ことをシステムに通知する。
【0028】図7のファイル700は、命令単位でレコ
ードを作成する逐次変換可能相対形式ファイルの一例を
示している。ファイル700は、ファイルヘッダー70
1とレコードリスト702からなる。ファイルヘッダー
701には、ファイル識別情報とレコードを配置するオ
フセットが記述されている。レコードリスト702は、
複数のレコード703、704、705、706を順に
多数並べたリストである。
【0029】レコードは、再配置情報と命令からなる。
命令が再配置対象命令の場合は、レコードは再配置情報
と命令を持つが、命令が再配置対象外命令の場合は再配
置情報が空になる。レコード703,706の場合は、
命令203,206が再配置対象命令なので、それぞれ
再配置情報208,209を持っている。レコード70
4,705は、命令204,205が再配置対象外命令
なので、再配置情報は空である。
【0030】各レコードは、配置に必要な情報をレコー
ド内に保持しているので、ローダーは1レコードを読み
込むと直ちに命令を配置することができる。
【0031】図8のファイル800,803は、図7に
示した、命令単位でレコードを作成する逐次変換可能相
対形式ファイルを分割した例を示している。逐次変換可
能相対形式のファイルはレコードを単位として、任意の
個数のファイルに分割することができる。図7のレコー
ドリスト702は、レコードリスト802とレコードリ
スト805に分割され、それぞれファイル801とファ
イル803の要素になっている。
【0032】ファイルヘッダーには、ファイル識別情報
とコード領域のオフセットが格納されるが、ファイルヘ
ッダー801には、ファイル識別情報のみが記述されて
いる。ファイル800は先頭ファイルなので、コード領
域の先頭から命令を配置すれば良い。ファイルヘッダー
804には、ファイル識別情報とコードのオフセットが
記述されている。ファイル803は2番目のファイルな
ので、先頭ファイルの命令入るスペースを空けて配置し
なくてはならない。ヘッダー804から、コード領域先
頭から16バイトの地点から命令を配置すれば良いこと
が判る。
【0033】図9は、命令単位でレコードを作成する逐
次変換可能相対形式ファイルを生成するファイル変換1
01の処理手順を示している。ステップ900から90
4は図1のレコード作成処理102に対応し、ステップ
905から908は図1のファイル分割処理103に対
応する。まず、ステップ900で相対アドレス形式のフ
ァイルを読み込み、メモリ上に展開する。次に、ステッ
プ901でコード領域を調べ、登録されている命令数を
調べ、そのエントリの数だけレコードを作成する。ステ
ップ902で生成したレコードに命令を登録する。ステ
ップ903で再配置情報領域のエントリを走査し、命令
に対応した再配置情報があるかどうか調べる。情報がな
ければ、その命令は再配置対象外命令である。再配置情
報の欄は空のままにしておく。情報があれば、再配置対
象命令である。ステップ904でレコードに再配置情報
を登録する。
【0034】最終的に全ての命令がレコードに書き込ま
れたら、ステップ905で逐次変換可能相対形式ファイ
ルの大きさを見積もる。ヘッダーの大きさは固定なの
で、レコードの占めるメモリの記憶サイズでファイル全
体の大きさを見積もることができる。ファイルの大きさ
が書き込む媒体の記憶サイズ以内であれば、そのまま単
一ファイルとして扱う。媒体に収まりきらない場合は、
ステップ906でレコードリストを適当なところで分け
て、複数ファイルに分割する。ステップ907で各ファ
イルの命令オフセット値を計算して、ヘッダーを作成す
る。最後にステップ908でレコードをファイルに書き
込む。
【0035】機密性のあるプログラムの場合は、ステッ
プ907でヘッダーに許可条件を記述しておく。さらに
ステップ908でレコードを暗号化してからファイルに
書き込む。レコード単位で暗号化しても良いし、レコー
ドリスト全体で暗号化しても良い。
【0036】図10は、命令単位でレコードを作成する
逐次変換可能相対形式ファイルを配置する逐次配置ロー
ダー105の処理手順を示している。ステップ100
0、1001は図1の命令配置アドレス決定106に対
応し、ステップ1002から1007は図1のレコード
配置処理107に対応する。ステップ1000でファイ
ルヘッダーを読む。ステップ1001でファイル属性を参照
を参照する。ヘッダーに許可情報が付いている場合は、
許可条件を調べ、条件に合致したら処理を続ける。次に
ファイルが分割されているかどうか調べる。単一ファイ
ルであればそのまま処理を続ける。複数ファイルに分割
されている場合は、命令オフセットを調べる。以後の処
理107では、コード領域中のオフセット分だけずらし
た位置から命令を配置していく。
【0037】次にステップ1002でレコードを順番に
走査していく。レコードが暗号化されている場合はここ
で復号化する。全てのレコードを走査したら完了であ
る。まずステップ1003でレコードの再配置情報を見
て、情報が書かれているかどうか調べる。情報が空なら
ば、ステップ1004で命令をそのままメモリのコード
領域に書き込む。再配置情報があったら、ステップ10
05で再配置情報を読み、ステップ1006で再配置対
象命令を読む。再配置情報と命令を合わせて、絶対アド
レス命令を生成する。生成した命令はステップ1007
でメモリのコード領域に書き込む。
【0038】全てのレコードの処理が終わったら、メモ
リ中のコード領域の配置情報を調べる。単一ファイルの
場合は全てのコード領域が配置済みになっているはずで
ある。プログラムが実行可能になったことをシステムに
通知する。複数ファイルに分割されている場合は、全て
のコード領域が配置済みになっているとは限らない。全
てのファイルをロードして、全ての命令が配置されたこ
とが確認できたら、プログラムが実行可能になったこと
をシステムに通知する。
【0039】図11は、再配置情報付き実行メモリイメ
ージを示している。プログラムはすべて実行可能な絶対
アドレス形式に変換されてメモリ上に配置される。一
度、絶対アドレス形式に変換されてしまうと、再配置情
報が失われてしまうので、もはや再配置を行うことはで
きない。絶対アドレス形式のコードを再配置するには、
再配置情報を別に格納しておかなくてはならない。
【0040】領域1101はシステム上のメモリイメージを
表している。領域1103は、実行可能なアプリケーシ
ョンのコード領域である。領域1104,1105,1
106,1107はコード領域中の命令である。いずれ
の命令も配置済みの実行可能な命令である。領域110
9は命令の再配置情報を格納しているメモリ領域であ
る。命令208と209は再配置情報である。領域11
10は、再配置情報以外の付加的な情報を格納しておく
領域である。1109と1110はプログラムの実行に
は必要ない。コード領域1103中のプログラムを再配
置して、別のシステムにロードするときに使用する。
【0041】領域1102はシステム領域、領域111
1は別のアプリケーションの領域である。
【0042】図12は、図11に示した再配置情報付き
実行メモリイメージから別の端末にプログラムをロード
するときの手順を示している。ステップ1201で、元
の端末のメモリのコード領域を調べる。命令がなければ
終了である。ステップ1202でコード領域1103か
ら命令を取り出し、ステップ1203で対応する再配置
情報があるかどうか調べる。再配置情報がなければ、ス
テップ1205でロード先の端末に命令を転送する。再
配置情報があれば、ステップ1204で命令の再配置を
実行し、処理が終わったら命令をロード先の端末に転送
する。
【0043】命令の処理が終わったらステップ1207
に移る。新しい端末にロードしたプログラムを再び別の
端末にロードするかどうかを指示する。別の端末にロー
ドする指示がないなら、このまま処理を終了する。ロー
ドする場合には、再配置情報を付けておかないと別の端
末にロードすることが出来ない。ステップ10071007
で、再配置情報をロード先の端末に転送する。
【0044】
【発明の効果】本発明によれば、相対アドレス形式のフ
ァイルをメモリ上に展開できるだけのメモリ資源を持た
ないシステムであっても、プログラムをロード及び実行
することができる。
【図面の簡単な説明】
【図1】プログラムロード方法の処理概要。
【図2】相対アドレス形式ファイルの例。
【図3】再配置情報単位でレコードを作成した逐次変換
可能相対形式ファイルの例。
【図4】再配置情報単位でレコードを作成した逐次変換
可能相対形式ファイルの分割の例。
【図5】再配置情報単位でレコードを作成する逐次変換
可能相対形式ファイルを生成するファイル変換の処理手
順。
【図6】再配置情報単位でレコードを作成する逐次変換
可能相対形式ファイルを配置するローダーの処理手順。
【図7】命令単位でレコードを作成する逐次変換可能相
対形式ファイルの例。
【図8】命令単位でレコードを作成する逐次変換可能相
対形式ファイルの分割の例。
【図9】命令単位でレコードを作成する逐次変換可能相
対形式ファイルを生成するファイル変換の処理手順。
【図10】命令単位でレコードを作成する逐次変換可能
相対形式ファイルを配置するローダーの処理手順。
【図11】システム上の再配置情報付き実行メモリイメ
ージを表した図。
【図12】再配置情報付き実行メモリイメージから別の
システムにプログラムをロードする処理手順。
【符号の説明】
100:相対アドレス形式ファイル、101:ファイル
変換処理、102:レコード作成処理、103:ファイ
ル分割処理、104:逐次配置可能相対アドレス形式フ
ァイル、105:逐次配置ローダー、106:命令配置
アドレス決定、107:レコード配置処理、108:絶
対アドレス形式プログラム

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】命令と前記命令に対応した命令再配置情報
    からなるレコードの集合を含む相対アドレス形式のプロ
    グラムを入力し、前記レコードを1つずつ読み取りなが
    ら逐次的に命令の再配置を行うことにより、絶対アドレ
    ス形式のプログラムを生成することを特徴とするプログ
    ラムロード方法。
  2. 【請求項2】命令と前記命令に対応した命令再配置情報
    からなるレコードの集合を含む相対アドレス形式のプロ
    グラムを入力し、前記レコードを1つずつ読み取りなが
    ら逐次的に命令の再配置を行いながら、絶対アドレス形
    式のプログラムをメモリ上に展開することを特徴とする
    プログラムロード方法。
  3. 【請求項3】命令列と再配置情報とからなる第1の相対
    アドレス形式のプログラムを、命令と前記命令に対応し
    た命令再配置情報からなるレコードの集合を含む第2の
    相対アドレス形式のプログラムに変換し、前記レコード
    を1つずつ読み取りながら逐次的に命令の再配置を行う
    ことにより、絶対アドレス形式のプログラムを生成する
    ことを特徴とするプログラムロード方法。
  4. 【請求項4】命令列と再配置情報とからなる第1の相対
    アドレス形式のプログラムを、命令と前記命令に対応し
    た命令再配置情報からなるレコードの集合を含む第2の
    相対アドレス形式のプログラムに変換し、前記第2の相
    対アドレス形式のプログラムを複数の記憶単位に分割
    し、前記記憶単位毎に、前記レコードを1つずつ読み取
    りながら逐次的に命令の再配置を行いながら、絶対アド
    レス形式のプログラムをメモリ上に展開することを特徴
    とするプログラムロード方法。
  5. 【請求項5】命令列と再配置情報とからなる第1の相対
    アドレス形式のプログラムを、命令と前記命令に対応し
    た命令再配置情報からなるレコードの集合を含む第2の
    相対アドレス形式のプログラムに変換し、前記第2の相
    対アドレス形式のプログラムを複数の記憶単位に分割し
    て、それぞれの記憶媒体に格納することを特徴とするプ
    ログラムロード方法。
  6. 【請求項6】命令列と再配置情報とからなる第1の相対
    アドレス形式のプログラムを、命令と前記命令に対応し
    た命令再配置情報からなるレコードの集合を含む第2の
    相対アドレス形式のプログラムに変換すると供に、前記
    第2の相対アドレス形式のプログラムを複数の記憶単位
    に分割し、前記記憶単位のそれぞれのヘッダーに設けた
    記憶単位の配置情報に基づいて、任意の順序で読み込ん
    だ前記記憶単位のそれぞれをメモリ上に展開することを
    特徴とするプログラムロード方法。
  7. 【請求項7】命令と前記命令に対応した命令再配置情報
    からなるレコードの集合を含む相対アドレス形式のプロ
    グラムを入力し、前記入力されたプログラムを暗号化
    し、前記レコードを1つずつ読み取りながら逐次的に命
    令の再配置を行いながら復号化することにより、絶対ア
    ドレス形式のプログラムを生成することを特徴とするプ
    ログラムロード方法。
  8. 【請求項8】命令列と再配置情報とからなる第1の相対
    アドレス形式のプログラムを、命令と前記命令に対応し
    た命令再配置情報からなるレコードの集合を含む第2の
    相対アドレス形式のプログラムに変換すると供に、前記
    第2の相対アドレス形式のプログラムに設けたヘッダー
    に許可条件を記憶し、前記許可条件が満たされたとき
    に、前記レコードを1つずつ読み取りながら逐次的に命
    令の再配置を行いながら、絶対アドレス形式のプログラ
    ムをメモリ上に展開することを特徴とするプログラムロ
    ード方法。
  9. 【請求項9】命令列と再配置情報とからなる第1の相対
    アドレス形式のプログラムを、命令と前記命令に対応し
    た命令再配置情報からなるレコードの集合を含む第2の
    相対アドレス形式のプログラムに変換すると供に、属性
    情報をヘッダーに付加して保持することを特徴とするプ
    ログラムロード方法。
  10. 【請求項10】命令列と再配置情報とからなる第1の相
    対アドレス形式のプログラムを、命令再配置情報と前記
    再配置情報に対応した少なくとも一つの命令を含む命令
    群からなるレコードの集合を含む第2の相対アドレス形
    式のプログラムに変換し、前記レコードを1つずつ読み
    取りながら逐次的に命令の再配置を行うことにより、絶
    対アドレス形式のプログラムを生成することを特徴とす
    るプログラムロード方法。
  11. 【請求項11】命令列と再配置情報とからなる第1の相
    対アドレス形式のプログラムを、命令と前記命令に対応
    した命令再配置情報からなるレコードの集合を含む第2
    の相対アドレス形式のプログラムに変換し、前記変換さ
    れたプログラムをICカードに格納し、前記レコードを
    1つずつ読み取りながら逐次的に命令の再配置を行うこ
    とにより、絶対アドレス形式のプログラムを生成するこ
    とによって前記ICカードからプログラムをロードする
    ことを特徴とするプログラムロード方法。
JP9248745A 1997-09-12 1997-09-12 プログラムロード方法 Pending JPH1185526A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP9248745A JPH1185526A (ja) 1997-09-12 1997-09-12 プログラムロード方法
EP98116802A EP0902364A1 (en) 1997-09-12 1998-09-04 Method for loading a program
US09/149,453 US6205580B1 (en) 1997-09-12 1998-09-09 Method for loading a program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9248745A JPH1185526A (ja) 1997-09-12 1997-09-12 プログラムロード方法

Publications (1)

Publication Number Publication Date
JPH1185526A true JPH1185526A (ja) 1999-03-30

Family

ID=17182744

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9248745A Pending JPH1185526A (ja) 1997-09-12 1997-09-12 プログラムロード方法

Country Status (3)

Country Link
US (1) US6205580B1 (ja)
EP (1) EP0902364A1 (ja)
JP (1) JPH1185526A (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9920916D0 (en) * 1999-09-03 1999-11-10 Sgs Thomson Microelectronics A relocation format for linking
JP4042280B2 (ja) * 1999-12-21 2008-02-06 富士ゼロックス株式会社 実行プログラムの生成方法及び実行プログラム生成装置、実行プログラムの実行方法、並びに、コンピュータ可読プログラム記憶媒体
JP3828335B2 (ja) * 2000-04-13 2006-10-04 本田技研工業株式会社 車両制御装置のための書き換えシステム
US6928548B1 (en) * 2000-09-29 2005-08-09 Intel Corporation System and method for verifying the integrity of stored information within an electronic device
US7051326B2 (en) * 2000-12-13 2006-05-23 International Business Machines Corporation Code image distribution in a multi-node network of processors
US6950916B2 (en) * 2001-01-31 2005-09-27 Rto Software, Inc. Dynamically setting the optimal base addresses of process components
US7058775B2 (en) * 2001-01-31 2006-06-06 Rto Sortware, Inc Systems and methods for avoiding base address collisions using alternate components
IL142487A0 (en) * 2001-04-05 2003-09-17 Hexalock Ltd Method and system for protecting data
GB2381090B (en) * 2001-10-17 2005-02-02 Bitarts Ltd Software loading
US7461228B2 (en) * 2003-11-21 2008-12-02 Rto Software, Inc. Systems and methods for avoiding base address collisions
US7165075B2 (en) * 2002-07-20 2007-01-16 Microsoft Corporation Object graph faulting and trimming in an object-relational database system
EP1576460B1 (en) * 2002-11-26 2012-01-11 Panasonic Corporation Apparatus for managing removable storage media that can be connected thereto, and method and program for managing removable storage media
JP4523772B2 (ja) * 2003-12-24 2010-08-11 大日本印刷株式会社 ネットワークを利用したデータ保管システム
US20060288019A1 (en) * 2005-05-27 2006-12-21 Niclas Bauer Flexible data file format
CN101053034A (zh) * 2005-08-29 2007-10-10 索尼株式会社 记录装置、记录方法、再生装置、再生方法、程序以及记录介质
WO2007063433A2 (en) * 2005-10-17 2007-06-07 Nxp B.V. Program executable image encryption
US20080163185A1 (en) * 2006-12-29 2008-07-03 Rto Software, Inc. Delay-load optimizer
WO2013130548A2 (en) * 2012-02-27 2013-09-06 University Of Virginia Patent Foundation Method of instruction location randomization (ilr) and related system
US9928380B2 (en) * 2013-05-07 2018-03-27 International Business Machines Corporation Managing file usage
CN114595204B (zh) * 2022-02-28 2025-03-11 东风汽车集团股份有限公司 一种数据文件拼接方法
US12061586B2 (en) * 2022-05-06 2024-08-13 Databricks, Inc. K-D tree balanced splitting

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4330822A (en) * 1971-09-02 1982-05-18 Burroughs Corporation Recursive system and method for binding compiled routines
JP2569092B2 (ja) * 1987-12-11 1997-01-08 株式会社日立製作所 入出力機器制御プログラムのアドレス解決方法
US5182807A (en) * 1987-12-18 1993-01-26 Nec Corporation Assembler system for determining when to compile source code modules
EP0489204B1 (en) * 1990-12-04 1995-08-16 Hewlett-Packard Limited Reprogrammable data storage device
US5193180A (en) * 1991-06-21 1993-03-09 Pure Software Inc. System for modifying relocatable object code files to monitor accesses to dynamically allocated memory
US5319751A (en) * 1991-12-27 1994-06-07 Intel Corporation Device driver configuration in a computer system
JPH06242990A (ja) * 1993-02-12 1994-09-02 Fujitsu Ltd メモリパッチ装置
CA2102883A1 (en) * 1993-02-26 1994-08-27 James W. Arendt System and method for lazy loading of shared libraries
EP0691006B1 (en) * 1993-03-23 1998-01-07 Apple Computer, Inc. Apparatus and method for a relocatable file format
US5835743A (en) * 1994-06-30 1998-11-10 Sun Microsystems, Inc. Application binary interface and method of interfacing binary application program to digital computer
US5581768A (en) * 1995-02-27 1996-12-03 Intel Corporation Method and apparatus for executing applications in place from write once/seldom memories
US5845118A (en) * 1995-12-14 1998-12-01 International Business Machines Corporation Method for generating shared library executable code with lazy global offset table address calculation
US5956757A (en) * 1996-03-22 1999-09-21 Adaptec, Inc. Method and apparatus for generating addresses
US5732404A (en) * 1996-03-29 1998-03-24 Unisys Corporation Flexible expansion of virtual memory addressing
JPH10124325A (ja) * 1996-10-25 1998-05-15 Toshiba Corp 変数の最適配置方法、変数の最適配置装置及び変数の最適配置プログラムを格納したコンピュータ読み取り可能な記録媒体
US5897666A (en) * 1996-12-09 1999-04-27 International Business Machines Corporation Generation of unique address alias for memory disambiguation buffer to avoid false collisions

Also Published As

Publication number Publication date
US6205580B1 (en) 2001-03-20
EP0902364A1 (en) 1999-03-17

Similar Documents

Publication Publication Date Title
JPH1185526A (ja) プログラムロード方法
US20050144608A1 (en) Operating system allowing running of real-time application programs, control method therefor, and method of loading dynamic link libraries
US7046574B2 (en) Memory system
JPH0721034A (ja) 文字列複写処理方法
KR100637787B1 (ko) 파일 정보의 기록 처리 방법 및 프로그램
JPH11265290A (ja) プログラムロード方法
JPH0477915A (ja) 磁気ディスク制御装置
JP4751835B2 (ja) 実行可能コードの復号化に用いる方法およびこれに関連する装置
JP2943693B2 (ja) ソート作業ファイルスペース管理方式
JPS62143150A (ja) プログラムの実行制御方式
JP2507399B2 (ja) デ―タベ―ス装置
JP2845746B2 (ja) マイクロプログラム制御装置
JPS61276040A (ja) 論理フアイルアクセス方式
EP1923781A1 (en) Method and device for sequentially processing a plurality of programs
JPH05119924A (ja) フアイルアクセス方式
JPH04168519A (ja) ファイル更新方式
JPH113211A (ja) コンピュータシステムのpcカード設定方式
JPH02105237A (ja) 順編成ファイルのデータ更新方式
JP2006285814A (ja) ロードモジュールのロード管理方法及びコンピュータプログラム
JPH09185565A (ja) プログラム転送機能付ネットワークシステム
JPH036533B2 (ja)
JPH036634A (ja) フロッピーディスクのファイル格納方式
JP2000200202A (ja) アプリケ―ションプログラムのデバッグにおけるリンク処理方法及びそのシステム並びに情報記録媒体
JPS6394327A (ja) デイスクのデイレクトリの提供方式
JP2000267905A (ja) ファイル管理方式