DE3743890C2 - - Google Patents
Info
- Publication number
- DE3743890C2 DE3743890C2 DE3743890A DE3743890A DE3743890C2 DE 3743890 C2 DE3743890 C2 DE 3743890C2 DE 3743890 A DE3743890 A DE 3743890A DE 3743890 A DE3743890 A DE 3743890A DE 3743890 C2 DE3743890 C2 DE 3743890C2
- Authority
- DE
- Germany
- Prior art keywords
- entry
- file
- entries
- drive
- files
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9017—Indexing; Data structures therefor; Storage structures using directory or table look-up
- G06F16/902—Indexing; Data structures therefor; Storage structures using directory or table look-up using more than one table in sequence, i.e. systems with three or more layers
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
Description
Die Erfindung bezieht sich auf ein Verfahren zum
Zugriff zu Dateien nach dem Oberbegriff des
Anspruchs 1.
Die Erfindung wurde entworfen als eine Verbesserung
eines bekannten, kommerziell verfügbaren Systems von
einem Typ, in welchem Hardware, wie z. B. ein IBM PC,
unter einem Plattenbetriebssystem (Disk Operating
System, DOS) betrieben wird, und in welchem Dateien
auf Festplatten unter Verwendung von Inhaltsverzeichnissen
mit Baumstruktur und Pfadnamen gespeichert
werden. Die Information ist auf einer Platte gemäß
eines vorbestimmten Musters von Zylindern und Sektoren
gespeichert, wobei jeder Sektor eine vorbestimmte Zahl
von Bytes enthält. Um zu einem gewünschten Sektor
zuzugreifen, muß der Lese/Schreib-Kopf zunächst zu dem
Zylinder bewegt werden, der den gewünschten Sektor
enthält, und die Platte muß am Kopf vorbei bewegt
werden, bis der gewünschte Sektor erreicht ist, dann
wird der Sektor gelesen und sein Inhalt in einem
Puffer gespeichert. Betrachtet man den gesamten
Zeitaufwand, der notwendig ist, um auf Daten einer
Platte zuzugreifen, dann sieht man, daß die hauptsächliche
Verzögerung durch die physische Bewegung des
Kopfes zustande kommt. Wo eine Anwendung eine große
Eingabe/Ausgabe (E/A) Aktivität erfordert, ist es
wünschenswert, die Kopfbewegung soweit wie möglich zu
reduzieren.
Dateien werden auf der Platte in einer Gruppe
(Cluster) oder in Gruppen von Sektoren gespeichert,
wobei jedes Cluster eine vorbestimmte Zahl von Sektoren
umfaßt. Jedes Cluster hat eine eindeutige, eigene
Startadresse. Die Orte, an denen die Dateien auf einer
Platte gespeichert sind, werden mittels einer Dateizuordnungstabelle
(FAT, File Allocation Table), die
ihrerseits auf der Platte gespeichert ist, registriert.
Jede Position in der FAT ist einem anderen
Cluster zugeordnet und enthält einen Eintrag, welcher
besagt, daß keine weiteren Cluster mit einer Datei
verbunden sind, oder welcher auf das nächste Cluster
einer Datei zeigt. Kleine Dateien sind in einem
einzigen Cluster enthalten. Lange Dateien sind in
Clustern enthalten, die miteinander verkettet sind.
Dateien werden durch die Benutzung von Inhaltsverzeichnissen
mit Baumstruktur aufgefunden. Jede Platte
enthält ein Stamm(inhalts)verzeichnis, viele Unter(inhalts)verzeichnisse
und eine Vielzahl von
Dateien. Eine gegebene Datei mag sich am Ende eines
Pfades, der durch das Stammverzeichnis und mehrere
Unterverzeichnisse geht, befinden. Jedes Verzeichnis
enthält Einträge über zusätzliche Verzeichnisse und
Dateien. Eine spezielle Datei kann durch die Angabe
von Laufwerk, Pfad und Dateinamen identifiziert
werden; z. B. C:/Verz 1/Verz 2/Datei 1 identifiziert einen
Dateinamen Datei 1, der sich in einem Verzeichnis Verz 2
befindet, welches ein Unterverzeichnis von Verz 1 ist
und darin aufgeführt wird, wobei Verz 1 ein Unterverzeichnis
vom Stammverzeichnis des Laufwerks C ist und
darin aufgeführt wird. Die Struktur solcher baumartiger
Inhaltsverzeichnisse ist z. B. in dem Buch
"Data-Base Organisation" von J. Martin, 2. Auflage,
1977 beschrieben; zum schnellen Durchsuchen werden die
Inhaltsverzeichnisse ganz oder abschnittsweise in den
Hauptspeicher des angeschlossenen Rechners geladen.
Nach dem Abschluß (Close) einer Datei sind diese
Indices im Hauptspeicher nicht mehr verfügbar.
Wenn eine Datei eröffnet wird, ist es notwendig, auf
das Laufwerk zuzugreifen und durch alle Verzeichnisse
zu suchen, die in dem Pfad angegeben sind, um das
Verzeichnis zu finden, das den Eintrag des Dateinamens
enthält. In diesem letzteren Verzeichnis werden alle
Einträge und Dateinamen gesucht, bis der gewünschte
Dateiname gefunden ist. Wenn eine Datei vorher noch
nicht eröffnet wurde, dann wird es keinen Eintrag
geben und darum müssen Einträge gemacht werden, bevor
eine Datei benutzt werden kann. Wenn die Datei vorher
eröffnet wurde, dann ist im Eintrag des Verzeichnisses,
in welchem der Dateiname aufgeführt ist, ein
Index in der FAT eingetragen, der dem Cluster entspricht,
bei dem die Datei beginnt. Während einer
solchen Eröffnungsprozedur müssen physische E/A
Aktivitäten vorgenommen werden, um auf das Stammverzeichnis
und jedes Unterverzeichnis zuzugreifen, und
um durch eine lange Liste von Dateinamen zu suchen. In
einigen Anwendungen müssen dieselben Dateien mehrfach
im Lauf eines gegebenen Programms eröffnet werden,
wobei ein relativ großer Zeitverlust entstehen kann,
weil jedes Eröffnen mit viel E/A Aktivität verbunden
ist.
Die Erfindung, wie sie in den Ansprüchen gekennzeichnet
ist, stellt sich daher die Aufgabe, ein Verfahren
gemäß dem Oberbegriff von Anspruch 1 bereitzustellen,
bei dem die mit dem Eröffnen einer Datei verbundene
physische E/A Aktivität sehr reduziert wird und
eine anfänglich bereits einmal eröffnete Datei später
schnell eröffnet werden kann.
Diese Aufgabe wird durch die in Anspruch 1 genannten
Maßnahmen gelöst. Die Unteransprüche betreffen weitere
Ausgestaltungen der Erfindung.
Kurz gesagt wird diese Aufgabe gelöst, indem in einem
Cachebereich des Hauptspeichers die Geschichte der
Dateibenutzungen erzeugt und aufrechterhalten (gespeichert)
wird. Jedesmal wenn auf ein Verzeichnis oder
eine Datei zugegriffen werden soll, dann wird diese
Geschichte überprüft, und wenn sich die zum Eröffnen
erforderliche Information im Cache befindet, dann wird
die Geschichte direkt benutzt, ohne daß ein weiterer
Suchprozeß über die Baumstruktur nach einem Verzeichnis
oder Dateinamen notwendig wäre, der mit physischen
E/A Aktivitäten verbunden sein könnte. Durch Festhalten
in einem Cachebereich des Hauptspeichers wird auf
solche Informationen mit den hohen Geschwindigkeiten
des Hauptspeichers zugegriffen, und es sind damit
nicht die niedrigeren Geschwindigkeiten der physischen
E/A Aktivität eines Plattenzugriffs verbunden.
Es ist ein Vorteil des erfindungsgemäßen Verfahrens,
daß der Zeitverlust beim Eröffnen einer früher schon
einmal eröffneten Datei sehr klein ist. Es ist ein
weiterer Vorteil, daß beim Eröffnen einer Datei nicht
mehr durch alle Verzeichnisse eines Plattenlaufwerks
und durch viele Dateinamen gesucht werden muß, wenn zu
dieser Datei kurz vorher zugegriffen wurde. Diese
Vorteile gelten insbesondere auch für verschachtelte
Dateien.
Im folgenden Ausführungsbeispiel wird auf die Abb. 1
bis 9 Bezug genommen. Hierbei bedeuten:
Fig. 1 ein schematisches Diagramm, in welchem
in allgemeiner Weise die Beziehung der Erfindung
zur Umgebung oder zum Stand der
Technik, in welchem das erfindungsgemäße
Verfahren ausgeführt wird, dargestellt ist;
Fig. 2 ein Flußdiagramm der allgemeinen
Schritte der gemäß einem Ausführungsbeispiel der Erfindung, die in Antwort auf
eine Benutzeranforderung vorgenommen werden;
Fig. 3 ein Flußdiagramm für die Anzahl von
verschiedenen Unterprozeduren aus den
Hauptprozeduren;
Fig. 4 ein Flußdiagramm der Prozedur
"Nachschlagen";
Fig. 5 ein Flußdiagramm der Prozedur
"Einfügen";
Fig. 6 ein Flußdiagramm der Prozedur
"Benutzeranforderung löschen";
Fig. 7 ein Flußdiagramm der Prozedur "Löschen";
Fig. 8 ein Flußdiagramm der Prozedur
"Fortschreiben";
Fig. 9 ein Flußdiagramm, das zeigt, wie DOS
verschiedene Prozeduren
aufrufen kann.
Im folgenden wird auf Fig. 1 Bezug genommen. Ein
Datenverarbeitungssystem 10, wie z. B. ein IBM PC AT,
enthält einen Prozessor 12, der über eine Datensammelleitung
(Bus) 14 mit einem Hauptspeicher 16 und
einer Plattensteuereinheit 18 verbunden ist. Die
Plattensteuereinheit ihrerseits ist mit einem Plattenlaufwerk
20 verbunden, welches eine Platte 22 enthält,
die ein übliches Speichermedium zur Aufzeichnung von
Informationsbits hat. Während des Betriebs des Systems
10 werden DOS Prozeduren 24 in den Hauptspeicher 16
geladen oder sind dort resident. Diese Prozeduren
werden hauptsächlich dazu benutzt, um den Zugriff zu
den Informationen auf der Platte 22 zu steuern. Zu DOS
gehören Systempuffer 26, in welche oder über welche
Informationen zwischen der Platte 22 und dem Hauptspeicher
16 in der üblichen Art und Weise übertragen
werden.
Darüber hinaus wird ein Satz von Prozeduren mit Namen
"Schnell-Eröffnen" 28, die dem Betrieb des Cache 30
"Schnell-Eröffnen" zugeordnet sind, in den Hauptspeicher
16 geladen und verbleiben resident in ihm. Die
Details dieser Prozeduren werden weiter unten beschrieben.
Wenn es mehr als ein Laufwerk in dem System
gibt, dann gibt es eine entsprechende Anzahl von
Caches 30, einen für jedes Laufwerk. Die Platte 22
selbst wird so formatiert, so daß sie eine Dateizuordnungstabelle
(FAT) 32 und ein Stamminhaltsverzeichnis
34 enthält. In Fig. 1 ist auch ein Beispiel einer
Dateienstruktur dargestellt, in welcher Datei 40 mit
Namen Datei 1 in einem Unterverzeichnis 38 mit Namen
Verz 2 enthalten ist, welches seinerseits ein Unterverzeichnis
von Unterverzeichnis 36 mit Namen Verz 1 ist,
das ein Unterverzeichnis des Stammverzeichnisses 34
ist. Ohne Installation der Prozedur Schnell- Eröffnen
28 arbeitet das System in der üblichen bekannten Art
und Weise. Die Prozedur Schnell-Eröffnen 28 wird installiert,
indem verschiedene Variable, die weiter
unten beschrieben werden, initialisiert werden, und
sie wird danach beendet, verbleibt aber resident im
Hauptspeicher 16, um bei Bedarf für die Benutzung
verfügbar zu sein.
Wie bereits erwähnt, gibt es einen Cache 30 für jedes
Plattenlaufwerk im System. Jeder Cache enthält einen
Informationsblock, der als Kopf des Laufwerkscaches
bekannt ist. Ein solcher Kopf enthält verschiedene
Felder, deren Bedeutung in Tabelle 1 angegeben ist.
Feld | |
Bedeutung | |
1 | |
Kopf der LRU-Kette von diesem Laufwerk | |
2 | Abstand (Offset) zum letzten Eintrag der LRU-Kette |
3 | Zeiger zum ersten Kind in der Kette der Einträge |
4 | Zeiger zum Kopf des nächsten Laufwerkscaches |
5 | Laufwerkskennzeichnung |
Darüber hinaus sind in jedem Cache 30 eine Anzahl von
Verzeichnis- und Dateieinträgen gespeichert, von denen
jeder die Informationsfelder enthält, die in Tabelle 2
aufgeführt sind. Diese Einträge bilden eine verkettete
Datenstruktur, die weiter unten ausführlicher beschrieben
wird. Die Größe des Caches 30 wird durch die
gewünschte Anzahl von Einträgen bestimmt. Diese Anzahl
kann gewählt werden durch einen vom System bestimmten
Standardwert oder durch den Benutzer, der die Anzahl
Feld | |
Bedeutung | |
1 | |
Zeiger zum nächsten LRU-Eintrag | |
2 | Zeiger zum nächsten MRU-Eintrag |
3 | Zeiger zum Kind |
4 | Zeiger zum Mitkind |
5 | Zeiger zum vorherigen Knoten |
6 | Verzeichnis/Datei-Information |
der Einträge wählt. Normalerweise sollte die vom
Benutzer gewählte Anzahl größer als die tiefste
Verschachtelung der Pfadeinträge in diesem Laufwerk
sein.
Wie man erkennt, werden die Einträge in einer Kette so
verwaltet, daß, wenn Cache 30 mit Einträgen voll ist
und ein neuer Eintrag hinzugefügt werden soll, dieser
neue Eintrag den am längsten nicht mehr angesprochenen
(Least Recently Used, LRU) Eintrag im Cache ersetzt.
So werden die Felder 1 und 2 gebraucht, um die Einträge
gemäß des LRU-, MRU- (Most Recently Used, zuletzt
angesprochen) Konzepts zu verketten. Jeweils ein
Eintrag wird für jede eröffnete Datei und für jedes
Unterverzeichnis, das in dem Pfad zu dieser Datei
liegt, hinzugefügt. Zwei Dateien oder Verzeichnisse,
oder Kombinationen davon, im selben Unterverzeichnis
werden als auf der gleichen Stufe befindlich betrachtet
und als "Mitkinder" bezeichnet. Jeder Eintrag, der
ein Unterverzeichnis eines anderen oder eine Datei
ist, wird "Kind" genannt. Für Suchzwecke werden die
Einträge in dem Cache durch die Zeigerfelder 3 bis 5
in einer Baumstruktur angeordnet. Feld 6 enthält jene
Information, die zum üblichen Verzeichniseintrag
gehört, der auf dem Plattenmedium enthalten ist, mit
dem Unterschied, daß diese Information in das Feld 6
des Namenseintrages eingefügt wird und darum im
Hauptspeicher resident ist. Auf solche Informationen
kann deshalb schnell zugegriffen werden, wenn es notwendig
ist, eine Datei zu eröffnen, für die ein
entsprechender Eintrag im Cache 30 vorhanden ist. Die
Informationen für eine Datei sind Dateiname und
Erweiterung, Attribute, Zeit des letzten Schreibens,
Datum des letzten Schreibens, das erste Cluster der
Datei und die Dateigröße.
Im folgenden wird Bezug genommen auf Fig. 2. Wenn die
Anwendung oder das Benutzerprogramm eine Datei eröffnen
will, dann wird der bekannte DOS-Aufruf "Unterbrechung
(Interrupt) 21 Hex" für die Eröffnung einer
Datei benutzt. Ein solcher Aufruf geht zu DOS 24 und
das Schnell-Eröffnen ist, wie vorhin angezeigt, so
installiert, um eine solche Unterbrechung abzufangen
und darauf zu reagieren. Die erste Entscheidung
besteht natürlich darin, zu bestimmen, ob das
Schnell-Eröffnen bereits installiert ist oder nicht;
dies wird in Schritt 52 getan. Wenn nicht, dann
schreitet die Prozedur voran, gemäß des im Stand der
Technik bekannten Plattenzugriffschrittes 54, um jedes
Unterverzeichnis und die Datei in der bekannten Weise
aufzufinden; danach kehrt Schritt 56 zum Benutzer oder
zur Anwendung zurück. Wenn das Schnell-Eröffnen
installiert ist, dann schlägt Schritt 58 die Anforderung
in einer Weise aus, die ausführlicher weiter
unten beschrieben werden soll. Wenn es während des
Prozesses einen Fehler gab, verzweigt Schritt 60 nach
54 und der Prozeß schreitet gemäß dem
Stand der Technik voran. Wenn es keinen Fehler gab,
bestimmt Schritt 62, ob der Pfad teilweise oder
vollständig gefunden wurde. Wenn er nicht teilweise
gefunden wurde, d. h. wenn der ganze Pfad und der
Dateiname gefunden wurde, dann wird in Schritt 56
dieselbe Information an den Benutzer zurückgegeben wie
durch den Schritt 54. Wenn die Information nur teilweise
gefunden wurde, dann greift Schritt 64,
beginnend bei der Stelle der gefundenen Information,
auf die Platte zu, um die restlichen Teile des Pfades
und den Dateinamen aufzufinden. Jeder Teil wird in
Schritt 66 eingefügt, und Schritt 68 veranlaßt, daß
der Prozeß ab Schritt 64 wiederholt wird, bis das Ende
des Pfads oder der Dateiname erreicht wird, woraufhin
die entsprechende Information an den Benutzer zurückgegeben
wird.
Im folgenden wird Bezug genommen auf Fig. 3. Der
zentrale Teil der Prozedur ist bekannt als "Hauptprozedur",
und er wird benutzt, um zu entscheiden,
welche von 4 Unterprozeduren benutzt werden sollen.
Die Unterprozeduren sind bezeichnet als "Nachschlagen",
"Einfügen", "Löschen", bzw. "Fortschreiben".
Diese verschiedenen Prozeduren können z. B. dadurch
aufgerufen werden, daß verschiedene, ihnen entsprechende
Nummern in eines der Prozessorregister eingesetzt
werden. In jedem Fall entscheidet Schritt 70, ob
es eine Nachschlagen-Operation ist, die Schritte 72,
74 und 76 entscheiden in ähnlicher Weise, ob es eine
Einfügen-, Löschen- bzw. Fortschreiben-Operation ist.
Wenn keine dieser Operationen aufgerufen ist, wird
eine Fehlermeldung zurückgegeben. Diese verschiedenen
Unterprozeduren werden mit Bezug auf die ihnen entsprechenden
verschiedenen Figuren beschrieben.
Im folgenden wird Bezug genommen auf Fig. 4. In der
Prozedur "Nachschlagen" findet Schritt 78 zunächst
denjenigen Cache 30, der dem angesprochenen Laufwerk
zugeordnet ist. Schritt 80 setzt die LRU-Kette aus
dem Vor-LRU-Stapelspeicher. Dieser Stapelspeicher ist
ein logischer Stapelspeicher, der benutzt wird, um das
entsprechend einem Baum strukturierte Unterverzeichnis
aufzunehmen und dabei die LRU-Kette aufrechtzuerhalten.
Als nächstes bildet Schritt 82 den Startpunkt einer
Schleife, in welcher der jetzige (current, gerade
angesprochene) Knoten ein Zeiger ist, welcher anfangs
so gesetzt wird, daß er auf den Kopf des
Laufwerkscaches zeigt, und welcher danach so gesetzt
wird, daß er auf den Eintrag des jetzigen Knotens
zeigt. Die Variable "jetziges Mitkind" wird auf 0
gesetzt, und dann wird das Verzeichnis oder der
Dateinamen gelesen. Das Ende des Pfades oder der
Dateiname wird dadurch bestimmt, daß der Ascii-Wert 0
gefunden wird, und Schritt 84 entscheidet dann, ob das
Ende erreicht wurde. Wenn es nicht erreicht wurde, was
gewöhnlich der Fall sein wird, wenn eine Suche zum
ersten Mal beginnt, dann findet Schritt 86 üblicherweise
einen Eintrag des Kindes des jetzigen Knotens,
wobei der Zeiger zum Kind des jetzigen Eintrags
benutzt wird. Schritt 88 schaut, ob es keine weiteren
Kinder gibt, d. h. ob der Eintrag das letzte Kind in
der Folge ist. Diese Tatsache würde durch eine -1 in
dem Feld des Kindes angezeigt. Der gewünschte Name
wird dann mit dem Dateinamen des Kindes verglichen.
Wenn ein solcher Vergleich, als Resultat des Schrittes
90, eine Übereinstimmung feststellt, dann erzeugt
Schritt 92 den Vor-LRU-Stapelspeicher, speichert die
Adresse des jetzigen Knotens im Stapelspeicher und
verzweigt nach Schritt 82 zurück. Diese Schritte
laufen so oft ab, bis der Dateiname gefunden ist,
wonach das Ja (positives Ergebnis) aus Schritt 84 die
Verzweigung nach Schritt 94 verursacht und der gefundene
Datensatz oder die gefundene Information an
DOS zurückgegeben wird. Wenn Schritt 90 zu einem
negativen Ergebnis führt, dann schaut Schritt 98 nach
dem Zeiger für das Feld des Mitkindes und eine
Schleife, die die Schritte 96, 90 und 98 umfaßt, würde
so oft durchlaufen, bis keine weiteren Mitkinder mehr
übrig sind, woraufhin dann Schritt 94 zu DOS zurückkehrt.
Bei der Rückkehr zu DOS setzt die Prozedur
"Schnell-Eröffnen" den Zeiger auf das Verzeichnis oder
den Dateinamen, das bzw. der in der von DOS bereitgestellten
Zeichenfolge Pfad/Dateinamen gefunden wurde.
DOS seinerseits untersucht den Zeiger, um zu bestimmen,
ober der ganze Pfad gefunden wurde, oder nur
ein Teil oder gar nichts. Wenn es weitere Mitkinder
gibt, dann setzt Schritt 96 den Zeiger des jetzigen
Knotens auf das jetzige Mitkind.
Im folgenden wird Bezug genommen auf Fig. 5. Der Zweck
der Prozedur "Einfügen" ist es, Information über das
Verzeichnis oder die Datei als einen Eintrag in den
Cache einzufügen, wobei von der Information über den
jetzigen Knoten und das jetzige Mitkind ausgegangen
wird. Schritt 102 macht einen Eintrag der Namensdaten
aus der Eingabe und Schritt 104 holt den nächsten
verfügbaren Eintrag. Solange der Cache nicht voll ist,
wird ein neuer Eintrag einfach an irgend eine freie
Stelle gesetzt werden. Sobald der Cache gefüllt ist,
wird der in der LRU-Liste am längsten nicht mehr angesprochene
Eintrag der nächste verfügbare Eintrag sein,
der durch den neueren ersetzt werden soll. Schritt 106
löscht den Vor-LRU-Stapelspeicher, sofern etwas darin
ist. Wenn der jetzige Zeiger zum Mitkind gleich 0 ist,
dann wird der neue Eintrag durch Schritt 110 als ein
Kind unter dem jetzigen Knoten installiert und Schritt
112 verzeichnet diesen Knoten in dem Vor-LRU-Stapelspeicher.
Wenn ein jetziges Mitkind in Schritt 108
ungleich 0 ist, dann installiert Schritt 114 den neuen
Eintrag als ein Mitkind des jetzigen Knotens.
Im folgenden wird Bezug genommen auf die Fig. 6 und
7. Wenn eine Anwendung oder ein Benutzer verlangt, daß
eine bestimmte Datei gelöscht werde, dann löscht eine
Prozedur nicht nur die Datei auf der Platte in der
üblichen Art und Weise, sondern löscht auch alle
entsprechenden Einträge im Cache. Als Antwort auf die
Benutzeranforderung in Schritt 116 geht so der Prozeß
über DOS 24, und Schritt 118 entscheidet, ob die Prozedur
"Schnell-Eröffnen" installiert wurde. Wenn
nicht, dann greift Schritt 122 auf die Platte zu und
löscht die Datei, wonach Schritt 124 zum Benutzer
zurückkehrt. Wenn die Prozedur "Schnell-Eröffnen" installiert
ist, dann wird die Anforderung "Löschen" 120
gegeben. Infolge einer solchen Anforderung schlägt
Schritt 126 im Cache nach, um festzustellen, ob es
einen entsprechenden Eintrag gibt oder nicht. Wenn
kein Eintrag gefunden wird, wird die Prozedur einfach
verlassen. Wenn der Eintrag gefunden wird, dann wird
er aus der LRU-Kette mit Baumstruktur von Schritt 132
entfernt, und dieser spezielle Eintrag wird an die
oberste Stelle der LRU-Kette gesetzt, wodurch er für
die Benutzung (Ersetzung) durch einen neuen Eintrag
verfügbar wird. Der Eintrag des Dateinamens wird
zuerst gelöscht und anschließend alle
Eltern-Verzeichnisse, die keine Zeiger zu Kindern oder
Mitkindern enthalten.
Im folgenden wird Bezug genommen auf die Fig. 8 und
9. Es gibt gewisse Funktionen, die in der Prozedur
"Schnell-Eröffnen" enthalten sind und die direkt durch
DOS aufgerufen werden können, um gewisse Funktionen
auszuführen, die die von DOS bereitgestellten Funktionen
unterstützen. Die DOS-Anforderungen betreffen die
Funktionen, eine Datei abzuschließen, Null-Bytes in
eine Datei zu schreiben oder einen Knoten zu erzeugen.
Die Schritte 142, 144 und 146 bestimmen dementsprechend,
ob solche Funktionen angefordert sind und
verzweigen dann zu den Schritten 134 bis 140 der
Prozedur "Fortschreiben". Die positiven Ergebnisse der
Schritte 136 bis 140 schreiben entsprechend die
Verzeichniseinträge und die Anzahl der Cluster, die
mit einer Datei verbunden sind, fort, bzw. löschen
einen Eintrag.
In der vorangegangenen Diskussion wurde der Vor-LRU-Stapelspeicher
erwähnt, und nun soll seine Beziehung
zum LRU-Stapelspeicher erklärt werden. Beide Stapelspeicher
schließen die Benutzung von LRU- und
MRU-Zeigern in den Einträgen ein. Wenn der Prozeß
einen Pfad verfolgt, dann geht er vom Stammverzeichnis
aus durch alle Unterverzeichnisse, bis er den Dateinamen
erreicht; ein Vor-LRU-Stapelspeicher wird in
Übereinstimmung mit der Ordnung erzeugt, in welcher
auf die verschiedenen Knoten zugegriffen wird. So ist
z. B. bei einer Datei, die durch C:/Verz 1/Verz 2/Datei 1
spezifiziert ist, die Ordnung der Einträge: das
Stammverzeichnis, Verz 1, Verz 2 und Datei 1. Diese
Reihenfolge stellt deswegen ein Problem dar, weil das
Stammverzeichnis den am längsten nicht mehr angesprochenen
Eintrag darstellt, und sollte ein solcher
Eintrag zum Ersetzt-werden freigegeben werden, dann
würde ein Zugriff auf die übrigen Einträge abgeschnitten
werden. Dieses Problem wird vermieden durch die
Benutzung des Vor-LRU-Stapelspeichers und, sobald der
Pfad aufgestellt ist, durch Neuordnung der Einträge,
um ein LRU-Stapelspeicher zu erzeugen, in welchem der
Dateiname als der am längsten nicht mehr angesprochene
Eintrag erscheint, wodurch bei einer Ersetzung zunächst
der Dateiname und nicht irgend ein Eltern-Verzeichnis
ersetzt wird.
Claims (6)
1. Verfahren zum Zugriff zu Dateien in einem
Datenverarbeitungssystem (10) mit mindestens
einem Laufwerk (20) für ein externes Speichermedium
(22), vorzugsweise einer Speicherplatte,
auf dem die Dateien (40) und ein Inhaltsverzeichnis
mit Baumstruktur für Datei- und Unterverzeichnisnamen
(24, 36, 38) gespeichert sind, und mit einem
Auszug des Inhaltsverzeichnisses im Hauptspeicher (16)
zum schnelleren Aufsuchen der Einträge des Inhaltsverzeichnisses,
dadurch gekennzeichnet,
daß der Auszug des Inhaltsverzeichnisses bei jeder
Anforderung zum Öffnen einer Datei (Open) auf
den gewünschten Eintrag durchsucht wird und, falls
der gewünschte Eintrag dort nicht vorhanden ist,
aus dem Inhaltsverzeichnis des externen Speichers
eingetragen wird, wobei gegebenenfalls ein anderer
Eintrag überschrieben wird.
2. Verfahren nach Anspruch 1,
dadurch gekennzeichnet,
daß im Hauptspeicher für jedes Laufwerk ein Bereich vorgebbarer Größe vorgesehen wird, der für eine feste Anzahl von verketteten Einträgen gleichen Formats für Namen von Dateien bzw. von Unterverzeichnissen vorgesehen ist,
und daß neue Einträge nach dem Prinzip des LRU verwaltet werden.
daß im Hauptspeicher für jedes Laufwerk ein Bereich vorgebbarer Größe vorgesehen wird, der für eine feste Anzahl von verketteten Einträgen gleichen Formats für Namen von Dateien bzw. von Unterverzeichnissen vorgesehen ist,
und daß neue Einträge nach dem Prinzip des LRU verwaltet werden.
3. Verfahren nach Anspruch 2,
dadurch gekennzeichnet,
daß die Einträge in einem LRU-Stapelspeicher verwaltet
und in einem Vor-LRU-Stapelspeicher
vorbereitet werden.
4. Verfahren nach einem der Ansprüche 1 bis 3,
dadurch gekennzeichnet,
daß jeder Eintrag Zeiger enthält, von denen je
einer auf den dem betreffenden Eintrag in der Baumstruktur übergeordneter Eintrag (Eltern),
einer auf einen in der Baumstruktur gleichrangigen
Eintrag (Mitkind) und einer auf einen dem
betreffenden Eintrag in der Baumstruktur untergeordneten
Eintrag (Kind) zeigt.
5. Verfahren nach einem der vorangehenden Ansprüche,
dadurch gekennzeichnet,
daß beim Eröffnen einer Datei
möglicherweise fehlende weitere Informationen
über den vollständigen Pfad des Datei-Inhaltsverzeichnisses
aus dem externen Speichermedium gelesen werden.
6. Verfahren nach einem der
Ansprüche 2 bis 5,
dadurch gekennzeichnet,
daß in jedem Hauptspeicherbereich ein
Laufwerkskopf zur Identifikation des zugeordneten
Laufwerkes enthalten ist, und daß die Laufwerkköpfe
über Zeiger miteinander verkettet sind.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/032,210 US5008820A (en) | 1987-03-30 | 1987-03-30 | Method of rapidly opening disk files identified by path names |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3743890A1 DE3743890A1 (de) | 1988-10-27 |
DE3743890C2 true DE3743890C2 (de) | 1989-03-23 |
Family
ID=21863700
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE8787118540T Expired - Fee Related DE3780807T2 (de) | 1987-03-30 | 1987-12-15 | Verfahren zum schnellen oeffnen von mit pfadnamen identifizierten plattendateien. |
DE19873743890 Granted DE3743890A1 (de) | 1987-03-30 | 1987-12-23 | Verfahren zum schnellen eroeffnen von plattendateien |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE8787118540T Expired - Fee Related DE3780807T2 (de) | 1987-03-30 | 1987-12-15 | Verfahren zum schnellen oeffnen von mit pfadnamen identifizierten plattendateien. |
Country Status (19)
Country | Link |
---|---|
US (1) | US5008820A (de) |
EP (1) | EP0284664B1 (de) |
JP (1) | JPS63244243A (de) |
KR (1) | KR940005775B1 (de) |
CN (1) | CN1020014C (de) |
AT (1) | ATE78943T1 (de) |
BE (1) | BE1001068A4 (de) |
BR (1) | BR8801438A (de) |
CA (1) | CA1303747C (de) |
DE (2) | DE3780807T2 (de) |
ES (1) | ES2033786T3 (de) |
FR (1) | FR2613505A1 (de) |
GB (1) | GB2204161B (de) |
GR (1) | GR3005888T3 (de) |
HK (1) | HK33892A (de) |
IT (1) | IT8819948A0 (de) |
MY (1) | MY103353A (de) |
PH (1) | PH27427A (de) |
SG (1) | SG5292G (de) |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5649205A (en) * | 1989-07-07 | 1997-07-15 | Martins; Augusto Baronio | File retrieval system |
US5276874A (en) * | 1989-08-11 | 1994-01-04 | Digital Equipment Corporation | Method for creating a directory tree in main memory using an index file in secondary memory |
US5371885A (en) * | 1989-08-29 | 1994-12-06 | Microsoft Corporation | High performance file system |
US5150473A (en) * | 1990-01-16 | 1992-09-22 | Dantz Development Corporation | Data storage format for addressable or sequential memory media |
JPH03296841A (ja) * | 1990-04-16 | 1991-12-27 | Nec Corp | キャッシュ制御方式 |
JP2746734B2 (ja) * | 1990-06-08 | 1998-05-06 | 富士通株式会社 | ストリームファイルに対してのアクセス処理方式 |
EP0463874A2 (de) * | 1990-06-29 | 1992-01-02 | Digital Equipment Corporation | Cache-Anordnung für ein Dateisystem in einem digitalen Datenverarbeitungssystem |
US5241672A (en) * | 1991-04-01 | 1993-08-31 | Xerox Corporation | System using the storage level of file updates in nonvolatile memory to trigger saving of RAM to disk and using the file updates to reboot after crash |
JPH06175914A (ja) * | 1992-09-21 | 1994-06-24 | Eastman Kodak Co | メモリ管理装置 |
US5422762A (en) * | 1992-09-30 | 1995-06-06 | Hewlett-Packard Company | Method and apparatus for optimizing disk performance by locating a file directory on a middle track and distributing the file allocation tables close to clusters referenced in the tables |
US5701463A (en) * | 1994-09-09 | 1997-12-23 | Cheyenne Advanced Technology Limited | Method of replacing the identity of a file with another as part of a file open request in a computer system |
WO1996008772A1 (en) * | 1994-09-14 | 1996-03-21 | Micropolis Corporation | Method of pre-caching data utilizing thread lists and multimedia editing system using such pre-caching |
US5590320A (en) * | 1994-09-14 | 1996-12-31 | Smart Storage, Inc. | Computer file directory system |
US5644736A (en) * | 1995-05-25 | 1997-07-01 | International Business Machines Corporation | System and method for selecting components of a hierarchical file structure |
US5765192A (en) * | 1996-05-01 | 1998-06-09 | Sun Microsystems, Inc. | Method and computer program product to reuse directory search handles |
US5819298A (en) * | 1996-06-24 | 1998-10-06 | Sun Microsystems, Inc. | File allocation tables with holes |
US5924116A (en) * | 1997-04-02 | 1999-07-13 | International Business Machines Corporation | Collaborative caching of a requested object by a lower level node as a function of the caching status of the object at a higher level node |
US6094706A (en) * | 1998-03-02 | 2000-07-25 | International Business Machines Corporation | Caching in a data processing system using the pigeon hole principle |
US6151595A (en) * | 1998-04-17 | 2000-11-21 | Xerox Corporation | Methods for interactive visualization of spreading activation using time tubes and disk trees |
US6654761B2 (en) | 1998-07-29 | 2003-11-25 | Inxight Software, Inc. | Controlling which part of data defining a node-link structure is in memory |
US6216199B1 (en) * | 1999-08-04 | 2001-04-10 | Lsi Logic Corporation | Hardware mechanism for managing cache structures in a data storage system |
ID30033A (id) * | 1999-11-10 | 2001-11-01 | Koninkl Philips Electronics Nv | Pembawa rekaman, peranti pemutar ulang pembawa rekaman, metoda pemutaran ulang pembawa rekaman, peranti untuk merekam pembawa rekaman dan metoda untuk merekam pembawa rekaman |
DE19960114A1 (de) * | 1999-12-08 | 2001-06-13 | Heidenhain Gmbh Dr Johannes | Verfahren zum Speichern von Daten in einer Datei eines Datenspeichersystems |
US6643754B1 (en) * | 2000-02-15 | 2003-11-04 | International Business Machines Corporation | System and method for dynamically allocating computer memory |
US6529897B1 (en) | 2000-03-31 | 2003-03-04 | International Business Machines Corporation | Method and system for testing filter rules using caching and a tree structure |
US6928466B1 (en) | 2000-09-28 | 2005-08-09 | Emc Corporation | Method and system for identifying memory component identifiers associated with data |
TWI230858B (en) * | 2000-12-12 | 2005-04-11 | Matsushita Electric Ind Co Ltd | File management method, content recording/playback apparatus and content recording program |
DE10162046A1 (de) * | 2001-12-17 | 2003-06-26 | Thomson Brandt Gmbh | Wiedergabegerät mit einem Zwischenspeicher zum Verringern der mittleren Zugriffszeit auf einen Informationsträger |
EP1400970A1 (de) * | 2002-09-10 | 2004-03-24 | Siemens Aktiengesellschaft | Verfahren und Gerät zur Steuerung einer Speicheranordnung für Kraftfahrzeuge |
US7287046B2 (en) * | 2002-09-30 | 2007-10-23 | Emc Corporation | Method and system of compacting sparse directories in a file system |
JP4543363B2 (ja) * | 2002-12-18 | 2010-09-15 | ネッツエスアイ東洋株式会社 | コンピュータのセキュリティシステム |
KR100962763B1 (ko) * | 2003-01-20 | 2010-06-10 | 엘지전자 주식회사 | 데이터 방송 파일 시스템 처리 방법 |
US7873685B2 (en) * | 2004-05-13 | 2011-01-18 | Pixar | System and method for flexible path handling |
AU2005263101B2 (en) * | 2004-07-12 | 2008-05-15 | Samsung Electronics Co., Ltd. | Method and apparatus for searching rights objects stored in portable storage device using object location data |
JP4659537B2 (ja) * | 2005-07-05 | 2011-03-30 | 株式会社日立製作所 | ファイル提供方法、ストレージ装置及びファイル提供プログラム |
KR101130090B1 (ko) * | 2010-04-05 | 2012-03-28 | 주식회사 안철수연구소 | 단말 장치 및 상기 단말 장치의 파일 배포처 확인 방법 |
CN102279734A (zh) * | 2010-06-12 | 2011-12-14 | 环旭电子股份有限公司 | 自动映像数据的嵌入式系统及其方法 |
AT510716B1 (de) * | 2011-04-08 | 2012-06-15 | Albrecht Dipl Ing Kadlec | Reiner allokations-cache für echtzeitsysteme |
CN111054082B (zh) * | 2019-11-29 | 2023-10-13 | 珠海金山数字网络科技有限公司 | Unity资源数据集编码的方法 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3905023A (en) * | 1973-08-15 | 1975-09-09 | Burroughs Corp | Large scale multi-level information processing system employing improved failsaft techniques |
GB1504112A (en) * | 1976-03-17 | 1978-03-15 | Ibm | Interactive enquiry systems |
US4277826A (en) * | 1978-10-23 | 1981-07-07 | Collins Robert W | Synchronizing mechanism for page replacement control |
US4215402A (en) * | 1978-10-23 | 1980-07-29 | International Business Machines Corporation | Hash index table hash generator apparatus |
US4598357A (en) * | 1980-11-14 | 1986-07-01 | Sperry Corporation | Cache/disk subsystem with file number for recovery of cached data |
US4489378A (en) * | 1981-06-05 | 1984-12-18 | International Business Machines Corporation | Automatic adjustment of the quantity of prefetch data in a disk cache operation |
US4533995A (en) * | 1981-08-03 | 1985-08-06 | International Business Machines Corporation | Method and system for handling sequential data in a hierarchical store |
US4530055A (en) * | 1982-03-03 | 1985-07-16 | Sperry Corporation | Hierarchical memory system with variable regulation and priority of writeback from cache memory to bulk memory |
JPS6058492B2 (ja) * | 1982-06-26 | 1985-12-20 | 富士通株式会社 | デ−タベ−ス検索方式 |
JP2539347B2 (ja) * | 1982-09-13 | 1996-10-02 | 株式会社日立製作所 | フアイル管理方法 |
US4571674A (en) * | 1982-09-27 | 1986-02-18 | International Business Machines Corporation | Peripheral storage system having multiple data transfer rates |
DE3381124D1 (de) * | 1983-02-03 | 1990-02-22 | Ibm | Dateiorganisation mit schluesselzugriff. |
JPS59153251A (ja) * | 1983-02-18 | 1984-09-01 | Toshiba Corp | デイスクキヤツシユシステム |
JPS59163659A (ja) * | 1983-03-07 | 1984-09-14 | インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション | ワ−ド・プロセシング・システムにおけるデ−タ・セツトのアクセス方式 |
US4571700A (en) * | 1983-06-16 | 1986-02-18 | International Business Machines Corporation | Page indexing system for accessing sequentially stored data representing a multi-page document |
US4603380A (en) * | 1983-07-01 | 1986-07-29 | International Business Machines Corporation | DASD cache block staging |
JPS60254325A (ja) * | 1984-05-31 | 1985-12-16 | Fujitsu Ltd | デ−タ検索キ−制御方式 |
JPS61175838A (ja) * | 1985-01-31 | 1986-08-07 | Ricoh Co Ltd | デ−タ処理方式 |
JPS61228538A (ja) * | 1985-04-01 | 1986-10-11 | Nec Corp | フアイル管理方式 |
JPS61271547A (ja) * | 1985-05-27 | 1986-12-01 | Mitsubishi Electric Corp | デイスクフアイルアクセス方式 |
US4835686A (en) * | 1985-05-29 | 1989-05-30 | Kabushiki Kaisha Toshiba | Cache system adopting an LRU system, and magnetic disk controller incorporating it |
US4779189A (en) * | 1985-06-28 | 1988-10-18 | International Business Machines Corporation | Peripheral subsystem initialization method and apparatus |
US4761737A (en) * | 1986-01-16 | 1988-08-02 | International Business Machines Corporation | Method to automatically increase the segment size of unix files in a page segmented virtual memory data processing system |
US4827462A (en) * | 1987-03-26 | 1989-05-02 | International Business Machines Corporation | Modular data storage directories for large-capacity data storage units |
-
1987
- 1987-03-30 US US07/032,210 patent/US5008820A/en not_active Expired - Fee Related
- 1987-12-09 FR FR8717530A patent/FR2613505A1/fr not_active Withdrawn
- 1987-12-10 GB GB8728924A patent/GB2204161B/en not_active Revoked
- 1987-12-15 AT AT87118540T patent/ATE78943T1/de not_active IP Right Cessation
- 1987-12-15 ES ES198787118540T patent/ES2033786T3/es not_active Expired - Lifetime
- 1987-12-15 EP EP87118540A patent/EP0284664B1/de not_active Expired - Lifetime
- 1987-12-15 DE DE8787118540T patent/DE3780807T2/de not_active Expired - Fee Related
- 1987-12-16 BE BE8701441A patent/BE1001068A4/fr not_active IP Right Cessation
- 1987-12-23 DE DE19873743890 patent/DE3743890A1/de active Granted
-
1988
- 1988-02-04 CA CA000558110A patent/CA1303747C/en not_active Expired - Fee Related
- 1988-02-17 JP JP63032993A patent/JPS63244243A/ja active Granted
- 1988-02-19 PH PH36536A patent/PH27427A/en unknown
- 1988-02-27 CN CN88100793A patent/CN1020014C/zh not_active Expired - Lifetime
- 1988-02-29 KR KR1019880002095A patent/KR940005775B1/ko not_active IP Right Cessation
- 1988-03-07 MY MYPI88000225A patent/MY103353A/en unknown
- 1988-03-25 IT IT8819948A patent/IT8819948A0/it unknown
- 1988-03-29 BR BR8801438A patent/BR8801438A/pt not_active IP Right Cessation
-
1992
- 1992-01-22 SG SG52/92A patent/SG5292G/en unknown
- 1992-05-07 HK HK338/92A patent/HK33892A/xx unknown
- 1992-10-05 GR GR920402219T patent/GR3005888T3/el unknown
Also Published As
Publication number | Publication date |
---|---|
SG5292G (en) | 1992-03-20 |
IT8819948A0 (it) | 1988-03-25 |
HK33892A (en) | 1992-05-15 |
EP0284664B1 (de) | 1992-07-29 |
BE1001068A4 (fr) | 1989-06-27 |
BR8801438A (pt) | 1988-11-01 |
JPS63244243A (ja) | 1988-10-11 |
MY103353A (en) | 1993-06-30 |
ATE78943T1 (de) | 1992-08-15 |
ES2033786T3 (es) | 1993-04-01 |
FR2613505A1 (fr) | 1988-10-07 |
US5008820A (en) | 1991-04-16 |
KR880011665A (ko) | 1988-10-29 |
DE3743890A1 (de) | 1988-10-27 |
DE3780807D1 (de) | 1992-09-03 |
CN88100793A (zh) | 1988-10-19 |
GR3005888T3 (de) | 1993-06-07 |
CN1020014C (zh) | 1993-03-03 |
GB8728924D0 (en) | 1988-01-27 |
EP0284664A3 (en) | 1989-03-15 |
KR940005775B1 (ko) | 1994-06-23 |
GB2204161A (en) | 1988-11-02 |
EP0284664A2 (de) | 1988-10-05 |
CA1303747C (en) | 1992-06-16 |
DE3780807T2 (de) | 1993-03-11 |
PH27427A (en) | 1993-06-21 |
JPH0519175B2 (de) | 1993-03-16 |
GB2204161B (en) | 1991-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3743890C2 (de) | ||
DE69333906T2 (de) | Verfahren und System für die Dateienverwaltung mit einem schnell löschbaren, programmierbaren ROM | |
DE69926227T2 (de) | System und verfahren zum verbessern von programmstartzeit | |
DE102013215535B4 (de) | Sicherung oder wiederherstellung von daten mit hilfe eines hauptspeichers und nichtflüchtiger speichermedien | |
DE60035151T2 (de) | Hardware-Anordnung zur Verwaltung von Cachespeicherstrukturen in einem Datenspeichersystem | |
DE69631749T2 (de) | Speichergerät und Verfahren zur gemeinsamen Benutzung von Daten | |
DE60035432T2 (de) | System zur verwaltung der rdbm fragmentierungen | |
DE112020000749T5 (de) | Indexerstellung für sich entwickelnde umfangreiche Datensätze in Hybriden Transaktions- und Analysenverarbeitungssystemen mit mehreren Mastern | |
DE112018004178T5 (de) | Mehrstufige speicherung in einem verteilten dateisystem | |
EP3084638A1 (de) | Posix-kompatibles dateisystem, verfahren zum erzeugen einer dateiliste und speichervorrichtung | |
DE112017005868T5 (de) | Verwaltung von e/a-abläufen für datenobjekte in einem speichersystem | |
DE60030872T2 (de) | Verfahren und anordnung um atomische aktualisierungen durchzuführen durch verwendung eines logischen flaschspeichergerätes | |
DE60112257T2 (de) | Virtuelles Dateisystem für dynamisch erzeugte Webseiten | |
DE19961499A1 (de) | Caching von Objekten in Platten-gestützten Datenbanken | |
DE10162495A1 (de) | Erweiterbare Datenbank | |
DE102014116031A1 (de) | SWAT-Befehl und API für atomare Auslagerung und Trimmen von LBAs | |
DE4218025A1 (de) | Datenspeicherverwaltungssystem und verfahren mit speicherzuordnung auf der basis nachgefragter dienstklassen | |
DE10238566A1 (de) | Fenster-basierendes Flashspeicher-Speichersystem und Management und Zugriffsverfahren darauf | |
DE102004056701A1 (de) | Verfahren und Einrichtung zur Erzeugung einer inhaltsbezogenen Adresse zum zeitnahen Hinweis auf in ein Speichersystem eingeschriebene Dateneinheiten | |
DE602004007925T2 (de) | Verwalten einer beziehung zwischen einem zielvolumen und einem quellenvolumen | |
DE602004013397T2 (de) | Verfahren und Apparat zum Verschieben von Daten zwischen Speichersystemen | |
DE102016001035A1 (de) | Verfahren und Vorrichtung zum Aufbau einer Online-Aktualisierung von grossen Audio-Fingerabdruck-Datenbanken in Echtzeit | |
DE19645128C2 (de) | Verfahren zum Verwalten von Dokumenten sowie Gerätetreiber zur Durchführung des Verfahrens | |
EP1276056B1 (de) | Verfahren zum Verwalten einer Datenbank | |
DE3518818A1 (de) | Datenverarbeitungsvorrichtung und verfahren und vorrichtung zur umsetzung von datenelementen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |