DE19840029C1 - Verfahren zum Linken von in einen Arbeitsspeicher eines Prozessors nachgeladenen Programmodulen auf einer Chipkarte - Google Patents
Verfahren zum Linken von in einen Arbeitsspeicher eines Prozessors nachgeladenen Programmodulen auf einer ChipkarteInfo
- Publication number
- DE19840029C1 DE19840029C1 DE19840029A DE19840029A DE19840029C1 DE 19840029 C1 DE19840029 C1 DE 19840029C1 DE 19840029 A DE19840029 A DE 19840029A DE 19840029 A DE19840029 A DE 19840029A DE 19840029 C1 DE19840029 C1 DE 19840029C1
- Authority
- DE
- Germany
- Prior art keywords
- block
- object code
- symbolic
- section
- references
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/54—Link editing before load time
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
Abstract
Verfahren zum Linken von nachgeladenen Programmodulen auf einer Chipkarte mit ebenfalls nachgeladenen Bibliotheken, wobei das Verfahren in zwei Abschnitte aufgeteilt ist, wobei der erste Abschnitt zu einem beliebigen Zeitpunkt nach dem Kompilieren des Programmoduls erfolgen kann, und lediglich der zweite Abschnitt, in dem die dynamischen Referenzen aufgelöst werden, nach dem Laden der Programmodule auf der Chipkarte erfolgen muß.
Description
Die vorliegende Erfindung betrifft ein Verfahren zum Linken
von in einen Arbeitsspeicher eines Prozessors nachgeladenen
Programmodulen, beispielsweise auf einer Chipkarte. Die Er
findung befaßt sich mit folgender Problemstellung:
Auf zukünftigen Multiapplikations-Chipkarten sollen neben dem
statisch vorgeladenen Betriebssystem und Standardbibliotheken
auch individuelle Programmodule vom Benutzer nachgeladen wer
den können. Dies ist bislang aus folgendem Grund nicht mög
lich: Jedes Programm basiert auf Adressen, an deren Position
das Programm abgearbeitet wird. Ein sogenannter "Linker" legt
diese Adressenzuordnung fest. Da für das nachzuladende Pro
gramm völlig unbekannt ist, welche Adressen in der Chip-Karte
bereits belegt sind, muß die Möglichkeit geschaffen werden,
nachzuladende Programme auf beliebigen Adressen ablaufen las
sen zu können; d. h. die nachzuladenden Programme müssen auf
der Chip-Karte relokatierbar sein. Es ist zu erwarten, daß
die nachladbaren Module in ihrer Summe den auf der Chipkarte
zur Verfügung stehenden physikalischen Adreßbereich überstei
gen. Den Modulen kann deshalb kein fest vorgegebener physika
lischer Adreßbereich zugewiesen werden. Das Betriebssystem
auf der Karte muß deshalb in der Lage sein, einem Modul beim
Aufladen auf die Karte dynamisch einen freien Speicherbereich
zuzuweisen. Hierzu muß ein nachzuladendes Modul der Chipkar
te mitteilen, auf welche Bibliotheken es zugreifen muß. Nach
dem verifiziert wurde, daß dem Modul der Zugriff auf die ent
sprechenden Bibliotheken erlaubt ist, muß es an sie gelinkt
werden, d. h. mit den entsprechenden logischen Adressen für
die Zugriffe versehen werden. Logische Adressen werden vom
Betriebssystem der Karte verwaltet und lassen sich eindeutig
physikalischen Adressen zuordnen. Befinden sich alle Biblio
theken auf feststehenden Adreßbereichen, so kann das neue Mo
dul statisch vorgelinkt sein und unverändert auf die Chipkar
te übernommen werden. Sollte sich allerdings eine Bibliothek
ihrerseits auf einem dynamisch zugewiesenen Adreßbereich be
finden, so muß das neue Modul an sie dynamisch angelinkt wer
den, d. h., daß das neue Modul mit den aktuell gültigen logi
schen Adressen der Bibliothek versehen werden muß. Das neue
Modul enthält bei der Programmierung also lediglich den Namen
der Bibliothek und die entsprechenden symbolischen Segmentre
ferenzen, sowie gegebenenfalls weitere Referenzen, auf die
zugegriffen werden soll. Beim Linkvorgang müssen diese Refe
renzen dann durch die aktuell gültigen logischen Adressen,
insbesondere die der entsprechenden Segmente der Bibliothek
ersetzt werden.
Der Linkvorgang kann prinzipiell entweder im Kartenterminal
oder auf der Chipkarte stattfinden. Der erstere Fall ist als
zu unsicher anzusehen, da gewährleistet sein muß, daß das
Terminal nicht manipuliert wurde. Außerdem können auf der
Kommunikationsstrecke zwischen Terminal und Karte die Daten
nochmals manipuliert werden.
Da das neu, dynamisch angebundene Modul prinzipiell gegenüber
seinem Zustand vor dem Linkvorgang verändert ist, da ja bei
dem Linkvorgang die symbolischen Referenzen aufgelöst werden
mußten, kann in der Chipkarte auch nicht eine statisch vorde
finierte Signatur des Programms überprüft werden. Der einzig
sichere Weg ist, den Linker auf die Chipkarte zu verlegen.
Das Problem hierbei ist jedoch, daß die herkömmliche Link-
Strategie, bei der ein relativ komplexer Parser den Object
code liest und dynamische Referenzen befriedigt, zu viele
Speicherressourcen auf der Karte benötigt. Bisher gab es für
dieses Problem im Stand der Technik keine Lösung. Es war da
her bisher nicht mit vertretbarem Aufwand möglich, auf einer
hinreichend sicheren Chipkarte Bibliotheken auf dynamisch zu
gewiesenen Adressbereichen zu verwenden.
Aus der DE 690 30 425 T2 ist bereits ein Kompilierungsverfah
ren bekannt, bei dem ein Teil des Kompilierungsvorganges,
nämlich die interprozedurale Registerzuordnung auf einen spä
teren Zeitpunkt, nämlich auf den Zeitpunkt des Linkens der
Programme verschoben wird.
Aus diesem Stand der Technik ergibt sich jedoch keine Lösung,
die das Linken nachträglich geladener Programmodule erlauben
würde. Vielmehr befaßt sich diese Entgegenhaltung ausschließ
lich mit der Problematik der interprozeduralen Registerzuwei
sungen beim Kompilieren.
Der nächstgelegene Stand der Technik auf diesem Gebiet ergibt
sich aus der DE 197 23 676 A1. Diese Druckschrift beschreibt
ebenfalls ein Verfahren zum Nachladen von Programmen auf eine
Chipkarte. Gemäß diesem Stand der Technik können zwar Pro
gramme dynamisch auf entsprechende Programmbänke verteilt
werden. Dieses Verfahren ermöglicht jedoch nicht den Zugriff
eines dynamisch nachgeladenen Programms auf ein anderes dyna
misch nachgeladenes Programm oder eine dynamisch nachgeladene
Adresse, da gemäß diesem Stand der Technik lediglich die
Sprungadressen innerhalb eines Programms umgerechnet und an
gepasst werden können. Auch dieser Stand der Technik löst da
her nicht die Aufgabe, den Zugriff nachladbarer Applikationen
auf Bibliotheken zu ermöglichen, die ebenfalls auf dynamisch
zugewiesenen Adressbereichen abgelegt sind.
Es ist daher Aufgabe der vorliegenden Erfindung, ein Verfah
ren zur Verfügung zu stellen, bei dem nachladbare Applikatio
nen auf Bibliotheken zugreifen können, die sich auf dynamisch
zugewiesenen Adressbereichen befinden, ohne daß Sicherheits
probleme durch einen ausgelagerten und beispielsweise im
Kartenterminal ablaufenden Linkvorgang entstehen.
Erfindungsgemäß wird diese Aufgabe dadurch gelöst, daß der
Linkvorgang in zwei Abschnitte aufgeteilt wird, wobei der er
ste Abschnitt zu einem beliebigen Zeitpunkt nach dem Kompi
lieren des Programmoduls erfolgen kann, und lediglich der
zweite Abschnitt, in dem die symbolischen Referenzen aufge
löst werden, nach dem Laden der Programmodule erfolgen muß.
Um zusätzliche Ressourcen einzusparen, ist es besonders vor
teilhaft, die Auflösung der dynamischen Referenzen durch ei
nen einfachen Automaten ausführen zu lassen.
Vorzugsweise ergibt sich eine besonders einfache Programm
struktur, wenn im ersten Abschnitt des Verfahrens ein Object-
File mit einem Kopf erzeugt wird, in dem sich die Information
über die Bibliotheken und ihre Segmente befindet, an die an
gelinkt werden soll.
Es ist dabei weiter besonders bevorzugt, daß in dem Kopf des
Object-Files zusätzlich die Information über diejenigen dyna
mischen Referenzen enthalten ist, die im eigentlichen Object
code verwendet werden.
Eine besonders einfache Verarbeitung auf der Karte ergibt
sich, wenn der eigentliche Objectcode in eine Sequenz von
Blöcken zerlegt ist, wobei am Anfang jedes Blocks die Infor
mation liegt, wie viele Bytes des Objectcodes eingelesen wer
den können, bis die erste symbolische Referenz auftritt, und
der Block mit der symbolischen Referenz endet.
Eine besonders einfache Verarbeitung ergibt sich vorzugsweise
auch dadurch, daß am Beginn des zweiten Abschnitts des Link
vorgangs der Kopf des Objektcodes in den Arbeitsspeicher ab
gespeichert wird, und dort den dynamischen Referenzen die
tatsächlichen Adressen auf der Karte zugeordnet werden.
Ein besonders einfacher Linkvorgang ergibt sich, wenn während
des zweiten Abschnitts des Linkvorgangs auf der Karte jeweils
ein Blockanfang eingelesen wird, die Anzahl der Bytes gespei
chert wird, die ohne Umwandlung einer dynamischen Referenz
eingelesen werden können, und dann der Block ohne den Block
anfang in den Speicher auf der Karte eingelesen wird, und am
Ende des Blocks statt der dynamischen Referenz die tatsächli
che Adresse auf der Karte aus dem umgewandelten Kopf des Ob
jektcodes eingelesen wird.
Im folgenden wird die vorliegende Erfindung anhand des in den
Zeichnungen dargestellten Ausführungsbeispiels näher erläu
tert. Es zeigen:
Fig. 1 die Struktur des Object-Files, wie es nach dem ersten
Abschnitt des erfindungsgemäßen Linkverfahrens aufgebaut ist;
Fig. 2 den Zustand des Programms nach der Umwandlung der Refe
renzen im Objectcodekopf in die absoluten Adressen, wobei
eine Referenzliste erstellt wurde;
Fig. 3 den Zustand des Programms nach der Umwandlung der Re
ferenzen im Objectcodekopf, wobei ein Referenzstack erzeugt
wurde;
Fig. 4 den Zustand des Programms nach der Umwandlung der Re
ferenzen, wobei eine Positionenliste erzeugt wurde; und
Fig. 5 den Zustand des Programms nach der Umwandlung der Re
ferenzen, wobei die Adressen ersetzt worden sind.
Bei dem beschriebenen Ausführungsbeispiel der Erfindung er
folgt das dynamische Nachladen von Programmodulen auf einer
Chipkarte. Dabei muß der komplexe Teil des Linkers abgespal
ten und aus der Karte ausgelagert werden. In der Karte selbst
läuft nur ein einfacher Automat ab, der das Auflösen der sym
bolischen Referenzen erledigt. Der Linker auf der Karte ist
durch das neue Linkformat der Object-Files hinreichend be
schrieben:
Im Kopf 10 des Object-Files befindet die Information über die
Bibliotheken und ihre Segmente, an die angelinkt werden soll,
sowie die entsprechenden symbolischen Referenzen, die im ei
gentlichen Objectcode verwendet werden. Der eigentliche Ob
jectcode ist nun eine Sequenz von Blöcken 12, 14, 16. Am An
fang eines Blocks liegt die Information, wie viele Byte des
Programmcodes eingelesen werden können, bis die erste dynami
sche Referenz auftritt. Sie beendet den Block. Die entspre
chende Struktur des Objectfiles, wie es an die Chipkarte
übergeben wird, ist in Fig. 1 dargestellt. Das Objectfile be
steht aus einem Kopf 10, der jeweils den Namen der jeweiligen
Bibliothek und des jeweiligen Segments, an das angelinkt wer
den soll und die zugehörige symbolische Referenz enthält.
Nach diesem Objectkopf folgen die einzelnen Blöcke des Ob
jectcodes, wobei am Blockbeginn immer die Blocklänge angege
ben ist und jeder Block mit einer symbolischen Referenz en
det. Die Erstellung eines solchen gem. Fig. 1 strukturierten
Objectcodes kann zu einem beliebigen Zeitpunkt nach der Com
pilierung des Programmes und auf einem beliebigen Rechner er
folgen.
Auf der Chipkarte muß lediglich der zweite Abschnitt des
Linkvorgangs erfolgen:
Der Linker auf der Karte liest den Objectkopf ein und ordnet
den symbolischen Referenzen die tatsächlichen Adressen auf
der Karte zu. Sofern wenige symbolische Referenzen des öfte
ren im Objectcode benötigt werden, empfiehlt es sich, eine
Zuordnungstabelle der symbolischen Referenzen auf die tat
sächlichen Adressen anzulegen. Diese Information muß dann
während des gesamten Linkvorgangs vorhanden sein. Wenn eine
Vielzahl von dynamischen Referenzen nur relativ selten im Ob
jectcode aufgerufen werden, besteht die Möglichkeit, den
Linkvorgang weiter zu vereinfachen, indem im Kopf 10 des Ob
jectcodes die symbolischen Referenzen in der Reihenfolge ih
res Auftretens im Objectcode angeordnet werden. In diesem
Fall kann man auch direkt die Adresse im Objectcode angeben,
an der substituiert werden soll. Die Blockstruktur entfällt
dann. Interessant ist auch noch die Möglichkeit, direkt am
Ende eines Blocks den Namen und die symbolische Referenz zu
spezifizieren, die dann jedesmal aufgelöst wird. Nach der Um
setzung auf der Karte auf die tatsächlichen physikalischen
Adressen steht dann im Kopf 10 eine Liste der absoluten
Adressen in der Reihenfolge, wie sie in den Objectcode einge
arbeitet werden müssen. Dazu muß nicht der Kopf ersetzt wer
den, es reicht, wenn eine entsprechende Liste im Speicher ge
halten wird. Diese Liste kann nach dem Laden gelöscht werden,
wodurch erheblich Speicherplatz gespart wird.
Nach Erzeugung dieser Adresstabelle oder Adressliste wird je
weils ein Blockanfang eingelesen und die Anzahl der Bytes ge
speichert, die ohne Umwandlung einer symbolischen Referenz in
das Programmsegment eingelesen werden kann. Der Blockanfang,
der ja lediglich die Zahl der Bytes dieses Blocks angibt,
wird dabei nicht in den Programmcode mit aufgenommen. Am Ende
des Blocks wird die symbolische Referenz durch die aktuelle
tatsächliche aktuelle Adresse ersetzt. Dazu wird entweder die
Vergleichstabelle im Objectcodekopf 10 herangezogen, oder aus
einer entsprechenden Liste einfach die zu diesem Block gehö
rige physikalische Adresse abgerufen. Bei der letzteren Orga
nisation kann der Kopf auch in Form eines Stapelspeichers
(Stack) organisiert sein.
Sodann kann der nächste Block abgearbeitet werden.
Die Fig. 2 bis 5 zeigen den Objectcode nach Umwandlung der
dynamischen Referenzen im Kopf 10. Die absoluten Adressen
können dabei entweder in Form einer Tabelle organisiert sein,
wobei über entsprechende Bezugszahlen (1, 2, 3) die Zuordnung
zu den jeweiligen dynamischen Referenzen im Objectcode er
folgt, oder der Kopf kann wie ein Stapelspeicher die absolu
ten Adressen in der Reihenfolge, wie diese von den Blöcken
benötigt werden, enthalten.
Im einzelnen zeigt die Fig. 2 eine erfindungsgemäße Lösung,
bei der aus dem Objectcodekopf eine Liste erzeugt wird, die
jeweils die Namen und die Referenzen sowie die jeweiligen
tatsächlichen aktuellen Adressen enthält. Damit wird nur eine
sehr kleine Tabelle erzeugt, die sehr wenig Speicherplatz
braucht, wenn nur einige wenige Referenzen sehr oft in dem
Programm vorkommen. Dies ist beispielsweise durch das mehrfa
che Auftreten der Referenz M in der Figur dargestellt.
Fig. 3 zeigt eine erfindungsgemäße Lösung, wobei der Object
codekopf in Form eines Stapelspeichers organisiert ist, der
die Adressen in der Reihenfolge ihres Auftretens im Object
code enthält. Hierbei ist der Ladevorgang weiter vereinfacht,
da lediglich nach jedem Block die oberste Adresse aus dem
Stapelspeicher einkopiert werden muß.
Fig. 4 zeigt eine erfindungsgemäße Lösung, wobei eine Tabelle
abgespeichert wird, die außer Name und Adresse jeweils die
Positionen enthält, an denen die jeweilige symbolische Refe
renz durch die tatsächliche aktuelle Adresse ersetzt werden
muß. Diese Tabelle kann dann auch am Ende des Objectcodes an
geordnet sein. Diese Anordnung ist für die Abarbeitung noch
günstiger, da die Tabelle dann nicht im Speicher gehalten
werden muß, sondern erst nach dem Laden des Objectcodes in
den Speicher sukzessive abgearbeitet werden kann.
Fig. 5 zeigt eine erfindungsgemäße Lösung, bei der eine direk
te Auflösung der Adressen erfolgt.
Allen diesen erfindunsgemäßen Lösungen ist gemeinsam, daß
die Ersetzung der symbolischen Referenzen durch die tatsäch
liche aktuelle Adresse einmalig während des Ladens des Pro
gramms auf die Karte erfolgt, und nicht zur Zeit der Abarbei
tung des Programms. Die symbolischen Referenzen werden also
nur einmal während des Ladens aufgelöst. Es müssen daher
nicht dauernd die Listen mit der Zuordnung symbolischer Refe
renz auf tatsächliche aktuelle Adresse im Speicher gehalten
werden, was zu einer erheblichen Speicherersparnis führt. Er
findungsgemäß wird also der Linker aufgespalten in einen kom
plexen Prelinker, der unmittelbar nach dem Compilieren des
Programms ausgeführt werden kann. Nach dem prelink Prozeß
kann der Code signiert werden. Der signierte Code wird im
Linker auf der Karte während des Einlesens gelinkt und veri
fiziert. In den Fig. 2 bis 4 kann der Eintrag "name n" da
bei gegebenenfalls auch wegfallen, sofern die Adressen ein
deutig sind.
Die vorliegende Erfindung erlaubt erstmals das sichere Nach
laden von Bibliotheken und Applikationen, die auf diese Bi
bliotheken zugreifen. Ohne ihn könnten nur Applikationen dy
namisch nachgeladen werden. Beispielsweise ergibt sich damit
folgene Anwendungsmöglichkeit:
Kernel und Betriebssystem befinden sich statisch gelinkt auf
der Chipkarte. Der Benutzer möchte nun IATA, eine Bibliothek
aller Fluglinien, dynamisch auf die Karte laden und anschlie
ßend noch eine Bonuspunkt-Applikation der Lufthansa, die auf
die IATA-Bibliothek zugreift, nachladen.
Claims (7)
1. Verfahren zum Linken von in einen Arbeitsspeicher eines
Prozessors nachgeladenen Programmodulen, dadurch ge
kennzeichnet, daß das Verfahren in zwei Abschnitte
aufgeteilt wird, wobei der erste Abschnitt zu einem beliebi
gen Zeitpunkt nach dem Compilieren des Programmoduls erfolgen
kann, und lediglich der zweite Abschnitt, in dem die symboli
schen Referenzen aufgelöst werden, nach dem Laden der Pro
grammodule in den Arbeitsspeicher erfolgen muß.
2. Verfahren nach Anspruch 1, dadurch gekenn
zeichnet, daß die Auflösung der symbolischen Referen
zen durch einen einfachen Automaten erfolgt.
3. Verfahren nach Anspruch 1 oder 2, dadurch ge
kennzeichnet, daß im ersten Abschnitt des Verfah
rens ein Objekt File mit einem Kopf (10) erzeugt wird, in dem
sich die Information über die Bibliotheken und ihre Segmente
befindet, an die angelinkt werden soll.
4. Verfahren nach Anspruch 3, dadurch gekenn
zeichnet, daß in dem Kopf (10) des Objekt Files zu
sätzlich die Informationen über diejenigen symbolischen Refe
renzen enthalten sind, die im eigentlichen Objektcode verwen
det werden.
5. Verfahren nach Anspruch 4, dadurch gekenn
zeichnet, daß der eigentliche Objektcode in eine Se
quenz von Blöcken (12, 14, 16) zerlegt ist, wobei am Anfang
jedes Blocks (12, 14, 16) die Information liegt, wie viele
Bytes des Objektcodes eingelesen werden können, bis die erste
symbolische Referenz auftritt, und der Block mit der symboli
schen Referenz endet.
6. Verfahren nach Anspruch 5, dadurch gekenn
zeichnet, daß am Beginn des zweiten Abschnitts des
Linkvorgangs im Arbeitsspeicher der Kopf (10) des Objektcodes
abgespeichert wird, und dort den symbolischen Referenzen die
tatsächlichen Adressen zugeordnet werden.
7. Verfahren nach Anspruch 6, dadurch gekenn
zeichnet, daß während des zweiten Abschnitts des Link
vorgangs jeweils ein Blockanfang eingelesen wird, die Anzahl
der Bytes gespeichert wird, die ohne Umwandlung einer symbo
lischen Referenz eingelesen werden können, und dann der Block
ohne den Blockanfang in den Arbeitsspeicher eingelesen wird,
und am Ende des Blocks statt der symbolischen Referenz die
tatsächliche Adresse im Arbeitsspeicher aus dem umgewandelten
Kopf des Objektcodes eingelesen wird.
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19840029A DE19840029C1 (de) | 1998-09-02 | 1998-09-02 | Verfahren zum Linken von in einen Arbeitsspeicher eines Prozessors nachgeladenen Programmodulen auf einer Chipkarte |
KR1020017002772A KR20010079730A (ko) | 1998-09-02 | 1999-09-02 | 프로세서의 작업 메모리내에서 스와핑된 프로그램 모듈을칩카드상에 링킹하기 위한 방법 |
PCT/DE1999/002784 WO2000014631A2 (de) | 1998-09-02 | 1999-09-02 | Verfahren zum linken von in einen arbeitsspeicher eines prozessors nachgeladenen programmodulen auf einer chipkarte |
CN99810510A CN1354853A (zh) | 1998-09-02 | 1999-09-02 | 对芯片卡上被再装入到处理器的工作存储器之中的程序模块进行链接的方法 |
EP99953697A EP1145118A2 (de) | 1998-09-02 | 1999-09-02 | Verfahren zum linken von in einen arbeitsspeicher eines prozessors nachgeladenen programmodulen auf einer chipkarte |
JP2000569311A JP2002524792A (ja) | 1998-09-02 | 1999-09-02 | プロセッサのワークメモリに後ロードされたプログラムモジュールをチップカード上でリンクする方法 |
US09/798,105 US20010034818A1 (en) | 1998-09-02 | 2001-03-02 | Method for linking program modules reloaded into a main memory of a processor on a smart card |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19840029A DE19840029C1 (de) | 1998-09-02 | 1998-09-02 | Verfahren zum Linken von in einen Arbeitsspeicher eines Prozessors nachgeladenen Programmodulen auf einer Chipkarte |
Publications (1)
Publication Number | Publication Date |
---|---|
DE19840029C1 true DE19840029C1 (de) | 2000-04-20 |
Family
ID=7879588
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19840029A Expired - Fee Related DE19840029C1 (de) | 1998-09-02 | 1998-09-02 | Verfahren zum Linken von in einen Arbeitsspeicher eines Prozessors nachgeladenen Programmodulen auf einer Chipkarte |
Country Status (7)
Country | Link |
---|---|
US (1) | US20010034818A1 (de) |
EP (1) | EP1145118A2 (de) |
JP (1) | JP2002524792A (de) |
KR (1) | KR20010079730A (de) |
CN (1) | CN1354853A (de) |
DE (1) | DE19840029C1 (de) |
WO (1) | WO2000014631A2 (de) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1047992B1 (de) | 1998-01-16 | 2002-04-10 | Macrovision Corporation | System und verfahren zur beglaubigung gleichrangiger komponenten |
US6802006B1 (en) | 1999-01-15 | 2004-10-05 | Macrovision Corporation | System and method of verifying the authenticity of dynamically connectable executable images |
US7650504B2 (en) | 1999-07-22 | 2010-01-19 | Macrovision Corporation | System and method of verifying the authenticity of dynamically connectable executable images |
JP4509291B2 (ja) * | 2000-03-30 | 2010-07-21 | 大日本印刷株式会社 | Icカード、icカードのプログラム更新装置、および、その方法 |
EP1303802B1 (de) * | 2000-07-25 | 2013-01-16 | Rovi Solutions Corporation | System und verfahren zur verifikation der authentizität von dynamisch verbindbaren ausführbaren bilder |
JP2005515520A (ja) * | 2001-05-30 | 2005-05-26 | リサーチ イン モーション リミテッド | モバイル通信デバイスアプリケーション処理システム |
US7131121B2 (en) * | 2001-11-14 | 2006-10-31 | Axalto, Inc. | Method and apparatus for linking converted applet files without relocation annotations |
NL1019876C2 (nl) * | 2002-01-31 | 2003-08-04 | Chess Embedded Technology B V | Systeem en werkwijze voor het laden van een programmacode in een inrichting alsmede een werkwijze voor het voeden van een programmacode aan een inrichting. |
FR2839792B1 (fr) * | 2002-05-15 | 2004-08-20 | Gemplus Card Int | Procede de chargement d'une applet dans un objet electronique portatif |
US7047101B1 (en) * | 2002-07-29 | 2006-05-16 | Kla-Tencor Technologies Corporation | Reuse in semiconductor measurement recipes |
DE102004058882A1 (de) * | 2004-12-06 | 2006-06-08 | Giesecke & Devrient Gmbh | Erzeugen von Programmcode in einem Ladeformat und Bereitstellen von ausführbarem Programmcode |
EP1724677A1 (de) * | 2005-05-19 | 2006-11-22 | Axalto SA | System und Verfahren zur Speicherverwaltung in tragbarem Gerät |
JP2010198139A (ja) * | 2009-02-23 | 2010-09-09 | Dainippon Printing Co Ltd | プラットフォーム完全性検証システム及び方法,並びに,セキュリティトークン |
DE112021007471T5 (de) * | 2021-04-07 | 2024-01-18 | Mitsubishi Electric Corporation | Code-anpassungseinrichtung und code-anpassungsverfahren |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE6903042U (de) * | 1968-01-26 | 1969-10-02 | Hirst Buckley Ltd | Steuermechanismus fuer maschinen, insbesondere fuer eine lagervorrichtung |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02214994A (ja) * | 1989-02-15 | 1990-08-27 | Hitachi Maxell Ltd | Icカード |
CA2066724C (en) * | 1989-09-01 | 2000-12-05 | Helge Knudsen | Operating system and data base |
US5507030A (en) * | 1991-03-07 | 1996-04-09 | Digitial Equipment Corporation | Successive translation, execution and interpretation of computer program having code at unknown locations due to execution transfer instructions having computed destination addresses |
CA2158848A1 (en) * | 1993-03-23 | 1994-09-29 | Erik L. Eidt | Apparatus and method for a relocatable file format |
US5734822A (en) * | 1995-12-29 | 1998-03-31 | Powertv, Inc. | Apparatus and method for preprocessing computer programs prior to transmission across a network |
US6055314A (en) * | 1996-03-22 | 2000-04-25 | Microsoft Corporation | System and method for secure purchase and delivery of video content programs |
FR2757970B1 (fr) * | 1996-12-30 | 1999-03-26 | Gemplus Card Int | Procede de chargement d'un programme d'utilisation dans un support a puce |
US6317872B1 (en) * | 1997-07-11 | 2001-11-13 | Rockwell Collins, Inc. | Real time processor optimized for executing JAVA programs |
US6282706B1 (en) * | 1998-02-10 | 2001-08-28 | Texas Instruments Incorporated | Cache optimization for programming loops |
-
1998
- 1998-09-02 DE DE19840029A patent/DE19840029C1/de not_active Expired - Fee Related
-
1999
- 1999-09-02 WO PCT/DE1999/002784 patent/WO2000014631A2/de not_active Application Discontinuation
- 1999-09-02 JP JP2000569311A patent/JP2002524792A/ja active Pending
- 1999-09-02 KR KR1020017002772A patent/KR20010079730A/ko not_active Application Discontinuation
- 1999-09-02 EP EP99953697A patent/EP1145118A2/de not_active Withdrawn
- 1999-09-02 CN CN99810510A patent/CN1354853A/zh active Pending
-
2001
- 2001-03-02 US US09/798,105 patent/US20010034818A1/en not_active Abandoned
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE6903042U (de) * | 1968-01-26 | 1969-10-02 | Hirst Buckley Ltd | Steuermechanismus fuer maschinen, insbesondere fuer eine lagervorrichtung |
Also Published As
Publication number | Publication date |
---|---|
WO2000014631A2 (de) | 2000-03-16 |
WO2000014631A3 (de) | 2000-07-20 |
EP1145118A2 (de) | 2001-10-17 |
KR20010079730A (ko) | 2001-08-22 |
CN1354853A (zh) | 2002-06-19 |
US20010034818A1 (en) | 2001-10-25 |
JP2002524792A (ja) | 2002-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE19840029C1 (de) | Verfahren zum Linken von in einen Arbeitsspeicher eines Prozessors nachgeladenen Programmodulen auf einer Chipkarte | |
DE69918334T2 (de) | Erzeugung von kompilierten programmen für interpretative laufzeitumgebungen | |
DE69123775T2 (de) | Programmsteuersystem für eine tragbare Datenspeichervorrichtung | |
DE69817333T2 (de) | Verfahren und Vorrichtung zum Laden von Befehlskodes in einen Speicher und zum Verbinden dieser Befehlskodes | |
DE19681256C2 (de) | Ausführung von Anwendungen am Platz vom Speicher | |
DE68916853T2 (de) | Unabhängige Programmlader für virtuelle Maschinenarchitektur. | |
DE2550268A1 (de) | Schnelldrucker fuer datenverarbeitungssysteme | |
DE69932964T2 (de) | Verfahren, System und Rechnerprogrammprodukt zur Initialisierung einer Datenstruktur beim ersten Gebrauch | |
DE3940302C2 (de) | ||
EP2517105B1 (de) | Verfahren zum komprimieren von bezeichnern | |
DE2725718A1 (de) | Verarbeitungssystem mit mehreren virtuellen adressenraeumen | |
DE10324337B4 (de) | Rechnersystem und zugehöriges Verfahren zum Durchführen eines Sicherheitsprogramms | |
DE60224937T2 (de) | Verfahren und anordnung zum verknüpfen von verwandelten appletdateien | |
EP1352318B1 (de) | Mikroprozessorschaltung für tragbare datenträger | |
DE19924702A1 (de) | Systeme mit einheitlicher Datenstruktur, Verfahren und Computerprogrammprodukte zur Feststellung von globalen Konflikten | |
DE19933584A1 (de) | Verfahren zur kompakten Darstellung von Informationspaketen und deren Speicherung oder Übertragung | |
DE3852432T2 (de) | Befehlssteuerungsvorrichtung für ein Computersystem. | |
DE10357257A1 (de) | Java Smart Card Chip mit für globale Variablen reserviertem Speicherbereich | |
DE2249852A1 (de) | Computersystem | |
DE2516050A1 (de) | Verfahren und einrichtung zur informationsspeicherung in einem datenverarbeitungssystem | |
WO2004100090A1 (de) | Speicherverwaltung bei einem tragbaren datenträger | |
EP1920328B1 (de) | Operationscode-umschaltung | |
DE102008044808B4 (de) | Verfahren zur Generierung von Programmcode in einem Betriebssystemspeicher und einem Applikationsspeicher eines Datenträgers | |
EP1062630B1 (de) | Datenträger | |
EP1600855B1 (de) | Erzeugen und Verwenden von Speicherbelegungsinformationen bei einem tragbaren Datenträger |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8100 | Publication of the examined application without publication of unexamined application | ||
D1 | Grant (no unexamined application published) patent law 81 | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |