DE112017007318T5 - Speicherverwaltungssystem, Informationsverarbeitungsvorrichtung und Speicherverwaltungsverfahren - Google Patents

Speicherverwaltungssystem, Informationsverarbeitungsvorrichtung und Speicherverwaltungsverfahren Download PDF

Info

Publication number
DE112017007318T5
DE112017007318T5 DE112017007318.9T DE112017007318T DE112017007318T5 DE 112017007318 T5 DE112017007318 T5 DE 112017007318T5 DE 112017007318 T DE112017007318 T DE 112017007318T DE 112017007318 T5 DE112017007318 T5 DE 112017007318T5
Authority
DE
Germany
Prior art keywords
memory
free space
processes
management system
manager
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112017007318.9T
Other languages
English (en)
Inventor
Tatsuya Mitsugi
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of DE112017007318T5 publication Critical patent/DE112017007318T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0891Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/126Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5022Mechanisms to release resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing 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
    • G06F12/0871Allocation or management of cache space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5013Request control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/30Providing cache or TLB in specific location of a processing system
    • G06F2212/304In main memory subsystem
    • G06F2212/3042In main memory subsystem being part of a memory device, e.g. cache DRAM
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/31Providing disk cache in a specific location of a storage system
    • G06F2212/311In host system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Stored Programmes (AREA)

Abstract

Ein Speicherverwaltungssystem 12 eines Betriebssystems 10 beinhaltet einen Speicherverwalter 121 und eine System-Cache-Freimacheinheit 122. Der Speicherverwalter 121 überwacht einen freien Raum des Speichers 2. Beim Detektieren einer Verknappung des freien Raums des Speichers 2 beendet der Speicherverwalter 121 einen von laufenden Prozessen, um den freien Raum des Speichers 2 zu vergrößern. Die System-Cache-Freimacheinheit 122 macht in dem Speicher 2 einen als einen Cache-Bereich des Betriebssystems 10 reservierten Bereich frei, um den freien Raum des Speichers 2 weiter zu erhöhen, wenn ein Typ oder ein Betriebszustand des durch den Speicherverwalter 121 beendeten Prozesses eine vorbestimmte Bedingung erfüllt.

Description

  • Technisches Gebiet
  • Die vorliegende Erfindung bezieht sich auf ein Speicherverwaltungssystem, das einen freien Raum eines Speichers reserviert.
  • Hintergrund
  • Viele hochfunktionelle Betriebssysteme (BSe), die in Informations-Verarbeitungseinrichtungen inkorporiert sind, wie etwa persönliche Computer und Smartphones, verwenden Speicherverwaltungssysteme, die zwangsweise einen von ablaufenden Prozessen beenden, um einen freien Raum eines Speichers zu reservieren, wenn der freie Raum des Speichers unzureichend ist. Beispielsweise inkorporiert Android (registrierte Marke) ein Speicherverwaltungssystem, das Low Memory Killer (niedriger Speicherkiller) genannt wird.
  • Die ein solches Speicherverwaltungssystem beinhaltende Informationsverarbeitungseinrichtung kann eine Verknappung des freien Raums des Speichers verhindern. Jedoch verlängert das zwangsweise Beenden eines Prozesses einer Anwendung, die ein Anwender oft nutzt, die Startzeit, wenn der Anwender als Nächstes die Anwendung verwendet, was ein Problem des Sinkens der Verwendbarkeit der Informations-Verarbeitungseinrichtung verursacht.
  • Beispielsweise schlagen Patentdokumente 1 und 2 die Technologien zum Lösen dieses Problems vor. Das Speicherverwaltungssystem im Patentdokument 1 stellt einen Rang, der eine Priorität zu einem durch jeden Prozess reservierten Speicherbereich repräsentiert, ein, und macht einen Speicherbereich frei, der niedrig rangiert, wenn der freie Raum des Speichers unzureichend ist. Darüber hinaus kann das Speicherverwaltungssystem im Patentdokument 2 einen Prozess mit einer hohen Priorität auf einen Zwangs-Beendigungsverhinderungsprozess einstellen.
  • Dokument des Stands der Technik
  • Patentdokument
    • Patentdokument 1: Japanische ungeprüfte Patentanmeldungs-Nr. JP 2012-221217 A
    • Patentdokument 2: Japanische ungeprüfte Patentanmeldungs-Nr. JP 2008-186167 A
  • Zusammenfassung
  • Durch die Erfindung zu lösendes Problem
  • Beide Technologien von Patentdokumenten 1 und 2 zielen ab auf das Vergrößern eines freien Raums eines Speichers durch Beenden eines Prozesses mit einer niedrigen Priorität. Gemäß der Technologie von Patentdokument 1, falls der freie Raum nicht ausreichend vergrößert werden kann, selbst durch Beenden eines Prozesses mit einer niedrigen Priorität, muss ein Prozess mit einer hohen Priorität beendet werden, wodurch das vorgenannte Problem erzeugt wird. Entsprechend der Technologie von Patentdokument 2, falls viele Zwangsbeendigungs-Verhinderungsprozesse bearbeitet werden, mag der freie Raum des Speichers nicht ausreichend reserviert werden.
  • Die vorliegende Erfindung ist erdacht worden, um die Probleme zu lösen und hat als Aufgabe die Bereitstellung eines Speicherverwaltungssystems, welches ausreichend einen freien Raum eines Speichers reservieren kann, während die zwangsweise Beendigung eines Prozesses mit einer hohen Priorität verhindert wird.
  • Mittel zum Lösen des Problems
  • Ein Speicherverwaltungssystem gemäß der vorliegenden Erfindung beinhaltet: einen Speicherverwalter zum Überwachen eines freien Raums eines Speichers, der zum Ausführen einer Vielzahl von Prozessen zu verwenden ist, und Beenden eines laufenden Prozesses beim Detektieren einer Verknappung des freien Raums des Speichers, um den freien Raum des Speichers zu vergrößern; und eine System-Cache-Freimach-Einheit zum Freimachen eines Bereichs im Speicher, der, als ein Cache-Speicher eines Betriebssystems reserviert ist, um den freien Raum des Speichers weiter zu vergrößern, wenn ein Typ oder ein Betriebszustand des Prozesses, der durch dem Speicher-Manager beendet wird, eine vorbestimmte Bedingung erfüllt.
  • Effekte der Erfindung
  • Gemäß der vorliegenden Erfindung, wenn der Speicherverwalter einen Prozess beendet, der eine vorbestimmte Bedingung erfüllt, befreit die System-Cache-Freistelleinheit einen als einen Cache-Bereich eines Betriebssystems reservierten Bereich, um den freien Raum des Speichers zu vergrößern. Der freie Raum des Speichers kann effektiv gesteigert werden, bevor das Speicherverwaltungssystem einen Prozess mit einer hohen Priorität beendet, was folglich verhindert, dass der Speicherverwalter den Prozess mit einer hohen Priorität beendet. Somit kann der freie Raum des Speichers ausreichend reserviert werden, während eine zwangsweise Beendigung des Prozesses mit einer hohen Priorität verhindert wird.
  • Die Aufgaben, Merkmale, Aspekte und Vorteile der vorliegenden Erfindung werden aus der nachfolgenden detaillierten Beschreibung und den beigefügten Zeichnungen ersichtlicher werden.
  • Figurenliste
    • 1 ist ein Blockdiagramm, welches konzeptionell eine Konfiguration von Haupteinheiten einer Informationsverarbeitungseinrichtung gemäß einer Ausführungsform der vorliegenden Erfindung illustriert.
    • 2 illustriert eine Beispielbeziehung zwischen einem Typ oder einem Betriebszustand und einer Priorität jeden Prozesses und einen Schwellenwert eines freien Raums.
    • 3 illustriert eine Beispielbeschreibung einer Konfigurationsdatei.
    • 4 illustriert Operationen eines Speicherverwaltungssystems gemäß der Ausführungsform der vorliegenden Erfindung.
    • 5 illustriert die Operationen des Speicherverwaltungssystems gemäß der Ausführungsform der vorliegenden Erfindung.
    • 6 illustriert die Operationen des Speicherverwaltungssystems gemäß der Ausführungsform der vorliegenden Erfindung.
    • 7 illustriert die Operationen des Speicherverwaltungssystems gemäß der Ausführungsform der vorliegenden Erfindung.
    • 8 illustriert Operationen von „Low Memory Killer“.
    • 9 illustriert die Operationen von „Low Memory Killer“.
    • 10 illustriert die Operationen von „Low Memory Killer“.
    • 11 illustriert die Operationen von „Low Memory Killer“.
    • 12 ist ein Flussdiagramm, welches die Operationen des Speicherverwaltungssystems gemäß der Ausführungsform der vorliegenden Erfindung illustriert.
  • Beschreibung von Ausführungsformen
  • 1 ist ein Blockdiagramm, welches konzeptionell eine Konfiguration von Haupteinheiten einer Informationsverarbeitungseinrichtung gemäß einer Ausführungsform der vorliegenden Erfindung illustriert. Wie in 1 illustriert, beinhaltet die Informationsverarbeitungseinrichtung einen Prozessor 1, einen Speicher 2 und einen Massenspeicher 3. Spezifische Beispiele der Informations-Verarbeitungseinrichtung beinhalten persönliche Computer, Smartphones, Tablet-Endgeräte, Navigationseinrichtungen und Audio-Anzeigesysteme. Wenn beispielsweise die Informationsverarbeitungseinrichtung eine tragbare Vorrichtung wie etwa ein Smartphone oder ein Tablet-Endgerät ist, wird die Illustration der anderen Bestandteilelemente als jener in 1 illustrierten, beispielsweise eine Bildanzeigeeinheit, eine Audioausgabeeinheit und eine Bedieneingabeeinheit weggelassen, obwohl diese Bestandteilelemente in der Informationsverarbeitungseinrichtung enthalten sind.
  • Der Prozessor 1 führt Software (ein Programm) zum Implementieren verschiedener Funktionen aus. Der Prozessor 1 wird manchmal als beispielsweise eine Zentraleinheit (CPU), eine Verarbeitungseinheit, eine Arithmetik-Einheit, ein Mikroprozessor, ein Mikrocomputer oder ein Digitalsignalprozessor (DSP) bezeichnet.
  • Der Speicher 2 ist ein Hauptspeicher des Prozessors 1 und beinhaltet beispielsweise einen Wahlfreizugriffsspeicher (RAM). Wenn Software ausgeführt wird, veranlasst der Prozessor 1 den Speicher 2, Daten oder ein Programm, welche für die Ausführung notwendig sind, zu speichern.
  • Der Massenspeicher 3 ist ein Hilfsspeicher des Prozessors 1 und speichert beispielsweise ein Programm der durch den Prozessor 1 auszuführenden Software. Hier speichert der Massenspeicher 3 System-Software 31 zum Aufbauen eines Betriebssystems 10, eine Konfigurationsdatei 32, die verschiedene Einstellwerte beschreibt und eine Vielzahl von Teilen von Anwendungs-Software 33 (wird nachfolgend einfach als „Anwendungen 33“ bezeichnet).
  • Beispiele des Massenspeichers 3 beinhalten Halbleiterspeicher wie etwa Nurlesespeicher (ROM), einen Flash-Speicher, einen löschbaren programmierbaren Nurlesespeicher (EPROM), und einen elektrisch löschbaren, programmierbaren Nurlesespeicher (EEPROM), ein Festplattenlaufwerk (HDD), eine optische Disk, eine Magnet-Disk und eine flexible Disk. Der Massenspeicher 3 kann eine Kombination dieser Speichermedien sein. Beispielsweise kann der Massenspeicher 3 eine Form des Speichers der Software 31 und der Konfigurationsdatei 32 im ROM und Speichern der Anwendungen 33 in einer Speicherkarte, die als ein Flash-Speicher funktioniert, annehmen.
  • Der Prozessor 1 führt die System-Software 31, die im Massenspeicher 3 gespeichert ist, aus, um das Betriebssystem 10 aufzubauen. Das Betriebssystem 10 beinhaltet Funktionsblöcke einer Prozessausführungseinheit 11 und eines Speicherverwaltungssystems 12.
  • Die Prozessausführungseinheit 11 führt in dem Massenspeicher 3 gespeicherte Anwendungen 33 aus, anhand einer Anwenderbedienung oder einer Anweisung des Betriebssystems 10. Mit anderen Worten führt die Prozessausführungseinheit 11 verschiedene Prozesse anhand von Programmen der Anwendungen 33 aus. Die Prozessausführungseinheit 11 kann simultan Prozesse einer Vielzahl von Anwendungen 33 ausführen. Die Prozessausführungseinheit 11 kann eine Vielzahl von Prozessen unter Verwendung einer der Anwendungen 33 ablaufen lassen.
  • Das Speicherverwaltungssystem 12 führt einen Prozess zum Auflösen einer Verknappung eines freien Raums des Speichers 2 bei ihrem Auftreten aus. Wie in 1 illustriert, beinhaltet das Speicherverwaltungssystem 12 eine Speicherverwaltung 121 und eine System-Cache-Freimacheinheit 122.
  • Der Speicherverwalter 121 speichert einen freien Raum des Speichers 2. Beim Detektieren einer Verknappung des freien Raums des Speichers 2 beendet der Speicherverwalter 121 irgendeinen von laufenden Prozessen, um den freien Raum des Speichers 2 zu vergrößern. Spezifisch, wenn detektiert wird, dass der freie Raum des Speichers 2 kleiner als ein vordefinierter Schwellenwert ist, wählt der Speicherverwalter 121 einen zu beendenden Prozess aus den laufenden Prozessen aus und gibt an die Prozessausführungseinheit 11 ein Signal aus, welches die Beendigung des ausgewählten Prozesses anfordert. Wenn das Betriebssystem 10 beispielsweise Android ist, sollte der Speicherverwalter 121 der bekannte „Low-Memory-Killer“ sein.
  • Die System-Cache-Freimacheinheit 122 überwacht das aus dem Speicherverwalter 121 ausgegebene Signal zum Identifizieren, welcher Prozess durch den Speicherverwalter 121 beendet worden ist, und prüft den Typ und den Betriebszustand (was einen Betriebszustand unmittelbar vor der Beendigung angibt) des Prozesses. Wenn der Typ oder der Betriebszustand des Prozesses, der durch den Speicherverwalter 121 beendet worden ist, eine vorbestimmte Auslösebedingung erfüllt, befreit die System-Cache-Freimacheinheit 122 im Speicher 2 einen Bereich, der als ein Cache-Bereich des Betriebssystems 10 reserviert ist (nachfolgend als „System-Cache-Bereich“ bezeichnet), um weiter den freien Raum des Speichers 2 zu vergrößern.
  • Spezifische Beispiele der Auslösebedingung werden später beschrieben.
  • Es sei angenommen, dass in der Ausführungsform das Betriebssystem 10 Android ist und der Speicherverwalter 121 „Low Memory Killer“. Beim Low Memory Killer werden laufende Prozesse in eine Vielzahl von Genre klassifiziert, basierend auf einem Typ und einem Betriebszustand jedes der Prozesse, wie in 2 illustriert. Weiterhin werden ein adj-Wert, der eine Priorität repräsentiert, und ein Schwellenwert eines freien Raums des Speichers 2, der ein Kriterium zum Bestimmen ist, ob der Prozessor ein Kandidat für zwangsweise Beendigung ist, für jedes der Genres definiert. Mit kleinerem adj-Wert steigt die Priorität. In 2 wird der Schwellenwert des freien Raums des Speichers 2 durch die Anzahl von Seiten repräsentiert. In Android ist eine Seite gleich 4 kB. Beispielsweise bedeuten 2048 Seiten 4 kB × 2048 = 8192 kB.
  • In 2 ist „FOREGROUND_APP“ ein Prozess, der im Vordergrund arbeitet. Der adj-Wert wird auf 0 eingestellt und der Schwellenwert des freien Raums wird auf 2048 eingestellt. „VISIBLE APP“ ist ein Prozess in einem Zustand, bei dem ein Teil oder die Gesamtheit des Laufbildschirms auf einer Anzeigeeinheit angezeigt wird. Der adj-Wert wird auf 1 eingestellt und der Schwellenwert des freien Raums wird auf 4096 eingestellt. „PERCEPTIBLE_APP“ ist ein Prozess, der im Hintergrund arbeitet, dessen Operation vom Anwender wahrgenommen werden kann (beispielsweise ein Zustand des Wiedergebens von Musik). Der adj-Wert wird auf 2 eingestellt und der Schwellenwert des freien Raums wird auf 8192 eingestellt.
  • „HEAVY_WEIGHT_APP“ ist ein Prozess, dessen Belastung am Prozessor 1 oder dem Speicher 2 schwer ist. Der adj-Wert wird auf 3 eingestellt und der Schwellenwert des freien Raums wird auf 8192 eingestellt. „SECONDARY_SERVER“ ist ein Prozess zum Bereitstellen eines anderen Prozesses mit einer Funktion. Der adj-Wert wird auf 4 eingestellt und der Schwellenwert des freien Raums wird auf 16384 eingestellt. „BACKUP_APP“ ist ein Prozess zum Sichern von Daten. Der adj-Wert wird auf 5 eingestellt und der Schwellenwert des freien Raums wird auf 20000 eingestellt.
  • „HOME APP“ ist ein Prozess zum Anzeigen eines Heimbildschirms für den Anwender, so dass eine Anwendung (das heißt ein Prozess eines Schubfachs oder einer Heim-Anwendung). Der adj-Wert wird auf 6 eingestellt und der Schwellenwert des freien Raums wird auf 25000 eingestellt. „HIDDEN_APP“ ist ein Prozess, der im Hintergrund arbeitet, dessen Betrieb nicht vom Anwender wahrgenommen werden kann. Der adj-Wert wird auf 7 eingestellt und der Schwellenwert des freien Raums wird auf 30000 eingestellt. „CONTENT_PROVIDER“ ist ein Prozess zum Teilen von Daten zwischen einer Vielzahl von Prozessen. Der adj-Wert wird auf 14 eingestellt und der Schwellenwert des freien Raums wird auf 35000 eingestellt. „EMPTY_APP“ ist ein Prozess, während welchem keiner ausgeführt wird. Der adj-Wert wird auf 15 eingestellt, und der Schwellenwert des freien Raums wird auf 40000 eingestellt.
  • Die in 2 illustrierten Einstellwerte werden in der Konfigurationsdatei 32 in einem in 3 illustrierten Format beschrieben und werden durch das Speicherverwaltungssystem 12 beim Starten des Betriebssystems 10 eingelesen.
  • Wenn der freie Raum des Speichers 2 unter einen gewissen Wert fällt, wählt Low-Memory-Killer einen Kandidatenprozess, der zu beenden ist, basierend auf dem freien Raum des Speichers 2 aus. Wenn beispielsweise die in 2 illustrierten Einstellwerte auf Low-Memory-Killer eingestellt sind, läuft Low-Memory-Killer, wenn der freie Raum des Speichers 2 kleiner als 40000 Seiten ist (160000 kB). Wenn beispielsweise der freie Raum des Speichers 2 unter 30000 Seiten (120000 kB) fällt, wählt Low-Memory-Killer einen Prozess, dessen adj-Wert 7 oder mehr ist, als den zu beendenden Kandidatenprozess aus. Wenn der freie Raum des Speichers 2 unter 20000 Seiten fällt (80000 kB), wählt Low-Memory-Killer einen Prozess, dessen adj-Wert 5 oder größer ist, als den zu beendenden Kandidatenprozess aus.
  • Wenn eine Vielzahl von zu beendenden Kandidatenprozessen gefunden wird, beendet Low-Memory-Killer einen Prozess mit der niedrigsten Priorität, das heißt einen Prozess mit dem höchsten adj-Wert von den Kandidatenprozessen. Wenn eine Vielzahl von Prozessen mit der niedrigsten Priorität von den zu beendenden Kandidatenprozessen gefunden wird, beendet Low-Memory-Killer einen Prozess mit der größten Speicherverwendung von der Vielzahl von Prozessen. Low-Memory-Killer wiederholt solche Prozesse, bis der freie Raum des Speichers 2 größer als oder gleich einem gewissen Wert ist oder bis es keinen zu beendenden Kandidatenprozess gibt.
  • Die Auslösebedingung wird auf die System-Cache-Freimacheinheit 122 eingestellt, basierend auf den in 2 illustrierten Prozess-Genres. Ein Genre mit einer Priorität niedriger als derjenigen eines Prozesses, der vorzugsweise daran gehindert wird, durch den Speicherverwalter 121 (Low-Memory-Killer) beendet zu werden, wird auf die Auslösebedingung eingestellt.
  • In der Ausführungsform verhindert der Speicherverwalter 121 (Low-Memory-Killer), dass Prozesse mit einer höheren Priorität als oder gleich derjenigen von „HOME_APP“, beendet werden. In diesem Fall werden Prozess-Genres mit niedrigeren Prioritäten als derjenigen von „HOME_APP“ als Prozess-Genres eingestellt, welche die Auslösebedingung erfüllen. Hier werden „HIDDEN_APP“, „CONTENT_PROVIDER“ und „EMPTY_APP“ auf die, die Auslösebedingung erfüllenden Prozess-Genres eingestellt. Der Einstellwert der Auslösebedingung wird in der im Massenspeicher 3 gespeicherten Konfigurationsdatei 32 beschrieben.
  • Nachfolgend werden Operationen des Speicherverwaltungssystems 12 der Informationsverarbeitungseinrichtung mit den spezifischen Beispielen beschrieben. 4 illustriert Beispiel-Speicherbereiche, die im Speicher 2 zu reservieren sind. Zuerst wird ein Speicherbereich 2s für das Betriebssystem 10 (wird nachfolgend als „System-Speicherbereich 2s“ bezeichnet) im Speicher 2 reserviert. Der System-Speicherbereich 2s beinhaltet einen Cache-Bereich 2sc, der vom Betriebssystem 10 zu verwenden ist, um eine Reaktionszeit für eine Anwenderoperation abzukürzen (wird nachfolgend als „System-Cache-Bereich 2sc“ bezeichnet).
  • Hier ist die Größe des als System-Speicherbereich 2s reservierten Bereichs nicht fixiert. Wenn die Daten, die das Betriebssystem 10 im Speicher 2 „cached“ (zwischenspeichert) anwachsen, wächst der System-Cache-Bereich 2sc graduell an und wächst entsprechend der System-Speicherbereich 2s an.
  • Hier führt die Prozessausführungseinheit 11 alles des Nachfolgenden aus: einen Prozess A, der als „FOREGROUND_APP“ klassifiziert ist; einen Prozess B, der als „VISIBLE_APP“ klassifiziert ist; einen Prozess C, der als „PERCEPTIBLE_APP“ klassifiziert ist; einen Prozess D, der als „SECONDARY_SERVER“ klassifiziert ist; einen Prozess E, der als „BACKUP_APP“ klassifiziert ist; einen Prozess F, der als „HOME_APP“ klassifiziert ist; einen Prozess G, der als „HIDDEN_APP“ klassifiziert ist; einen Prozess H, der als „CONTENT_PROVIDER“ klassifiziert ist, und einen Prozess I, der als „EMPTY_APP“ klassifiziert ist. Im Speicher 2 werden jeweils Speicherbereiche 2a bis 2i für die Prozesse A bis I reserviert. Wie in 2 illustriert, werden 40000 Seiten (80000 kB) oder mehr als ein freier Raum 2x im Speicher 2 reserviert.
  • Beispielsweise wird angenommen, dass ein als „HEAVY_WEIGHT_APP“ klassifizierter Prozess J ab dem in 4 illustrierten Zustand abläuft, dass ein Speicherbereich 2j neu für den Prozess J im Speicher 2 reserviert ist und dass der freie Raum 2x folglich unter 16384 Seiten (65536 kB) fällt, wie in 5 illustriert. Unter Bezugnahme auf 2 wählt der Speicherverwalter 121 als Kandidatenprozesse, die zu beenden sind, den Prozess D, der als „SECONDARY_SERVER“ klassifiziert ist, den Prozess E, der als „BACKUP_APP“ klassifiziert ist, den Prozess F, der als „HOME APP“ klassifiziert ist; den Prozess G, der als „HIDDEN_APP“ klassifiziert ist; den Prozess H, der als „CONTENT_PROVIDER“ klassifiziert ist, und den Prozess I, der als „EMPTY_APP“ klassifiziert ist, aus. Dann beendet der Speicherverwalter 121 den Prozess I mit der niedrigsten Priorität (dem höchsten adj-Wert) von den Kandidatenprozessen. Als Ergebnis wird der Speicherbereich 2i für den Prozess I befreit, um den freien Raum 2x durch den freigestellten Bereich zu vergrößern, wie in 6 illustriert.
  • Hier detektiert die System-Cache-Freimacheinheit 122, dass der Speicherverwalter 121 den als „EMPTY_APP“ klassifizierten Prozess I beendet hat. Da „EMPTY_APP“ in das Genre klassifiziert ist, das als Auslösebedingung in der Ausführungsform eingestellt ist, macht die System-Cache-Freimacheinheit 122 den System-Cache-Bereich 2sc beim Detektieren, dass der Speicherverwalter 121 den Prozess I beendet hat, frei. Als Ergebnis wird der freie Raum 2x weiter vergrößert, wie in 7 illustriert.
  • Da der freie Raum 2x in dem in 7 illustrierten Zustand unter 40000 Seiten (160000 kB) fällt, wählt der Speicherverwalter 121 einen als „EMPTY APP“ klassifizierten Prozess als einen Kandidatenprozess aus, der zu terminieren ist, falls der Prozess ausgeführt wird. Jedoch gibt es keinen als „EMPTY_APP“ klassifizierten Prozess von den Prozessen A bis H in dem in 7 illustrierten Zustand. Somit beendet der Speicherverwalter 121 keinen der Prozesse.
  • Folglich kann der als „HOME_APP“ klassifizierte Prozess F seinen Betrieb fortsetzen. Da der Anwender häufig den als „HOME_APP“ klassifizierten Prozess F ablaufen lässt, hindert der fortgesetzte Betrieb des Prozesses F die Verwendbarkeit der Informationsverarbeitungseinrichtung am Sinken. Obwohl das Freimachen des System-Cache-Bereichs 2sc zeitweilig die Reaktionsrate des Betriebssystems 10 reduzieren kann, beeinträchtigt es wahrscheinlich den Verwendungssinn des Anwenders weniger als diejenige, wenn die Startzeit von beispielsweise einem als „HOME_APP“ klassifizierten Prozess, den der Anwender häufig ablaufen lässt, verlängert wird.
  • Es ist oben als ein Beispiel beschrieben, dass alle von „HIDDEN_APP“, „CONTENT_PROVIDER“ und „EMPTY_APP“ mit niedrigeren Prioritäten als derjenigen von „HOME_APP“ vorzugsweise von ihrer zwangsweisen Beendigung vermieden werden, auf die Prozess-Genres eingestellt werden, die der Auslösebedingung genügen. Jedoch sollten ein oder mehrere von diesen auf die Prozess-Genres eingestellt werden, welche die Auslösebedingung erfüllen. Falls beispielsweise die „EMPTY_APP“ aus dem, die Auslösebedingung erfüllenden Prozess-Genres ausgeschlossen wird, wird der System-Cache-Bereich 2sc nicht durch lediglich Beenden der „EMPTY_APP“ durch den Speicherverwalter 121 freigemacht. Somit kann die Häufigkeit des Freimachens des System-Cache-Bereichs 2sc mehr reduziert werden als die des vorgenannten Beispiels.
  • Folglich ist es in der Ausführungsform möglich, zu verhindern, dass der Speicherverwalter 121 den als „HOME APP“ klassifizierten Prozess F beendet. Um diesen Vorteil klarzustellen, werden nachfolgend Operationen von Low-Memory-Killer, der ein konventionelles Speicherverwaltungssystem ist, beschrieben.
  • Ähnlich zum Beispiel oben sei angenommen, dass der als „HEAVY_WEIGHT_APP“ klassifizierte Prozess J aus dem in 4 illustrierten Zustand ablaufen gelassen wird, um den in 5 illustrierten Zustand zu ergeben, und dass der freie Raum 2x unter 16384 Seiten (65536 kB) fällt. Hier wählt Low-Memory-Killer als Kandidatenprozesse, die zu beenden sind, den als „SECONDARY_SERVER“ klassifizierten Prozess D, den als „BACKUP_APP“ klassifizierten Prozess E, den als „HOME_APP“ klassifizierten Prozess F, den als „HIDDEN_APP“ klassifizierten Prozess G, den als „CONTENT_PROVIDER“ klassifizierten Prozess H und den als „EMPTY_APP“ klassifizierten Prozess I aus. Dann beendet Low-Memory-Killer den Prozess I mit der niedrigsten Priorität von den Kandidatenprozessen. Als Ergebnis wird der Speicherbereich 2i für den Prozess I freigeräumt, um den freien Raum 2x um den frei geräumten Bereich zu vergrößern, wie in 8 illustriert.
  • Da der freie Raum 2x unter 20000 Seiten (80000 kB) im in 8 illustrierten Zustand fällt, wählt Low-Memory-Killer als zu beendende Kandidatenprozesse den den als „BACKUP_APP“ klassifizierten Prozess E, den als „HOME APP“ klassifizierten Prozess F, den als „HIDDEN APP“ klassifizierten Prozess G, den als „CONTENT_PROVIDER“ klassifizierten Prozess H aus. Dann beendet Low-Memory-Killer den Prozess H mit der niedrigsten Priorität von den Kandidatenprozessen. Als Ergebnis wird der Speicherbereich 2h für den Prozess H frei gemacht, um den freien Raum 2x um den befreiten Bereich, wie in 9 illustriert, zu vergrößern.
  • Da der freie Raum 2x unter 25000 Seiten (100000 kB) im in 9 illustrierten Zustand fällt, wählt Low-Memory-Killer als zu beendenden Kandidatenprozess den als „HOME_APP“ klassifizierten Prozess F, und den als „HIDDEN_APP“ klassifizierten Prozess G aus. Dann beendet Low-Memory-Killer den Prozess G mit der niedrigsten Priorität von den Kandidatenprozessen. Als Ergebnis wird der Speicherbereich 2g für den Prozess G bis zum Anstieg des freien Raums 2x um den freigemachten Bereich zu vergrößern, wie in 10 illustriert.
  • Da der freie Raum 2x unter 25000 Seiten (100000 kB) im in 10 illustrierten Zustand fällt, wählt Low-Memory-Killer als einen zu beendenden Kandidatenprozess einen als „HOME_APP“ klassifizierten Prozess F aus und beendet den Prozess F. Als Ergebnis wird der Speicherbereich 2f für den Prozess F frei gemacht, um den freien Raum 2x um den frei gemachten Bereich zu vergrößern, wie in 11 illustriert. Jedoch senkt die Beendigung des als „HOME APP“ klassifizierten Prozesses F die Verwendbarkeit der Informationsverarbeitungseinrichtung.
  • Im Gegensatz zum Speicherverwaltungssystem 12 dieser Ausführungsform, wenn der Speicherverwalter 121 einen Prozess, der die Auslösebedingung erfüllt, beendet, befreit die System-Cache-Freimacheinheit 122 den System-Cache-Bereich 2sc, um den freien Raum 2x zu vergrößern. Somit kann der freie Raum 2x des Speichers 2 effektiv gesteigert werden, bevor das Speicherverwaltungssystem 12 einen Prozess mit einer hohen Priorität, wie etwa „HOME_APP“ beendet, was konsequent verhindert, dass der Speicherverwalter 121 den Prozess mit einer hohen Priorität beendet. Somit kann das Speicherverwaltungssystem 12 ausreichend einen freien Raum eines Speichers reservieren, während die zwangsweise Beendigung eines Prozesses mit einer hohen Priorität verhindert wird.
  • 12 ist ein Flussdiagramm, welches die Operationen des Speicherverwaltungssystems 12 illustriert. Das Speicherverwaltungssystem 12 führt die Prozedur in 12 zum Implementieren der Operationen zur Speicherverwaltung, die unter Bezugnahme auf 4 bis 7 beschrieben sind, aus.
  • Beim Starten des Betriebssystems 10 der Informationsverarbeitungseinrichtung liest das Speicherverwaltungssystem 12 zuerst die Konfigurationsdatei 32 aus dem Massenspeicher 3 aus und initialisiert den Speicherverwalter 121 und die System-Cache-Freimacheinheit 122, basierend auf der Beschreibung der Konfigurationsdatei 32 (Schritt S1). Spezifisch führt das Speicherverwaltungssystem 12 Prozesse des Speicherns, in dem Speicherverwalter 121, einer Tabelle, die eine Beziehung zwischen den Prozess-Genres repräsentiert, der adj-Werte und der Schwellenwerte des freien Raums des Speichers 2, wie in 2 illustriert, und Einstellen der Auslösebedingungen auf die System-Cache-Freimacheinheit 122 ein.
  • Als Nächstes identifiziert der Speicherverwalter 121 die Größe des freien Raums des Speichers 2 (Schritt S2) und bestimmt, ob der freie Raum des Speichers 2 unzureichend ist (Schritt S3). Beispielsweise wenn die in 2 illustrierte Tabelle auf den Speicherverwalter 121 eingestellt wird und der freie Raum des Speichers 2 kleiner als 40000 Seiten (160000 kB) ist, bestimmt der Speicherverwalter 121, dass der freie Raum unzureichend ist. Wenn der freie Raum des Speichers 2 nicht unzureichend ist (NEIN in Schritt S3), werden Schritte S2 und S3 wiederholt.
  • Wenn der freie Raum des Speichers 2 unzureichend ist (JA im Schritt S3), wählt der Speicherverwalter 121 zu beendende Kandidatenprozesse aus, basierend auf der Größe des freien Raums des Speichers 2 (Schritt S4). Wenn die in 2 illustrierte Tabelle auf den Speicherverwalter 121 eingestellt wird und beispielsweise der freie Raum des Speichers 2 unter 30000 Seiten (120000 kB) fällt, wählt der Speicherverwalter 121 Prozesse, deren adj-Wert 7 oder größer ist, als die zu beendenden Kandidatenprozesse aus. Wenn der freie Raum des Speichers 2 unter 20000 Seiten (80000 kB) fällt, wählt der Speicherverwalter 121 Prozesse, deren adj-Wert 5 oder mehr beträgt, als die zu beendenden Kandidatenprozesse aus. Wenn der Speicherverwalter 121 keinen zu beendenden Kandidatenprozess findet (NEIN im Schritt S5), kehren die Prozesse zu Schritt S2 zurück.
  • Wenn er die zu beendenden Kandidatenprozesse findet (JA im Schritt S5), beendet der Speicherverwalter 121 einen Prozess mit der größten Speicherverwendung im Speicher 2 von den Kandidatenprozessen mit der niedrigsten Priorität (dem höchsten adj-Wert), um den freien Raum des Speichers 2 zu vergrößern (Schritt S6). Mit anderen Worten wählt der Speicherverwalter 121 einen Prozess mit der niedrigsten Priorität aus den zu beendenden Kandidatenprozessen aus. Wenn eine Vielzahl der Prozesse mit der niedrigsten Priorität gefunden werden, wählt der Speicherverwalter 121 einen Prozess mit der größten Speicherverwendung im Speicher 2 aus den Prozessen aus und beendet den schließlich ausgewählten Prozess.
  • Nachdem der Speicherverwalter 121 den Prozess beendet, prüft die System-Cache-Freimacheinheit 122, ob der beendete Prozess ein Prozess ist, der die Auslösebedingung erfüllt (Schritt S7). Wenn der beendete Prozess der die Auslösebedingung erfüllende Prozess ist (JA im Schritt S7), befreit die System-Cache-Freimacheinheit 122 den Systemspeicherbereich, um weiter den freien Raum des Speichers 2 zu vergrößern (Schritt S8) und dann kehren die Prozesse zu Schritt S2 zurück.
  • Wenn der durch den Speicherverwalter 121 beendete Prozess nicht der Prozess ist, der die Auslösebedingung erfüllt (NEIN im Schritt S7), kehren die Prozesse zu Schritt S2 zurück, ohne dass die System-Cache-Freimacheinheit 122 den Systemspeicherbereich frei gibt.
  • Das Speicherverwaltungssystem 12 wiederholt diese Prozesse.
  • [Modifikation]
  • Allgemein gesagt, beinhaltet der Cache-Bereich für das Betriebssystem 10 (System-Cache-Bereich) einen Seiten-Cache-Bereich und einen Platten-Cache-Bereich. Obwohl die System-Cache-Freimacheinheit 122 die Gesamtheit des System-Cache-Bereich im vorgenannten Beispiel frei macht, kann es sein, dass der Speicherverwalter 121 nur entweder den Seiten-Cache-Bereich oder den Platten-Cache-Bereich frei macht. Dies kann eine Reduktion bei der Reaktionsrate des Betriebssystems 10 aufgrund der Operationen der System-Cache-Freimacheinheit 122 mehr verhindern als wenn die System-Cache-Freimacheinheit 122 die Gesamtheit des System-Cache-Bereichs frei macht.
  • Ob beispielsweise die System-Cache-Freimacheinheit 122 nur den Seiten-Cache-Bereich, nur den Platten-Cache-Bereich oder sowohl den Seiten-Cache-Bereich als auch den Platten-Cache-Bereich frei macht, kann an jeder Informationsverarbeitungseinrichtung eingestellt werden. In einem solchen Fall sollte ein Einstellwert, der angibt, welcher Bereich die System-Cache-Freimacheinheit 122 frei macht, in der Konfigurationsdatei 32 beschrieben sein. Beim Starten des Betriebssystems 10 (beispielsweise Schritt S1 in 12), sollte die System-Cache-Freimacheinheit 122 den Einstellwert aus der Konfigurationsdatei 32 lesen.
  • Obwohl Android als das Beispiel des Betriebssystems 10 in der Beschreibung oben verwendet wird, ist die vorliegende Erfindung auf das Betriebssystem 10 anwendbar, welches den Speicherverwalter 121 beinhaltet, der einen laufenden Prozess beendet, wenn der freie Raum des Speichers 2 unzureichend ist, um den freien Raum des Speichers zu reservieren, beispielsweise iOS (registrierte Marke), Windows (registrierte Marke) oder Linux (registrierte Marke). Da der Speicherverwalter 121, der mit der System-Cache-Freimacheinheit 122 zu kombinieren ist, eine gemeinsame Einheit wie etwa Low-Memory-Killer sein kann, hat die vorliegende Erfindung die größere Vielseitigkeit.
  • Wenn innerhalb des Schutzumfangs der vorliegenden Erfindung, kann die Ausführungsform angemessen modifiziert oder weggelassen werden.
  • Obwohl diese Erfindung im Detail beschrieben worden ist, ist die Beschreibung in allen Aspekten illustrativ und beschränkt die Erfindung nicht. Daher werden zahlreiche Modifikationen, die noch nicht exemplifiziert worden sind, erdacht werden, ohne vom Schutzumfang dieser Erfindung abzuweichen.
  • Bezugszeichenliste
  • 1 Prozessor, 2 Speicher, 3 Massenspeicher, 10 Betriebssystem, 11 Prozessausführungseinheit, 12 Speicherverwaltungssystem, 121 Speicherverwalter, 122 System-Cache-Freimacheinheit, 31 System-Software, 32 Konfigurationsdatei, 33 Anwendungen.
  • 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 2012221217 A [0004]
    • JP 2008186167 A [0004]

Claims (9)

  1. Speicherverwaltungssystem, umfassend: einen Speicherverwalter zum Überwachen eines freien Raums eines Speichers, der zum Ausführen einer Vielzahl von Prozessen zu verwenden ist, und Beenden eines laufenden Prozesses beim Detektieren einer Verknappung des freien Raums des Speichers, um den freien Raum des Speichers zu vergrößern; und eine System-Cache-Freimach-Einheit zum Freimachen eines Bereichs im Speicher, der, als ein Cache-Speicher eines Betriebssystems reserviert ist, um den freien Raum des Speichers weiter zu vergrößern, wenn ein Typ oder ein Betriebszustand des Prozesses, der durch dem Speicherverwalter beendet wird, eine vorbestimmte Bedingung erfüllt.
  2. Speicherverwaltungssystem gemäß Anspruch 1, wobei die System-Cache-Freimach-Einheit den Cache-Bereich frei macht, wenn der durch den Speicherverwalter beendete Prozess ein Prozess ist, dessen Betrieb nicht von einem Anwender wahrgenommen werden kann.
  3. Speicherverwaltungssystem gemäß Anspruch 1, wobei die System-Cache-Freimach-Einheit den Cache-Bereich frei macht, wenn der durch den Speicherverwalter beendete Prozess ein Prozess zum Teilen von Daten mit einem anderen Prozess ist.
  4. Speicherverwaltungssystem gemäß Anspruch 1, wobei die System-Cache-Freimach-Einheit den Cache-Bereich frei macht, wenn der durch den Speicherverwalter beendete Prozess ein Prozess ist, während welchem keiner ausgeführt wird.
  5. Speicherverwaltungssystem gemäß Anspruch 1, wobei das Speicherverwaltungssystem in der Lage ist, den Cache-Bereich, der durch die System-Cache-Freimach-Einheit freizumachen ist, auf einen Seiten-Cache-Bereich, einen Platten-Cache-Bereich oder sowohl den Seiten-Cache-Bereich als auch den Platten-Cache-Bereich zu setzen.
  6. Speicherverwaltungssystem gemäß Anspruch 1, wobei beim Detektieren der Verknappung des freien Raums des Speichers der Speicherverwalter auswählt, welcher einer Vielzahl von Prozessen zu beenden ist, basierend auf ein oder mehr von freiem Raum des Speichers, dem Typ und dem Betriebszustand jedes der Prozesse und einer Speicherverwendung im Speicher durch den Prozess.
  7. Speicherverwaltungssystem gemäß Anspruch 1, wobei eine Priorität jedes der Vielzahl von Prozessen basierend auf dem Typ oder dem Betriebszustand des Prozesses definiert ist, beim Detektieren der Verknappung des freien Raums des Speichers der Speicherverwalter einen zu beendenden Kandidatenprozess auswählt, basierend auf dem freien Raum des Speichers, bei Anwesenheit einer Vielzahl von Kandidatenprozessen, die zu beenden sind, der Speicherverwalter einen Prozess mit einer niedrigsten Priorität von der Vielzahl von Kandidatenprozessen beendet, und bei Anwesenheit einer Vielzahl von Prozessen mit der niedrigsten Priorität von der Vielzahl von zu beendenden Kandidatenprozessen der Speicherverwalter einen Prozess mit einer größten Speicherverwendung im Speicher aus der Vielzahl von Prozessen mit der niedrigsten Priorität beendet.
  8. Informationsverarbeitungseinrichtung, umfassend: ein Speicherverwaltungssystem gemäß Anspruch 1; eine Prozess-Ausführungseinheit zum Ausführen der Vielzahl von Prozessen; und den Speicher.
  9. Verfahren zum Verwalten eines für die Ausführung einer Vielzahl von Prozessen zu verwendenden Speichers, wobei das Verfahren umfasst: Überwachen eines freien Raums des Speichers und Beenden eines laufenden Prozesses beim Detektieren einer Verknappung des freien Raums des Speichers zum Vergrößern des freien Raums des Speichers, wobei das Überwachen und Beenden durch einen Speicherverwalter eines Speicherverwaltungssystems durchgeführt wird; und Freimachen, im Speicher, eines Bereichs, der als ein Cache-Bereich eines Betriebssystems reserviert ist, um weiter den freien Raum des Speichers zu vergrößern, wenn ein Typ oder ein Betriebszustand des durch den Speicherverwalter beendeten Prozesses eine vorbestimmte Bedingung erfüllt, wobei das Freimachen durch eine System-Cache-Freimacheinheit des Speicherverwaltungssystems durchgeführt wird.
DE112017007318.9T 2017-05-17 2017-05-17 Speicherverwaltungssystem, Informationsverarbeitungsvorrichtung und Speicherverwaltungsverfahren Pending DE112017007318T5 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/018544 WO2018211628A1 (ja) 2017-05-17 2017-05-17 メモリ管理システム、情報処理装置およびメモリの管理方法

Publications (1)

Publication Number Publication Date
DE112017007318T5 true DE112017007318T5 (de) 2019-12-24

Family

ID=64273512

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112017007318.9T Pending DE112017007318T5 (de) 2017-05-17 2017-05-17 Speicherverwaltungssystem, Informationsverarbeitungsvorrichtung und Speicherverwaltungsverfahren

Country Status (5)

Country Link
US (1) US20200081741A1 (de)
JP (1) JP6541930B2 (de)
CN (1) CN110651253A (de)
DE (1) DE112017007318T5 (de)
WO (1) WO2018211628A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11967252B2 (en) * 2021-07-02 2024-04-23 Syncrono Tech, Inc. System for and method of training

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008186167A (ja) 2007-01-29 2008-08-14 Kyocera Corp 電子機器及び電子機器における制御方法
JP2012221217A (ja) 2011-04-08 2012-11-12 Sony Corp メモリ管理装置、メモリ管理方法、および、制御プログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1769304A4 (de) * 2004-05-22 2009-08-26 Kam-Fu Chan Auswechseln einer festsystem-festplatte
CN102799471B (zh) * 2012-05-25 2014-11-05 上海斐讯数据通信技术有限公司 操作系统的进程回收方法及系统
US9250958B2 (en) * 2012-11-19 2016-02-02 Qualcomm Innovation Center, Inc. System, method, and apparatus for improving application-launch latencies
CN103544063B (zh) * 2013-09-30 2017-02-08 三星电子(中国)研发中心 应用于安卓平台的进程清除方法和装置
CN103714016B (zh) * 2014-01-14 2017-10-27 北京猎豹移动科技有限公司 缓存的清理方法、装置及客户端
CN104461737B (zh) * 2014-12-10 2018-01-16 广东欧珀移动通信有限公司 一种内存管理方法和装置
CN105740071B (zh) * 2016-03-17 2018-12-04 深圳市九洲电器有限公司 一种安卓系统运行速度管理方法及系统
CN106354562B (zh) * 2016-08-25 2024-04-12 深圳市泰衡诺科技有限公司 内存清理系统和内存清理方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008186167A (ja) 2007-01-29 2008-08-14 Kyocera Corp 電子機器及び電子機器における制御方法
JP2012221217A (ja) 2011-04-08 2012-11-12 Sony Corp メモリ管理装置、メモリ管理方法、および、制御プログラム

Also Published As

Publication number Publication date
JP6541930B2 (ja) 2019-07-10
WO2018211628A1 (ja) 2018-11-22
US20200081741A1 (en) 2020-03-12
JPWO2018211628A1 (ja) 2019-07-04
CN110651253A (zh) 2020-01-03

Similar Documents

Publication Publication Date Title
DE60033994T2 (de) Verfahren und System zur Ausgabe an und zum Ordnen von Befehlen in einem Festplattenlaufwerk
DE112012005589T5 (de) Informationsverarbeitungsvorrichtung, Informationsverarbeitungsverfahren und Computerprogramm
DE112011102953T5 (de) Verwalten einer Benutzeroberfläche für ein Anwendungsprogramm
DE112014000340T5 (de) Vorablesezugriff auf Daten für einen Chip mit einem übergeordneten Kern und einem Scout-Kern
DE102014108049A1 (de) Intelligente Abfragehäufigkeit
DE112018002500T5 (de) Speicherarray für Hybriddaten
DE102012224362B4 (de) Anpassung einer Testhäufigkeit für die Ressourcenauslastung
DE102016107718A1 (de) Auslesen von Fehlervektoren aus einer Speichereinheit
DE102020112531A1 (de) Operationelle metrische Berechnung für Arbeitsbelastungstyp
DE102020119205A1 (de) Speichervorrichtung, speichersystem und betriebsverfahren hierfür
DE112013004788T5 (de) Pinning von Boot-Daten zum schnelleren Booten
DE112013005768T5 (de) Wiederherstellen einer vorhergehenden Version eines Virtual-Machine-Images
DE112017007318T5 (de) Speicherverwaltungssystem, Informationsverarbeitungsvorrichtung und Speicherverwaltungsverfahren
DE112010005951T5 (de) Unterbrechungssignal-Annahmevorrichtung und Computervorrichtung
DE102013022564B4 (de) Aufrechterhalten der Bandbreiten-Servicequalität einer Hardware-Ressource über einen Hardware-Zähler
DE102015117996A1 (de) Datenspeichersystem
DE112012001469B4 (de) Verwalten von Hochgeschwindigkeitsspeichern
DE112012004468B4 (de) Anwendungs-Level-Spekulative-Verarbeitung
DE112018008070T5 (de) Informationsverarbeitungsvorrichtung, informationsverarbeitungsverfahrenund informationsverarbeitungsprogramm
DE112014006861T5 (de) Programmausführungssystem und Verfahren zum Starten von residenten Programmen
DE112019000189T5 (de) Programmausführungs-steuerverfahren und fahrzeugsteuervorrichtung
DE102005024673A1 (de) Einrichtung, Verfahren und Computerprodukt für Plattenverwaltung
DE102021131057A1 (de) System und Verfahren zur Ausführung einer Aufgabe eines Betriebssystems für ein Fahrzeug
DE212020000560U1 (de) System, Vorrichtung und Medium zum dynamischen Hinzufügen und Entfernen von Servern mittels zeitgesteuerter Aufgaben
DE102015118522A1 (de) Verfahren und Vorrichtung zum beschleunigten Ausführen von Applikationen

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R084 Declaration of willingness to licence