DE102004019683A1 - Verwalten eines Dateisystems in einem tragbaren Datenträger - Google Patents

Verwalten eines Dateisystems in einem tragbaren Datenträger Download PDF

Info

Publication number
DE102004019683A1
DE102004019683A1 DE102004019683A DE102004019683A DE102004019683A1 DE 102004019683 A1 DE102004019683 A1 DE 102004019683A1 DE 102004019683 A DE102004019683 A DE 102004019683A DE 102004019683 A DE102004019683 A DE 102004019683A DE 102004019683 A1 DE102004019683 A1 DE 102004019683A1
Authority
DE
Germany
Prior art keywords
file system
file
processes
visibility information
structures
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.)
Ceased
Application number
DE102004019683A
Other languages
English (en)
Inventor
Robert Hockauf
Thorsten Ulbricht
Rudolf Schubert
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.)
Giesecke and Devrient GmbH
Original Assignee
Giesecke and Devrient GmbH
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 Giesecke and Devrient GmbH filed Critical Giesecke and Devrient GmbH
Priority to DE102004019683A priority Critical patent/DE102004019683A1/de
Priority to PCT/EP2005/004182 priority patent/WO2005104018A2/de
Priority to EP05740488A priority patent/EP1741029A2/de
Publication of DE102004019683A1 publication Critical patent/DE102004019683A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/77Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in smart cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/176Support for shared access to files; File sharing support
    • G06F16/1767Concurrency control, e.g. optimistic or pessimistic approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6281Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database at program execution time, where the protection is within the operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2147Locking files

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Bei einem Verfahren zum Verwalten eines Dateisystems (22) in einem tragbaren Datenträger werden prozeßspezifische Sichtbarkeitsinformationen (32) für zumindest manche Strukturen (26x) im Dateisystem (22) verwaltet, um zu bewirken, daß ein Vorgang, bei dem ein Prozeß (24A) eine Struktur (26x) im Dateisystem (22) erzeugt oder aus dem Dateisystem (22) löscht, für andere nebenläufig ausgeführte Prozesse zumindest bis zum erfolgreichen Abschluß dieses Vorgangs verborgen bleibt. Ein tragbarer Datenträger und ein Computerprogrammprodukt weisen entsprechende Merkmale auf. Durch die Erfindung lassen sich zumindest manche Fehlabläufe beim Erzeugen von Strukturen (26x) im Dateisystem (22) und/oder beim Löschen von Strukturen (26x) aus dem Dateisystem (22) mit geringem Ressourcenaufwand vermeiden.

Description

  • Die Erfindung betrifft allgemein das technische Gebiet des Verwaltens eines Dateisystems in einem tragbaren Datenträger, wobei der Datenträger ein Betriebssystem aufweist, das nebenläufige – also parallele oder quasi-parallele – Prozesse unterstützt. Ein tragbarer Datenträger im Sinne des vorliegenden Dokuments kann insbesondere eine Chipkarte (smart card) in diversen Bauformen oder ein Chipmodul oder ein sonstiges ressourcenbeschränktes System sein.
  • Tragbare Datenträger werden mit immer mehr Speicherplatz und immer größerer Rechenleistung hergestellt. In einem internen Forschungsprojekt der Giesecke & Devrient GmbH wird gegenwärtig untersucht, inwieweit ein multitaskingfähiges Betriebssystem in einem modernen tragbaren Datenträger implementiert werden kann. In diesem Zusammenhang ist insbesondere an die Implementierung eines UNIX®-artigen Betriebssystems, z.B. des unter der Marke Linux® bekannten Betriebssystems, gedacht. Es ergeben sich jedoch erhebliche Probleme aus der Tatsache, daß der Ressourcenbedarf einer typischen Linux-Implementierung die Speicher- und Rechenkapazität heutiger tragbarer Datenträger voll ausschöpft oder sogar übersteigt. Aus diesem Grund ist der Einsatz ressourcenschonender Verfahren von entscheidender Wichtigkeit.
  • Ferner werden bei tragbaren Datenträgern in der Regel hohe Anforderungen an die Sicherheit und Zuverlässigkeit der Hardware, des Betriebssystems und der ausgeführten Anwendungsprogramme gestellt. So müssen z.B. Zugriffskonflikte und Inkonsistenzen, die auftreten können, wenn mehrere Prozesse einer multitaskingfähigen Chipkarte unabhängig voneinander auf ein gemeinsam genutztes Dateisystem zugreifen, sicher vermieden werden. Es muß dafür gesorgt werden, daß Änderungen im Dateisystem immer atomar, d.h. entweder ganz oder gar nicht, erfolgen. Für Schreibzugriffe auf eine vorhandene Struktur des Dateisystems ist es in diesem Zusammenhang bekannt, die Struktur – eine Datei oder ein Verzeichnis – für die Dauer des Schreibzugriffs gegen Zugriffe der übrigen Prozesse zu sperren.
  • Eine besondere Situation ergibt sich jedoch, wenn eine Struktur im Dateisystem, auf die andere Prozesse möglicherweise zugreifen, neu angelegt oder gelöscht wird. So könnte z.B. bei einer GSM-Karte von einem Prozeß ein Telefonbuch angelegt werden und von einem zweiten Prozeß überprüft werden, ob ein Telefonbuch vorhanden ist. Wenn das Anlegen des Telefonbuchs fehlschlägt – z.B. wegen einer plötzlichen Unterbrechung der Energieversorgung des Datenträgers -, dann muß wegen der Forderung nach einer atomaren Ausführung des Vorgangs die angelegte Datei rückstandsfrei entfernt werden. Wenn nun der zweite Prozeß zufällig während der kurzzeitigen Existenz der Datei eine Dateiabfrage durchgeführt hat, könnte er zu dem fehlerhaften Ergebnis kommen, daß ein Telefonbuch vorliegt.
  • Es ergibt sich damit das Problem, Fehlabläufe der gerade beschriebenen Art bei der Ausführung nebenläufiger Prozesse in einem tragbaren Datenträger zuverlässig zu vermeiden. Eine entsprechende Problematik stellt sich beim Löschen einer Struktur im Dateisystem.
  • Das US-Patent 6,220,510 offenbart eine Chipkarte, die mehrere Anwendungsprogramme auszuführen vermag. Jedem Anwendungsprogramm sind je ein statischer und ein dynamischer Speicherbereich zugeordnet, die gegenüber den anderen Anwendungsprogrammen abgeschirmt sind. Aufgaben können über einen Befehls/Antwort-Mechanismus von einem ersten Anwendungsprogramm an ein zweites Anwendungsprogramm delegiert werden; hierbei werden die Befehle und Antworten in einen öffentlichen Datenspeicherbereich geschrieben.
  • Die Erfindung hat die Aufgabe, einen Mechanismus zum Verwalten eines Dateisystems in einem tragbaren Datenträger bereitzustellen, durch den sich zumindest manche Fehlabläufe beim Erzeugen von Strukturen im Dateisystem und/oder Löschen von Strukturen aus dem Dateisystem mit geringem Ressourcenaufwand vermeiden lassen. Insbesondere sollen Inkonsistenzen der oben genannten Art, die durch Zugriffe nebenläufiger Prozesse auf das Dateisystem auftreten können, verhindert werden.
  • Erfindungsgemäß wird diese Aufgabe ganz oder zum Teil gelöst durch ein Verfahren gemäß Anspruch 1, einen tragbaren Datenträger gemäß Anspruch 14 und ein Computerprogrammprodukt gemäß Anspruch 15. Die abhängigen Ansprüche betreffen bevorzugte Ausgestaltungen der Erfindung.
  • Die Erfindung geht von der Grundidee aus, für zumindest manche Strukturen im Dateisystem prozeßspezifische Sichtbarkeitsinformationen zu verwalten, um zu bewirken, daß ein Vorgang, bei dem ein Prozeß eine Struktur im Dateisystem erzeugt oder aus dem Dateisystem löscht, für die anderen Prozesse zumindest bis zum erfolgreichen Abschluß dieses Vorgangs verborgen bleibt. Für die anderen Prozesse wird daher z.B. eine neu angelegte Datei erst dann sichtbar, wenn der vollständige Vorgang des Anlegens der Datei – gegebenenfalls einschließlich des Speicherns von Daten in die Datei – erfolgreich abgeschlossen worden ist, also wenn keine Möglichkeit eines Abbruchs oder Fehlschlags dieses Vorgangs mehr besteht. Fehler durch Zugriffskonflikte können somit zuverlässig vermieden werden.
  • Ein besonderer Vorteil der Erfindung besteht darin, daß – bei geeigneter Implementierung – für die Sichtbarkeitsinformationen nur wenig Speicher benötigt wird. Ferner sind keine aufwendigen Zusatzoperationen – z.B. das Anlegen umfangreicher Sicherungskopien in einem Schattenspeicher oder Rückführpuffer (rollback buffer) – erforderlich.
  • In bevorzugten Ausgestaltungen der Erfindung enthalten die Sichtbarkeitsinformationen zumindest für diejenigen Strukturen des Dateisystems, die gerade angelegt werden oder bei denen der Löschvorgang noch nicht abgeschlossen ist, einen Bezeichner des für den Erzeugungs- oder Löschvorgang zuständigen Prozesses und eine Marke (flag), die angibt, ob es sich um einen Erzeugungs- oder um einen Löschvorgang handelt. In anderen Ausführungsformen können die Sichtbarkeitsinformationen aus einer Marke bestehen, die anzeigt, ob bei einem Zugriffsversuch auf die Struktur, der die Sichtbarkeitsinformationen zugeordnet sind, zunächst eine Sichtbarkeitsüberprüfung erfolgen soll oder nicht. Wenn eine Sichtbarkeitsüberprüfung durchzuführen ist, kann in diesen Ausgestaltungen ein Anhang vorgesehen sein, der angibt, für welchen Prozeß die jeweilige Struktur sichtbar bzw. verborgen ist.
  • In manchen Ausgestaltungen ist vorgesehen, daß Strukturen, denen keine oder keine gültigen Sichtbarkeitsinformationen zugeordnet sind, für alle Prozesse sichtbar sein sollen.
  • In bevorzugten Ausführungsformen der Erfindung werden beim Erzeugen einer neuen Struktur im Dateisystem die Sichtbarkeitsinformationen für diese Struktur so eingestellt, daß die Struktur nur für den erzeugenden Prozeß sichtbar wird. Erst nach einem erfolgreichen Abschluß des Erzeugungsvorgangs – z.B. nach Bestätigung durch einen Commit-Befehl – werden die Sichtbarkeitsinformationen so eingestellt, daß die Struktur allgemein sichtbar wird. Je nach der Art und Bedeutung der Sichtbarkeitsinformationen kann diese Einstellung z.B. dadurch erfolgen, daß die Sichtbarkeitsinformationen gelöscht werden oder ein in ihnen enthaltener Prozeßbezeichner auf einen ungültigen Wert gesetzt wird. Bei einem Abbruch des Vorgangs wird die erzeugte Struktur, die für die anderen Prozesse nie sichtbar war, aus dem Dateisystem gelöscht.
  • Zum Löschen einer Struktur aus dem Dateisystem werden in bevorzugten Ausgestaltungen zunächst nur die Sichtbarkeitsinformationen so eingestellt, daß die Struktur für den die Löschung anfordernden Prozeß verborgen wird, jedoch für alle anderen Prozesse sichtbar bleibt. Erst wenn feststeht, daß die Löschung unwiderruflich durchgeführt werden soll, wird die Struktur tatsächlich aus dem Dateisystem gelöscht. Bei einem Abbruch des Löschvorgangs – wenn also die Struktur auch für den die Löschung anfordernden Prozeß wieder sichtbar werden soll – werden die Sichtbarkeitsinformationen entsprechend eingestellt. Dies kann in manchen Ausgestaltungen dadurch erfolgen, daß die Sichtbarkeitsinformationen gelöscht oder auf einen ungültigen Wert gesetzt werden.
  • Der das Erzeugen oder Löschen der Struktur beinhaltende Vorgang ist in bevorzugten Ausgestaltungen ein atomarer Vorgang, der entweder vollständig ausgeführt oder rückstandsfrei abgebrochen wird. Der Abbruch kann z.B. durch einen auftretenden Fehler oder Spannungsausfall oder durch einen Abort-Befehl ausgelöst werden. Der erfolgreiche Abschluß erfordert in manchen Ausführungsformen eine Bestätigung durch einen Commit-Befehl, während in anderen Ausführungsformen der Vorgang immer dann erfolgreich abgeschlossen wird, wenn kein Fehler auftritt. Der Vorgang kann z.B. eine atomare Transaktion oder ein atomarer Vorgang sein, bei dem zunächst eine Datei neu angelegt wird und dann Daten in dieser Datei gespeichert werden.
  • Allgemein ist die Erfindung im Zusammenhang mit allen Strukturen im Dateisystem einsetzbar, die von nebenläufigen Prozessen – dies können Prozesse des Betriebssystems und/oder eines Anwendungsprogramms sein – angelegt und/oder gelöscht werden können. Solche Strukturen können z.B. Dateien oder Verzeichnisse sein. Es sind auch Ausgestaltungen vorgesehen, in denen nur Dateien als Strukturen im Sinne der Erfindung angesehen werden. Dies schließt Ausgestaltungen ein, bei denen Verzeichnisse im Dateisystem als besondere Dateiart ausgebildet sind.
  • Das erfindungsgemäße Computerprogrammprodukt kann ein körperliches Medium mit gespeicherten Programmbefehlen sein, beispielsweise ein Halbleiterspeicher oder eine Diskette oder eine CD-ROM. Das Computerprogrammprodukt kann jedoch auch ein nicht-körperliches Medium sein, beispielsweise ein über ein Computernetzwerk übermitteltes Signal. In bevorzugten Ausgestaltungen weisen der Datenträger und/oder das Computerprogrammprodukt Merkmale auf, die den oben beschriebenen und/oder den in den abhängigen Verfahrensansprüchen genannten Merkmalen entsprechen.
  • Weitere Merkmale, Vorteile und Aufgaben der Erfindung gehen aus der folgenden genauen Beschreibung eines Ausführungsbeispiels und mehrerer Ausführungsalternativen hervor. Es wird auf die schematischen Zeichnungen verwiesen, in denen zeigen:
  • 1 ein Blockdiagramm mit Funktionseinheiten eines Datenträgers nach einem Ausführungsbeispiel der Erfindung,
  • 2 eine Darstellung des Zugriffs von Prozessen auf ein Dateisystem beim Betrieb des Datenträgers von 1,
  • 3 eine Ablaufdarstellung des Erzeugens einer Datei in dem Datenträger von 1, und
  • 4 eine Ablaufdarstellung des Löschens einer Datei in dem Datenträger von 1.
  • Der in 1 dargestellte Datenträger 10 weist auf einem einzigen Halbleiterchip einen Prozessor 12, einen Speicher 14 und eine Schnittstellenschaltung 16 zur kontaktlosen oder kontaktgebundenen Kommunikation mit einem externen Terminal (in 1 nicht gezeigt) auf. Der Speicher 14 ist in an sich bekannter Weise in mehrere in unterschiedlichen Technologien ausgestaltete Speicherfelder – im vorliegenden Ausführungsbeispiel RAM, ROM und EEPROM – unterteilt.
  • Im Speicher 14 befindet sich Programmcode, der ein Betriebssystem 18 implementiert. Das Betriebssystem 18 ist im vorliegenden Ausführungsbeispiel eine auf den Einsatz im Datenträger 10 zugeschnittene Variante des unter der Marke Linux bekannten Betriebssystems. Weiter enthält der Speicher 14 mindestens ein Anwendungsprogramm 20 sowie ein Dateisystem 22, das Datei- und Verzeichnisstrukturen in einer baumartigen Anordnung aufweist.
  • Wie in 2 gezeigt, laufen beim Betrieb des Datenträgers 10 mehrere Prozesse 24A, 24B, 24C, ... – im folgenden zusammenfassend mit 24x bezeichnet – quasi-parallel ab. Die Prozesse 24x können Systemprozesse des Betriebssystems 18 und/oder Benutzerprozesse des Anwendungsprogramms 20 sein. Jeder der Prozesse 24x weist einen eindeutigen Prozeßbezeichner PID (process identifier) auf; in 2 sind beispielhaft die Prozeßbezeichner "1001", "1002" und "1003" gezeigt. Das Betriebssystem 18 steuert und koordiniert den nebenläufigen Ablauf der Prozesse 24x. Ferner vermögen die Prozesse 24x über das Betriebssystem 18 auf das Dateisystem 22 zuzugreifen. In 2 sind als Strukturen des Dateisystems 22 beispielhaft zwei Verzeichnisse 26A, 26B und zwei Dateien 26C, 26D gezeigt; diese und weitere im Dateisystem 22 enthaltene Strukturen werden im folgenden zusammenfassend mit 26x bezeichnet.
  • Es besteht nun allgemein das Problem, daß bei gleichzeitigen oder fast gleichzeitigen Operationen, die die Prozesse 24x in dem gemeinsam genutzten Dateisystem 22 ausführen, temporäre Inkonsistenzen auftreten können. Dies kann insbesondere dann der Fall sein, wenn ein Prozeß 24x mehrere solche Operationen in einer atomaren Transaktion ausführt. Durch die im folgenden beschriebenen Verfahren wird dieses Problem bei den Operationen des Erzeugens und Löschens von Strukturen 26x im Dateisystem 22 vermieden.
  • 3 stellt einen beispielhaften Ablauf dar, bei dem der Prozeß 24A – Prozeßbezeichner "1001" – in einer erfolgreichen Transaktion eine neue Datei – hier beispielhaft die Datei 26C – anlegt und Daten in diese Datei schreibt. Die senkrechten Pfeile in 3 geben den zeitlichen Ablauf des Vorgangs an; in der mit "Dateisystem" überschriebenen Spalte ist die Abfolge unterschiedlicher Zustände des Dateisystems 22 während des Vorgangs veranschaulicht.
  • Der Ablauf gemäß 3 beginnt mit dem Starten einer neuen Transaktion durch einen Befehl 28, den der Prozeß 24A dem Betriebssystem 18 übermittelt. Weiter gibt der Prozeß 24A einen Befehl 30 zum Erzeugen einer neuen Datei an das Betriebssystem 18 aus. Das Betriebssystem 18 legt daraufhin die neue Datei 26C im Dateisystem 22 an. Hierbei werden der Datei 26C Sichtbarkeitsinformationen 32 zugeordnet, die den Bezeichner PID des befehlsgebenden Prozesses – im vorliegenden Fall den Bezeichner "1001" des Prozesses 24A – und eine Marke M (flag) enthalten. Die Marke M gibt einen Sichtbarkeitsmodus für die Datei 26C an.
  • Der hier beim Anlegen einer Datei verwendete Sichtbarkeitsmodus "1" besagt allgemein, daß der in den Sichtbarkeitsinformationen 32 enthaltene Prozeßbezeichner PID denjenigen Prozeß angibt, für den die Datei sichtbar sein soll. Für alle anderen Prozesse soll die Datei verborgen sein. Ein Sichtbarkeitsmodus "0" würde dagegen aussagen, daß der in den Sichtbarkeitsinformationen 32 enthaltene Prozeßbezeichner PID denjenigen – einzigen – Prozeß angibt, für den die Datei verborgen sein soll. Dieser Sichtbarkeitsmodus "0" wird im Zusammenhang mit dem noch zu beschreibenden Löschen einer Datei verwendet.
  • Im Beispiel von 3 ist also die nach der Ausführung des Befehls 30 erzeugte Datei 26C nur für den Prozeß 24A mit dem Prozeßbezeichner "1001" sichtbar und für alle anderen Prozesse 24B, 24C, ... verborgen. Wenn ein solcher anderer Prozeß 24B, 24C, ... zum jetzigen Zeitpunkt eine Aufstellung der im Dateisystem 22 enthaltenen Strukturen 26x anfordern würde, dann würde die Datei 26C nicht darin enthalten sein. Ebenso würde der andere Prozeß 24B, 24C, ... bei einem Versuch, auf die Datei 26C zuzugreifen, eine Fehlermeldung wegen einer nicht existierenden Datei erhalten.
  • In einem folgenden Befehl 34 schreibt der Prozeß 24A Daten in die neu angelegte Datei 26C. Die Sichtbarkeitsinformationen 32 bleiben dabei unverän dert. Die Datei 26C ist daher nach wie vor nur für den Prozeß 24A sichtbar und für alle anderen Prozesse 24B, 24C, ... verborgen.
  • Wenn der Prozeß 24A die Transaktion mit einem Commit-Befehl 36 bestätigt, wird die erfolgreiche Beendigung der Transaktion dadurch angezeigt, daß der in den Sichtbarkeitsinformationen 32 enthaltene Prozeßbezeichner PID auf einen ungültigen Wert – z.B. den Wert "0" – gesetzt wird. Die Sichtbarkeitsinformationen 32 sind somit insgesamt ungültig, was besagt, daß keine Einschränkungen hinsichtlich der Sichtbarkeit der Datei 26C mehr bestehen. Alle Prozesse 24x können nun die Datei 26C sehen und uneingeschränkt auf sie zugreifen.
  • Wird die Transaktion nicht bestätigt, sondern – z.B. in Reaktion auf einen Abort-Befehl oder aufgrund eines Fehlers – abgebrochen, so wird die Datei 26C aus dem Dateisystem 22 gelöscht. Dies kann unmittelbar in Reaktion auf den Abort-Befehl oder beim nächsten Hochfahren des Datenträgers 10 oder zu einem anderen geeigneten Zeitpunkt erfolgen. Bis auf den die Transaktion ausführenden Prozeß 24A hat in diesem Fall kein anderer Prozeß 24B, 24C, ... zu irgendeinem Zeitpunkt Kenntnis von der temporär angelegten Datei 26C erlangen können.
  • In dem beispielhaften Ablauf von 3 sind vier voneinander getrennte Befehle 28, 30, 34, 36 gezeigt. Es versteht sich, daß diese Befehle in Ausführungsalternativen ganz oder teilweise miteinander kombiniert werden können. So können beispielsweise die Befehle 30 und 34 zu einem einzigen Befehl zusammengefaßt werden, der Daten in eine neu anzulegende Datei schreibt. In weiteren Ausführungsalternativen kann dieser Befehl – oder der in 3 gezeigte Befehl 30 – implizit den Beginn einer neuen Transaktion anzeigen, so daß der Befehl 28 entfallen kann. Ferner kann in manchen Ausgestaltungen auf eine explizite Transaktionsbestätigung durch einen Commit-Befehl verzichtet werden.
  • 4 veranschaulicht den Ablauf eines Vorgangs, bei dem eine existierende Datei im Dateisystem 22 – hier beispielhaft die Datei 26D – gelöscht wird. Der Ausgangszustand für diesen Ablauf ist, daß die Datei 26D im Dateisystem 22 enthalten und für alle Prozesse 24x sichtbar ist. Dies kann z.B. durch fehlende oder ungültige Sichtbarkeitsinformationen 32 – im vorliegenden Beispiel durch einen ungültigen Prozeßbezeichner PID mit dem Wert "0" – angezeigt werden.
  • Mit den Befehlen 38 und 40 fordert der Prozeß 24A vom Betriebssystem 18 den Start einer neuen Transaktion und das Löschen der Datei 26D an. Das Betriebssystem 18 löscht die Datei 26D zu diesem Zeitpunkt jedoch noch nicht aus dem Dateisystem 22, sondern verbirgt sie nur vor dem die Löschung anfordernden Prozeß 24A. Hierzu werden in die Sichtbarkeitsinformationen 32 der Wert "1001" als Prozeßbezeichner PID des die Löschung anfordernden Prozesses 24A und der Wert "0" als Sichtbarkeitsmodus M eingetragen; die Bedeutung dieses Werts für den Sichtbarkeitsmodus M wurde oben bereits erläutert. Die Datei 26D ist damit für alle anderen Prozesse 24B, 24C,... nach wie vor sichtbar.
  • Das Betriebssystem 18 veranlaßt erst in Reaktion auf den Erhalt eines Commit-Befehls 42 zur Transaktionsbestätigung die tatsächliche Löschung der Datei 26D aus dem Dateisystem 22. Erst zu diesem Zeitpunkt können die anderen Prozesse 24B, 24C, ... Kenntnis von der – nun erfolgreich abgeschlossenen – Transaktion erlangen.
  • Wird die Löschtransaktion nicht erfolgreich abgeschlossen, sondern abgebrochen, so verbleibt die Datei 26D im Dateisystem 22. Die Sichtbarkeitsinformationen 32 werden dann wieder so eingestellt – z.B. durch Setzen des Prozeßbezeichners PID auf den ungültigen Wert "0" – daß die Datei 26D für alle Prozesse 24x sichtbar ist. Bei einem Transaktionsabbruch durch einen Abort-Befehl erfolgt dies unmittelbar in Reaktion auf diesen Befehl; bei einem Transaktionsabbruch durch einen Spannungsausfall werden die Sichtbarkeitsinformationen 32 beim nächsten Neustart des Datenträgers 10 entsprechend zurückgesetzt. Insgesamt war in diesem Fall die Datei 26D während des gesamten Vorgangs für alle anderen Prozesse 24B, 24C, ... – also alle Prozesse außer dem den Löschbefehl 40 abgebenden Prozeß 24A – ununterbrochen sichtbar.

Claims (15)

  1. Verfahren zum Verwalten eines Dateisystems (22) in einem tragbaren Datenträger (10), wobei der tragbare Datenträger (10) ein Betriebssystem (18) aufweist, welches nebenläufige Prozesse (24x) unterstützt, die auf das Dateisystem (22) zuzugreifen vermögen, und wobei prozeßspezifische Sichtbarkeitsinformationen (32) für zumindest manche Strukturen (26x) im Dateisystem (22) verwaltet werden, um zu bewirken, daß ein Vorgang, bei dem ein Prozeß (24A) eine Struktur (26x) im Dateisystem (22) erzeugt oder aus dem Dateisystem (22) löscht, für die anderen Prozesse (24B, 24C) bis zum erfolgreichen Abschluß dieses Vorgangs verborgen bleibt.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß der Prozeß (24A) bei dem Vorgang die Erzeugung einer neuen Struktur (26x) im Dateisystem (22) anfordert, und daß daraufhin die Struktur (26x) im Dateisystem (22) erzeugt wird, aber die Sichtbarkeitsinformationen (32) für diese Struktur (26x) so eingestellt werden, daß die Struktur (26x) nur für den erzeugenden Prozeß (24A) sichtbar wird.
  3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß nach dem erfolgreichen Abschluß des Vorgangs die Sichtbarkeitsinformationen (32) für die erzeugte Struktur (26x) so eingestellt werden, daß die Struktur (26x) für alle Prozesse (24x) sichtbar wird.
  4. Verfahren nach Anspruch 2 oder Anspruch 3, dadurch gekennzeichnet, daß bei einem Abbruch des Vorgangs die Struktur (26x) aus dem Dateisystem (22) gelöscht wird.
  5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß der Prozeß (24A) bei dem Vorgang das Löschen einer bestehenden Struktur (26x) aus dem Dateisystem (22) anfordert, und daß daraufhin die Sichtbarkeitsinformationen (32) für diese Struktur (26x) so eingestellt werden, daß die Struktur (26x) nur für den die Löschung anfordernden Prozeß (24A) verborgen wird, während die Struktur (26x) im Dateisystem (22) verbleibt.
  6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, daß nach dem erfolgreichen Abschluß des Vorgangs die Struktur (26x) aus dem Dateisystem (22) gelöscht wird.
  7. Verfahren nach Anspruch 5 oder Anspruch 6, dadurch gekennzeichnet, daß bei einem Abbruch des Vorgangs die Sichtbarkeitsinformationen (32) für die Struktur (26x) so eingestellt werden, daß die Struktur (26x) wieder für alle Prozesse (24x) sichtbar wird.
  8. Verfahren nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, daß die Sichtbarkeitsinformationen (32) für zumindest manche Strukturen (26x) im Dateisystem (22) einen Bezeichner (PID) eines Prozesses (24A) und eine Information (M) darüber enthalten, ob die Struktur (26x) für diesen Prozeß (24A) sichtbar und für alle anderen Prozesse (24B, 24C) verborgen oder für diesen Prozeß (24A) verborgen und für alle anderen Prozesse (24B, 24C) sichtbar sein soll.
  9. Verfahren nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, daß Strukturen (26x) des Dateisystems (22), denen keine oder keine gültigen Sichtbarkeitsinformationen (32) zugeordnet sind, für alle Prozesse (24x) sichtbar sind.
  10. Verfahren nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, daß der Vorgang eine Transaktion ist, die entweder abgebrochen oder durch eine Bestätigung erfolgreich abgeschlossen werden kann.
  11. Verfahren nach einem der Ansprüche 1 bis 10, dadurch gekennzeichnet, daß der Vorgang das Speichern von Daten in einer neu anzulegenden Datei (26C, 26D) ist.
  12. Verfahren nach einem der Ansprüche 1 bis 11, dadurch gekennzeichnet, daß die Struktur eine Datei (26C, 26D) oder ein Verzeichnis (26A, 26B) im Dateisystem (22) ist.
  13. Verfahren nach einem der Ansprüche 1 bis 12, dadurch gekennzeichnet, daß der Datenträger (10) ein UNIX-artiges Betriebssystem (22), insbesondere ein Linux-Betriebssystem aufweist.
  14. Tragbarer Datenträger (10), insbesondere Chipkarte oder Chipmodul, mit einem Prozessor (12) und mindestens einem Speicher (14), wobei der Speicher (14) Programmbefehle enthält, die dazu eingerichtet sind, den Prozessor (12) zur Ausführung eines Verfahrens nach einem der Ansprüche 1 bis 13 zu veranlassen.
  15. Computerprogrammprodukt, das maschinenlesbare Programmbefehle für einen Prozessor (12) eines tragbaren Datenträgers (10) aufweist, die dazu eingerichtet sind, den Prozessor (12) zur Aus führung eines Verfahrens nach einem der Ansprüche 1 bis 13 zu veranlassen.
DE102004019683A 2004-04-22 2004-04-22 Verwalten eines Dateisystems in einem tragbaren Datenträger Ceased DE102004019683A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102004019683A DE102004019683A1 (de) 2004-04-22 2004-04-22 Verwalten eines Dateisystems in einem tragbaren Datenträger
PCT/EP2005/004182 WO2005104018A2 (de) 2004-04-22 2005-04-19 Verwalten eines dateisystems in einem tragbaren datenträger
EP05740488A EP1741029A2 (de) 2004-04-22 2005-04-19 Verwalten eines dateisystems in einem tragbaren datenträger

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102004019683A DE102004019683A1 (de) 2004-04-22 2004-04-22 Verwalten eines Dateisystems in einem tragbaren Datenträger

Publications (1)

Publication Number Publication Date
DE102004019683A1 true DE102004019683A1 (de) 2005-11-17

Family

ID=35160225

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102004019683A Ceased DE102004019683A1 (de) 2004-04-22 2004-04-22 Verwalten eines Dateisystems in einem tragbaren Datenträger

Country Status (3)

Country Link
EP (1) EP1741029A2 (de)
DE (1) DE102004019683A1 (de)
WO (1) WO2005104018A2 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008051575A1 (de) 2008-10-14 2010-04-15 Giesecke & Devrient Gmbh Verfahren und Vorrichtung zur Verwaltung eines Datenspeichers
DE102012106405A1 (de) 2012-07-17 2014-01-23 Kirchhoff Automotive Deutschland Gmbh Verfahren zum Herstellen eines umgeformten und zumindest bereichsweise gehärteten Metallblechbauteils sowie Presshärtwerkzeug zum Herstellen eines solchen Bauteiles

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5297283A (en) * 1989-06-29 1994-03-22 Digital Equipment Corporation Object transferring system and method in an object based computer operating system
GB9126779D0 (en) * 1991-12-17 1992-02-12 Int Computers Ltd Security mechanism for a computer system
US5878206A (en) * 1997-03-25 1999-03-02 Hewlett-Packard Company Commit scope control in hierarchical information processes
DE19835177A1 (de) * 1998-08-04 2000-02-10 Alcatel Sa Verfahren, Module und Vermittlungsstelle zum Kennzeichnen von Prozessen sowie von deren Daten und Betriebsmitteln
US6484185B1 (en) * 1999-04-05 2002-11-19 Microsoft Corporation Atomic operations on data structures
FR2820847B1 (fr) * 2001-02-12 2003-05-30 Gemplus Card Int Controle d'acces de sujets a des objets notamment dans une carte a microcontroleur

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Berman, A. et al.: TRON: Process-specific file protection for the UNIX operating system. In: Pro- ceedings of the 1995 USENIX Winter Technical Con- ference (New Orleans), pp. 165-175 (http://www. selberg.org/homes/speed/papers/tron/tron.pdf) S. 1-16 (recherchiert am 02.12.04)
Berman, A. et al.: TRON: Process-specific file protection for the UNIX operating system. In: Pro-ceedings of the 1995 USENIX Winter Technical Con- ference (New Orleans), pp. 165-175 (http://www. selberg.org/homes/speed/papers/tron/tron.pdf) S. 1-16 (recherchiert am 02.12.04) *
SLE 88CX720P Prelimminary Product Information 06.03, Infineon Technologies AG, 2003, S.1-8 (http://www.infineon.com/cmc_upload/documents/028/ 834/SPI_SLE88CX720P0603.pdf)(recherchiert am 02.12.04)
SLE 88CX720P Prelimminary Product Information 06.03, Infineon Technologies AG, 2003, S.1-8 (http://www.infineon.com/cmc_upload/documents/028/834/SPI_SLE88CX720P0603.pdf)(recherchiert am 02.12.04) *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008051575A1 (de) 2008-10-14 2010-04-15 Giesecke & Devrient Gmbh Verfahren und Vorrichtung zur Verwaltung eines Datenspeichers
EP2177988A2 (de) 2008-10-14 2010-04-21 Giesecke & Devrient GmbH Verfahren und Vorrichtung zur Verwaltung eines Datenspeichers
DE102012106405A1 (de) 2012-07-17 2014-01-23 Kirchhoff Automotive Deutschland Gmbh Verfahren zum Herstellen eines umgeformten und zumindest bereichsweise gehärteten Metallblechbauteils sowie Presshärtwerkzeug zum Herstellen eines solchen Bauteiles

Also Published As

Publication number Publication date
EP1741029A2 (de) 2007-01-10
WO2005104018A2 (de) 2005-11-03
WO2005104018A3 (de) 2006-04-20

Similar Documents

Publication Publication Date Title
DE19681256C2 (de) Ausführung von Anwendungen am Platz vom Speicher
DE112005002402B4 (de) Hybride Hardware-/Software-Implementierung eines Transaktionsspeicherzugriffs
DE102012216022B4 (de) Verwaltung einer Zeitpunktkopie-Beziehung für platzsparende Datenträger
DE69838756T2 (de) Die verarbeitung von eingabe/ausgabeanforderungen von mehreren treibern ermöglichen dateisystem-primitivroutine in einem mehrschicht-treiber-e/a-system
DE112011100112B4 (de) Pufferspeicher-platte in blitzkopie-kaskade
DE4435751B4 (de) Dateiname- und Verzeichnis- Erfassungsverfahren zur Verwendung mit einem Betriebssystem
DE4220198C2 (de) Transaktionsverarbeitungsverfahren für einen digitalen Computer und Transaktionsverarbeitungssystem
US6651073B1 (en) Method and apparatus for insuring database data integrity without data recovery logging
US6185699B1 (en) Method and apparatus providing system availability during DBMS restart recovery
DE4216871C2 (de) Ausführungsordnen zum Sicherstellen der Serialisierbarkeit verteilter Transaktionen
US4498145A (en) Method for assuring atomicity of multi-row update operations in a database system
DE69738101T2 (de) Verwaltung des Zugangs zu Objekten mit Hilfe von Referenzen mit drei Zuständen
DE60306663T2 (de) Verfahren, Vorrichtungen und Programme zur Regelung des Zugriffs auf Datenobjekte unter Verwendung von Sperren
DE60025043T2 (de) Vorrichtung und verfahren mit verwendung von anwendungabhängigkeitsinformation für eine sicherungskopieherstellung in einem computersystem
DE19810802A1 (de) Störungsfreies Aktualisieren von Daten
EP3084638A1 (de) Posix-kompatibles dateisystem, verfahren zum erzeugen einer dateiliste und speichervorrichtung
WO1998014870A1 (de) Koordinations-system
JPS633341B2 (de)
US20080005111A1 (en) Atomic transaction file manager
DE602004007925T2 (de) Verwalten einer beziehung zwischen einem zielvolumen und einem quellenvolumen
WO2002021327A2 (de) Verfahren und computerprogramm zur erzeugung von dateien für ein datenbanksystem für ein betriebswirtschaftliches anwendungsprogramm
DE102021125630A1 (de) Datensynchronisation in einem datenanalysesystem
DE112010004185B4 (de) Synchronisieren einer Datenbank mit datenbankfremden Ressourcen
EP1741029A2 (de) Verwalten eines dateisystems in einem tragbaren datenträger
DE10059006A1 (de) Verfahren und System zur sicheren Verwaltung von Dateien in nichtflüchtigen Speichern

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R016 Response to examination communication
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final

Effective date: 20120503