-
Technisches Gebiet
-
Die vorliegende Erfindung bezieht sich auf eine Informationsverarbeitungsvorrichtung, ein Informationsverarbeitungsverfahren und ein Informationsverarbeitungsprogramm.
-
Stand der Technik
-
In einem allgemeinen Betriebssystem (OS) werden Daten zwischengespeichert, die aus einem Speicher im Arbeitsspeicher (hauptsächlich dynamischer Direktzugriffsspeicher (DRAM)) ausgelesen werden. Dadurch entfällt die Notwendigkeit des Zugriffs auf den Speicher beim nächsten Auslesen der gleichen Daten und der Datenzugriff wird beschleunigt. Und Daten, die in einem Cache-Bereich (im Folgenden auch als Disk-Cache bezeichnet) zwischengespeichert werden, werden von einem Algorithmus, wie z. B. LeastRecentlyUsed, verworfen. Durch das Verwerfen der Daten durch einen solchen Algorithmus kann der Cache-Bereich effizient genutzt werden.
-
Ein konventionelles Betriebssystem wählt einen Disk-Block aus, aus dem Daten ausgelesen werden, indem es Prioritäten auf Grundlage von Informationen über Effizienz des Input/Output (I/O)-Prefetch und der Arbeitsspeichernutzung auf Seiten einstellt, und so den Dateizugriff beschleunigt (z.B. Patentliteratur 1).
-
Außerdem wird ein Verfahren vorgeschlagen, das verhindert, dass zum Zeitpunkt des Auslesens eines Arbeitsspeichers ein überlappender Zugriff auftritt, indem der Status des Arbeitsspeichers, der sich in einem Betriebszustand befindet, in einem Speicher aufgezeichnet wird und der im Speicher gespeicherte Status des Arbeitsspeichers wieder in den Arbeitsspeicher zurückgeführt wird, wenn eine Informationsverarbeitungsvorrichtung das nächste Mal aktiviert wird (z.B. Patentliteratur 2).
-
Darüber hinaus wird ein grundlegendes Verfahren der Zwischenspeicherung vorgeschlagen, das ein Hochgeschwindigkeitsspeichermedium zwischen einem langsamen Speicher und einer Zentralverarbeitungseinheit (CPU) anordnet und Daten, die aus dem langsamen Speicher ausgelesen werden, vorübergehend auf dem Hochgeschwindigkeitsspeichermedium speichert (z. B. Patentliteratur 3).
-
Referenzliste
-
Patentliteratur
-
- Patentliteratur 1: JP 4724362
- Patentliteratur 2: JP 6046978
- Patentliteratur 3: JP S58-224491 A
-
Kurzfassung der Erfindung
-
Technisches Problem
-
Eine herkömmliche Technologie basiert auf der Annahme, dass eine Person, die Daten verwendet, und eine Person, die die Daten zwischenspeichert, identisch sind. Wenn demnach die Person, die die Daten verwendet, und die Person, die die Daten zwischenspeichert, unterschiedlich sind, macht die herkömmliche Technologie keinen wirksamen Gebrauch von einer Historie von Daten, die von der Person ausgelesen wurden, die sich von der Person unterscheidet, die die Daten zwischenspeichert. Daher weist die herkömmliche Technologie das Problem auf, dass der Datenzugriff in einem solchen Fall nicht effektiv beschleunigt werden kann. Insbesondere wird eine Historie von Daten, die über ein von einem Betriebssystem bereitgestelltem Dateisystem ausgelesen werden, nicht in einem Disk-Cache verwendet, der nicht über das Dateisystem erzeugt wurde. Es besteht daher die Möglichkeit, dass Cache-Daten, die häufig beim Auslesen von Daten über das Dateisystem verwendet werden, beim Auslesen von Daten, das nicht über das Dateisystem erfolgt, überschrieben werden, was zu einer Verschlechterung der Performance führt.
-
Außerdem ist in vielen Fällen auf einer Embedded-Plattform ein Bereich, in dem ein Betriebssystem und ein Anwendungsprogramm (im Folgenden einfach als Anwendung bezeichnet) gespeichert sind, ein Bereich, der dem Auslesen gewidmet ist. Daher ist eine Abfolge von der Stromversorgung einer Informationsverarbeitungsvorrichtung bis zur Aktivierung einer Anwendung oft festgelegt. Und auch eine Position eines Datenblocks, von dem aus auf einen Speicher zugegriffen wird, und sein Zugriffszeitpunkt sind oft deterministisch.
-
Bei der Ausführung eines sicheren Boot-Vorgangs auf der Embedded-Plattform ist es notwendig, die Integrität und Authentizität der Codedaten, aus denen die Anwendung besteht, zu verifizieren, bevor eine Partition verwendet wird, in der die Anwendung gespeichert ist. Daher ist es notwendig, die Verifizierung der Integrität und Authentizität der Codedaten, aus denen die Anwendung besteht, abgeschlossen zu haben, bevor das Betriebssystem aktiviert wird und die Anwendung über das Dateisystem ausgelesen wird. Mit anderen Worten: Bei der Verifizierung der Partition (Verifizierung der Integrität und der Authentizität der Codedaten, aus denen die Anwendung besteht) werden die Codedaten der Anwendung nicht über das Dateisystem, sondern direkt aus einem Gerätetreiber ausgelesen. Daher tritt das Problem auf, dass die bei der Verifizierung der Partition ausgelesenen Codedaten nicht in einem Disk-Cache des Dateisystems enthalten sind.
-
Der Hauptgegenstand der vorliegenden Erfindung ist die Lösung des Problems. Genauer gesagt, ist es das Ziel der vorliegenden Erfindung, eine effiziente Cache-Verwaltung unter einer Konfiguration auszuführen, bei der Datenzugriff über ein Dateisystem und Datenzugriff nicht über das Dateisystem auftritt.
-
Lösung des Problems
-
Eine Informationsverarbeitungsvorrichtung gemäß der vorliegenden Erfindung umfasst:
- einen Cache-Bereich;
- einen Zugriffszeiten-Speicherbereich, um eine Anzahl von Zugriffszeiten über ein Dateisystem für jedes einer Vielzahl von Datenstücken zu speichern; und
- eine Cache-Verwaltungseinheit, um, wenn ein Zugriff auf die Vielzahl von Datenstücken nicht über das Dateisystem auftritt, Daten als Überschreibungsverbotsdaten einzustellen und im Cache-Bereich zwischenzuspeichern, für die eine Anzahl von Zugriffszeiten, die gleich wie oder größer als ein Schwellenwert ist, im Zugriffszeiten-Speicherbereich gespeichert ist, wobei der Schwellenwert auf der Grundlage einer Anzahl von Zugriffszeiten der Vielzahl von Datenstücken bestimmt wird.
-
Vorteilhafte Wirkungen der Erfindung
-
Die vorliegende Erfindung ermöglicht eine effiziente Cache-Verwaltung unter einer Konfiguration, bei der Datenzugriff über ein Dateisystem und Datenzugriff nicht über das Dateisystem auftreten.
-
Figurenliste
-
- 1 ist ein Diagramm, das ein Beispiel einer Hardwarekonfiguration einer Informationsverarbeitungsvorrichtung gemäß Ausführungsform 1 darstellt.
- 2 ist ein Diagramm, das ein Beispiel einer Hardwarekonfiguration einer Informationsverarbeitungsvorrichtung nach Ausführungsform 1 darstellt.
- 3 ist ein Diagramm, das ein Beispiel einer Konfiguration eines Historienspeicherbereichs nach Ausführungsform 1 darstellt.
- 4 ist ein Diagramm, das ein Beispiel einer Konfiguration eines Disk-Cache-Bereichs nach Ausführungsform 1 darstellt.
- 5 ist ein Diagramm, das ein Beispiel einer funktionalen Konfiguration einer Informationsverarbeitungsvorrichtung nach Ausführungsform 2 darstellt.
- 6 ist ein Diagramm, das ein Beispiel einer Konfiguration eines Historienspeicherbereichs nach Ausführungsform 2 darstellt.
- 7 ist ein Diagramm, das ein Beispiel einer funktionalen Konfiguration einer Informationsverarbeitungsvorrichtung nach Ausführungsform 3 darstellt.
- 8 ist ein Flussdiagramm, das ein Beispiel eines Betriebs der Informationsverarbeitungsvorrichtung nach Ausführungsform 1 darstellt.
- 9 ist ein Flussdiagramm, das das Beispiel des Betriebs der Informationsverarbeitungsvorrichtung nach Ausführungsform 1 darstellt.
- 10 ist ein Flussdiagramm, das das Beispiel des Betriebs der Informationsverarbeitungsvorrichtung nach Ausführungsform 1 darstellt.
- 11 ist ein Flussdiagramm, das das Beispiel des Betriebs der Informationsverarbeitungsvorrichtung nach Ausführungsform 1 darstellt.
- 12 ist ein Flussdiagramm, das das Beispiel des Betriebs der Informationsverarbeitungsvorrichtung nach Ausführungsform 1 darstellt.
- 13 ist ein Flussdiagramm, das das Beispiel des Betriebs der Informationsverarbeitungsvorrichtung nach Ausführungsform 1 darstellt.
-
Beschreibung von Ausführungsformen
-
Im Folgenden werden Ausführungsformen der vorliegenden Erfindung unter Bezugnahme auf die Zeichnungen erläutert. In den Beschreibungen von Ausführungsformen und der Zeichnungen zeigt ein durch ein gleiches Bezugszeichen bezeichneter Teil ein gleiches oder entsprechendes Teil an.
-
Ausführungsform 1.
-
*** Konfigurationsbeschreibung ***
-
In der vorliegenden Ausführungsform wird eine Konfiguration zur Lösung von Problemen erläutert, die bei der Anwendung eines sicheren Boot-Vorgangs auf einer Embedded-Plattform auftreten. Genauer gesagt wird eine Konfiguration erläutert, die eine effiziente Cache-Verwaltung, die als Disk-Cache des Dateisystems zur Verfügung steht, ermöglicht, durch Veranlassen des Auslesens nicht über ein Dateisystem aus einem Speicher und Anwenden eines deterministischen Verfahrens auf einen Verwerfungsalgorithmus des Disk-Caches.
-
1 stellt ein Beispiel einer Hardwarekonfiguration einer Informationsverarbeitungsvorrichtung 100 gemäß der vorliegenden Ausführungsform dar.
-
Die Informationsverarbeitungsvorrichtung 100 gemäß der vorliegenden Ausführungsform ist ein Computer.
-
Wie in 1 dargestellt, umfasst die Informationsverarbeitungsvorrichtung 100 als Hardware einen Prozessor 101, einen Direktzugriffsspeicher (RAM) 103, einen Speicher 104 und eine Eingabe-/Ausgabe (E/A)-Einrichtung 105. Dieser Prozessor 101, RAM 103, Speicher 104 und E/A-Einrichtung 105 sind miteinander über einen Bus 102 verbunden.
-
Der Prozessor 101 ist eine arithmetische Einrichtung, die die Informationsverarbeitungsvorrichtung 100 steuert. Der Prozessor 101 ist zum Beispiel eine zentrale Verarbeitungseinheit (CPU). Die Informationsverarbeitungsvorrichtung 100 kann eine Vielzahl von Prozessoren 101 umfassen.
-
Der RAM 103 ist eine Flüchtiger-Speicher-Einrichtung, in der ein Programm, das auf dem Prozessor 101 läuft, ein Stack, eine Variable und ähnliches gespeichert werden.
-
Der Speicher 104 ist eine Nichtflüchtigkeitsspeichereinrichtung, in der ein Programm, Daten und ähnliches gespeichert werden. Dieser Speicher 104 ist z. B. eine Embedded-MultiMediaCard (eMMC).
-
Die E/A-Einrichtung 105 ist eine Schnittstelle, um eine externe Einrichtung wie z. B. eine Anzeige oder eine Tastatur zu verbinden.
-
In der vorliegenden Ausführungsform wird davon ausgegangen, dass der Prozessor 101, der RAM 103, der Speicher 104 und die E/A-Einrichtung 105 über den Bus 102 miteinander verbunden sind. Sie können jedoch auch über andere Verbindungsmittel miteinander verbunden sein.
-
Zu beachten ist, dass der auf der Informationsverarbeitungseinrichtung 100 durchgeführte Betrieb einem Informationsverarbeitungsverfahren und einem Informationsverarbeitungsprogramm entspricht.
-
Der Speicher 104 speichert Programme, um Funktionen eines Verifizierungsprogramms 110, einer Anwendung 111 und eines Betriebssystems 112 wie nachfolgend beschrieben, umzusetzen. Diese Programme zur Umsetzung der Funktionen des Verifizierungsprogramms 110, der Anwendung 111 und des Betriebssystems 112 werden in den RAM 102 geladen. Dann führt der Prozessor 101 diese Programme aus und führt den Betrieb des Verifizierungsprogramms 110, der Anwendung 111 und des Betriebssystems 112 wie nachfolgend beschrieben durch.
-
1 stellt einen Zustand schematisch dar, in dem der Prozessor 101 die Programme zur Umsetzung der Funktionen des Verifizierungsprogramms 110, der Anwendung 111 und des Betriebssystems 112 ausführt.
-
Außerdem wird mindestens eine der Informationen, Daten, ein Signalwert und ein Variablenwert, der ein Ergebnis des Prozesses durch das Verifizierungsprogramm 110, die Anwendung 111 und das Betriebssystem 112 anzeigt, in mindestens einem des Speichers 104, dem RAM 103 und einem Register im Prozessor 101 gespeichert.
-
Außerdem können das Verifizierungsprogramm 110, die Anwendung 111 und das Betriebssystem 112 auf einem portablem Speichermedium gespeichert werden, z.B. auf einer Magnetplatte, einer flexiblen Platte, einer optischen Platte, einer Compact Disc, einer Blu-ray-Disk (ein eingetragenes Warenzeichen) und einer DVD.
-
Außerdem kann die Informationsverarbeitungsvorrichtung 100 durch einen Verarbeitungsschaltkreis umgesetzt werden. Der Verarbeitungsschaltkreis ist z. B. eine logische integrierte Schaltung (IC), ein Gate Array (GA), eine anwendungsspezifische integrierte Schaltung (ASIC) oder ein Field Programmable Gate Array (FPGA).
-
Zu beachten ist, dass in dieser Beschreibung ein weit gefasster Begriff des Prozessors 101 und des Verarbeitungsschaltkreises als „Verarbeitungsschaltung“ bezeichnet wird.
-
Mit anderen Worten ist jeder Prozessor 101 und der Verarbeitungsschaltkreis ein Beispiel der „Verarbeitungsschaltung“.
-
2 stellt ein Beispiel einer funktionalen Konfiguration der Informationsverarbeitungsvorrichtung 100 gemäß der vorliegenden Ausführungsform dar.
-
In der Informationsverarbeitungsvorrichtung 100 läuft das Betriebssystem 112. Und auf dem Betriebssystems 112 laufen das Verifizierungsprogramm 110 und die Anwendung 111.
-
Das Verifizierungsprogramm 110 führt die Verifizierung für einen sicheren Boot aus. Mit anderen Worten verifiziert das Verifizierungsprogramm 110 die Integrität und Authentizität der Anwendung 111.
-
2 stellt eine Konfiguration dar, die mit einem Dateisystem aus einer internen Konfiguration des Betriebssystems 112 in Beziehung steht.
-
Ein oberes Dateisystem 115 und ein unteres Dateisystem 114 bilden ein tatsächliches Dateisystem, das eine Abstraktion des Dateizugriffs aus der Anwendung 111 ist.
-
In einigen Fällen sind das obere Dateisystem 115 und das untere Dateisystem 114 in Abhängigkeit von einem Betriebssystem als ein einziges Dateisystem umgesetzt. Die Informationsverarbeitungsvorrichtung 100 nach der vorliegenden Ausführungsform kann umgesetzt werden, ohne von einer Multiplexing-Konfiguration des Dateisystems abhängig zu sein.
-
Ein Gerätetreiber 113 umfasst eine Gerätezugriffseinheit 116, eine Block-Zugriff-Anwendungsprogrammierschnittstelle (API)-Einheit 117, eine Zugriffszeiten-Verwaltungseinheit 118 und eine Cache-Verwaltungseinheit 119.
-
Die Gerätezugriffseinheit 116 greift auf den Speicher 104 zu, der eine Einrichtung ist.
-
Die Block-Zugriff-API 117 ist eine API, die direkt vom unteren Dateisystem 114 und dem Verifizierungsprogramm 110 erreichbar ist.
-
Die Zugriffszeiten-Verwaltungseinheit 118 zählt die Anzahl der Zugriffszeiten über das obere Dateisystem 115 und das untere Dateisystem 114 für jedes der Vielzahl von Codedatenstücken, die die Anwendung 111 bilden. Die Zugriffszeiten-Verwaltungseinheit 118 bestimmt auch einen Schwellenwert für die Anzahl der Zugriffszeiten, der auf einem Zählergebnis der Anzahl der Zugriffszeiten für jede der Codedaten basiert.
-
Die Anzahl der von der Zugriffszeiten-Verwaltungseinheit 118 gezählten Zugriffszeiten und der von der Zugriffszeiten-Verwaltungseinheit 118 bestimmte Schwellenwert werden in einem Historienspeicherbereich 106 im Speicher 104 gespeichert.
-
Wenn der Zugriff weder über das obere Dateisystem 115 noch über das untere Dateisystem 114 auftritt, stellt die Cache-Verwaltungseinheit 119 Codedaten als Überschreibungsverbotsdaten ein und speichert sie in einem Disk-Cache-Bereich 108 zwischen, für die eine Anzahl von Zugriffszeiten, die einem Schwellenwert entspricht oder diesen überschreitet, im Historienspeicherbereich 106 gespeichert sind. Konkret erfolgt der Zugriff weder über das obere Dateisystem 115 noch über das untere Dateisystem 114, wenn das Verifizierungsprogramm 110 die Verifizierung der Integrität und Authentizität der Vielzahl von Codedatenstücken, aus denen die Anwendung 111 besteht, ausführt. Wenn das Verifizierungsprogramm 110 die Verifizierung ausführt, extrahiert die Cache-Verwaltungseinheit 119 die Codedaten, für die die Anzahl der Zugriffszeiten, die gleich wie oder größer als der Schwellenwert ist, im Historienspeicherbereich 106 gespeichert ist, und stellt die extrahierten Codedaten als Überschreibungsverbotsdaten ein und speichert sie im Disk-Cache-Bereich 108 zwischen.
-
Die Cache-Verwaltungseinheit 119 schreibt auch in den Disk-Cache-Bereich 108 die Anzahl der Zugriffszeiten von im Historienspeicherbereich 106 gespeicherten Überschreibungsverbotsdaten, wobei die Anzahl der Zugriffszeiten den Überschreibungsverbotsdaten zugeordnet wird.
-
Die Cache-Verwaltungseinheit 119 speichert weiterhin im Disk-Cache-Bereich 108 Codedaten zwischen, für die die Anzahl der Zugriffszeiten, die unter dem Schwellenwert liegt, im Historienspeicherbereich 106 gespeichert ist, ohne die Überschreibungsverbotsdaten zu überschreiben.
-
Ein durch die Cache-Verwaltungseinheit 119 ausgeführter Prozess entspricht einem Cache-Verwaltungsprozess.
-
Der durch das Betriebssystem 112 verwendete Disk-Cache-Bereich 108 wird im RAM 103 beschafft.
-
Der Disk-Cache-Bereich 108 entspricht einem Cache-Bereich.
-
Der Speicher 104 umfasst eine Anwendungspartition 107, den Historienspeicherbereich 106 und einen Firmware-Bereich 109.
-
In der Anwendungspartition 107 ist ein Ausführungsabbild der Anwendung 111 gespeichert.
-
Im Historienspeicherbereich 106 ist die Anzahl der von der Zugriffszeiten-Verwaltungseinheit 118 gezählten Zugriffszeiten und der von der Zugriffszeiten-Verwaltungseinheit 118 bestimmte Schwellenwert gespeichert. Der Historienspeicherbereich 106 entspricht einem Zugriffszeiten-Speicherbereich.
-
Im Firmware-Bereich 109 ist das Betriebssystem 112 gespeichert.
-
3 zeigt ein Beispiel einer Konfiguration des in 2 dargestellten Historienspeicherbereichs 106.
-
Im Historienspeicherbereich 106 gibt es einen Eintrag 120, dessen Zahl gleich einem Quotienten ist, der sich aus dem Teilen der Größe der Anwendungspartition 107 durch eine Blockgröße ergibt, die für den Zugriff auf den Speicher 104 verwendet werden soll. Jeder Eintrag 120 entspricht Codedaten, die durch Teilen des Ausführungsabbilds der Anwendung 111 durch die Blockgröße erhalten werden. Mit anderen Worten ist das Ausführungsabbild der Anwendung 111 im Beispiel von 3 in N Codedatenstücke unterteilt.
-
Der Einfachheit halber ist ein Offset vorgesehen, um jeden Eintrag mit 120 zu nummerieren. Somit speichert der Historienspeicherbereich 106 nur einen Wert einer Anzahl von Zugriffszeiten und einen Schwellenwert 121. In der vorliegenden Ausführungsform ist die Größe eines Eintrags der Anzahl von Zugriffszeiten ein Byte. Die Größe eines Eintrags kann jedoch je nach Kapazität des Speichers 104 willkürlich geändert werden.
-
Die Größe des Schwellenwerts 121 ist die gleiche wie die eines Eintrags der Anzahl von Zugriffszeiten. Mit anderen Worten ist in der vorliegenden Ausführungsform die Größe des Schwellenwerts 121 ein Byte. Wie vorstehend beschrieben, wird der Schwellenwert 121 von der Cache-Verwaltungseinheit 119 verwendet, um zu bestimmen, ob Codedaten als Überschreibungsverbotsdaten eingestellt werden sollen oder nicht.
-
4 zeigt ein Beispiel einer Konfiguration des in 2 dargestellten Disk-Cache-Bereichs 108 im RAM 103.
-
Ein Eintrag 122 ist ein Eintrag von Cache-Daten 125. Der Eintrag 122 kann durchgehend sein oder kann unterbrochen sein.
-
Eine Anordnung des Eintrags 122 hängt davon ab, auf welche Weise der Gerätetreiber 113 einen Puffer beschafft. Die Informationsverarbeitungsvorrichtung 100 nach der vorliegenden Ausführungsform kann umgesetzt werden, ohne davon abzuhängen, auf welche Weise der Gerätetreiber 113 den Puffer beschafft.
-
Jeder Eintrag 122 speichert die Cache-Daten 125, ein Überschreibungsverbot-Flag 123 und eine Referenzzählung 124.
-
Die Cache-Daten 125 sind Codedaten der Anwendung 111, die durch die Cache-Verwaltungseinheit 119 zwischengespeichert werden.
-
Die Cache-Verwaltungseinheit 119 stellt die Cache-Daten 125 als Überschreibungsverbotsdaten durch Einstellen des Überschreibungsverbot-Flags 123 auf AN ein.
-
Zu beachten ist, dass das Überschreibungsverbot-Flag 123 aus zumindest einem Bit besteht, da es keine Rolle spielt, solange AN und AUS unterscheidbar sind.
-
Die Referenzzählung 124 ist der gleiche Wert wie die Anzahl der Zugriffszeiten im Historienspeicherbereich 106. Somit muss die Größe der Referenzzählung 124 die gleiche wie die Anzahl von Zugriffszeiten sein.
-
***Beschreibung des Betriebs ***
-
Als nächstes wird ein Beispiel für den Betrieb der Informationsverarbeitungsvorrichtung 100 nach der vorliegenden Ausführungsform erläutert.
-
Zunächst wird unter Bezugnahme auf 8 und 9 ein Ablauf implementiert, um die Informationsverarbeitungsvorrichtung 100 auf normale Weise zu aktivieren und dann die Anwendung 111 auszuführen, um Daten über das deterministische Verwerfen des Caches zu lernen.
-
Nach Aktivierung der Informationsverarbeitungsvorrichtung 100 (Schritt 501), wird das installierte Betriebssystem 112 aktiviert (Schritt 502).
-
Dann, nachdem verschiedene Dienste des Betriebssystems 112 ausgeführt wurden, wird die Ausführung der Anwendung 111 gestartet (Schritt 503). Zu diesem Zeitpunkt beginnt eine Ladeeinrichtung mit dem Auslesen eines Ausführungsabbilds der Anwendung 111 aus dem Speicher 104 (Schritt 504).
-
Beim Auslesen des Ausführungsabbilds der Anwendung 111 fordert das obere Dateisystem 115 das untere Dateisystem 114 auf, das Ausführungsabbild der Anwendung 111 auszulesen (Schritt 505). Als nächstes fordert das untere Dateisystem 114 auf der Grundlage der Anforderung durch das obere Dateisystem 115 die Block-Zugriff-API-Einheit 117 auf, das Ausführungsabbild der Anwendung 111 auszulesen (Schritt 506). Als nächstes fordert die Block-Zugriff-API-Einheit 117 auf der Grundlage der Anforderung durch das untere Dateisystem 114 die Gerätzugriffseinheit 116 auf, das Ausführungsabbild der Anwendung 111 auszulesen (Schritt 507). Als nächstes berechnet die Gerätezugriffseinheit 116 eine Blocknummer im Speicher 104 (Schritt 508).
-
Wenn dann Daten über die in Schritt 508 berechnete Blocknummer von der Gerätezugriffseinheit 116 ausgelesen werden, werden Codedaten, die Teil des Ausführungsabbilds der Anwendung 111 sind, beschafft (Schritt 509).
-
Zu diesem Zeitpunkt addiert die Zugriffszeiten-Verwaltungseinheit 118 eins zu der Anzahl der Zugriffszeiten 120 eines Offsets, der der Blocknummer im Historienspeicherbereich 106 entspricht (Schritt 510).
-
Alternativ kann die Cache-Verwaltungseinheit 119 die ausgelesenen Codedaten im Disk-Cache-Bereich 108 zwischenspeichern.
-
Zu beachten ist, dass wenn das Auslesen der Anwendung 111 nicht abgeschlossen ist (NEIN in Schritt 511), die Gerätezugriffseinheit 116 eine als nächstes auszulesende Blocknummer berechnet (Schritt 512).
-
Dann werden das Auslesen der Codedaten der berechneten Blocknummer und die Addition eines der Blocknummer entsprechenden Offsets zur Anzahl der Zugriffszeiten wiederholt (Schritte 509 und 510).
-
Wenn das Laden der Anwendung 111 abgeschlossen ist, wird die Block-Zugriff-API-Einheit 117 geschlossen (Schritte 512 bis 516).
-
Während die Block-Zugriff-API-Einheit 117 geschlossen wird, berechnet die Zugriffszeiten-Verwaltungseinheit 118 einen Schwellenwert für die Anzahl der Zugriffszeiten und schreibt den berechneten Schwellenwert als Schwellenwert 121 in den Historienspeicherbereich 106 (Schritt 517).
-
Genauer gesagt sortiert die Zugriffszeiten-Verwaltungseinheit 118 die Einträge 120 im Historienspeicherbereich 106 in absteigender Reihenfolge der Anzahl der Zugriffszeiten. Dann wählt die Zugriffszeiten-Verwaltungseinheit 118 die Einträge 120 der gleichen Anzahl als die Hälfte der Anzahl der Blöcke aus, die im Disk-Cache-Bereich 108 in absteigender Reihenfolge der Anzahl der Zugriffszeiten beschafft werden können. Dann bestimmt die Zugriffszeiten-Verwaltungseinheit 118 als Schwellenwert die kleinste Anzahl von Zugriffszeiten unter der Anzahl der Zugriffszeiten der ausgewählten Einträge 120.
-
Wenn beispielsweise eine Gesamtzahl der Einträge im Historienspeicherbereich 106 20 und die Anzahl der Blöcke, die im Disk-Cache-Bereich 108 beschafft werden können, 20 beträgt, wählt die Zugriffszeiten-Verwaltungseinheit 118 aus den 20 Einträgen 10 Einträge in absteigender Reihenfolge der Anzahl der Zugriffszeiten aus. Dann bestimmt die Zugriffszeiten-Verwaltungseinheit 118 als Schwellenwert die kleinste Anzahl von Zugriffszeiten aus der Anzahl der Zugriffszeiten der 10 ausgewählten Einträge.
-
Theoretisch ist es für die Zugriffszeiten-Verwaltungseinheit 118 möglich, Einträge der gleichen Anzahl als die Anzahl der Blöcke auszuwählen, die im Disk-Cache-Bereich 108 beschafft werden können. Diese Auswahl verhindert jedoch, dass neu aus dem Speicher 104 ausgelesene Codedaten im Disk-Cache-Bereich 108 gespeichert werden. Daher wählt die vorliegende Ausführungsform die Einträge mit der gleichen Anzahl als die Hälfte der Anzahl der Blöcke aus, die im Disk-Cache-Bereich 108 beschafft werden können.
-
Anschließend wird unter Bezugnahme auf 10 und 11 eine Erläuterung des Betriebs gegeben, der durchgeführt wird, wenn Codedaten der Anwendung 111 aus der Anwendungspartition 107 im Speicher 104 weder über das obere Dateisystem 115 noch über das untere Dateisystem 114 ausgelesen werden.
-
Im Folgenden wird eine Erläuterung des Betriebs gegeben, der durchgeführt wird, wenn das Verifizierungsprogramm 110 eine Verifizierung der Integrität und Authentizität der Anwendung 111 wie einen sicheren Boot-Vorgang ausführt und Codedaten einer Anwendung durch den Gerätetreiber 113 aus der Anwendungspartition 107 weder über das obere Dateisystem 115 noch über das untere Dateisystem 114 ausgelesen werden.
-
Wenn die Informationsverarbeitungsvorrichtung 100 aktiviert ist, bevor die Anwendungspartition 107 im Speicher 104 für die Verwendung durch das obere Dateisystem 115 und das untere Dateisystem 114 verfügbar wird (Schritt 601), wird das installierte Betriebssystem 112 aktiviert (Schritt 602).
-
Auch das Verifizierungsprogramm 110 wird aktiviert (Schritt 603).
-
Zu beachten ist, dass es keine im Disk-Cache-Bereich 108 gespeicherten Cache-Daten 125 gibt, wenn die Informationsverarbeitungsvorrichtung 100 aktiviert ist (Schritt 601).
-
Als nächstes liest die Gerätezugriffseinheit 116 Codedaten von einem Kopfblock der Anwendungspartition 107 (Schritt 604) aus. Die Gerätezugriffseinheit 116 überträgt die ausgelesenen Codedaten an die Cache-Verwaltungseinheit 119 und teilt der Cache-Verwaltungseinheit 119 auch eine Blocknummer der Codedaten mit.
-
Die Cache-Verwaltungseinheit 119 beschafft aus dem Historienspeicherbereich 106 eine Anzahl von Zugriffszeiten eines Offsets, was der durch die Gerätezugriffseinheit 116 mitgeteilten Blocknummer entspricht (Schritt 606).
-
Als nächstes bestimmt die Cache-Verwaltungseinheit 119, ob die Anzahl der in Schritt 606 erfassten Zugriffszeiten gleich einem Schwellenwert 121 oder größer ist (Schritt 607).
-
Wenn die Anzahl der in Schritt 606 erfassten Zugriffszeiten gleich wie oder größer als der Schwellenwert 121 ist (JA in Schritt 607), stellt die Cache-Verwaltungseinheit 119 ein Überschreibungsverbot-Flag 123 im Disk-Cache-Bereich 108 ein und schreibt die Codedaten als Cache-Daten 125 in den Disk-Cache-Bereich 108 (Schritt 608). Wie vorstehend beschrieben, werden durch Einstellen des Überschreibungsverbot-Flags 123 die Codedaten wie Überschreibungsverbotsdaten behandelt.
-
Die Cache-Verwaltungseinheit 119 schreibt auch einen Wert der Anzahl der Zugriffszeiten im Historienspeicherbereich 106 als eine Referenzzählung 124 in den Disk-Cache-Bereich 108 (Schritt 608).
-
Wenn andererseits die Anzahl der in Schritt 606 beschafften Zugriffszeiten kleiner als der Schwellenwert 121 ist (NEIN in Schritt 607), schreibt die Cache-Verwaltungseinheit 119 die Codedaten als Cache-Daten 125 in den Disk-Cache-Bereich 108 (Schritt 609). Da in diesem Fall das Überschreibungsverbot-Flag 123 nicht gesetzt ist, werden die Codedaten nicht wie die Überschreibungsverbotsdaten behandelt.
-
Die Cache-Verwaltungseinheit 119 schreibt auch den Wert der Anzahl der Zugriffszeiten im Historienspeicherbereich 106 als die Referenzzählung 124 in den Disk-Cache-Bereich 108 (Schritt 609).
-
Dann verifiziert das Verifizierungsprogramm 110 die Integrität und Authentizität der in Schritt 606 ausgelesenen Codedaten (Schritt 610).
-
Als nächstes erhöht die Gerätezugriffseinheit 116 eine Blocknummer eines Zugriffsziels um eins (Schritt 611).
-
Danach und bis die Blocknummer des Zugriffsziels eine Gesamtanzahl von Blöcken in der Anwendungspartition 107 überschreitet, wird der Betrieb von Schritt 605 bis Schritt 611 wiederholt (Schritt 604, Schritt 612). Mit anderen Worten, der Betrieb von Schritt 605 bis Schritt 611 wird für die gesamte Anwendungspartition 107 wiederholt.
-
Da die Anwendungspartition 107, die dem Verifizierungsprogramm 110 unterliegt, im allgemeinen eine größere Kapazität als die des Disk-Cache-Bereichs 108 aufweist, sollen alte Cache-Daten 125 durch danach ausgelesene Codedaten überschrieben werden.
-
Beim Schreiben von Codedaten in den Disk-Cache-Bereich 108 sucht die Cache-Verwaltungseinheit 119 nach einem Bereich, in dem das Überschreibungsverbot-Flag 123 nicht AN ist, d. h. nach einem Bereich, in dem Überschreiben möglich ist, und schreibt die Codedaten in den Bereich, in dem das Überschreiben möglich ist. Wenn in dem Bereich, in dem Überschreiben möglich ist, bereits Codedaten gespeichert wurden, so sind diese Codedaten durch neue Codedaten zu überschreiben.
-
Cache-Daten 125 in einem Bereich, in dem das Überschreibungsverbot-Flag 123 AN ist (d.h. die Überschreibungsverbotsdaten), werden im Disk-Cache-Bereich 108 gehalten, ohne durch andere Codedaten überschrieben zu werden.
-
Anschließend wird unter Bezugnahme auf 12 und 13 eine Erläuterung eines Beispielbetriebs gegeben, der durch Laden und Ausführen der Anwendung 111 über das obere Dateisystem 115 und das untere Dateisystem 114 durchgeführt wird.
-
Nach kontinuierlicher Ausführung des Verifizierungsprogramms 110 wird die Ausführung der Anwendung 111 gestartet (Schritt 701).
-
Eine Ladeeinrichtung startet einen Ladebetrieb eines Ausführungsabbilds der Anwendung 111 aus dem Speicher 104 und das obere Dateisystem 115 startet das Auslesen (Schritte 702 und 703). Zu diesem Zeitpunkt wird bestimmt, ob ein Block, der ausgelesen werden soll, im Disk-Cache-Bereich 108 (Schritt 704) vorhanden ist oder nicht. Konkret wird ein Ablauf aus den Schritten 505 bis 509 in 8 ausgeführt, und die Cache-Verwaltungseinheit 119 bestimmt, ob Codedaten einer in Schritt 509 berechneten Blocknummer im Disk-Cache-Bereich 108 vorhanden sind oder nicht.
-
Wenn die auszulesenden Codedaten im Disk-Cache-Bereich 108 vorhanden sind (JA in Schritt 704), liest die Cache-Verwaltungseinheit 119 die relevanten Cache-Daten 125 aus dem Disk-Cache-Bereich 108 aus und überträgt die ausgelesenen Cache-Daten 125 an die Ladeeinrichtung (Schritt 705). Konkret überträgt die Cache-Verwaltungseinheit 119 die aus dem Disk-Cache-Bereich 108 ausgelesenen Cache-Daten 125 an die Block-Zugriff-API-Einheit 117, und danach wird ein Ablauf der Schritte 514 und 515 in 9 ausgeführt.
-
Und außerdem subtrahiert die Cache-Verwaltungseinheit 119 Eins von einer Referenzzählung 124 der ausgelesenen Cache-Daten 125 (Schritt 706).
-
Wenn ein Wert der Referenzzählung 124 durch Subtrahieren von Eins von der Referenzzählung 124 zu Null wird (JA in Schritt 707), gibt die Cache-Verwaltungseinheit 119 einen relevanten Bereich frei, um die Verwendung des Bereichs als neuen Disk-Cache zu ermöglichen (Schritt 708). Mit anderen Worten: Wenn der Zugriff auf Cache-Daten so oft ausgeführt wird, wie der in 3 angegebene Zugriff, annulliert die Cache-Verwaltungseinheit 119 die Cache-Daten.
-
Wenn sich andererseits im Disk-Cache-Bereich 108 in Schritt 704 kein auslesbarer Block befindet (NEIN in Schritt 704), liest das obere Dateisystem 115 relevante Codedaten aus dem Speicher 104 aus und überträgt die ausgelesenen Codedaten an die Ladeeinrichtung (Schritt 709). Konkret wird ein Ablauf aus Schritt 509 in 8 und den Schritten 513 bis 515 in 9 ausgeführt.
-
Wenn das Laden abgeschlossen ist (JA in Schritt 710), ist ein Prozess abgeschlossen.
-
Wenn andererseits das Laden des Ausführungsabbildes noch nicht abgeschlossen ist (NEIN in Schritt 710), berechnet die Gerätezugriffseinheit 116 eine Blocknummer, auf die die Gerätezugriffseinheit 116 als nächstes zugreifen soll (Schritt 711), und ein Ablauf von und nach Schritt 704 wird wiederholt.
-
*** Beschreibung der Wirkungen der Ausführungsform ***
-
Wie vorstehend beschrieben, werden in der vorliegenden Ausführungsform Cache-Daten von Daten, auf die beim Datenzugriff über ein Dateisystem häufig zugegriffen wird, aus Cache-Daten, die durch Datenzugriff nicht über das Dateisystem beschafft werden, wie z. B. ein sicherer Boot-Vorgang, ohne Überschreiben aufbewahrt. Daher ist es bei der Ausführung des Datenzugriffs über das Dateisystem möglich, die Cache-Daten zu verwenden, um den Datenzugriff mit hoher Geschwindigkeit auszuführen.
-
Die vorliegende Erfindung ermöglicht dementsprechend eine effiziente Cache-Verwaltung unter einer Konfiguration, bei der der Datenzugriff über das Dateisystem und der Datenzugriff nicht über das Dateisystem auftreten.
-
Eine Partition, die einem sicheren Boot-Vorgang unterliegt, ist dem Auslesen gewidmet. Die herkömmliche Technologie verwendet jedoch einen konventionellen Cache-Verwerfungsalgorithmus, der durch ein Dateisystem umgesetzt wird, und bestimmt die Cache-Daten, die verworfen werden sollten, unter Verwendung von Informationen, die verfügbar sind, wenn eine Anwendung ausgeführt wird. Daher kann die Bestimmung der Cache-Daten-Vernichtung mit der herkömmlichen Technologie nicht effizient durchgeführt werden.
-
Gemäß der vorliegenden Ausführungsform ist es möglich, einen Block, der häufig in einer Anwendungspartition verwendet wird, zu lernen und die Anzahl der Auslesezeiten zu erkennen, bis die dem Block entsprechenden Cache-Daten verworfen werden, indem im Voraus ein Protokoll über die Ausführung einer Anwendung geführt wird. Gemäß der vorliegenden Ausführungsform ist es auch möglich, relevante Cache-Daten zu verwerfen, wenn die Anzahl der Auslesezeiten eine vorgeschriebene Anzahl erreicht, indem die Anzahl der Auslesezeiten bis zum Verwerfen der Cache-Daten erkannt wird. Auf diese Weise wird es möglich, einen Bereich, in dem die Cache-Daten verworfen werden, als einen neuen Disk-Cache zu verwenden und dadurch den Disk-Cache effizient zu nutzen.
-
Ausführungsform 2.
-
In Ausführungsform 1 wird die Konfiguration erläutert, die ein Hochgeschwindigkeitsdatenauslesen und die effiziente Nutzung eines Disk-Caches ermöglicht, wenn es nur eine Anwendung gibt. In der vorliegenden Ausführungsform wird eine Konfiguration erläutert, die das Hochgeschwindigkeitsdatenauslesen und die effiziente Nutzung eines Disk-Caches ermöglicht, wenn es eine Vielzahl von Anwendungen gibt.
-
In der vorliegenden Ausführungsform werden hauptsächlich Unterschiede zu Ausführungsform 1 beschrieben.
-
Zu beachten ist, dass die im Folgenden nicht erläuterten Sachverhalte die gleichen sind wie die in Ausführungsform 1.
-
*** Beschreibung der Konfiguration ***
-
5 stellt ein Beispiel einer funktionalen Konfiguration einer Informationsverarbeitungsvorrichtung 100 gemäß der vorliegenden Ausführungsform dar.
-
Im Vergleich zu 2, gibt es in 5 drei Anwendungen (eine Anwendung A 134, eine Anwendung B 135 und eine Anwendung C 136). Außerdem gibt drei Anwendungspartitionen (eine Anwendung A-Partition 130, eine Anwendung B-Partition 131 und eine Anwendung-C Partition 132). Die Anwendung A 134 ist in der Anwendung A-Partition 130 gespeichert. Die Anwendung B 135 ist in der Anwendung B-Partition 131 gespeichert. Die Anwendung C 136 ist in der Anwendung C-Partition 132 gespeichert.
-
In 5 wird angenommen, dass es drei Anwendungen gibt. Die Anzahl der Anwendungen ist jedoch willkürlich.
-
Außerdem gibt es in 5 einen Historienspeicherbereich 133 anstelle des Historienspeicherbereichs 106.
-
Der Historienspeicherbereich 133 weist eine Konfiguration auf, die den drei Anwendungen entspricht.
-
Auf eine Beschreibung anderer Komponenten wird verzichtet, da sie die gleichen sind wie die in 2 dargestellten.
-
6 zeigt ein Beispiel einer Konfiguration des Historienspeicherbereichs 133.
-
Ein Eintrag 140 in 6 umfasst zusätzlich zu der Zusammensetzung des Eintrags 120 in 3 eine Partitionsnummer. Der Einfachheit halber wird die Partitionsnummer in 6 durch A, B und C dargestellt. Es ist jedoch angemessen, die Partitionsnummer in einem echten Fall mit einem nummerischen Wert darzustellen.
-
Eine Partitionsnummer A entspricht der Anwendung A-Partition 130. Eine Partitionsnummer B entspricht der Anwendung B-Partition 131. Eine Partitionsnummer C entspricht der Anwendung C-Partition 132.
-
In der vorliegenden Ausführungsform speichert die Zugriffszeiten-Verwaltungseinheit 118 die Anzahl der Zugriffszeiten in einem entsprechenden Eintrag 140 für jede der Anwendungspartitionen.
-
*** Beschreibung des Betriebs ***
-
Als nächstes wird der Betrieb der Informationsverarbeitungsvorrichtung 100 nach der vorliegenden Ausführungsform erläutert.
-
In der vorliegenden Ausführungsform ist eine Aktivierungsreihenfolge der Anwendungen nicht vorgeschrieben. Somit berechnet die Zugriffszeiten-Verwaltungseinheit 118 einen Schwellenwert 121 für jede der Anwendungen. Mit anderen Worten wird für jede der Anwendungen ein Prozess von 8 und 9 ausgeführt, und die Zugriffszeiten-Verwaltungseinheit 118 speichert im Historienspeicherbereich 133 die Anzahl der Zugriffszeiten aller Codedaten für jede der Anwendungen und bestimmt den Schwellenwert 121 auf der Grundlage der Anzahl der Zugriffszeiten für jede der Anwendungen.
-
Die Art und Weise, wie die Anzahl der Zugriffszeiten im Historienspeicherbereich 133 gespeichert wird und wie der Schwellenwert 121 bestimmt werden kann, ist die gleiche wie in Ausführungsform 1 beschrieben. In der vorliegenden Ausführungsform wird die Anzahl der Zugriffszeiten aufgezeichnet und der Schwellenwert 121 wird für jede der Anwendungen bestimmt.
-
Darüber hinaus extrahiert die Cache-Verwaltungseinheit 119 in der vorliegenden Ausführungsform für jede der Anwendungen Codedaten, für die bei der Verifizierung durch das Verifizierungsprogramm 110 die Anzahl der Zugriffszeiten, die gleich wie oder größer als der Schwellenwert 121 ist, im Historienspeicherbereich 106 gespeichert wird. Dann stellt die Cache-Verwaltungseinheit 119 als Überschreibungsverbotsdaten und Caches im Disk-Cache-Bereich 108 die extrahierten Code-Daten ein.
-
Der Betrieb der Cache-Verwaltungseinheit 119 selbst ist der gleiche wie der in Ausführungsform 1 beschriebene. In der vorliegenden Ausführungsform vergleicht die Cache-Verwaltungseinheit 119 die Anzahl der Zugriffszeiten mit den Schwellenwerten 121 für jede der drei Anwendungen und bestimmt, ob die extrahierten Codedaten als Überschreibungsverbotsdaten eingestellt werden sollen oder nicht.
-
*** Beschreibung der Wirkungen der Ausführungsform ***
-
Gemäß der vorliegenden Ausführungsform ist es möglich, für eine Vielzahl von Anwendungen die gleichen Wirkungen zu erzielen, wie die in Ausführungsform 1 beschriebenen.
-
Und gemäß der vorliegenden Ausführungsform ist es auch möglich, für jede Anwendungspartition eine Verifizierung durchzuführen. Somit ist es möglich ein Verifizierungsprogramm für die Vielzahl von Anwendungen gleichzeitig auszuführen und damit einen Verifizierungsprozess zu beschleunigen.
-
Ausführungsform 3.
-
In Ausführungsform 1 gibt es im Speicher 104 einen Historienspeicherbereich. Wenn jedoch die Größe der Anwendungspartition groß ist, wird die Zugriffshäufigkeit auf den Speicher 104 hoch. Somit besteht die Möglichkeit, dass sich die Performance verschlechtert. Um dies zu vermeiden, wird in der vorliegenden Ausführungsform eine Konfiguration erläutert, bei der der Historienspeicherbereich im Gerätetreiber 113 zwischengespeichert ist. Unter der Konfiguration der vorliegenden Ausführungsform ist es möglich, die Verschlechterung der Geschwindigkeit des Datenzugriffs zu steuern, indem Informationen im Historienspeicherbereich zu einem Zeitpunkt zurück in den Speicher 104 geschrieben werden, wenn das Schreiben in den Historienspeicherbereich abgeschlossen ist.
-
In der vorliegenden Ausführungsform werden hauptsächlich Unterschiede zu Ausführungsform 1 beschrieben.
-
Zu beachten ist, dass im Folgenden nicht erläuterte Sachverhalte die gleichen sind wie die in Ausführungsform 1.
-
7 stellt ein Beispiel einer funktionalen Konfiguration einer Informationsverarbeitungsvorrichtung 100 gemäß der vorliegenden Ausführungsform dar.
-
Im Vergleich zu 1 wird in 7 ein Historienspeicherbereich (Cache) 150 hinzugefügt.
-
In 7 ist zum leichteren Verständnis der Historienspeicherbereich (Cache) 150 im Gerätetreiber 113 dargestellt. Der Historienspeicherbereich (Cache) 150 ist jedoch physisch im Disk-Cache-Bereich 108 im RAM 103 angeordnet.
-
Es ist zu beachten, dass 7 aus zeichnerischen Gründen keine interne Konfiguration des Speichers 104 darstellt, die interne Konfiguration des Speichers 104 in 7 jedoch doch die gleiche ist wie die in 1. Mit anderen Worten gibt es auch in dem Speicher 104 in 7 die Anwendungspartition 107, den Historienspeicherbereich 106 und den Firmware-Bereich 109.
-
Als nächstes wird ein Beispiel für den Betrieb der Informationsverarbeitungsvorrichtung 100 nach der vorliegenden Ausführungsform erläutert.
-
In der vorliegenden Ausführungsform werden Informationen im Historienspeicherbereich 106 im Speicher 104 bei Aktivierung des Betriebssystems 112 in den Disk-Cache-Bereich 108 kopiert. Dadurch wird der Historienspeicherbereich (Cache) 150 erzeugt.
-
Die Zugriffszeiten-Verwaltungseinheit 118 schreibt die Anzahl der Zugriffszeiten in den Historienspeicherbereich (Cache) 150. Die Zugriffszeiten-Verwaltungseinheit 118 berechnet auch einen Schwellenwert 121 auf Grundlage der Anzahl der Zugriffszeiten, die in den Historienspeicherbereich (Cache) 150 geschrieben sind.
-
Informationen im Historienspeicherbereich (Cache) 150 werden zurück in den Historienspeicherbereich 106 im Speicher 104 geschrieben, nachdem der Schwellenwert 121 durch die Zugriffszeiten-Verwaltungseinheit 118 berechnet und die Anwendung 111 geschlossen ist.
-
Wie vorstehend beschrieben, ist in der vorliegenden Ausführungsform ein Cache-Bereich im Historienspeicherbereich im Arbeitsspeicher umgesetzt, und so ist es möglich, häufige Zugriffe auf einen Speicher zu vermeiden und eine Verschlechterung der Performance zu steuern.
-
Ausführungsformen der vorliegenden Erfindung sind vorstehend beschrieben. Zwei oder mehr von diesen Ausführungsformen können jedoch in Kombination implementiert werden.
-
Alternativ kann jede dieser Ausführungsformen teilweise implementiert werden.
-
Alternativ können zwei oder mehr von diesen Ausführungsformen teilweise in Kombination implementiert werden.
-
Es ist darauf hinzuweisen, dass die vorliegende Erfindung nicht auf diese Ausführungsformen beschränkt ist und auf unterschiedliche Weise bei Bedarf geändert werden kann.
-
Bezugszeichenliste
-
100: Informationsverarbeitungsvorrichtung; 101: Prozessor; 102: Bus; 103: RAM; 104: Speicher; 105: E/A-Einrichtung; 106: Historienspeicherbereich; 107: Anwendungspartition; 108: Disk-Cache-Bereich; 109: Firmware-Bereich; 110: Verifizierungsprogramm; 111: Anwendung; 112: Betriebssystem; 113: Gerätetreiber; 114: unteres Dateisystem; 115: oberes Dateisystem; 116: Gerätezugriffseinheit; 117: Block-Zugriff-API-Einheit; 118: Zugriffszeiten-Verwaltungseinheit; 119: Cache-Verwaltungseinheit; 130: Anwendung A-Partition, 131: Anwendung B-Partition; 132: Anwendung C-Partition; 133: Historienspeicherbereich; 134: Anwendung A; 135: Anwendung B; 136: Anwendung C; 150: Historienspeicherbereich (Cache)
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- JP 4724362 [0005]
- JP 6046978 [0005]
- JP 58224491 A [0005]