DE202020006014U1 - Elektronische Vorrichtung zum Speichermanagement - Google Patents

Elektronische Vorrichtung zum Speichermanagement Download PDF

Info

Publication number
DE202020006014U1
DE202020006014U1 DE202020006014.3U DE202020006014U DE202020006014U1 DE 202020006014 U1 DE202020006014 U1 DE 202020006014U1 DE 202020006014 U DE202020006014 U DE 202020006014U DE 202020006014 U1 DE202020006014 U1 DE 202020006014U1
Authority
DE
Germany
Prior art keywords
active
lists
inactive
list
physical page
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.)
Active
Application number
DE202020006014.3U
Other languages
English (en)
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.)
Honor Device Co Ltd
Original Assignee
Honor Device Co Ltd
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 Honor Device Co Ltd filed Critical Honor Device Co Ltd
Publication of DE202020006014U1 publication Critical patent/DE202020006014U1/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/084Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash 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
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

Eine elektronische Vorrichtung, aufweisend: einen Prozessor, einen Speicher und einen Touchscreen, wobei der Speicher und der Touchscreen mit dem Prozessor gekoppelt sind, der Speicher eine oder mehrere Speicherzonen aufweist, jede der einen oder mehreren Speicherzonen n inaktiven Listen und m aktiven Listen entspricht, wobei n eine ganze Zahl größer als 1 ist, m eine ganze Zahl größer oder gleich 1 ist, der Speicher so ausgebildet ist, dass er Computerprogrammcode speichert, der Computerprogrammcode Computeranweisungen umfasst und, wenn der Prozessor die Computeranweisungen aus dem Speicher liest, die elektronische Vorrichtung in die Lage versetzt wird, die folgenden Vorgänge durchzuführen:
Einfügen jeder der von der elektronischen Vorrichtung zugewiesenen inaktiven physischen Seiten in eine entsprechende inaktive Liste der n inaktiven Listen auf Grundlage der Anzahl der Zugriffe auf die inaktive physische Seite durch Anwendungsprozesse;
in dem Prozess der Rückforderung physischer Seiten durch die elektronische Vorrichtung, Scannen jeder der n inaktiven Listen und Durchführen einer Rückforderungsprüfung an physischen Seiten in jeder gescannten inaktiven Liste, wobei eine höhere Anzahl von Zugriffen auf die physische Seite in der inaktiven Liste durch die Anwendungsprozesse einen entsprechend der inaktiven Liste längeren Scanzyklus anzeigt; und
wenn festgestellt wird, dass auf physische Seiten in den n inaktiven Listen in einem zuletzt voreingestellten Zeitraum nicht zugegriffen wurde, Rückfordern der physischen Seiten; oder
wenn festgestellt wird, dass auf die physischen Seiten in den n inaktiven Listen in dem zuletzt voreingestellten Zeitraum zugegriffen wurde, Verschieben der physischen Seiten in die m aktiven Listen.

Description

  • Diese Anmeldung beansprucht Priorität für die chinesische Patentanmeldung Nr. 201911118935.9 , die am 15. November 2019 bei der China National Intellectual Property Administration eingereicht wurde und den Titel „MEMORY MANAGEMENT ELECTRONIC DEVICE“ trägt, der hier durch Bezugnahme in vollem Umfang enthalten ist.
  • TECHNISCHES GEBIET
  • Diese Anmeldung bezieht sich auf das Gebiet der Technologien für elektronische Vorrichtungen und insbesondere auf eine elektronische Vorrichtung zum Speichermanagement.
  • HINTERGRUND
  • Als Technologie des Speichermanagements in einem Betriebssystem einer elektronischen Vorrichtung stellt der virtuelle Speicher (virtueller Speicher) eine Abstraktion eines vom Betriebssystem bereitgestellten Speichers (auch als physischer Speicher bezeichnet) dar. Der virtuelle Speicher wird durch eine Kombination aus Betriebssystemsoftware und Hardware implementiert. Der virtuelle Speicher muss nicht durch die Größe des Speichers begrenzt sein, so dass den Anwendungen ein größerer privater Adressraum zur Verfügung steht. Das heißt, dass jeder Anwendungsprozess unabhängig seinen eigenen virtuellen Speicherplatz zuweist. Das Betriebssystem weist dem virtuellen Speicherplatz der Anwendung einen physischen Speicherplatz (d. h. physische Seiten) zu, d. h. es bildet den vom Anwendungsprozess zugewiesenen virtuellen Speicherplatz auf die physischen Seiten ab.
  • Wenn eine Anwendung Dateien liest und schreibt, verwendet das Betriebssystem, um seine Lese- und Schreibleistung zu verbessern, für die in einem externen Speicher abgelegten Dateien, physische Seiten als Zwischenspeicher. Da die Anzahl der physischen Seiten der elektronischen Vorrichtung begrenzt ist, gibt es, wenn der Anwendungsprozess lange Zeit läuft und nicht aktiv physische Seiten freigibt, oder wenn eine große Anzahl von Anwendungsprozessen physische Seiten anfordert, weniger ungenutzte physische Seiten. Wenn die Anzahl der ungenutzten physischen Seiten eine Anforderung für die Speicherzuteilung nicht erfüllen kann oder unter einen bestimmten Schwellenwert fällt, fordert das Betriebssystem daher die kürzlich ungenutzten physischen Seiten auf Grundlage eines bestimmten Algorithmus zurück (z. B. eines Algorithmus für die am wenigsten genutzten Seiten (Least Recently Used, LRU)).
  • Am Beispiel von Linux verwendet das Betriebssystem ein Paar von LRU-Listen, um physische Seiten eines Speichers zu verwalten. Die LRU-Liste umfasst eine aktive Liste (active_list) und eine inaktive Liste (inactive_list). Physische Seiten, auf die häufig zugegriffen wird, werden in die aktive Liste aufgenommen, während physische Seiten, auf die nur selten zugegriffen wird, in die inaktive Liste aufgenommen werden. Bei der Rückforderung physischer Seiten durchsucht das Betriebssystem die inaktive Liste von ihrem Ende her und prüft, ob die einzelnen physischen Seiten in letzter Zeit verwendet wurden. Wenn eine physische Seite verwendet wurde, wird sie an den Kopf der aktiven Liste gesetzt. Wurde eine physische Seite nicht verwendet, wird sie zurückgefordert. Das heißt, wenn eine physische Seite vom Kopf der aktiven Liste an das Ende der inaktiven Liste wandert, wird sie, wenn auf sie nicht zugegriffen wurde, vom Betriebssystem zurückgefordert.
  • Es sei bemerkt, dass bei einer bestehenden Vorrichtung zur Rückforderung einer physischen Seite nur berücksichtigt wird, ob die physische Seite kürzlich verwendet wurde, ohne die Anzahl der tatsächlichen Verwendungen der physischen Seite in Betracht zu ziehen, was sich auf die Lese- und Schreibleistung des Betriebssystems auswirkt. Beispielsweise wird auf einige gemeinsam genutzte physische Seiten tatsächlich häufig von mehreren Anwendungsprozessen zugegriffen, wobei aber die Zugriffszeit einer gemeinsam genutzten physischen Seite länger sein kann als die Zeit, die die gemeinsam genutzte physische Seite benötigt, um vom Kopf der aktiven Liste zum Ende der inaktiven Liste zu gelangen. Wenn in diesem Fall das Betriebssystem physische Seiten zurückfordert, werden die gemeinsam genutzten physischen Seiten trotzdem zurückgefordert. Wenn die Anwendungsprozesse auf die gemeinsam genutzten physischen Seiten erneut zugreifen, weist das Betriebssystem die physischen Seiten erneut zu. Dabei ist festzustellen, dass diese gemeinsam genutzten physischen Seiten vom Betriebssystem immer wieder zurückgefordert und neu zugewiesen werden, was die Lese- und Schreibleistung des Betriebssystems erheblich beeinträchtigt.
  • ZUSAMMENFASSUNG
  • Diese Anmeldung sieht eine elektronische Vorrichtung zum Speichermanagement vor, das eine unnötige mehrmalige Rückforderung und Prüfung einer physischen Seite, auf die häufig zugegriffen wird, vermeidet, die Rückforderungseffizienz eines Betriebssystems hinsichtlich einer physischen Seite beschleunigt und die Leistung des Betriebssystems verbessert.
  • Gemäß einem ersten Aspekt wird eine elektronische Vorrichtung bereitgestellt, die Folgendes umfasst: einen Prozessor, einen Speicher und einen Touchscreen, wobei der Speicher und der Touchscreen mit dem Prozessor gekoppelt sind, der Speicher eine oder mehrere Speicherzonen umfasst, wobei jede der einen oder mehreren Speicherzonen n inaktiven Listen und m aktiven Listen entspricht, wobei n eine ganze Zahl größer als 1 ist und m eine ganze Zahl größer als oder gleich 1 ist. Der Speicher ist so ausgebildet, dass er Computerprogrammcode speichert, wobei der Computerprogrammcode Computeranweisungen enthält, wobei, wenn der Prozessor die Computeranweisungen aus dem Speicher liest, die elektronische Vorrichtung in der Lage ist, die folgenden Vorgänge auszuführen: Einfügen jeder der von der elektronischen Vorrichtung zugewiesenen inaktiven physischen Seiten in eine entsprechende inaktive Liste der n inaktiven Listen auf Grundlage der Anzahl der Zugriffe auf die inaktive physische Seite durch Anwendungsprozesse; im Prozess der Rückforderung physischer Seiten durch die elektronische Vorrichtung, Scannen jeder der n inaktiven Listen und Durchführen einer Rückforderungsprüfung an physischen Seiten in jeder gescannten inaktiven Liste, wobei eine höhere Anzahl von Zugriffen auf die physische Seite in der inaktiven Liste durch die Anwendungsprozesse einen längeren Scanzyklus entsprechend der inaktiven Liste anzeigt; und wenn festgestellt wird, dass auf physische Seiten in den n inaktiven Listen in einem zuletzt voreingestellten Zeitraum nicht zugegriffen worden ist, Rückfordern der physischen Seiten; oder wenn festgestellt wird, dass auf physische Seiten in den n inaktiven Listen in dem zuletzt voreingestellten Zeitraum zugegriffen worden ist, Verschieben der physischen Seiten in die m aktiven Listen.
  • In einer möglichen Implementierung umfasst das Scannen jeder der n inaktiven Listen: Sequenzieren der n inaktiven Listen auf Grundlage der Anzahl der Zugriffe auf jede physische Seite durch die Anwendungsprozesse; und im Prozess der Rückforderung der physischen Seiten durch die elektronische Vorrichtung, Durchführen von P Scan-Durchläufen an den n inaktiven Listen, wobei P eine ganze Zahl größer oder gleich 2 ist, wobei in jedem der P Scan-Durchläufe, auf Grundlage der Reihenfolge der n inaktiven Listen, das Scannen von der inaktiven Liste aus durchgeführt wird, in der sich die physische Seite mit der geringsten Anzahl an Zugriffen durch die Anwendungsprozesse befindet, und die Anzahl der in jedem Durchlauf gescannten inaktiven Listen unterschiedlich ist.
  • In einer möglichen Implementierung, bei der in jedem der P Scan-Durchläufe, auf Grundlage der Reihenfolge der n inaktiven Listen, das Scannen von der inaktiven Liste aus durchgeführt wird, in der sich die physische Seite mit der geringsten Anzahl an Zugriffen durch die Anwendungsprozesse befindet, und die Anzahl der in jedem Durchlauf gescannten inaktiven Listen unterschiedlich ist, sieht konkret wie folgt aus: In jedem der P Scan-Durchläufe wird, auf Grundlage der Reihenfolge der n inaktiven Listen, von der inaktiven Liste aus gescannt, in der sich die physische Seite mit der geringsten Anzahl an Zugriffen durch die Anwendungsprozesse befindet, wobei sich die Anzahl der in jedem Durchlauf gescannten inaktiven Listen um eine vorgegebene Anzahl, im Vergleich zu der Anzahl der in dem vorherigen Durchlauf gescannten inaktiven Listen, erhöht.
  • In einer möglichen Implementierung führt die elektronische Vorrichtung außerdem die folgenden Vorgänge aus: Wenn m gleich 1 ist, im Prozess der Rückforderung der physischen Seiten durch die elektronische Vorrichtung, Scannen von einer Seite der aktiven Liste aus und Durchführen einer Rückforderungsprüfung der gescannten physischen Seiten; und wenn festgestellt wird, dass auf eine physische Seite in der aktiven Liste in dem zuletzt voreingestellten Zeitraum nicht zugegriffen wurde, Einfügen der physischen Seite in die inaktive Liste entsprechend der Anzahl an Zugriffen auf die physische Seite durch die Anwendungsprozesse; oder wenn festgestellt wird, dass auf eine physische Seite in der inaktiven Liste in dem zuletzt voreingestellten Zeitraum zugegriffen wurde, Verschieben der physischen Seite auf die andere Seite der aktiven Liste.
  • In einer möglichen Implementierung führt die elektronische Vorrichtung außerdem die folgenden Vorgänge aus: Wenn m größer als 1 ist, wird jede der von der elektronischen Vorrichtung zugewiesenen aktiven physischen Seiten in eine entsprechende aktive Liste der m aktiven Listen auf Grundlage der Anzahl der Zugriffe auf die physische Seite eingefügt.
  • In einer möglichen Implementierung umfasst das Verschieben der physischen Seiten in die m aktiven Listen, wenn festgestellt wird, dass auf physische Seiten in den n inaktiven Listen in dem zuletzt voreingestellten Zeitraum zugegriffen wurde, insbesondere: wenn festgestellt wird, dass auf physische Seiten in den n inaktiven Listen in dem zuletzt voreingestellten Zeitraum zugegriffen wurde, Verschieben der physischen Seiten in die aktive Liste mit der physischen Seite, auf die von den m aktiven Listen am wenigsten zugegriffen wurde.
  • In einer möglichen Implementierung führt die elektronische Vorrichtung außerdem die folgenden Vorgänge aus: im Prozess der Rückforderung der physischen Seiten durch die elektronische Vorrichtung, Scannen der m aktiven Listen und Durchführen einer Rückforderungsprüfung der physischen Seiten in den m gescannten aktiven Listen; wenn festgestellt wird, dass auf die physischen Seiten in den m aktiven Listen in dem zuletzt voreingestellten Zeitraum nicht zugegriffen wurde, Einfügen jeder der physischen Seiten in die inaktive Liste entsprechend der Anzahl an Zugriffen auf die physische Seite durch die Anwendungsprozesse; und wenn festgestellt wird, dass auf eine physische Seite in der ersten aktiven Liste der m aktiven Listen in dem zuletzt voreingestellten Zeitraum zugegriffen wurde, Verschieben der physischen Seite in die zweite aktive Liste der m aktiven Listen, wobei die Anzahl der Zugriffe auf die physische Seite in der zweiten aktiven Liste größer ist als die Anzahl der Zugriffe auf die physische Seite in der ersten aktiven Liste.
  • In einer möglichen Implementierung umfasst das Scannen der m aktiven Listen: im Prozess der Rückforderung physischer Seiten durch die elektronische Vorrichtung, Durchführen von Q Scan-Durchläufen auf den m aktiven Listen, wobei Q eine ganze Zahl größer oder gleich 2 ist, wobei in jedem der Q Scan-Durchläufe, auf Grundlage der Reihenfolge der m aktiven Listen, das Scannen von der aktiven Liste aus durchgeführt wird, in der sich die physische Seite befindet, auf die am wenigsten oft zugegriffen wurde, wobei die Anzahl der in jedem Durchlauf gescannten aktiven Listen unterschiedlich ist.
  • Eine mögliche Implementierung, bei der in jedem der Q Scan-Durchläufe, auf Grundlage der Reihenfolge der m aktiven Listen, das Scannen von der aktiven Liste aus durchgeführt wird, in der sich die physische Seite befindet, auf die am wenigsten oft zugegriffen wurde, und die Anzahl der in jedem Durchlauf gescannten aktiven Listen unterschiedlich ist, sieht konkret wie folgt aus: In jedem der Q Scan-Durchläufe, auf Grundlage der Reihenfolge der m aktiven Listen, wird das Scannen von der aktiven Liste aus durchgeführt, in der sich die physische Seite befindet, auf die am wenigsten oft zugegriffen wurde, wobei sich die Anzahl der aktiven Listen, die in jedem Durchlauf gescannt werden, um eine vorgegebene Anzahl, im Vergleich zu der Anzahl der aktiven Listen, die in dem vorherigen Durchlauf gescannt wurden, erhöht.
  • Gemäß einem zweiten Aspekt wird eine elektronische Vorrichtung bereitgestellt, die Folgendes umfasst: einen Prozessor, einen Speicher und einen Touchscreen, wobei der Speicher und der Touchscreen mit dem Prozessor verbunden sind, der Speicher eine oder mehrere Speicherzonen umfasst, jede der einen oder mehreren Speicherzonen einer inaktiven Liste und m aktiven Listen entspricht und m eine ganze Zahl größer als 1 ist. Der Speicher ist so ausgebildet, dass er Computerprogrammcode speichert, der Computeranweisungen enthält, wobei, wenn der Prozessor die Computeranweisungen aus dem Speicher liest, die elektronische Vorrichtung in der Lage ist, die folgenden Vorgänge auszuführen: Einfügen jeder der aktiven physischen Seiten, die von der elektronischen Vorrichtung zugewiesen wurden, in eine entsprechende aktive Liste der m aktiven Listen auf Grundlage der Anzahl der Zugriffe auf die physische Seite; im Prozess der Rückforderung physischer Seiten durch die elektronische Vorrichtung, Scannen jeder der m aktiven Listen und Durchführen einer Rückforderungsprüfung für physische Seiten in jeder der m gescannten aktiven Listen, wobei eine höhere Anzahl von Zugriffen auf die physische Seite in der aktiven Liste einen längeren Scanzyklus entsprechend der aktiven Liste anzeigt; wenn festgestellt wird, dass auf physische Seiten in den m aktiven Listen in dem zuletzt voreingestellten Zeitraum nicht zugegriffen wurde, Verschieben der physischen Seiten auf eine Seite der inaktiven Liste; und wenn festgestellt wird, dass auf eine physische Seite in der ersten aktiven Liste der m aktiven Listen in dem zuletzt voreingestellten Zeitraum zugegriffen wurde, Verschieben der physischen Seite in die zweite aktive Liste.
  • In einer möglichen Implementierung umfasst das Scannen jeder der m aktiven Listen: im Prozess der Rückforderung physischer Seiten durch die elektronische Vorrichtung, Durchführen von Q Scan-Durchläufen auf den m aktiven Listen, wobei Q eine ganze Zahl größer oder gleich 2 ist, wobei in jedem der Q Scan-Durchläufe, auf Grundlage der Reihenfolge der m aktiven Listen, das Scannen von der aktiven Liste aus durchgeführt wird, in der sich die physische Seite befindet, auf die am wenigsten oft zugegriffen wurde, wobei die Anzahl der in jedem Durchlauf gescannten aktiven Listen unterschiedlich ist.
  • Eine mögliche Implementierung, bei der in jedem der Q Scan-Durchläufe, auf Grundlage der Reihenfolge der m aktiven Listen, das Scannen von der aktiven Liste aus durchgeführt wird, in der sich die physische Seite befindet, auf die am wenigsten oft zugegriffen wurde, und die Anzahl der in jedem Durchlauf gescannten aktiven Listen unterschiedlich ist, sieht konkret wie folgt aus: In jedem der Q Scan-Durchläufe, auf Grundlage der Reihenfolge der m aktiven Listen, wird das Scannen von der aktiven Liste aus durchgeführt, in der sich die physische Seite befindet, auf die am wenigsten oft zugegriffen wurde, wobei sich die Anzahl der aktiven Listen, die in jedem Durchlauf gescannt werden, um eine vorgegebene Anzahl, im Vergleich zu der Anzahl der aktiven Listen, die in dem vorherigen Durchlauf gescannt wurden, erhöht.
  • In einer möglichen Implementierung führt die elektronische Vorrichtung außerdem die folgenden Vorgänge aus: in dem Prozess der Rückforderung der physischen Seiten durch die elektronische Vorrichtung, Scannen von der anderen Seite der inaktiven Liste und Durchführen einer Rückforderungsprüfung an gescannten physischen Seiten; und wenn festgestellt wird, dass auf eine physische Seite in der inaktiven Liste in einem zuletzt voreingestellten Zeitraum nicht zugegriffen wurde, Rückfordern der physischen Seite; oder wenn festgestellt wird, dass auf eine physische Seite in der inaktiven Liste in dem zuletzt voreingestellten Zeitraum zugegriffen wurde, Verschieben der physischen Seite in die aktive Liste mit der physischen Seite, auf die von den m aktiven Listen am wenigsten zugegriffen wurde.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
    • 1 ist ein erstes schematisches Strukturdiagramm einer elektronischen Vorrichtung gemäß einer Ausführungsform dieser Anmeldung;
    • 2 ist ein zweites schematisches Strukturdiagramm einer elektronischen Vorrichtung gemäß einer Ausführungsform dieser Anmeldung;
    • 3 ist ein schematisches Diagramm eines Verfahrens zur Rückforderung physischer Seiten im Stand der Technik;
    • 4 ist ein schematisches Prozessdiagramm eines Speichermanagementverfahrens gemäß einem für das Verstehen der Erfindung notwendigen Beispiels;
    • 5 ist ein schematisches Prozessdiagramm eines anderen Speichermanagementverfahrens gemäß einem für das Verstehen der Erfindung notwendigen Beispiels;
    • 6 ist ein schematisches Prozessdiagramm eines weiteren Speichermanagementverfahrens gemäß einem für das Verstehen der Erfindung notwendigen Beispiels; und
    • 7 ist ein schematisches Strukturdiagramm eines Chipsystems gemäß einem für das Verstehen der Erfindung notwendigen Beispiels.
  • BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
  • In der Beschreibung der Ausführungsformen dieser Anmeldung bedeutet „/“, sofern nicht anders angegeben, „oder“, z. B. kann A/B „A oder B“ bedeuten; „und/oder“ wird hier nur verwendet, um eine Assoziationsbeziehung zwischen assoziierten Objekten zu beschreiben, und zeigt an, dass drei Beziehungen bestehen können. A und/oder B kann zum Beispiel Folgendes bedeuten: Nur A existiert, sowohl A als auch B existieren, und nur B existiert.
  • Die Begriffe „erste“ und „zweite“ werden hier nur zur Beschreibung verwendet und können nicht so verstanden werden, dass sie eine relative Bedeutung oder implizit die Anzahl der angegebenen technischen Merkmale angeben oder implizieren. Daher können die mit „erstens“ und „zweitens“ definierten Merkmale explizit oder implizit eines oder mehrere der Merkmale umfassen. In der Beschreibung der Ausführungsformen dieser Anmeldung bedeutet, sofern nicht anders angegeben, „mehrere“ zwei oder mehr.
  • In den Ausführungsformen dieser Anmeldung werden Wörter wie „Beispiel“ oder „zum Beispiel“ verwendet, um ein Beispiel, eine Illustration oder eine Beschreibung zu geben. Jede Ausführungsform oder konstruktive Lösung, die in den Ausführungsformen dieser Anmeldung als „Beispiel“ oder „zum Beispiel“ beschrieben wird, sollte nicht so ausgelegt werden, als sei sie bevorzugter oder vorteilhafter als andere Ausführungsformen oder konstruktive Lösungen. Gerade Worte wie „Beispiel“ oder „zum Beispiel“ werden verwendet, um verwandte Konzepte in einer bestimmten Weise darzustellen.
  • Ein Betriebssystem einer elektronischen Vorrichtung unterteilt normalerweise einen Speicher in eine Mehrzahl an Speicherzonen (Zone) und verwaltet den Speicher in der Einheit von Speicherzonen (Zone). Im Stand der Technik verwendet das Betriebssystem eine inaktive Liste und eine aktive Liste für jede Speicherzone, um eine Funktion zur Verwaltung physischer Seiten in der Speicherzone zu implementieren, zum Beispiel eine Funktion zur Rückforderung physischer Seiten. In den Ausführungsformen dieser Anmeldung kann das Betriebssystem eine Mehrzahl an inaktiven Listen und eine aktive Liste für jede Speicherzone verwenden, um die Funktion der Rückforderung physischer Seiten zu implementieren. Alternativ kann das Betriebssystem eine inaktive Liste und eine Mehrzahl an aktiven Listen für jede Speicherzone verwenden, um die Funktion der Rückforderung physischer Seiten zu implementieren. Alternativ kann das Betriebssystem eine Mehrzahl an inaktiven Listen und eine Mehrzahl an aktiven Listen für jede Speicherzone verwenden, um die Funktion der Rückforderung physischer Seiten zu implementieren.
  • In einigen Ausführungsformen kann die elektronische Vorrichtung insbesondere inaktive physische Seiten in verschiedene inaktive Listen aufnehmen, je nachdem, wie häufig auf die inaktiven physischen Seiten zugegriffen wird. Während der Wiederherstellung physischer Seiten wird die Wiederherstellungsprüfung für verschiedene inaktive Listen auf Grundlage verschiedener Zyklen durchgeführt. Das heißt, dass die Anzahl der Rückforderungsprüfungen für verschiedene inaktive Listen in demselben Zeitraum unterschiedlich ist. Im Allgemeinen bedeutet eine höhere Anzahl von Zugriffen auf physische Seiten einen längeren Zyklus für die Durchführung der Rückforderungsprüfung und eine geringere Anzahl von Rückforderungsprüfungen in demselben Zeitraum. Bei der Rückforderungsprüfung wird geprüft, ob auf eine physische Seite vor kurzem zugegriffen wurde (innerhalb eines zuletzt ersten voreingestellten Zeitraums), so dass anschließend auf Grundlage eines Prüfergebnisses entsprechende Vorgänge durchgeführt werden können.
  • Einerseits wird dadurch die Rückforderungsprüfung einer physischen Seite, auf die häufig zugegriffen wird, reduziert, die Wahrscheinlichkeit, dass die physische Seite zurückgefordert wird, verringert und die Überlebenszeit der physischen Seite, auf die häufig zugegriffen wird, verlängert, wodurch die Cache-Trefferrate des Speichers des Betriebssystems erhöht wird. Andererseits ist die Durchführung der Rückforderungsprüfung für die physische Seite, auf die häufig zugegriffen wird, unter Verwendung eines längeren Zyklus förderlich für die Feststellung während der Rückforderungsprüfung, dass auf die physische Seite innerhalb des zuletzt ersten voreingestellten Zeitraums zugegriffen wurde, so dass die physische Seite von der inaktiven Liste in die aktive Liste verschoben wird und die Überlebenszeit der physischen Seite, auf die häufig zugegriffen wird, verlängert wird, wodurch die Cache-Trefferrate des Speichers des Betriebssystems erhöht wird.
  • In einer bestimmten Implementierung kann die elektronische Vorrichtung physische Seiten auf Grundlage der Werte von Mapcount (Zugriffszähler) der physischen Seiten in verschiedene inaktive Listen aufnehmen. Der Mapcount einer physischen Seite wird verwendet, um die Anzahl der Zugriffe der physischen Seite durch Anwendungsprozesse anzuzeigen, d. h. die Anzahl der Seitentabelleneinträge (Page Table Entries, PTEs) der Anwendungsprozesse, die auf Grundlage der physischen Seite zugeordnet sind, d.h. die Anzahl der Anwendungsprozesse, die sich die physische Seite teilen. Es kann davon ausgegangen werden, dass die Wahrscheinlichkeit eines häufigen Zugriffs auf die physische Seite höher ist, wenn eine physische Seite von mehreren Anwendungsprozessen gemeinsam genutzt wird. In diesem Fall wird bei dieser Anmeldung der Zyklus der Rückforderungsprüfung für die gemeinsam genutzte physische Seite verlängert, was einer Verlängerung der Überlebenszeit der gemeinsam genutzten physischen Seite entspricht. Wenn auf die gemeinsam genutzte physische Seite innerhalb der verlängerten Überlebenszeit zugegriffen wurde, fordert die elektronische Vorrichtung die gemeinsam genutzte physische Seite nicht zurück, und wenn auf die gemeinsam genutzte physische Seite nicht zugegriffen wurde, fordert die elektronische Vorrichtung die gemeinsam genutzte physische Seite zurück. Daraus ist abzuleiten, dass, verglichen mit dem Stand der Technik, das Verfahren gemäß dieser Anmeldung hinsichtlich der Verringerung der Wahrscheinlichkeit der Rückforderung der gemeinsamen physischen Seite vorteilhaft ist.
  • In einigen anderen Ausführungsformen kann die elektronische Vorrichtung ferner aktive physische Seiten in verschiedene aktive Listen Einfügen, je nachdem, wie häufig auf die aktiven physischen Seiten zugegriffen wird. In ähnlicher Weise wird während der Rückforderung physischer Seiten eine Rückforderungsprüfung für verschiedene aktive Listen auf Grundlage verschiedener Zyklen durchgeführt. Das heißt, dass die Anzahl der Rückforderungsprüfungen für die verschiedenen aktiven Listen im gleichen Zeitraum unterschiedlich ist. Im Allgemeinen bedeutet eine höhere Anzahl von Zugriffen auf physische Seiten einen längeren Zyklus für die Durchführung der Rückforderungsprüfung und eine geringere Anzahl von Rückforderungsprüfungen im selben Zeitraum. Die Rückforderungsprüfung bezieht sich auf die Prüfung, ob auf eine physische Seite innerhalb eines zuletzt ersten voreingestellten Zeitraums zugegriffen wurde, so dass anschließend auf Grundlage eines Prüfergebnisses entsprechende Vorgänge durchgeführt werden können. Der Grund dafür ist, dass sich auf Grundlage des Lokalitätsprinzips erkennen lässt, dass sich bei einem CPU-Zugriff auf den Speicher die genutzten Speichereinheiten in einem relativ kleinen zusammenhängenden Bereich sammeln, unabhängig davon, ob die CPU auf Anweisungen oder Daten zugreift. Das heißt, dass auf eine physische Seite, auf die häufig zugegriffen wird, in der Regel erneut zugegriffen wird, so dass es sinnlos und ineffizient ist, die physische Seite, auf die häufig zugegriffen wird, wiederholt auf Rückforderung zu prüfen. In dieser Anmeldung wird die Rückforderungsprüfung für die physische Seite, auf die häufig zugegriffen wird, jedoch in einem längeren Zyklus durchgeführt, wodurch unnötige Rückforderungsprüfungen für Prozesse des Betriebssystems vermieden und die Lese- und Schreibgeschwindigkeit verbessert werden können.
  • In einer spezifischen Implementierung kann die elektronische Vorrichtung während der Rückforderungsprüfung, auf Grundlage eines PG_referenced-Flag der physischen Seite, feststellen, ob auf jede physische Seite innerhalb des zuletzt ersten voreingestellten Zeitraums zugegriffen wurde, und feststellen, wie häufig auf die physische Seite zugegriffen wird, mit Bezug auf einen Identifikator (verwendet, um verschiedene aktive Listen zu identifizieren) der aktiven Liste, in der sich die physische Seite befindet.
  • Bei der elektronischen Vorrichtung gemäß dieser Anmeldung kann es sich beispielsweise um ein Mobiltelefon, einen Tablet-Computer, einen Personal Computer (PC), einen persönlichen digitalen Assistenten (PDA), eine Smartwatch, ein Netbook, eine tragbare elektronische Vorrichtung, eine Augmented-Reality-Vorrichtung (AR), eine Virtual-Reality-Vorrichtung (VR), ein Fahrzeug-eigenes Gerät, ein intelligentes Fahrzeug, einen intelligenten Lautsprecher und einen Roboter handeln. In dieser Anmeldung ist keine besondere Einschränkung auf eine bestimmte Form der elektronischen Vorrichtung vorgesehen.
  • 1 ist ein schematisches Strukturdiagramm einer elektronischen Vorrichtung 100.
  • Die elektronische Vorrichtung 100 kann einen Prozessor 110, eine externe Speicherschnittstelle 120, einen internen Speicher 121, eine Schnittstelle für einen universellen seriellen Bus (Universal Serial Bus, USB) 130, ein Lademanagementmodul 140, ein Energiemanagementmodul 141, eine Batterie 142, eine Antenne 1, eine Antenne 2, ein Mobilkommunikationsmodul 150, ein drahtloses Kommunikationsmodul 160, ein Audiomodul 170, einen Lautsprecher 170A, einen Empfänger 170B, ein Mikrofon 170C, eine Kopfhörerbuchse 170D, ein Sensormodul 180, eine Taste 190, einen Motor 191, eine Anzeige 192, eine Kamera 193, einen Bildschirm 194, eine Schnittstelle für eine SIM-Karte (Subscriber Identity Module, SIM) 195 und dergleichen aufweisen. Das Sensormodul 180 kann einen Drucksensor 180A, einen Gyrosensor 180B, einen barometrischen Drucksensor 180C, einen Magnetsensor 180D, einen Beschleunigungssensor 180E, einen Abstandssensor 180F, einen optischen Näherungssensor 180G, einen Fingerabdrucksensor 180H, einen Temperatursensor 180J, einen Berührungssensor 180K, einen Umgebungslichtsensor 180L, einen Knochenleitungssensor 180M und ähnliches aufweisen.
  • Es versteht sich, dass die in den Ausführungsformen der vorliegenden Erfindung dargestellte Struktur keine spezifische Einschränkung der elektronischen Vorrichtung 100 darstellt. In einigen anderen Ausführungsformen dieser Anmeldung kann die elektronische Vorrichtung 100 mehr oder weniger Komponenten als die in der Abbildung gezeigten enthalten, einige Komponenten kombinieren, einige Komponenten aufteilen oder andere Komponentenanordnungen aufweisen. Die dargestellten Komponenten können durch Hardware, Software oder eine Kombination aus Software und Hardware implementiert sein.
  • Der Prozessor 110 kann eine oder mehrere Verarbeitungseinheiten enthalten. Der Prozessor 110 kann beispielsweise einen Anwendungsprozessor (Application Processor, AP), einen Modemprozessor, eine Grafikverarbeitungseinheit (Graphics Processing Unit, GPU), einen Bildsignalprozessor (Image Signal Processor, ISP), eine Steuereinheit, einen Videocodec, einen digitalen Signalprozessor (Digital Signal Processor, DSP), einen Basisbandprozessor und/oder eine Verarbeitungseinheit für neuronale Netze (Neural-Network Processing Unit, NPU) umfassen. Die verschiedenen Verarbeitungseinheiten können unabhängige Geräte darstellen oder in einen oder mehrere Prozessoren integriert sein.
  • Die Steuereinheit kann ein Betriebssteuersignal auf Grundlage eines Anweisungsvorgangscodes und eines Zeitfolgesignals erzeugen, um den Anweisungsabruf und die Anweisungsausführung zu steuern.
  • Im Prozessor 110 kann außerdem ein Speicher zum Speichern von Anweisungen und Daten angeordnet sein. In einigen Ausführungsformen ist der Speicher im Prozessor 110 ein Cache-Speicher. Der Speicher kann eine Anweisung oder Daten speichern, die der Prozessor 110 gerade verwendet hat oder zyklisch verwendet. Wenn der Prozessor 110 die Anweisung oder die Daten erneut verwenden muss, kann die Anweisung oder können die Daten direkt aus dem Speicher aufgerufen werden. Dadurch wird ein wiederholter Zugriff vermieden und die Wartezeit des Prozessors 110 verringert, was die Systemeffizienz verbessert.
  • In einigen Ausführungsformen kann der Prozessor 110 eine oder mehrere Schnittstellen aufweisen. Die Schnittstelle kann eine I2C-Schnittstelle (Inter-integrated Circuit), eine I2S-Schnittstelle (Inter-integrated Circuit Sound), eine PCM-Schnittstelle (Pulse Code Modulation), eine UART-Schnittstelle (Universal Asynchronous Receiver/Transmitter), eine UART-Schnittstelle (Universal Asynchronous Receiver/Transmitter, UART)-Schnittstelle, eine MIPI-Schnittstelle (Mobile Industry Processor Interface), eine GPIO-Schnittstelle (General-Purpose Input/Output), eine SIM-Schnittstelle (Subscriber Identity Module), eine USB-Schnittstelle (Universal Serial Bus) und/oder Ähnliches sein.
  • Die I2C-Schnittstelle ist ein bidirektionaler synchroner serieller Bus und umfasst eine serielle Datenleitung (Serial Data Line, SDA) und eine serielle Taktleitung (Serial Clock Line, SCL). In einigen Ausführungsformen kann der Prozessor 110 eine Mehrzahl an Gruppen von I2C-Bussen umfassen. Der Prozessor 110 kann über verschiedene I2C-Bus-Schnittstellen mit dem Berührungssensor 180K, einem Ladegerät, einem Blitzgerät, der Kamera 193 und dergleichen verbunden sein. Beispielsweise kann der Prozessor 110 mit dem Berührungssensor 180K über eine I2C-Schnittstelle verbunden sein, so dass der Prozessor 110 mit dem Berührungssensor 180K über die I2C-Busschnittstelle kommuniziert und dadurch eine Berührungsfunktion der elektronischen Vorrichtung 100 implementiert.
  • Die I2S-Schnittstelle kann für die Audiokommunikation verwendet werden. In einigen Ausführungsformen kann der Prozessor 110 eine Mehrzahl an Gruppen von I2S-Bussen umfassen. Der Prozessor 110 kann mit dem Audiomodul 170 gekoppelt werden, indem der I2S-Bus verwendet wird, um die Kommunikation zwischen dem Prozessor 110 und dem Audiomodul 170 zu realisieren. In einigen Ausführungsformen kann das Audiomodul 170 unter Verwendung der I2S-Schnittstelle ein Audiosignal an das drahtlose Kommunikationsmodul 160 übertragen, um eine Funktion zum Annehmen von Anrufen unter Verwendung eines Bluetooth-Headsets zu implementieren.
  • Die PCM-Schnittstelle kann auch für die Audiokommunikation verwendet werden, um analoge Signale abzutasten, zu quantisieren und zu kodieren. In einigen Ausführungsformen kann das Audiomodul 170 über eine PCM-Busschnittstelle mit dem drahtlosen Kommunikationsmodul 160 gekoppelt sein. In einigen Ausführungsformen kann das Audiomodul 170 auch ein Audiosignal an das drahtlose Kommunikationsmodul 160 übertragen, indem es die PCM-Schnittstelle verwendet, um eine Funktion zum Annehmen von Anrufen unter Verwendung eines Bluetooth-Headsets zu implementieren. Sowohl die I2S-Schnittstelle als auch die PCM-Schnittstelle können für die Audiokommunikation verwendet werden.
  • Die UART-Schnittstelle ist ein universeller serieller Datenbus, der für asynchrone Kommunikation verwendet wird. Der Bus kann ein bidirektionaler Kommunikationsbus sein. Der Bus wandelt die zu übertragenden Daten zwischen serieller Kommunikation und paralleler Kommunikation um. In einigen Ausführungsformen wird die UART-Schnittstelle normalerweise verwendet, um den Prozessor 110 mit dem drahtlosen Kommunikationsmodul 160 zu verbinden. Zum Beispiel kommuniziert der Prozessor 110 mit einem Bluetooth-Modul im drahtlosen Kommunikationsmodul 160, indem er die UART-Schnittstelle verwendet, um eine Bluetooth-Funktion zu implementieren. In einigen Ausführungsformen kann das Audiomodul 170 unter Verwendung der UART-Schnittstelle ein Audiosignal an das drahtlose Kommunikationsmodul 160 übertragen, um eine Funktion zum Abspielen von Musik unter Verwendung eines Bluetooth-Kopfhörers zu implementieren.
  • Die MIPI-Schnittstelle kann so ausgebildet werden, dass sie den Prozessor 110 mit Peripheriegeräten wie dem Anzeigebildschirm 194 und der Kamera 193 verbindet. Die MIPI-Schnittstelle umfasst eine serielle Kameraschnittstelle (Camera Serial Interface, CSI), eine serielle Displayschnittstelle (Display Serial Interface, DSI) und dergleichen. In einigen Ausführungsformen kommunizieren der Prozessor 110 und die Kamera 193 unter Verwendung der CSI, um eine Fotofunktion der elektronischen Vorrichtung 100 zu implementieren. Der Prozessor 110 und der Bildschirm 194 kommunizieren unter Verwendung der DSI, um eine Anzeigefunktion der elektronischen Vorrichtung 100 zu implementieren.
  • Die GPIO-Schnittstelle kann mit Hilfe von Software ausgebildet werden. Die GPIO-Schnittstelle kann als Steuersignalschnittstelle oder als Datensignalschnittstelle ausgebildet werden. In einigen Ausführungsformen kann die GPIO-Schnittstelle so ausgebildet sein, dass sie den Prozessor 110 mit der Kamera 193, dem Bildschirm 194, dem drahtlosen Kommunikationsmodul 160, dem Audiomodul 170, dem Sensormodul 180 und dergleichen verbindet. Die GPIO-Schnittstelle kann alternativ als I2C-Schnittstelle, I2S-Schnittstelle, UART-Schnittstelle, MIPI-Schnittstelle oder ähnliches ausgebildet sein.
  • Die USB-Schnittstelle 130 ist eine Schnittstelle, die einer USB-Standardspezifikation entspricht, und kann insbesondere eine Mini-USB-Schnittstelle, eine Micro-USB-Schnittstelle, eine USB-Typ-C-Schnittstelle oder Ähnliches sein. Die USB-Schnittstelle 130 kann so ausgebildet sein, dass sie mit dem Ladegerät verbunden wird, um die elektronische Vorrichtung 100 aufzuladen, oder sie kann so ausgebildet sein, dass sie Daten zwischen der elektronischen Vorrichtung 100 und Peripheriegeräten überträgt. Die USB-Schnittstelle 130 kann ferner so ausgebildet sein, dass sie an ein Headset angeschlossen werden kann, um mit Hilfe des Headsets Audio abzuspielen. Die Schnittstelle kann außerdem so ausgebildet sein, dass sie mit einer anderen elektronischen Vorrichtung, wie z. B. einer AR-Vorrichtung, verbunden werden kann.
  • Es versteht sich, dass die in den Ausführungsformen der vorliegenden Erfindung dargestellte Schnittstellenverbindungsbeziehung zwischen den Modulen lediglich ein Beschreibungsbeispiel ist und keine Einschränkung der Struktur der elektronischen Vorrichtung 100 darstellt. In einigen anderen Ausführungsformen dieser Anmeldung kann die elektronische Vorrichtung 100 alternativ einen Schnittstellenverbindungsmodus verwenden, der sich von denjenigen in den vorstehenden Ausführungsformen unterscheidet, oder eine Kombination aus einer Mehrzahl an Schnittstellenverbindungsmodi.
  • Das Lademanagementmodul 140 ist so ausgebildet, dass es eine Ladeeingabe vom Ladegerät empfängt. Das Ladegerät kann ein kabelloses Ladegerät oder ein kabelgebundenes Ladegerät sein. In einigen Ausführungsformen des kabelgebundenen Ladens kann das Lademanagementmodul 140 eine Ladeeingabe des kabelgebundenen Ladegeräts über die USB-Schnittstelle 130 empfangen. In einigen Ausführungsformen des kabellosen Ladens kann das Lademanagementmodul 140 eine kabellose Ladeeingabe über eine kabellose Ladespule der elektronischen Vorrichtung 100 empfangen. Beim Laden der Batterie 142 kann das Lademanagementmodul 140 die elektronische Vorrichtung mit Hilfe des Energiemanagementmoduls 141 weiter mit Strom versorgen.
  • Das Energiemanagementmodul 141 ist so ausgebildet, dass es die Batterie 142, das Lademanagementmodul 140 und den Prozessor 110 verbindet. Das Energiemanagementmodul 141 empfängt eine Eingabe von der Batterie 142 und/oder dem Lademanagementmodul 140 und versorgt den Prozessor 110, den internen Speicher 121, den Anzeigebildschirm 194, die Kamera 193, das drahtlose Kommunikationsmodul 160 und dergleichen mit Energie. Das Energiemanagementmodul 141 kann ferner so ausgebildet sein, dass es Parameter wie die Batteriekapazität, die Batterie-Recyclingzeiten und den Gesundheitszustand der Batterie (Leckage und Impedanz) überwacht. In einigen anderen Ausführungsformen kann das Energiemanagementmodul 141 alternativ im Prozessor 110 angeordnet sein. In einigen anderen Ausführungsformen können das Energiemanagementmodul 141 und das Lademanagementmodul 140 alternativ in demselben Gerät untergebracht sein.
  • Die drahtlose Kommunikationsfunktion der elektronischen Vorrichtung 100 kann durch die Antenne 1, die Antenne 2, das mobile Kommunikationsmodul 150, das drahtlose Kommunikationsmodul 160, den Modemprozessor, den Basisbandprozessor und dergleichen implementiert werden.
  • Die Antenne 1 und die Antenne 2 sind so ausgebildet, dass sie elektromagnetische Wellensignale senden und empfangen. Jede Antenne in der elektronischen Vorrichtung 100 kann so ausgebildet sein, dass sie ein oder mehrere Kommunikationsfrequenzbänder abdeckt. Verschiedene Antennen können gemultiplext werden, um die Antennenauslastung zu verbessern. Zum Beispiel kann die Antenne 1 zu einer Diversity-Antenne eines drahtlosen lokalen Netzwerks gemultiplext werden. In einigen anderen Ausführungsformen kann die Antenne in Kombination mit einem Dimmschalter verwendet werden.
  • Das mobile Kommunikationsmodul 150 kann eine drahtlose Kommunikationslösung vorsehen, die 2G/3G/4G/5G und ähnliches umfasst und auf die elektronische Vorrichtung 100 angewendet wird. Das mobile Kommunikationsmodul 150 kann zumindest einen Filter, einen Schalter, einen Leistungsverstärker, einen rauscharmen Verstärker (Low Noise Amplifier, LNA) und ähnliches enthalten. Das mobile Kommunikationsmodul 150 kann unter Verwendung der Antenne 1 eine elektromagnetische Welle empfangen, eine Verarbeitung wie Filterung und Verstärkung der empfangenen elektromagnetischen Welle durchführen und die verarbeitete elektromagnetische Welle zur Demodulation an den Modemprozessor übertragen. Das Mobilkommunikationsmodul 150 kann ein vom Modemprozessor moduliertes Signal weiter verstärken, wobei das Signal in eine elektromagnetische Welle umgewandelt und von der Antenne 1 abgestrahlt wird. In einigen Ausführungsformen können zumindest einige Funktionsmodule des Mobilkommunikationsmoduls 150 im Prozessor 110 angeordnet sein. In einigen Ausführungsformen können zumindest einige Funktionsmodule des Mobilkommunikationsmoduls 150 und zumindest einige Module des Prozessors 110 in demselben Gerät angeordnet sein.
  • Der Modemprozessor kann einen Modulator und einen Demodulator enthalten. Der Modulator ist so ausgebildet, dass er ein zu sendendes Niederfrequenz-Basisbandsignal in ein Mittelhochfrequenzsignal moduliert. Der Demodulator ist so ausgebildet, dass er ein empfangenes elektromagnetisches Wellensignal in ein niederfrequentes Basisbandsignal demoduliert. Dann überträgt der Demodulator das demodulierte niederfrequente Basisbandsignal zur Verarbeitung an einen Basisbandprozessor. Nach der Verarbeitung des niederfrequenten Basisbandsignals durch den Basisbandprozessor wird das verarbeitete niederfrequente Basisbandsignal an einen Anwendungsprozessor übertragen. Der Anwendungsprozessor gibt ein Tonsignal über ein Audiogerät aus (nicht beschränkt auf den Lautsprecher 170A, den Empfänger 170B und dergleichen) oder zeigt ein Bild oder Video auf dem Bildschirm 194 an. In einigen Ausführungsformen kann der Modemprozessor ein unabhängiges Gerät sein. In einigen anderen Ausführungsformen kann der Modemprozessor von dem Prozessor 110 unabhängig und in demselben Gerät wie das Mobilkommunikationsmodul 150 oder andere Funktionsmodule angeordnet sein.
  • Das drahtlose Kommunikationsmodul 160 kann eine drahtlose Kommunikationslösung vorsehen, die auf die elektronische Vorrichtung 100 angewendet wird, einschließlich eines drahtlosen lokalen Netzwerks (Wireless Local Area Network, WLAN) (wie ein drahtloses Fidelity-Netzwerk (Wireless Fidelity, Wi-Fi)), Bluetooth (Bluetooth, BT), globales Satellitennavigationssystem (Global Navigation Satellite System, GNSS), Frequenzmodulation (Frequency Modulation, FM), Nahfeldkommunikation (Near Field Communication, NFC), Infrarot (Infra-Rot, IR) und dergleichen. Das drahtlose Kommunikationsmodul 160 kann aus einem oder mehreren Geräten bestehen, die zumindest ein Kommunikationsverarbeitungsmodul integrieren. Das drahtlose Kommunikationsmodul 160 empfängt eine elektromagnetische Welle unter Verwendung der Antenne 2, führt eine Verarbeitung der Frequenzmodulation und Filterung des elektromagnetischen Wellensignals durch und sendet das verarbeitete Signal an den Prozessor 110. Das drahtlose Kommunikationsmodul 160 kann ferner ein zu sendendes Signal vom Prozessor 110 empfangen und eine Frequenzmodulation und Verstärkung des Signals durchführen. Das Signal wird in eine elektromagnetische Welle umgewandelt und von der Antenne 2 abgestrahlt.
  • In einigen Ausführungsformen ist die Antenne 1 der elektronischen Vorrichtung 100 mit dem Mobilfunkmodul 150 und die Antenne 2 mit dem drahtlosen Kommunikationsmodul 160 gekoppelt, so dass die elektronische Vorrichtung 100 mit einem Netzwerk und einem anderen Gerät unter Verwendung einer drahtlosen Kommunikationstechnologie kommunizieren kann. Die drahtlose Kommunikationstechnologie kann ein globales System für mobile Kommunikation (Global System for Mobile Communications, GSM), einen allgemeinen Paketfunkdienst (General Packet Radio Service, GPRS), Codemultiplex-Vielfachzugriff (Code Division Multiple Access, CDMA), Breitband-Codemultiplex-Vielfachzugriff (Wideband Code Division Multiple Access, WCDMA), Zeitmultiplex-Codemultiplex-Vielfachzugriff (Time Division Code Division Multiple Access, TD-SCDMA), Long Term Evolution (Long Term Evolution, LTE), BT, GNSS, WLAN, NFC, FM, eine IR-Technologie und/oder Ähnliches umfassen. Das GNSS kann ein globales Positionierungssystem (Global Positioning System, GPS), ein globales Navigationssatellitensystem (Global Navigation Satellite System, GLONASS), ein Beidou-Navigationssatellitensystem (Beidou Navigation Satellite System, BDS), ein Quasi-Zenith-Satellitensystem (Quasi-Zenith Satellite System, QZSS) und/oder ein satellitengestütztes Augmentierungssystem (Satellite Based Augmentation System, SBAS) umfassen.
  • Die elektronische Vorrichtung 100 implementiert eine Anzeigefunktion unter Verwendung der GPU, des Anzeigebildschirms 194, des Anwendungsprozessors und dergleichen. Die GPU ist ein bildverarbeitender Mikroprozessor, der mit dem Bildschirm 194 und dem Anwendungsprozessor verbunden ist. Der Grafikprozessor ist so ausgebildet, dass er mathematische und geometrische Berechnungen zur Darstellung von Grafiken durchführt. Der Prozessor 110 kann eine oder mehrere GPUs enthalten, die Programmanweisungen ausführen, um Anzeigeinformationen zu erzeugen oder zu ändern.
  • Der Anzeigebildschirm 194 ist so ausgebildet, dass er ein Bild, ein Video oder Ähnliches anzeigt. Der Anzeigebildschirm 194 umfasst ein Anzeigefeld. Bei dem Anzeigefeld kann es sich um eine Flüssigkristallanzeige (LCD), eine organische Leuchtdiode (OLED), eine organische Aktivmatrix-Leuchtdiode (AMOLED), eine flexible Leuchtdiode (AMOLED) oder ein anderes Leuchtmittel handeln, AMOLED), eine flexible Leuchtdiode (flex light-emitting diode, FLED), eine Miniled, eine MicroLed, eine Micro-oLed, Quantenpunkt-Leuchtdioden (quantum dot light-emitting diodes, QLED) oder dergleichen. In einigen Ausführungsformen kann die elektronische Vorrichtung 100 1 oder N Anzeigebildschirme 194 umfassen, wobei N eine positive ganze Zahl größer als 1 ist.
  • Die elektronische Vorrichtung 100 kann unter Verwendung des ISP, der Kamera 193, des Videocodecs, der GPU, des Anzeigebildschirms 194, des Anwendungsprozessors und dergleichen eine Fotofunktion implementieren.
  • Der ISP ist so ausgebildet, dass er die von der Kamera 193 zurückgegebenen Daten verarbeitet. Beim Fotografieren wird beispielsweise ein Verschluss geöffnet, Licht wird mit Hilfe eines Objektivs auf ein lichtempfindliches Element der Kamera übertragen, ein optisches Signal wird in ein elektrisches Signal umgewandelt, und das lichtempfindliche Element der Kamera überträgt das elektrische Signal zur Verarbeitung an den ISP, so dass das elektrische Signal in ein mit bloßem Auge sichtbares Bild umgewandelt wird. Der ISP kann außerdem Algorithmen für Rauschen, Helligkeit und Hautfarbe des Bildes optimieren. Der ISP kann außerdem Parameter wie die Belichtung und die Farbtemperatur der fotografierten Szene optimieren. In einigen Ausführungsformen kann der ISP in der Kamera 193 angeordnet sein.
  • Die Kamera 193 ist so ausgebildet, dass sie ein Standbild oder ein Video aufnimmt. Mit Hilfe des Objektivs wird ein optisches Bild für ein Objekt erzeugt und auf das lichtempfindliche Element projiziert. Das lichtempfindliche Element kann ein ladungsgekoppelter Baustein (CCD) oder ein komplementärer Metall-Oxid-Halbleiter (CMOS) sein. Das lichtempfindliche Element wandelt ein optisches Signal in ein elektrisches Signal um und überträgt das elektrische Signal dann an den ISP. Der ISP wandelt das elektrische Signal in ein digitales Bildsignal um. Der ISP gibt das digitale Bildsignal zur Verarbeitung an den DSP weiter. Der DSP wandelt das digitale Bildsignal in ein Bildsignal in einem Standardformat wie RGB, YUV oder ähnlichem um. In einigen Ausführungsformen kann die elektronische Vorrichtung 100 1 oder N Kameras 193 enthalten, wobei N eine positive ganze Zahl größer als 1 ist.
  • Der digitale Signalprozessor ist für die Verarbeitung eines digitalen Signals ausgebildet. Zusätzlich zur Verarbeitung eines digitalen Bildsignals kann der digitale Signalprozessor auch ein anderes digitales Signal verarbeiten. Wenn die elektronische Vorrichtung 100 zum Beispiel eine Frequenz auswählt, ist der digitale Signalprozessor so ausgebildet, dass er eine Fourier-Transformation oder ähnliches durchführt.
  • Der Videocodec ist so ausgebildet, dass er ein digitales Video komprimiert oder dekomprimiert. Die elektronische Vorrichtung 100 kann einen oder mehrere Videocodecs unterstützen. Auf diese Weise kann die elektronische Vorrichtung 100 Videos in einer Mehrzahl an Kodierungsformaten abspielen oder aufzeichnen, wie z. B. Moving Picture Experts Group (MPEG)-1, MPEG-2, MPEG-3 und MPEG-4.
  • Die NPU ist ein Prozessor für neuronale Netze (neural-network, NN). Indem sie sich auf die Struktur eines biologischen neuronalen Netzwerks bezieht, wie z. B. einen Übertragungsmodus zwischen menschlichen Gehirnneuronen, verarbeitet die NPU schnell Eingabeinformationen und kann darüber hinaus kontinuierliches Selbstlernen durchführen. Die NPU kann Anwendungen wie die intelligente Erkennung der elektronischen Vorrichtung 100 implementieren, z. B. Bilderkennung, Gesichtserkennung, Spracherkennung und Textverständnis.
  • Die externe Speicherschnittstelle 120 kann so ausgebildet sein, dass sie mit einer externen Speicherkarte wie einer Micro-SD-Karte verbunden werden kann, um die Speicherkapazität der elektronischen Vorrichtung 100 zu erweitern. Die externe Speicherkarte kommuniziert mit dem Prozessor 110 unter Verwendung der externen Speicherschnittstelle 120, um eine Datenspeicherfunktion zu implementieren. Auf der externen Speicherkarte werden zum Beispiel Musik, Videos und andere Dateien gespeichert.Der interne Speicher 121 kann so ausgebildet sein, dass er computerausführbaren Programmcode speichert, wobei der ausführbare Programmcode eine Anweisung enthält. Der interne Speicher 121 kann einen Programmspeicherbereich und einen Datenspeicherbereich umfassen. Der Programmspeicherbereich kann ein Betriebssystem, ein Anwendungsprogramm, das für zumindest eine Funktion (z. B. eine Tonwiedergabefunktion oder eine Bildwiedergabefunktion) erforderlich ist, oder Ähnliches speichern. Der Datenspeicherbereich kann Daten (z. B. Audiodaten oder ein Telefonbuch) speichern, die während der Verwendung der elektronischen Vorrichtung 100 erstellt werden. Darüber hinaus kann der interne Speicher 121 einen Hochgeschwindigkeits-Direktzugriffsspeicher und einen nichtflüchtigen Speicher umfassen, wie z. B. zumindest eine Magnetplatten-Speichereinrichtung, eine Flash-Speichereinrichtung oder einen Universal-Flash-Speicher (Universal Flash Storage, UFS). Durch Ausführen der im internen Speicher 121 gespeicherten Anweisung und/oder der Anweisung, die sich in dem im Prozessor angeordneten Speicher befindet, führt der Prozessor 110 verschiedene Funktionsanwendungen sowie die Datenverarbeitung der elektronischen Vorrichtung 100 aus.
  • Die elektronische Vorrichtung 100 kann die Audiofunktionen (wie z. B. Musikwiedergabe und Tonaufnahme) unter Verwendung des Audiomoduls 170, des Lautsprechers 170A, des Empfängers 170B, des Mikrofons 170C, der Kopfhörerbuchse 170D, des Anwendungsprozessors oder Ähnlichem implementieren.
  • Das Audiomodul 170 ist so ausgebildet, dass es digitale Audioinformationen in ein analoges Audiosignal für die Ausgabe umwandelt, und ist ferner so ausgebildet, dass es einen analogen Audioeingang in ein digitales Audiosignal umwandelt. Das Audiomodul 170 kann ferner so ausgebildet sein, dass es Audiosignale kodiert und dekodiert. In einigen Ausführungsformen kann das Audiomodul 170 in dem Prozessor 110 angeordnet sein, oder einige der Funktionsmodule des Audiomoduls 170 können in dem Prozessor 110 angeordnet sein.
  • Der Lautsprecher 170A ist so ausgebildet, dass er ein elektrisches Audiosignal in ein Tonsignal umwandelt. Die elektronische Vorrichtung 100 erlaubt es mit Hilfe des Lautsprechers 170A Musik zu hören oder einen Freisprechanruf entgegenzunehmen.
  • Der Empfänger 170B ist so ausgebildet, dass er ein elektrisches Audiosignal in ein Tonsignal umwandelt. Wenn die elektronische Vorrichtung 100 einen Anruf oder eine Sprachnachricht empfängt, kann der Empfänger 170B in die Nähe eines Ohres gebracht werden, um die Stimme zu hören.
  • Das Mikrofon 170C ist so ausgebildet, dass es ein Tonsignal in ein elektrisches Signal umwandelt. Wenn der Benutzer einen Anruf tätigt oder eine Sprachnachricht sendet, kann er das Mikrofon 170C an den Mund halten und etwas sagen, um ein Tonsignal in das Mikrofon 170C einzugeben. Die elektronische Vorrichtung 100 kann mit zumindest einem Mikrofon 170C ausgestattet sein. In einigen anderen Ausführungsformen kann die elektronische Vorrichtung 100 mit zwei Mikrofonen 170C ausgestattet sein, die zusätzlich zur Erfassung von Tonsignalen eine Rauschunterdrückungsfunktion ausführen können. In einigen anderen Ausführungsformen kann die elektronische Vorrichtung 100 alternativ mit drei, vier oder mehr Mikrofonen 170C ausgestattet sein, um Tonsignalerfassung, Rauschunterdrückung, Schallquellenerkennung, Richtungsaufnahme und ähnliche Funktionen zu realisieren.
  • Die Headset-Buchse 170D ist für den Anschluss eines kabelgebundenen Headsets ausgebildet. Die Headset-Buchse 170D kann eine USB-Schnittstelle 130 oder eine 3,5-mm-Standardschnittstelle der Open Electronic Device Platform (Open Mobile Terminal Platform, OMTP) oder eine Standardschnittstelle der Cellular Telecommunications Industry Association of the USA (Cellular Telecommunications Industry Association of the USA, CTIA) sein.
  • Der Drucksensor 180A ist so ausgebildet, dass er ein Drucksignal erfassen und das Drucksignal in ein elektrisches Signal umwandeln kann. In einigen Ausführungsformen kann der Drucksensor 180A auf dem Anzeigebildschirm 194 angeordnet sein. Es gibt viele Arten von Drucksensoren 180A, wie z. B. einen resistiven Drucksensor, einen induktiven Drucksensor und einen kapazitiven Drucksensor. Der kapazitive Drucksensor kann zumindest zwei parallele Platten mit leitfähigem Material enthalten. Wenn eine Kraft auf den Drucksensor 180A ausgeübt wird, ändert sich die Kapazität zwischen den Elektroden. Die elektronische Vorrichtung 100 bestimmt die Intensität des Drucks auf Grundlage der Kapazitätsänderung. Wenn eine Berührung auf den Bildschirm 194 ausgeübt wird, erkennt die elektronische Vorrichtung 100 die Intensität der Berührung anhand des Drucksensors 180A. Die elektronische Vorrichtung 100 kann ferner eine Berührungsposition auf Grundlage des Erfassungssignals des Drucksensors 180A berechnen. In einigen Ausführungsformen können Berührungsvorgänge derselben Berührungsposition aber mit unterschiedlicher Berührungsintensität unterschiedlichen Betriebsanweisungen entsprechen. Wenn beispielsweise ein Berührungsvorgang, dessen Berührungsintensität geringer als ein erster Druckschwellenwert ist, auf ein Kurznachrichten-Anwendungssymbol angewendet wird, wird eine Anweisung zum Anzeigen einer Kurznachricht ausgeführt. Wenn ein Berührungsvorgang, dessen Berührungsintensität größer oder gleich dem ersten Druckschwellenwert ist, auf das Kurznachrichten-Anwendungssymbol angewendet wird, wird eine Anweisung zum Erstellen einer Kurznachricht ausgeführt.
  • Der Gyrosensor 180B kann so ausgebildet sein, dass er eine Bewegung (Haltung oder Geste) der elektronischen Vorrichtung 100 erkennt. In einigen Ausführungsformen kann der Gyrosensor 180B so ausgebildet sein, dass er Winkelgeschwindigkeiten der elektronischen Vorrichtung 100 um drei Achsen (d. h. x-, y- und z-Achse) bestimmt. Der Gyrosensor 180B kann zur Bildstabilisierung verwendet werden. Wenn beispielsweise der Auslöser gedrückt wird, erfasst der Gyrosensor 180B einen Verwacklungswinkel der elektronischen Vorrichtung 100, berechnet einen Abstand, den ein Objektivmodul auf Grundlage des Winkels kompensieren muss, und ermöglicht es dem Objektiv, dem Verwackeln der elektronischen Vorrichtung 100 durch eine Gegenbewegung entgegenzuwirken, um eine Bildstabilisierung zu erreichen. Der Gyrosensor 180B kann außerdem zur Navigation und für somatosensorische Spielszenen verwendet werden.
  • Der barometrische Drucksensor 180C ist für die Messung des barometrischen Drucks ausgebildet. In einigen Ausführungsformen berechnet die elektronische Vorrichtung 100 die Höhe anhand eines vom barometrischen Drucksensor 180C gemessenen barometrischen Druckwerts, um die Positionierung und Navigation zu unterstützen.
  • Der magnetische Sensor 180D umfasst einen Hall-Sensor. Die elektronische Vorrichtung 100 kann den Magnetsensor 180D verwenden, um das Öffnen und Schließen eines Klappetuis zu erkennen. In einigen Ausführungsformen kann die elektronische Vorrichtung 100, wenn es sich bei der elektronischen Vorrichtung 100 um ein Klapptelefon handelt, das Öffnen und Schließen einer Klappe auf Grundlage des Magnetsensors 180D erkennen, um Funktionen wie das automatische Entriegeln der Klappe auf Grundlage des erkannten Öffnungs- und Schließzustands des Etuis oder des Öffnungs- und Schließzustands der Klappe einzustellen.
  • Der Beschleunigungssensor 180E kann die Größe der Beschleunigung der elektronischen Vorrichtung 100 in verschiedenen Richtungen (im Allgemeinen drei Achsen) erfassen. Wenn die elektronische Vorrichtung 100 nicht bewegt wird, können Wert und Richtung der Schwerkraft erfasst werden. Der Beschleunigungssensor 180E kann ferner so ausgebildet sein, dass er die Ausrichtung der elektronischen Vorrichtung erkennt und in Anwendungen, wie dem Umschalten zwischen einem Querformat- und einem Hochformatbildschirm und einem Schrittzähler, verwendet werden kann.
  • Der Entfernungssensor 180F ist so ausgebildet, dass er eine Entfernung misst. Die elektronische Vorrichtung 100 kann die Entfernung mit Hilfe von Infrarot oder Laser messen. In einigen Ausführungsformen kann die elektronische Vorrichtung 100 in einem Fotoszenario den Entfernungssensor 180F zur Messung einer Entfernung verwenden, um eine schnelle Fokussierung zu realisieren.
  • Der optische Näherungssensor 180G kann z. B. eine Leuchtdiode (LED) und einen optischen Detektor wie eine Fotodiode enthalten. Die Leuchtdiode kann eine Infrarot-Leuchtdiode sein. Die elektronische Vorrichtung 100 strahlt mit Hilfe der Leuchtdiode Infrarotlicht nach außen ab. Die elektronische Vorrichtung 100 verwendet die Fotodiode, um von einem nahegelegenen Objekt reflektiertes Infrarotlicht zu erfassen. Wenn genügend reflektiertes Licht erkannt wird, kann festgestellt werden, dass sich ein Objekt in der Nähe der elektronischen Vorrichtung 100 befindet. Wenn nicht genügend reflektiertes Licht erfasst wird, kann die elektronische Vorrichtung 100 feststellen, dass sich kein Objekt in der Nähe der elektronischen Vorrichtung 100 befindet. Die elektronische Vorrichtung 100 kann den optischen Näherungssensor 180G verwenden, um erkennen zu können, wenn der Benutzer die elektronische Vorrichtung 100 nahe an das Ohr hält, um den Bildschirm automatisch auszuschalten, um Energie zu sparen. Der optische Näherungssensor 180G kann alternativ in einem Etuimodus oder einem Taschenmodus verwendet werden, um den Bildschirm automatisch zu entsperren oder zu sperren.
  • Der Umgebungslichtsensor 180L ist so ausgebildet, dass er die Helligkeit des Umgebungslichts erfasst. Die elektronische Vorrichtung 100 kann die Helligkeit des Anzeigebildschirms 194 auf Grundlage der erfassten Helligkeit des Umgebungslichts adaptiv anpassen. Der Umgebungslichtsensor 180L kann ferner so ausgebildet sein, dass er den Weißabgleich während des Fotografierens automatisch einstellt. Der Umgebungslichtsensor 180L kann ferner mit dem optischen Näherungssensor 180G zusammenarbeiten, um zu erkennen, ob sich die elektronische Vorrichtung 100 in einer Tasche befindet, um so eine versehentliche Berührung ignorieren zu können.
  • Der Fingerabdrucksensor 180H ist so ausgebildet, dass er einen Fingerabdruck erfasst. Die elektronische Vorrichtung 100 kann die gesammelten Fingerabdruckcharakteristika verwenden, um fingerabdruckbasiertes Entsperren, Anwendungssperrzugriff, fingerabdruckbasiertes Fotografieren, fingerabdruckbasiertes Empfangen eingehender Anrufe und Ähnliches zu implementieren.
  • Der Temperatursensor 180J ist so ausgebildet, dass er eine Temperatur erfasst. In einigen Ausführungsformen führt die elektronische Vorrichtung 100 unter Verwendung der vom Temperatursensor 180J erfassten Temperatur eine Temperaturverarbeitungsrichtlinie aus. Wenn beispielsweise die vom Temperatursensor 180J gemeldete Temperatur einen Schwellenwert überschreitet, verringert die elektronische Vorrichtung 100 die Leistung eines sich in der Nähe des Temperatursensors 180J befindenden Prozessors, um den Stromverbrauch zu senken und einen Wärmeschutz zu implementieren. In einigen anderen Ausführungsformen heizt die elektronische Vorrichtung 100 die Batterie 142 auf, wenn die Temperatur unter einem anderen Schwellenwert liegt, um ein abnormales Abschalten der elektronischen Vorrichtung 100 aufgrund einer niedrigen Temperatur zu vermeiden. In einigen anderen Ausführungsformen, wenn die Temperatur niedriger als ein weiterer Schwellenwert ist, erhöht die elektronische Vorrichtung 100 eine Ausgangsspannung der Batterie 142, um eine anormale Abschaltung aufgrund einer niedrigen Temperatur zu vermeiden.
  • Der Berührungssensor 180K wird auch als „Berührungsvorrichtung“ bezeichnet. Der Berührungssensor 180K kann auf dem Anzeigebildschirm 194 angeordnet sein, wobei der Berührungssensor 180K und der Anzeigebildschirm 194 einen Touchscreen bilden, der auch als „berührungsgesteuerter Bildschirm“ bezeichnet wird. Der Berührungssensor 180K ist so ausgebildet, dass er eine Berührung erkennt, die auf oder in der Nähe des Berührungssensors 180K durchgeführt wird. Der Berührungssensor kann eine erkannte Berührung an den Anwendungsprozessor weiterleiten, um den Typ eines Berührungsereignisses zu bestimmen. Der Anzeigebildschirm 194 kann so ausgebildet sein, dass er eine visuelle Ausgabe in Bezug auf die Berührung liefert. In einigen anderen Ausführungsformen kann der Berührungssensor 180K alternativ auf einer Oberfläche der elektronischen Vorrichtung 100 angeordnet sein, die sich von der Position des Anzeigebildschirms 194 unterscheidet.
  • Der Knochenleitungssensor 180M kann ein Vibrationssignal erfassen. In einigen Ausführungsformen kann der Knochenleitungssensor 180M ein Vibrationssignal erfassen, welches durch Vibration der Knochenmasse durch den menschlichen Stimmapparat erzeugt wird. Der Knochenleitungssensor 180M kann ferner in Kontakt mit dem menschlichen Puls sein, um ein Blutdruck- und Pulssignal zu erfassen. In einigen Ausführungsformen kann der Knochenleitungssensor 180M alternativ in einem Headset angeordnet sein, das zu einem Knochenleitungskopfhörer kombiniert wird. Das Audiomodul 170 kann auf Grundlage des Schwingungssignals durch Parsing ein Sprachsignal erhalten, welches durch den Knochenleitungssensor 180M aus der Schwingung der Knochenmasse durch den Stimmapparat erhalten wird, um eine Sprachfunktion zu implementieren. Der Anwendungsprozessor kann auf Grundlage des vom Knochenleitungssensor 180M erhaltenen Blutdruck- und Pulssignals Herzfrequenzinformationen analysieren, um eine Herzfrequenzerkennungsfunktion zu implementieren.Die Taste 190 umfasst eine Einschalttaste, eine Lautstärketaste oder ähnliches. Die Taste 190 kann eine mechanische Taste oder eine Berührungstaste sein. Die elektronische Vorrichtung 100 kann eine Tasteneingabe empfangen und eine Tastensignaleingabe erzeugen, die sich auf die Benutzereinstellung und Funktionssteuerung der elektronischen Vorrichtung 100 bezieht.
  • Der Motor 191 kann einen Vibrationsalarm erzeugen. Der Motor 191 kann für einen Vibrationsalarm bei eingehendem Anruf oder für ein Vibrationsfeedback bei Berührung verwendet werden. Beispielsweise können Berührungsvorgänge, die verschiedene Anwendungen betreffen (z. B. Fotografieren und Audiowiedergabe), mit unterschiedlichen Vibrationsrückmeldungen verbunden sein. Als Reaktion auf Berührungsvorgänge, die auf unterschiedliche Bereiche des Bildschirms 194 einwirken, kann der Motor 191 auch unterschiedlichen Vibrationsrückmeldungen entsprechen. Unterschiedliche Anwendungsszenarien (wie z. B. Zeiterinnerung, Empfang von Informationen, Wecker und Spiele) können auch unterschiedlichen Vibrationsrückkopplungseffekten entsprechen. Berührungsvibrations-Rückkopplungseffekte können auch individuell angepasst werden.
  • Bei der Anzeige 192 kann es sich um eine Leuchtanzeige handeln, die so ausgebildet sein kann, dass sie einen Ladezustand und eine Leistungsänderung anzeigt oder eine Nachricht, einen verpassten Anruf, eine Benachrichtigung oder Ähnliches.
  • Die SIM-Kartenschnittstelle 195 ist für den Anschluss an eine SIM-Karte ausgebildet. Eine SIM-Karte kann in die SIM-Kartenschnittstelle 195 eingesetzt oder der SIM-Kartenschnittstelle 195 entnommen werden, um einen Kontakt mit der elektronischen Vorrichtung 100 herzustellen oder sie von dieser zu trennen. Die elektronische Vorrichtung 100 kann 1 oder N SIM-Karten-Schnittstellen unterstützen, wobei N eine positive ganze Zahl größer als 1 ist. Die SIM-Karten-Schnittstelle 195 kann eine Nano-SIM-Karte, eine Micro-SIM-Karte, eine SIM-Karte und dergleichen unterstützen. In dieselbe SIM-Kartenschnittstelle 195 können mehrere Karten gleichzeitig eingesetzt werden. Die verschiedenen Kartentypen können gleich oder unterschiedlich sein. Die SIM-Kartenschnittstelle 195 kann auch mit verschiedenen Typen von SIM-Karten kompatibel sein. Die SIM-Kartenschnittstelle 195 kann auch mit einer externen Speicherkarte kompatibel sein. Die elektronische Vorrichtung 100 interagiert mit dem Netz, indem es die SIM-Karte verwendet, um Funktionen wie Anrufe und Datenkommunikation zu realisieren. In einigen Ausführungsformen verwendet die elektronische Vorrichtung 100 eine eSIM, d.h. eine eingebettete SIM-Karte. Die eSIM-Karte kann in die elektronische Vorrichtung 100 eingebettet sein und kann von der elektronischen Vorrichtung 100 nicht getrennt werden.
  • Ein Softwaresystem der elektronischen Vorrichtung 100 kann eine mehrschichtige Architektur, eine ereignisgesteuerte Architektur, eine Mikro-Kern-Architektur, eine Mikro-Dienst-Architektur oder eine Cloud-Architektur verwenden. Die Ausführungsform der vorliegenden Erfindung verwendet ein Android-System mit einer Schicht-Architektur als Beispiel für die Softwarearchitektur der elektronischen Vorrichtung 100.
  • 2 ist ein strukturelles Blockdiagramm der Software einer elektronischen Vorrichtung 100 gemäß einer Ausführungsform der vorliegenden Erfindung.
  • Bei einer Schicht-Architektur wird die Software in mehrere Schichten aufgeteilt, wobei jede Schicht eine klare Rolle und Arbeitsteilung hat. Die Schichten kommunizieren miteinander über eine Softwareschnittstelle. In einigen Ausführungsformen ist das Android-System in vier Schichten unterteilt, und zwar (von oben nach unten) in eine Anwendungsschicht, eine Anwendungsrahmenschicht, eine Android-Laufzeit (Android-Runtime) und eine Systembibliothek sowie eine Kernel-Schicht.
  • Die Anwendungsschicht kann eine Reihe von Anwendungspaketen enthalten.
  • Wie in 2 dargestellt, kann das Anwendungspaket Anwendungen wie Kamera, Galerie, Kalender, Anruf, Karte, Navigation, WLAN, Bluetooth, Musik, Video und Kurznachrichtendienst enthalten.
  • Die Anwendungsrahmenschicht sieht eine Schnittstelle zur Anwendungsprogrammierung (Application Programming Interface, API) und einen Programmierrahmen für Anwendungen in der Anwendungsschicht vor. Die Anwendungsrahmenschicht umfasst einige vordefinierte Funktionen.
  • Wie in 2 gezeigt, kann die Anwendungsrahmenschicht einen Fenstermanager, einen Inhaltsanbieter, ein Ansichtssystem, einen Telefonmanager, einen Ressourcenmanager, einen Benachrichtigungsmanager und ähnliches umfassen.
  • Der Fenstermanager ist für die Verwaltung eines Fensterprogramms ausgebildet. Der Fenstermanager kann die Größe des Anzeigebildschirms ermitteln, feststellen, ob eine Statusleiste vorhanden ist, den Bildschirm sperren, einen Screenshot aufnehmen und ähnliches.
  • Der Inhaltsanbieter ist so ausgebildet, dass er Daten speichert und abruft und diese Daten für Anwendungen zugänglich macht. Zu den Daten können Videos, Bilder, Audiodaten, getätigte und empfangene Anrufe, der Browserverlauf und Lesezeichen, ein Telefonverzeichnis und Ähnliches gehören.
  • Das Anzeigesystem umfasst visuelle Steuerelemente, wie z. B. ein Steuerelement zur Anzeige von Text, ein Steuerelement zur Anzeige von Bildern und dergleichen. Das Anzeigesystem kann so ausgebildet sein, dass es eine Anwendung erstellt. Die Anzeigeschnittstelle kann aus einer oder mehreren Ansichten zusammengesetzt sein. Zum Beispiel kann eine Anzeigeschnittstelle, welche ein Kurznachrichtendienst-Benachrichtigungssymbol enthält, eine Ansicht die Text anzeigt, und eine Ansicht die ein Bild anzeigt, enthalten.
  • Der Telefonmanager ist so ausgebildet, dass er eine Kommunikationsfunktion der elektronischen Vorrichtung 100 bereitstellt, wie z. B. die Verwaltung eines Anrufstatus (einschließlich Verbinden, Auflegen und dergleichen).
  • Der Ressourcenmanager stellt verschiedene Ressourcen für eine Anwendung bereit, z. B. eine lokalisierte Zeichenfolge, ein Symbol, ein Bild, eine Layout-Datei und eine Videodatei.
  • Der Benachrichtigungsmanager ermöglicht einer Anwendung die Anzeige von Benachrichtigungsinformationen in der Statusleiste, die zur Übermittlung einer benachrichtigungsähnlichen Nachricht verwendet werden können und nach einer kurzen Zeit ohne Benutzerinteraktion automatisch wieder verschwinden können. Der Benachrichtigungsmanager wird z. B. für die Benachrichtigung über den Abschluss eines Downloads und die Erinnerung an eine Nachricht verwendet. Der Benachrichtigungsmanager kann auch eine Benachrichtigung vorsehen, die in der Statusleiste am oberen Rand des Systems in Form eines Diagramms oder eines Rollbalken-Textes erscheint, z. B. eine Benachrichtigung über eine im Hintergrund laufende Anwendung, oder eine Benachrichtigung, die auf dem Bildschirm in Form eines Dialogfensters erscheint. Zum Beispiel wird in der Statusleiste eine Textinformation angezeigt, ein Hinweiston ertönt, die elektronische Vorrichtung vibriert und eine Kontrollleuchte blinkt.
  • Die Android-Laufzeitumgebung umfasst eine Kernbibliothek und eine virtuelle Maschine. Die Android-Laufzeitumgebung ist für die Planung und Verwaltung des Android-Systems verantwortlich.
  • Die Kernbibliothek besteht aus zwei Teilen: ein Teil sind Funktionen, die die Java-Sprache aufrufen, und der andere Teil ist die Kernbibliothek von Android.
  • Die Anwendungsschicht und die Anwendungsrahmenschicht laufen auf einer virtuellen Maschine. Die virtuelle Maschine führt die Java-Dateien der Anwendungsschicht und der Anwendungsrahmenschicht als Binärdateien aus. Die virtuelle Maschine ist so ausgebildet, dass sie Funktionen wie die Verwaltung des Lebenszyklus von Objekten, die Stack-Verwaltung, die Thread-Verwaltung, die Sicherheits- und Ausnahmeverwaltung und die Garbage Collection ausführt.
  • Die Systembibliothek kann eine Mehrzahl an Funktionsmodulen enthalten, wie z. B. einen Oberflächenmanager, Medienbibliotheken, eine dreidimensionale Grafikverarbeitungsbibliothek (z. B. OpenGL ES) und eine 2D-Grafik-Engine (z. B. SGL).
  • Der Oberflächenmanager ist so ausgebildet, dass er ein Anzeige-Subsystem verwaltet und eine Verschmelzung von 2D- und 3D-Ebenen für eine Mehrzahl an Anwendungen bereitstellt.
  • Die Medienbibliothek unterstützt die Wiedergabe und Aufzeichnung einer Mehrzahl gängiger Audio- und Videoformate sowie von Standbilddateien und Ähnlichem. Die Medienbibliothek kann eine Mehrzahl an Audio- und Videocodierformaten unterstützen, wie z. B.: MPEG4, H.264, MP3, AAC, AMR, JPG, und PNG.
  • Die dreidimensionale Grafikverarbeitungsbibliothek ist so ausgebildet, dass sie dreidimensionales Zeichnen, Bildwiedergabe, Synthese, Schicht-Verarbeitung und Ähnliches ermöglicht.
  • Die 2D-Grafik-Engine ist eine Zeichnungs-Engine für das 2D-Zeichnen.
  • Die Kernel-Schicht ist eine Schicht zwischen Hardware und Software. Die Kernel-Ebene umfasst zumindest einen Anzeigetreiber, einen Kameratreiber, einen Audiotreiber und einen Sensortreiber.
  • In dieser Ausführungsform dieser Anmeldung enthält die Kernel-Schicht außerdem ein Speichermanagementmodul, das so ausgebildet ist, dass es der elektronischen Vorrichtung 100 die Speicherressourcen zuweist und verwaltet, insbesondere einschließlich einer effizienten und schnellen Zuweisung von Speicherressourcen und der Freigabe und Rückforderung der Speicherressourcen, falls erforderlich.
  • Beispielsweise verwendet das Speichermanagementmodul eine Mehrzahl an inaktiven Listen und/oder eine Mehrzahl an aktiven Listen, um zugewiesene physische Seiten zu verwalten. Neu zugewiesene physische Seiten werden in den entsprechenden inaktiven Listen und/oder aktiven Listen abgelegt.
  • In einem anderen Beispiel kann das Speichermanagementmodul bei der Durchführung eines Vorgangs zur Rückforderung physischer Seiten eine spezifische Scan-Lösung verwenden, um physische Seiten in einer Mehrzahl an inaktiven Listen und/oder einer Mehrzahl an aktiven Listen zu scannen und eine Rückforderungsprüfung der gescannten physischen Seiten durchzuführen.
  • Ein weiteres Beispiel: Wenn eine Rückforderungsprüfung einer physischen Seite in der inaktiven Liste durchgeführt wird, wird die physische Seite auf Grundlage des Ergebnisses der Rückforderungsprüfung zurückgefordert oder in eine bestimmte aktive Liste verschoben. Wenn die Rückforderungsprüfung für die aktive Liste durchgeführt wird, wird die physische Seite auf Grundlage des Ergebnisses der Rückforderungsprüfung in eine andere aktive Liste oder eine bestimmte inaktive Liste verschoben. Eine spezifische Lösung wird ausführlich weiter unten beschrieben.
  • Die in den Ausführungsformen dieser Anmeldung enthaltenen technischen Lösungen können alle in der elektronischen Vorrichtung 100 implementiert werden, welche die oben beschriebene Hardware- und Software-Architektur aufweist. In der Beschreibung sei im Folgenden beispielhaft das Linux-Betriebssystem in der elektronischen Vorrichtung 100 installiert.
  • Im Stand der Technik, wie in 3 dargestellt, verwendet das Betriebssystem nur eine inaktive Liste und eine aktive Liste für jede Speicherzone, um jede vom Betriebssystem zugewiesene physische Seite zu verwalten. Bei der Durchführung eines Rückforderungsvorgangs für physische Seiten scannt das Betriebssystem jede physische Seite vom Ende der inaktiven Liste her und prüft, ob auf die gescannte physische Seite innerhalb des zuletzt ersten voreingestellten Zeitraums zugegriffen wurde. Wenn auf die gescannte physische Seite zugegriffen wurde, wird die physische Seite an den Kopf der aktiven Liste eingefügt. Wenn auf die gescannte physische Seite nicht zugegriffen wurde, kann die physische Seite zurückgefordert werden. Es ist zu beachten, dass das Verhältnis und die Summe der Anzahl der physischen Seiten in den inaktiven Listen und der Anzahl der physischen Seiten in den aktiven Listen begrenzt ist. Liegt das Verhältnis zwischen der Anzahl der physischen Seiten in den inaktiven Listen und der Anzahl der physischen Seiten in den aktiven Listen unter einem Schwellenwert, werden die physischen Seiten in der aktiven Liste durchsucht und die in dem zuletzt, ersten voreingestellten Zeitraum ungenutzten physischen Seiten an den Kopf der inaktiven Liste verschoben, bis die aus der inaktiven Liste zurückgeforderten physischen Seiten den Speicherbedarf decken.
  • In dieser Ausführungsform dieser Anmeldung allerdings, verwendet das Betriebssystem jedoch mehrere inaktive Listen und eine oder mehrere aktive Listen für jede Speicherzone, um jede vom Betriebssystem zugewiesene physische Seite zu verwalten. Darüber hinaus werden für verschiedene inaktive Listen unterschiedliche Rückforderungsprüfungszyklen angenommen, um den Rückforderungsprüfungszyklus für häufig genutzte physische Seiten (z. B. physische Seiten, die von mehreren Anwendungsprozessen gemeinsam genutzt werden) zu verlängern, die Überlebenszeit der häufig genutzten physischen Seiten zu verlängern, die Cache-Trefferrate des Speichers zu erhöhen und die Lese- und Schreibleistung des Betriebssystems zu verbessern. Alternativ verwendet das Betriebssystem eine Mehrzahl an aktiven Listen und eine oder mehrere inaktive Listen für eine Speicherzone, um jede vom Betriebssystem zugewiesene physische Seite zu verwalten. Darüber hinaus werden für verschiedene aktive Listen unterschiedliche Rückforderungsprüfungszyklen angenommen, um die Zyklen der Rückforderungsprüfung bei häufig genutzten physischen Seiten zu verlängern, unnötige Rückforderungsprüfungen zu reduzieren und die Lese- und Schreibleistung des Betriebssystems zu verbessern.
  • In einigen für das Verstehen der Erfindung notwendigen Beispielen, wie in 4 gezeigt, kann das Betriebssystem n inaktive Listen und eine aktive Liste für jede Speicherzone verwenden und verschiedene Rückforderungsprüfungszyklen für verschiedene inaktive Listen verwenden. Dabei ist n eine ganze Zahl größer oder gleich 2.
    1. 1. Die Teilungsbasis der verschiedenen inaktiven Listen wird zuerst beschrieben, wobei für die verschiedenen inaktiven Listen unterschiedliche Rückforderungsprüfungszyklen angenommen werden.
  • Um die Unterscheidung zwischen verschiedenen inaktiven Listen zu erleichtern, wird, um eine i-te inaktive Liste darzustellen hier eine inaktive Liste [i] verwendet, d. h. ein i-Wert steht für einen Indexwert oder eine Kennung der inaktiven Liste. In dieser Anmeldung werden n inaktive Listen durch Teilung auf Grundlage der Anzahl der Zugriffe auf die physischen Seiten erhalten. Das heißt, die Anzahl der Zugriffe auf die in der inaktiven Liste [i] gespeicherten physischen Seiten ist positiv oder invers mit der Größe des i-Wertes in der inaktiven Liste [i] korreliert.
  • Es sollte beachtet werden, dass die n inaktiven Listen hier durch Teilung erhalten werden, um die spätere getrennte Nutzung verschiedener Scanzyklen und Rückforderungszyklen für die n inaktiven Listen zu erleichtern. Daher kann es sich um n inaktive Listen handeln, die durch logische Teilung erhalten werden, d. h. die n inaktiven Listen sind nicht unbedingt physisch getrennt.
  • Wie oben beschrieben, zeigt beispielsweise ein größerer Wert von Mapcount einer physischen Seite an, dass die physische Seite von mehreren Anwendungen gemeinsam genutzt wird, so dass davon ausgegangen werden kann, dass die Wahrscheinlichkeit eines häufigen Zugriffs auf die physische Seite größer ist, d. h. häufiger auf die physische Seite zugegriffen wird. Daher können n inaktive Listen durch Teilung auf Grundlage der Größenabfolge von Mapcount der in der inaktiven Liste [i] gespeicherten physischen Seite erhalten werden, so dass der Wert von Mapcount der in der inaktiven Liste [i] gespeicherten physischen Seite positiv oder invers mit der Größe des i-Wertes korreliert ist. Ein größerer Wert von Mapcount der in der inaktiven Liste [i] gespeicherten physischen Seite bedeutet beispielsweise einen größeren i-Wert oder einen kleineren i-Wert.
  • Bei n=4 beispielsweise ist der Wert von Mapcount der in inaktiven Liste [i] gespeicherten physischen Seite positiv mit der Größe des i-Wertes korreliert.
  • Tabelle 1 zeigt beispielsweise die Entsprechung zwischen dem Wert von Mapcount einer physischen Seite und einer inaktiven Liste [i]. Tabelle 1
    Wert von Mapcount Entsprechende inaktive Liste [i]
    Mapcount = 1 inaktive Liste [0]
    Mapcount = 2 inaktive Liste [1]
    Mapcount = 3 inaktive Liste [2]
    Mapcount ≥ 4 inaktive Liste [3]
  • Das heißt, wenn der Wert von Mapcount (mapcount) einer physischen Seite 1 ist, wird die physische Seite in die inaktive Liste [0] gesetzt; wenn der Wert von Mapcount (mapcount) einer physischen Seite 2 ist, wird die physische Seite in die inaktive Liste [1] gesetzt; wenn der Wert von Mapcount (mapcount) der physischen Seite 3 ist, wird die physische Seite in die inaktive Liste [2] gesetzt; und wenn der Wert von Mapcount (mapcount) einer physischen Seite größer oder gleich 4 ist, wird die physische Seite in die inaktive Liste [3] gesetzt.
  • Daraus ist abzuleiten, dass die Anzahl der Zugriffe auf die physische Seite in der inaktiven Liste [0] < die Anzahl der Zugriffe auf die physische Seite in der inaktiven Liste [1] < die Anzahl der Zugriffe auf die physische Seite in der inaktiven Liste [2] < die Anzahl der Zugriffe auf die physische Seite in der inaktiven Liste [3] ist.
  • Als weiteres Beispiel zeigt Tabelle 2 eine weitere Entsprechung zwischen einem Wert von Mapcount einer physischen Seite und einer inaktiven Liste [i]. Tabelle 2
    Wert von Mapcount Entsprechende inaktive Liste [i]
    Mapcount = 1, 2 inaktive Liste [0]
    Mapcount = 3, 4 inaktive Liste [1]
    Mapcount = 5, 6 inaktive Liste [2]
    Mapcount ≥ 7 inaktive Liste [3]
  • Daraus ist abzuleiten, dass die Anzahl der Zugriffe auf die physische Seite in der inaktiven Liste [0] < die Anzahl der Zugriffe auf die physische Seite in der inaktiven Liste [1] < die Anzahl der Zugriffe auf die physische Seite in der inaktiven Liste [2] < die Anzahl der Zugriffe auf die physische Seite in der inaktiven Liste [3] ist. Hinsichtlich anderer Inhalte kann auf die Beschreibung der Tabelle 1 verwiesen werden.
  • Als weiteres Beispiel zeigt Tabelle 3 eine weitere Entsprechung zwischen einem Wert von Mapcount einer physischen Seite und einer inaktiven Liste [i]. Tabelle 3
    Wert von Mapcount Entsprechende inaktive Liste [i]
    Mapcount = 1 inaktive Liste [0]
    Mapcount = 2, 3 inaktive Liste [1]
    Mapcount = 4, 5, 6 inaktive Liste [2]
    Mapcount ≥ 7 inaktive Liste [3]
  • Daraus ist abzuleiten, dass die Anzahl der Zugriffe auf die physische Seite in der inaktiven Liste [0] < die Anzahl der Zugriffe auf die physische Seite in der inaktiven Liste [1] < die Anzahl der Zugriffe auf die physische Seite in der inaktiven Liste [2] < die Anzahl der Zugriffe auf die physische Seite in der inaktiven Liste [3] ist. Hinsichtlich anderer Inhalte kann auf die Beschreibung der Tabelle 1 verwiesen werden.
  • Zusammenfassend lässt sich sagen, dass in der vorliegenden Anmeldung keine Einschränkung hinsichtlich einer bestimmten Entsprechung zwischen dem Wert von Mapcount einer physischen Seite und der inaktiven Liste [i] besteht, vorausgesetzt, dass der Wert von Mapcount der physischen Seite in etwa positiv oder invers mit dem i-Wert in der inaktiven Liste [i] korreliert ist.
  • Bei der Durchführung eines Rückforderungsvorgangs für physische Seiten scannt das Betriebssystem physische Seiten in jeder inaktiven Liste und führt eine Rückforderungsprüfung der gescannten physischen Seiten durch, d.h. das Betriebssystem stellt fest, ob auf die physische Seite innerhalb des zuletzt ersten voreingestellten Zeitraums zugegriffen wurde, um anschließend verschiedene Vorgänge auf Grundlage verschiedener Prüfergebnisse durchzuführen. In dieser Anmeldung kann der Scanzyklus der inaktiven Liste (im Folgenden als häufig genutzte inaktive Liste bezeichnet), die häufig genutzte physische Seiten speichert, verlängert werden, wobei dann der Zyklus der Rückforderungsprüfung der physischen Seiten in der häufig genutzten inaktiven Liste verlängert werden kann, um den Zyklus der Rückforderungsprüfung häufig genutzter physischen Seiten zu verlängern und die Anzahl der Rückforderungsprüfungen der häufig genutzten physischen Seiten zu reduzieren. Das heißt, eine höhere Anzahl von Zugriffen auf die physischen Seiten bedeutet einen längeren entsprechenden Scanzyklus und einen längeren entsprechenden Zyklus der Rückforderungsprüfung.
  • Anhand des Beispiels der Tabelle 1 wird auf Grundlage der vorstehenden Analyse festgestellt, dass die Anzahl der Zugriffe auf die physische Seite in der inaktiven Liste [0] < die Anzahl der Zugriffe auf die physische Seite in der inaktiven Liste [1] < die Anzahl der Zugriffe auf die physische Seite in der inaktiven Liste [2] < die Anzahl der Zugriffe auf die physische Seite in der inaktiven Liste [3] ist. Dann kann der Scanzyklus jeder inaktiven Liste wie folgt festgelegt werden: Scanzyklus der inaktiven Liste [0] > Scanzyklus der inaktiven Liste [1] > Scanzyklus der inaktiven Liste [2] > Scanzyklus der inaktiven Liste [3]. Im Allgemeinen können in P Scan-Durchläufen n inaktive Listen gescannt werden, wobei bei jedem Scan-Durchlauf nach bestimmten Regeln inaktive Listen mit einer größeren Anzahl von Zugriffen hinzugefügt werden. P ist größer oder gleich 2. Auf diese Weise sind in P Durchläufen alle physischen Seiten in den n inaktiven Listen zumindest einmal gescannt worden, wobei inaktive Listen mit einer geringeren Anzahl von Zugriffen an mehr Durchläufen beteiligt sind als inaktive Listen mit einer größeren Anzahl von Zugriffen. Zwei konkrete Lösungen, Lösung 1 und Lösung 2, werden im Folgenden als Beispiel angegeben.
  • Lösung 1: Das Scannen erfolgt ab dem Ende einer inaktiven Liste mit der geringsten Anzahl von Zugriffen, wobei eine bestimmte Anzahl (z. B. 1) von inaktiven Listen mit einer größeren Anzahl von Zugriffen während jedes Scan-Durchlaufs hinzugefügt wird.
  • Bei einer bestimmten Implementierung kann eine Zählung a hinzugefügt werden, um die inaktiven Listen anzugeben, die in dem aktuellen Scan-Durchlauf verarbeitet werden sollen. So zeigt z. B. inaktive Liste [0:a] an, dass der aktuelle Scan-Durchlauf ab einer inaktiven Liste [0] bis zu einer inaktiven Liste durchgeführt werden sollte. Eine Zählung e zeigt an, dass eine inaktive Liste [e] gerade bearbeitet wird. Bei einem Scanvorgang kann auf den folgenden Code Bezug genommen werden:
       Select_list(a,e,n)
       {
       if (e < a) { return inactive_list[e++]; }
       if (a< n) { return select_list(e++, e=0); }
       else { return select_list(a=1, k=0, n); }
       }
  • Die in 4 gezeigten vier inaktiven Listen (n=4) werden als Beispiel verwendet, wobei die inaktive Liste [0] beispielhaft die Liste mit der geringsten Anzahl von Zugriffen physischer Seiten darstellt.
  • Die inaktive Liste [0] wird in dem ersten Durchlauf gescannt;
    die inaktive Liste [0] und die inaktive Liste [1] werden in dem zweiten Durchlauf gescannt;
    die inaktive Liste [0], die inaktive Liste [1] und die inaktive Liste [2] werden in dem dritten Durchlauf gescannt; und
    die inaktive Liste [0], die inaktive Liste [1], die inaktive Liste [2] und die inaktive Liste [3] werden in dem vierten Durchlauf gescannt.
  • Daraus ist ersichtlich, dass nach den vier Durchläufen (P=4) alle physischen Seiten in der inaktiven Liste [0] bis zur inaktiven Liste [3] einmal gescannt worden sind. Darüber hinaus wird die inaktive Liste [0] viermal, die inaktive Liste [1] dreimal, die inaktive Liste [2] zweimal und die inaktive Liste [3] einmal gescannt.
  • Lösung 2: Das Scannen erfolgt ab dem Ende einer inaktiven Liste mit der geringsten Anzahl von Zugriffen, wobei eine bestimmte Anzahl von inaktiven Listen mit einer größeren Anzahl von Zugriffen während eines Scan-Durchlaufs nach einer voreingestellten Anzahl von Scan-Durchläufen hinzugefügt wird.
  • Die vier inaktiven Listen, die in 4 gezeigt sind, werden weiterhin als Beispiel verwendet, wobei die inaktive Liste [0], die eine Liste mit der geringsten Anzahl von Zugriffen physischer Seiten ist, als Beispiel verwendet wird.
  • Die inaktive Liste [0] wird in dem ersten Durchlauf gescannt;
    die inaktive Liste [0] wird in dem zweiten Durchlauf gescannt;
    die inaktive Liste [0] wird in dem dritten Durchlauf gescannt;
    die inaktive Liste [0] wird in dem vierten Durchlauf gescannt;
    die inaktive Liste [0] und die inaktive Liste [1] werden in dem fünften Durchlauf gescannt;
    die inaktive Liste [0] und die inaktive Liste [1] werden in dem sechsten Durchlauf gescannt;
    die inaktive Liste [0] und die inaktive Liste [1] werden in dem siebten Durchlauf gescannt;
    die inaktive Liste [0], die inaktive Liste [1] und die inaktive Liste [2] werden in dem achten Durchlauf gescannt;
    die inaktive Liste [0], die inaktive Liste [1] und die inaktive Liste [2] werden in dem neunten Durchlauf gescannt; und
    die inaktive Liste [0], die inaktive Liste [1], die inaktive Liste [2] und die inaktive Liste [3] werden in dem zehnten Durchlauf gescannt.
  • Aus den obigen Ausführungen geht hervor, dass nach den zehn Scan-Durchläufen (P=10) alle physischen Seiten in der inaktiven Liste [0] bis zur inaktiven Liste [3] einmal gescannt worden sind. Außerdem wird die inaktive Liste [0] zehnmal, die inaktive Liste [1] sechsmal, die inaktive Liste [2] dreimal und die inaktive Liste [3] einmal gescannt.
  • Weiterhin werden die vier in 4 gezeigten inaktiven Listen als Beispiel verwendet, wobei die inaktive Liste [0], die eine Liste mit der geringsten Anzahl von Zugriffen physischer Seiten ist, als Beispiel verwendet wird.
  • Die inaktive Liste [0] wird in dem ersten Durchlauf gescannt;
    die inaktive Liste [0] wird in dem zweiten Durchlauf gescannt;
    die inaktive Liste [0] wird in dem dritten Durchlauf gescannt;
    die inaktive Liste [0] wird in dem vierten Durchlauf gescannt;
    die inaktive Liste [0] und die inaktive Liste [1] werden in dem fünften Durchlauf gescannt;
    die inaktive Liste [0] und die inaktive Liste [1] werden in dem sechsten Durchlauf gescannt;
    die inaktive Liste [0], die inaktive Liste [1] und die inaktive Liste [2] werden in dem siebten Durchlauf gescannt; und
    die inaktive Liste [0], die inaktive Liste [1], die inaktive Liste [2] und die inaktive Liste [3] werden in dem achten Durchlauf gescannt.
  • Aus den obigen Ausführungen geht hervor, dass nach den acht Scan-Durchläufen (P=8) alle physischen Seiten in der inaktiven Liste [0] bis zur inaktiven Liste [3] einmal gescannt worden sind. Außerdem wird die inaktive Liste [0] achtmal, die inaktive Liste [1] viermal, die inaktive Liste [2] zweimal und die inaktive Liste [3] einmal gescannt.
  • Es sei darauf hingewiesen, dass auch andere Regeln, die ein Fachmann aufzustellen gedenkt, zum Scannen von n inaktiven Listen verwendet werden können, so dass in den inaktiven Listen physische Seiten, auf die öfter zugegriffen wird, weniger oft gescannt werden, und physische Seiten, auf die weniger oft zugegriffen wird, öfter gescannt werden, was die Ausführungsform dieser Anmeldung nicht ausdrücklich einschränkt.
    1. 1. Ein Verfahren zur Rückforderung physischer Seiten durch das Betriebssystem wird unter Bezugnahme auf die beigefügten Zeichnungen beschrieben.
  • Bei der Zuweisung physischer Seiten für Anwendungsprozesse legt das Betriebssystem die zugewiesenen physischen Seiten in LRU-Listen ab, d.h. das Betriebssystem legt die zugewiesenen physischen Seiten in entsprechende aktive Listen oder inaktive Listen auf Grundlage eines Szenarios ab. Dann, wenn die physischen Seiten zurückgefordert werden, scannt das Betriebssystem die physischen Seiten in den aktiven Listen oder n inaktiven Listen auf Grundlage bestimmter Regeln und führt eine Rückforderungsprüfung durch, verschiebt die physischen Seiten in die aktiven Listen oder die n inaktiven Listen und bestimmt rückforderbare physische Seiten am Ende der inaktiven Liste [0] zur Rückforderung.
  • In einem Beispiel prüft das Betriebssystem einen Seitenidentifikator PG_active einer physischen Seite, wobei PG_active verwendet wird, um einen Grad an Aktivität der physischen Seite zu identifizieren.
  • Wenn PG_active gesetzt ist (der Wert ist 1), bedeutet dies, dass die physische Seite aktiv ist. Das Betriebssystem ruft z. B. lru_cache_add_active() auf, um die physische Seite in die aktive Liste aufzunehmen. In diesem Fall ist der Zustand der physischen Seite [1,0], d. h. PG_active=1 und PG_referenced=0. PG_referenced wird verwendet, um festzustellen, ob auf die physische Seite innerhalb des zuletzt ersten voreingestellten Zeitraums zugegriffen wurde. Dessen Rolle wird im Folgenden beschrieben. Wenn PG_active nicht gesetzt ist (der Wert ist 0), bedeutet dies, dass die physische Seite nicht aktiv ist. Dann ruft das Betriebssystem z. B. lru_cache_add () auf, um die physische Seite auf Grundlage des numerischen Werts von Mapcount der physischen Seite in eine entsprechende inaktive Liste [k] einzufügen, wobei k eine ganze Zahl größer oder gleich 0 und kleiner oder gleich n ist. In diesem Fall ist der Zustand der physischen Seite [0,0], d. h. PG_active=0 und PG_referenced=0.
  • Unter Linux fordert das Betriebssystem physische Seiten hauptsächlich durch direkte Rückforderung und durch Rückforderung mittels kswapd (einen Hintergrundprozess) zurück. Die direkte Rückforderung wird durch ein „severely out of memory“-Ereignis ausgelöst. Das Betriebssystem kann eine Funktion try_to_free_pages() aufrufen, um die physischen Seiten in der aktuellen Speicherzone (inaktive Listen und aktive Listen) zu prüfen und die am wenigsten genutzten physischen Seiten zurückzufordern. Rückforderung durch kswapd bedeutet, dass das Betriebssystem regelmäßig den kswapd-Prozess laufen lässt. Sobald festgestellt wird, dass der Speicher nicht mehr ausreicht, wird ein Vorgang zur Rückforderung physischer Seiten ausgelöst. Seine Eingangsfunktion ist balance_pgdat(). Es ist anzumerken, dass das Speichermanagementverfahren in dieser Anmeldung auf jede Art von ausgelöstem Rückforderungsvorgang anwendbar ist.
  • Wie in 4 dargestellt, kann das Betriebssystem, nachdem es den Rückforderungsvorgang ausgelöst hat, jede inaktive Liste auf Grundlage der vorgenannten Art und Weise scannen und eine Rückforderungsprüfung der gescannten physischen Seiten durchführen. Wenn festgestellt wird, dass auf eine physische Seite kürzlich zugegriffen wurde, wird die physische Seite in die aktive Liste verschoben (z.B. an den Kopf der aktiven Liste), wobei, wenn festgestellt wird, dass auf eine physische Seite kürzlich nicht zugegriffen wurde, die physische Seite zurückgefordert wird.
  • Wenn beispielsweise eine physische Seite A am Ende der inaktiven Liste [0] gescannt wird, kann eine check_referenced()-Funktion aufgerufen werden, um den Wert der Seitenkennung PG_referenced der physischen Seite A zu prüfen. PG_referenced wird verwendet, um festzustellen, ob auf die physische Seite innerhalb des zuletzt ersten voreingestellten Zeitraums zugegriffen wurde. Wenn der Wert von PG_referenced gleich 1 ist, bedeutet dies, dass auf die physische Seite A in dem zuletzt ersten voreingestellten Zeitraum zugegriffen wurde. Wenn der Wert von PG_referenced 0 ist, bedeutet dies, dass auf die physische Seite A im zuletzt ersten Voreinstellungszeitraum nicht zugegriffen wurde.
  • Wenn der Rückgabewert der Funktion 1 ist, bedeutet dies, dass der Wert von PG_referenced 1 ist, und die physische Seite A an den Kopf der aktiven Liste verschoben werden kann. Konkret kann das Betriebssystem einen mark_page_accesed-Vorgang aufrufen, um den Page Identifier PG_active der physischen Seite A auf 1 zu setzen und die physische Seite A in die aktive Liste zu verschieben. In diesem Fall kann der Zustand der physischen Seite A als [1,1] aufgezeichnet werden, d. h. PG_active=1 und PG_referenced=1. Wenn innerhalb eines bestimmten Zeitraums nicht mehr auf die physische Seite A zugegriffen wurde, wird der Wert von PG_referenced auf 0 zurückgesetzt. In diesem Fall wird der Zustand der physischen Seite Aauf [1,0] geändert, d. h. PG_active=1 und PG_referenced=0.
  • Wenn der Rückgabewert der Funktion 0 ist, bedeutet dies, dass der Wert von PG_referenced 0 ist, und die physische Seite A zurückgefordert werden kann. Es ist zu beachten, dass es je nach Art der in der physischen Seite A zwischengespeicherten Daten einige Unterschiede im Rückforderungsprozess geben kann. Wenn die Daten in der physischen Seite A beispielsweise nur der Zwischenspeicherung dienen, d. h. die Daten aus einem externen Speicher zurückgefordert werden können, kann die physische Seite A direkt freigegeben werden. Wenn die Daten in der physischen Seite A nicht zurückgefordert werden können, müssen die Daten in der physischen Seite A zunächst in eine Swap-Partition ausgelagert werden, bevor die physische Seite A freigegeben werden kann.
  • Ein anderes Beispiel: Wenn eine physische Seite B am Ende der inaktiven Liste [k] gescannt wird, kann das gleiche Verfahren wie bei der Verarbeitung der physischen Seite A verwendet werden. Wenn auf die physische Seite B innerhalb des zuletzt ersten voreingestellten Zeitraums zugegriffen wurde, wird die physische Seite in die aktive Liste verschoben, andernfalls wird sie zurückgefordert.
  • Es ist zu beachten, dass das Betriebssystem die gleiche Rückforderungsprüfung und die gleiche Verarbeitung nach der Rückforderungsprüfung auf verschiedenen inaktiven Listen durchführt. Das Betriebssystem durchsucht die physischen Seiten in den verschiedenen inaktiven Listen nur in unterschiedlichen Zyklen, so dass auch die Zyklen der Rückforderungsprüfung und die Anzahl der Zeiten der Rückforderungsprüfung unterschiedlich sind.
  • Wenn zudem das Verhältnis zwischen der Gesamtzahl der physischen Seiten in den n inaktiven Listen und der Gesamtzahl der physischen Seiten in den aktiven Listen unter einem Schwellenwert liegt, durchsucht das Betriebssystem die physischen Seiten in den aktiven Listen und verschiebt die physischen Seiten, die in dem zuletzt ersten voreingestellten Zeitraum nicht genutzt worden sind, in die entsprechenden inaktiven Listen, so dass das Betriebssystem die physischen Seiten an den Enden der n inaktiven Listen zurückfordern kann.
  • Wie in 4 dargestellt, wird das Scannen vom Ende der aktiven Liste aus durchgeführt, und die gescannten physischen Seiten werden auf Rückforderung geprüft. Wenn festgestellt wird, dass auf eine physische Seite C kürzlich zugegriffen wurde, wird die physische Seite C an den Kopf der aktiven Liste verschoben. In diesem Fall ist der Status der physischen Seite C [1,1], d. h. PG_active=1 und PG_referenced=1. Wenn festgestellt wird, dass auf die physische Seite C in letzter Zeit nicht zugegriffen wurde, wird die physische Seite C in diejenige inaktive Liste verschoben, die dem Mapcount-Wert der physischen Seite C entspricht, z. B. an den Kopf der inaktiven Liste [k]. In diesem Fall ist der Zustand der physischen Seite C [0,0], d.h. PG_active=0 und PG_referenced=0. In einigen Beispielen kann der Mapcount-Wert sehr groß sein, oder die physische Seite C kann alternativ in die inaktive Liste verschoben werden, die log2(page->Mapcount()) entspricht. page->Mapcount() wird verwendet, um den Wert von Mapcount der physischen Seite C darzustellen. Ein Verfahren zur Rückforderungsprüfung ist dasselbe wie das Verfahren zur Rückforderungsprüfung für physische Seiten in der inaktiven Liste und wird hier nicht näher beschrieben.
  • Zusammenfassend lässt sich sagen, dass mehrere inaktive Listen durch Teilung auf Grundlage der Häufigkeit des tatsächlichen Zugriffs auf inaktive physische Seiten erstellt werden, wobei für verschiedene inaktive Listen unterschiedliche Scanzyklen verwendet werden, so dass die Anzahl der Scans physischer Seiten, auf die häufig zugegriffen wird, reduziert wird und die Anzahl der Rückforderungsprüfungen für die physischen Seiten, auf die häufig zugegriffen wird, ebenfalls entsprechend reduziert wird.
  • Einerseits werden dadurch die Rückforderungsprüfungen einer physischen Seite, auf die häufig zugegriffen wird, reduziert, die Wahrscheinlichkeit, dass die physische Seite zurückgefordert wird, verringert, was einer Verlängerung der Überlebenszeit der physischen Seite, auf die häufig zugegriffen wird, entspricht, wodurch die Cache-Trefferrate des Speichers erhöht und die Lese- und Schreibleistung des Betriebssystems verbessert wird. Andererseits ist die Durchführung einer Rückforderungsprüfung für die physische Seite, auf die häufig zugegriffen wird, unter Verwendung eines längeren Zyklus förderlich, um während der Rückforderungsprüfung festzustellen, ob auf die physische Seite innerhalb des zuletzt ersten voreingestellten Zeitraums zugegriffen wurde, so dass die physische Seite von der inaktiven Liste in die aktive Liste verschoben wird und die Überlebenszeit der physischen Seite, auf die häufig zugegriffen wird, verlängert wird, wodurch die Cache-Trefferrate des Speichers erhöht und die Lese- und Schreibleistung des Betriebssystems verbessert wird.
  • In einigen Beispielen dieser Ausführungsform kann es sich bei den vorgenannten häufig genutzten inaktiven Seiten beispielsweise um physische Seiten handeln, die von einer Mehrzahl an Anwendungsprozessen gemeinsam genutzt werden, wobei sie insbesondere Teil von grundlegenden Bibliotheksdateien sein können, die von einer Mehrzahl an Anwendungsprozessen gemeinsam genutzt werden.
  • Im Stand der Technik kann ein Speichersperrverfahren (memory locking, mlock) angewandt werden, um einige grundlegende Bibliotheksdateien, die von einer Mehrzahl an Anwendungsprozessen gemeinsam genutzt werden, im Speicher zu sperren, um zu vermeiden, dass physische Seiten, auf denen sich die gemeinsam genutzten grundlegenden Dateien befinden, häufig rückgefordert werden, und um die Cache-Trefferrate des Speichers zu erhöhen. Es ist jedoch zu beachten, dass bei dem mlock-Verfahren im Speicher in der Regel eine ganze Datei gesperrt wird, was zumindest zwei Nachteile hat. Erstens konzentrieren sich die Daten, auf die eine CPU zugreift, aufgrund des Lokalitätsprinzips in der Regel auf einen bestimmten kontinuierlichen Bereich, d. h. es wird nur auf einen Teil der im Speicher gesperrten Datei häufig zugegriffen. Wenn jedoch die gesamte Datei im Speicher gesperrt ist, belegt der Inhalt der Datei, auf den nur selten zugegriffen wird, den Speicherplatz für längere Zeit, was zu einer Verschwendung von Speicherplatz führt. Zweitens: Sobald das mlock-Verfahren angewandt wird, um die gesamte Datei im Speicher zu sperren, gibt das Betriebssystem die physischen Seiten, auf denen sich die Datei befindet, nicht wieder frei, selbst wenn auf die Datei nicht mehr oder nur noch selten zugegriffen wird, was zu einer Verschwendung von Speicherplatz führt.
  • In der Ausführungsform dieser Anmeldung wird jedoch Mapcount verwendet, um eine physische Seite zu bestimmen, die von mehreren Anwendungsprozessen gemeinsam genutzt wird, wobei dann die Rückforderungsprüfung immer noch verwendet wird, um festzustellen, ob auf die gemeinsam genutzten physischen Seiten innerhalb des zuletzt ersten voreingestellten Zeitraums zugegriffen wurde. Wenn auf die gemeinsam genutzten physischen Seiten zugegriffen wurde, werden die physischen Seiten im Speicher behalten. Wenn auf die gemeinsam genutzten physischen Seiten nicht zugegriffen wurde, können die physischen Seiten zurückgefordert werden. Daraus geht hervor, dass in dieser Anmeldung die von mehreren Anwendungsprozessen gemeinsam genutzten Daten durch Verwendung der physischen Seite als Einheit bestimmt werden, um zu vermeiden, dass die Daten der gesamten gemeinsam genutzten Datei im Speicher verbleiben. Darüber hinaus wird bei dieser Anmeldung die Rückforderungsprüfung für gemeinsam genutzte physische Seiten weiterhin durchgeführt, wobei physische Seiten, auf die nicht mehr häufig zugegriffen wird, zurückgefordert werden. Verglichen mit dem Speichersperrverfahren im Stand der Technik erhöht das Speichermanagementverfahren gemäß dieser Anmeldung die Cache-Trefferrate des Speichers und erhöht auch die Nutzungsrate des Speichers.
  • In einigen anderen für das Verstehen der Erfindung notwendigen Beispielen, wie in 5 gezeigt, kann das Betriebssystem eine inaktive Liste und m aktive Listen für jede Speicherzone verwenden, um die Funktion der Rückforderung physischer Seiten zu implementieren. m ist eine ganze Zahl größer oder gleich 2. Die Anzahl m der aktiven Listen in dieser Ausführungsform kann gleich oder verschieden von der Anzahl n der inaktiven Listen in der vorherigen Ausführungsform sein.
    1. 1. Zunächst wird die Teilungsbasis der verschiedenen aktiven Listen beschrieben, wobei für die verschiedenen aktiven Listen unterschiedliche Rückforderungsprüfungszyklen angenommen werden.
  • Um die Unterscheidung zwischen verschiedenen aktiven Listen zu erleichtern, wird hier eine aktive Liste [i] verwendet, um eine i-te aktive Liste zu repräsentieren, d.h. ein i-Wert stellt einen Indexwert oder eine Kennung der aktiven Liste dar. In dieser Anmeldung werden n aktive Listen durch Teilung auf Grundlage der Anzahl der Zugriffe auf die physischen Seiten erhalten. Das heißt, die Anzahl der Zugriffe auf die in der aktiven Liste [i] gespeicherten physischen Seiten ist positiv oder invers mit der Größe des i-Wertes in der aktiven Liste [i] korreliert.
  • Es sei darauf hingewiesen, dass die m aktiven Listen hier durch Teilung erhalten werden, um die spätere getrennte Nutzung verschiedener Scanzyklen und Rückforderungszyklen für die m aktiven Listen zu erleichtern. Daher kann es sich um m aktive Listen handeln, die durch logische Teilung erhalten werden, d. h. die m aktiven Listen sind nicht unbedingt physisch getrennt.
  • Beispielsweise können m aktive Listen durch Teilung auf Grundlage der Anzahl der Zugriffe auf physische Seiten in einem aktuellen zweiten voreingestellten Zeitraum erhalten werden, so dass die Anzahl der Zugriffe auf physische Seiten, die in der aktiven Liste [i] gespeichert sind, in dem aktuellen zweiten voreingestellten Zeitraum positiv oder invers mit dem i-Wert korreliert sind. So zeigt beispielsweise eine höhere Anzahl von Zugriffen auf die in der aktiven Liste [i] gespeicherten physischen Seiten einen größeren i-Wert oder einen kleineren i-Wert an.
  • Bei m=4 ist die Anzahl der Zugriffe auf die in der aktiven Liste [i] gespeicherten physischen Seiten in dem zuletzt zweiten voreingestellten Zeitraum positiv mit der Größe des i-Wertes korreliert.
  • Tabelle 4 zeigt zum Beispiel einen Zusammenhang zwischen der Anzahl der Zugriffe auf eine physische Seite in dem zuletzt zweiten voreingestellten Zeitraum und einer aktiven Liste [i]. Tabelle 4
    Anzahl der Zugriffe auf eine physische Seite in dem zuletzt zweiten voreingestellten Zeitraum Entsprechende aktive Liste [i]
    Anzahl der Zugriffe auf eine physische Seite in dem zuletzt zweiten voreingestellten Zeitraum = 1 aktive Liste [0]
    Anzahl der Zugriffe auf eine physische Seite in dem zuletzt zweiten voreingestellten Zeitraum = 2 aktive Liste [1]
    Anzahl der Zugriffe auf eine physische Seite in dem zuletzt zweiten voreingestellten Zeitraum = 3 aktive Liste [2]
    Anzahl der Zugriffe auf eine physische Seite in dem zuletzt zweiten voreingestellten Zeitraum ≥ 4 aktive Liste [3]
  • Das heißt, wenn die Anzahl der Zugriffe auf eine physische Seite in dem zuletzt zweiten voreingestellten Zeitraum 1 beträgt, wird die physische Seite in die aktive Liste [0] aufgenommen; wenn die Anzahl der Zugriffe auf eine physische Seite in dem zuletzt zweiten voreingestellten Zeitraum 2 beträgt, wird die physische Seite in die aktive Liste [1] aufgenommen; wenn die Anzahl der Zugriffe auf eine physische Seite in dem zuletzt zweiten voreingestellten Zeitraum 3 beträgt, wird die physische Seite in die aktive Liste [2] aufgenommen; und wenn die Anzahl der Zugriffe auf eine physische Seite in dem zuletzt zweiten voreingestellten Zeitraum größer oder gleich 4 ist, wird die physische Seite in die aktive Liste [3] aufgenommen.
  • Es sollte beachtet werden, dass die Anzahl der Zugriffe auf eine physische Seite in dem zuletzt zweiten voreingestellten Zeitraum wie folgt beurteilt werden kann: Wenn die physische Seite gerade zu einer LRU-Liste hinzugefügt wurde oder von einer inaktiven Liste in eine aktive Liste in der LRU-Liste verschoben wird, kann davon ausgegangen werden, dass auf die physische Seite zum ersten Mal in dem zuletzt zweiten voreingestellten Zeitraum zugegriffen wird, d. h. die physische Seite wird zur aktiven Liste [0] hinzugefügt. Wenn sich die physische Seite dann in einer Mehrzahl an aktiven Listen bewegt, kann die aktive Liste, zu der die physische Seite hinzugefügt wird, auf Grundlage des Indexwerts der aktiven Liste, in der sich die physische Seite befindet, bestimmt werden, wobei festgestellt werden kann, ob auf die physische Seite innerhalb des zuletzt ersten voreingestellten Zeitraums zugegriffen wurde, d. h. es wird der Indexwert der aktiven Liste, zu der die physische Seite neu hinzugefügt wird, bestimmt. Die Dauer des ersten voreingestellten Zeitraums ist in der Regel kleiner als die des zweiten voreingestellten Zeitraums.
  • Das heißt, es wird davon ausgegangen, dass sich die physische Seite in der aktiven Liste [k] befindet, wobei, wenn k kleiner als m-1 ist und festgestellt wird, dass auf die physische Seite in dem zuletzt ersten voreingestellten Zeitraum zugegriffen wurde, die physische Seite der aktiven Liste [k+1] hinzugefügt wird. Wenn k=m-1 ist, d.h. die physische Seite sich in der aktiven Liste [m-1] befindet, wird, wenn festgestellt wird, dass auf die physische Seite in dem zuletzt ersten voreingestellten Zeitraum zugegriffen wurde, die physische Seite in der aktiven Liste [m-1] beibehalten.
  • Daraus ist abzuleiten, dass die Anzahl der Zugriffe auf die physische Seite in der aktiven Liste [0] < die Anzahl der Zugriffe auf die physische Seite in der aktiven Liste [1] < die Anzahl der Zugriffe auf die physische Seite in der aktiven Liste [2] < die Anzahl der Zugriffe auf die physische Seite in der aktiven Liste [3] ist.
  • Tabelle 5 zeigt zum Beispiel eine weitere Entsprechung zwischen der Anzahl der Zugriffe auf eine physische Seite in dem zweiten voreingestellten Zeitraum und einer aktiven Liste [i]. Tabelle 5
    Anzahl der Zugriffe auf eine physische Seite in dem zuletzt zweiten voreingestellten Zeitraum Entsprechende aktive Liste [i]
    Anzahl der Zugriffe auf eine physische Seite in dem zuletzt zweiten voreingestellten Zeitraum = 1, 2 aktive Liste [0]
    Anzahl der Zugriffe auf eine physische Seite in dem zuletzt zweiten voreingestellten Zeitraum = 3, 4 aktive Liste [1]
    Anzahl der Zugriffe auf eine physische Seite in dem zuletzt zweiten voreingestellten Zeitraum = 5, 6 aktive Liste [2]
    Anzahl der Zugriffe auf eine physische Seite in dem zuletzt zweiten voreingestellten Zeitraum ≥ 4 aktive Liste [3]
  • Daraus ist abzuleiten, dass die Anzahl der Zugriffe auf die physische Seite in der aktiven Liste [0] < die Anzahl der Zugriffe auf die physische Seite in der aktiven Liste [1] < die Anzahl der Zugriffe auf die physische Seite in der aktiven Liste [2] < die Anzahl der Zugriffe auf die physische Seite in der aktiven Liste [3] ist. Hinsichtlich anderer Inhalte kann auf die Beschreibung der Tabelle 4 verwiesen werden.
  • Als weiteres Beispiel zeigt Tabelle 6 eine weitere Entsprechung zwischen der Anzahl der Zugriffe auf eine physische Seite in dem zweiten voreingestellten Zeitraum und einer aktiven Liste [i]. Tabelle 6
    Anzahl der Zugriffe auf eine physische Seite in dem zuletzt zweiten voreingestellten Zeitraum Entsprechende aktive Liste [i]
    Anzahl der Zugriffe auf eine physische Seite in dem zuletzt zweiten voreingestellten Zeitraum = 1 aktive Liste [0]
    Anzahl der Zugriffe auf eine physische Seite in dem zuletzt zweiten voreingestellten Zeitraum = 2, 3 aktive Liste [1]
    Anzahl der Zugriffe auf eine physische Seite in dem zuletzt zweiten voreingestellten Zeitraum = 4, 5, 6 aktive Liste [2]
    Anzahl der Zugriffe auf eine physische Seite in dem zuletzt zweiten voreingestellten Zeitraum ≥ 7 aktive Liste [3]
  • Daraus ist abzuleiten, dass die Anzahl der Zugriffe auf die physische Seite in der aktiven Liste [0] < die Anzahl der Zugriffe auf die physische Seite in der aktiven Liste [1] < die Anzahl der Zugriffe auf die physische Seite in der aktiven Liste [2] < die Anzahl der Zugriffe auf die physische Seite in der aktiven Liste [3] ist. Hinsichtlich anderer Inhalte kann auf die Beschreibung der Tabelle 4 verwiesen werden.
  • Zusammenfassend lässt sich sagen, dass in der Ausführungsform dieser Anmeldung keine Beschränkung auf eine bestimmte Entsprechung zwischen der Anzahl der Zugriffe auf eine physische Seite in dem zuletzt zweiten voreingestellten Zeitraum und der aktiven Liste [i] besteht, vorausgesetzt, dass die Anzahl der Zugriffe auf die physische Seite in dem zuletzt zweiten voreingestellten Zeitraum ungefähr positiv oder invers mit dem i-Wert in der aktiven Liste [i] korreliert ist.
  • Wenn das Betriebssystem einen Rückforderungsvorgang für physische Seiten durchführt und das Verhältnis zwischen der Gesamtzahl der physischen Seiten in den inaktiven Listen und der Gesamtzahl der physischen Seiten in m aktiven Listen unter einem Schwellenwert liegt, scannt das Betriebssystem die physischen Seiten in den m aktiven Listen und verschiebt die physischen Seiten, die in dem zuletzt ersten voreingestellten Zeitraum nicht verwendet wurden, in die inaktiven Listen, um die physischen Seiten, die in dem zuletzt ersten voreingestellten Zeitraum nicht verwendet wurden, aus den inaktiven Listen zurückzufordern. In dieser Anmeldung kann der Scanzyklus der aktiven Liste (im Folgenden als die aktive Liste mit häufigem Zugriff bezeichnet), in der häufig genutzte physische Seiten gespeichert sind, verlängert werden, wobei dann der Zyklus der Rückforderungsprüfung der physischen Seiten in der aktiven Liste mit häufigem Zugriff verlängert werden kann, um den Zyklus der Rückforderungsprüfung auf häufig genutzten physischen Seiten zu verlängern und die Anzahl der Rückforderungsprüfungen der häufig genutzten physischen Seiten zu reduzieren. Das heißt, eine höhere Anzahl von Zugriffen auf die physischen Seiten bedeutet einen längeren entsprechenden Scanzyklus und einen längeren entsprechenden Zyklus der Rückforderungsprüfung.
  • Anhand des Beispiels der Tabelle 4 kann auf Grundlage der vorstehenden Analyse abgeleitet werden, dass die Anzahl der Zugriffe auf die physische Seite in der aktiven Liste [0] < die Anzahl der Zugriffe auf die physische Seite in der aktiven Liste [1] < die Anzahl der Zugriffe auf die physische Seite in der aktiven Liste [2] < die Anzahl der Zugriffe auf die physische Seite in der aktiven Liste [3] ist. Dann kann der Scanzyklus jeder aktiven Liste wie folgt festgelegt werden: Scanzyklus von aktiver Liste [0] > Scanzyklus von aktiver Liste [1] > Scanzyklus von aktiver Liste [2] > Scanzyklus von aktiver Liste [3].
  • Im Allgemeinen können m aktive Listen in Q Durchläufen gescannt werden, wobei aktive Listen mit einer größeren Anzahl von Zugriffen bei jedem Durchlauf nach bestimmten Regeln hinzugefügt werden. Q ist größer oder gleich 2. Auf diese Weise sind in Q Durchläufen alle physischen Seiten in den m aktiven Listen zumindest einmal gescannt worden, wobei aktive Listen mit einer geringeren Anzahl von Zugriffen an mehr Durchläufen beteiligt sind als aktive Listen mit einer größeren Anzahl von Zugriffen. Zwei spezifische Lösungen, Lösung 3 und Lösung 4, werden im Folgenden als Beispiel angeführt.
  • Lösung 3: Das Scannen erfolgt ab dem Ende einer aktiven Liste mit der geringsten Anzahl von Zugriffen, wobei eine bestimmte Anzahl (z. B. 1) von aktiven Listen mit einer größeren Anzahl von Zugriffen während jedes Scan-Durchlaufs hinzugefügt wird.
  • Diese Lösung ähnelt der Lösung 1 und wird hier nicht im Detail beschrieben.
  • Lösung 4: Das Scannen erfolgt ab dem Ende einer aktiven Liste mit der geringsten Anzahl von Zugriffen, wobei eine bestimmte Anzahl von aktiven Listen mit einer größeren Anzahl von Zugriffen während eines Scan-Durchlaufs nach einer voreingestellten Anzahl von Scan-Durchläufen hinzugefügt wird.
  • Diese Lösung ähnelt der Lösung 2 und wird hier nicht im Detail beschrieben.
  • Es sei darauf hingewiesen, dass auch andere Regeln, die ein Fachmann gedenkt aufzustellen, zum Scannen von m aktiven Listen verwendet werden können, so dass in den aktiven Listen physische Seiten, auf die öfter zugegriffen wird, weniger oft gescannt werden, wobei physische Seiten, auf die weniger oft zugegriffen wird, öfter gescannt werden, was die Ausführungsform dieser Anmeldung nicht speziell einschränkt.
    • 2. Ein Verfahren zur Rückforderung physischer Seiten durch das Betriebssystem wird unter Bezugnahme auf die beigefügten Zeichnungen beschrieben.
  • Bei der Zuweisung physischer Seiten für Anwendungsprozesse legt das Betriebssystem die zugewiesenen physischen Seiten in LRU-Listen ab, d.h. das Betriebssystem legt auf Grundlage eines Szenarios eine zugewiesene physische Seite in die entsprechende aktive Liste [0] oder inaktive Liste ab. Wenn das Betriebssystem dann die physischen Seiten zurückfordert, scannt es die physischen Seiten in den m aktiven Listen oder den inaktiven Listen auf Grundlage bestimmter Regeln und führt eine Rückforderungsprüfung durch, verschiebt die physischen Seiten in den m aktiven Listen oder den inaktiven Listen und bestimmt rückforderbare physische Seiten am Ende der inaktiven Liste zur Rückforderung.
  • Weiter Bezug nehmend auf 5, nachdem das Betriebssystem den Rückforderungsvorgang ausgelöst hat, scannt es die inaktiven Listen und prüft die gescannten physischen Seiten auf Rückforderung. Wenn festgestellt wird, dass kürzlich auf eine physische Seite zugegriffen wurde, wird die physische Seite in die aktive Liste [0] verschoben (z. B. an den Kopf der aktiven Liste [0]). In diesem Fall ist der Status der physischen Seite [1,1], d. h. PG_active=1 und PG_referenced=1. Wenn festgestellt wird, dass auf eine physische Seite in letzter Zeit nicht zugegriffen wurde, wird die physische Seite zurückgefordert. Für ein Verfahren zur Rückforderungsprüfung und ein Verfahren zur Rückforderung physischer Seiten kann auf die Beschreibung der vorherigen Ausführungsform verwiesen werden, wobei Einzelheiten hier nicht erneut beschrieben werden.
  • Wenn das Verhältnis der Gesamtzahl der physischen Seiten in den inaktiven Listen zur Gesamtzahl von m physischen Seiten in den aktiven Listen kleiner als ein Schwellenwert ist, scannt das Betriebssystem die physischen Seiten in den m aktiven Listen auf Grundlage der vorhergehenden Scan-Lösung (wie Lösung 3 oder Lösung 4) der aktiven Liste [0] und verschiebt physische Seiten, die in dem zuletzt ersten voreingestellten Zeitraum ungenutzt waren, in die inaktiven Listen, so dass das Betriebssystem die physischen Seiten an den Enden der inaktiven Listen zurückfordern kann.
  • Weiter Bezug nehmend auf 5, wenn die physische Seite D in der aktiven Liste [k] gescannt wird und k größer oder gleich 0 und kleiner als m-1 ist, wird eine Rückforderungsprüfung für die physische Seite D durchgeführt. Wenn festgestellt wird, dass kürzlich auf eine physische Seite D zugegriffen wurde, wird die physische Seite D an den Kopf der aktiven Liste [k+1] verschoben. In diesem Fall ist der Zustand der physischen Seite D [1,1], d. h. PG_active=1 und PG_referenced=1. Wenn festgestellt wird, dass auf die physische Seite D in letzter Zeit nicht zugegriffen wurde, wird die physische Seite D in die inaktive Liste verschoben, z. B. an den Kopf der inaktiven Liste. In diesem Fall ist der Zustand der physischen Seite D [0,0], d. h. PG_active=0 und PG_referenced=0.
  • Wenn k=m-1, d.h. wenn eine physische Seite E in der aktiven Liste [m-1] gescannt wird, wird eine Rückforderungsprüfung für die physische Seite E durchgeführt. Wenn festgestellt wird, dass kürzlich auf eine physische Seite E zugegriffen wurde, wird die physische Seite an den Kopf der aktiven Liste [m-1] gesetzt. Wenn festgestellt wird, dass auf die physische Seite E in letzter Zeit nicht zugegriffen wurde, wird die physische Seite E in die inaktive Liste verschoben, z. B. an den Kopf der inaktiven Liste.
  • Es ist zu beachten, dass das Betriebssystem die gleiche Rückforderungsprüfung und Verarbeitung nach der Rückforderungsprüfung auf verschiedenen aktiven Listen durchführt. Das Betriebssystem scannt die physischen Seiten in den verschiedenen aktiven Listen nur in unterschiedlichen Zyklen, so dass die Anzahl der Rückforderungsprüfungen ebenfalls unterschiedlich ist.
  • Zusammenfassend lässt sich sagen, dass eine Mehrzahl an aktiven Listen durch Teilung auf Grundlage der Häufigkeit des tatsächlichen Zugriffs auf aktive physische Seiten erhalten werden, und dass für verschiedene aktive Listen unterschiedliche Scan-Zyklen angenommen werden, so dass die Anzahl der Scan-Vorgänge für physische Seiten mit häufigem Zugriff reduziert wird und die Anzahl der Rückforderungsprüfungen für die physischen Seiten mit häufigem Zugriff ebenfalls entsprechend reduziert wird. Auf diese Weise wird vermieden, dass eine physische Seite, auf die häufig zugegriffen wird, unnötig oft rückgefordert und geprüft wird, was die Effizienz der Rückforderung eines Betriebssystems hinsichtlich einer physischen Seite beschleunigt und die Leistung des Betriebssystems verbessert.
  • In einigen noch anderen für das Verstehen der Erfindung notwendigen Beispielen, wie in 6 gezeigt, kann das Betriebssystem n inaktive Listen und m aktive Listen für jede Speicherzone verwenden, um die Funktion der Rückforderung physischer Seiten zu implementieren.
  • Für ein Teilungsverfahren und eine Scanlösung für n inaktive Listen und ein Teilungsverfahren und eine Scanlösung für m aktive Listen kann auf die vorherige Ausführungsform verwiesen werden, wobei Einzelheiten hier nicht noch einmal beschrieben werden.
  • Wenn beispielsweise physische Seiten für Anwendungsprozesse zugewiesen werden, setzt das Betriebssystem die zugewiesenen physischen Seiten in LRU-Listen, d.h. das Betriebssystem setzt auf Grundlage eines Szenarios eine zugewiesene physische Seite in eine entsprechende aktive Liste [o], oder die physische Seite wird mit Bezug auf den Wert von Mapcount der physischen Seite in die entsprechende inaktive Liste [k] gesetzt.
  • Wenn anschließend ein Vorgang zur Rückforderung physischer Seiten durchgeführt wird, scannt das Betriebssystem physische Seiten in n inaktiven Listen auf Grundlage der vorangegangenen Scan-Lösung (wie Lösung 1 oder Lösung 2) und führt eine Rückforderungsprüfung durch. Wenn festgestellt wird, dass auf eine gescannte physische Seite innerhalb des zuletzt ersten voreingestellten Zeitraums zugegriffen wurde, wird die physische Seite in die aktive Liste [o] verschoben. Wenn festgestellt wird, dass auf eine gescannte physische Seite nicht innerhalb des zuletzt ersten voreingestellten Zeitraums zugegriffen wurde, kann die physische Seite zurückgefordert werden.
  • Wenn das Verhältnis zwischen der Gesamtzahl der physischen Seiten in den n inaktiven Listen und der Gesamtzahl der physischen Seiten in den m aktiven Listen unter einem Schwellenwert liegt, scannt das Betriebssystem die physischen Seiten in den m aktiven Listen und verschiebt die physischen Seiten, auf die im zuletzt ersten voreingestellten Zeitraum nicht zugegriffen wurde, in die entsprechende inaktive Liste [k], so dass das Betriebssystem die physischen Seiten am Ende der n inaktiven Listen zurückfordern kann.
  • Das Betriebssystem scannt physische Seiten in m aktiven Listen auf Grundlage der vorstehenden Scan-Lösung (wie Lösung 3 oder Lösung 4) und führt eine Rückforderungsprüfung durch. Wenn zum Beispiel eine physische Seite in der aktiven Liste [k] gescannt wird und k ungleich m-1 ist, wird, wenn festgestellt wird, dass auf die physische Seite in dem zuletzt ersten voreingestellten Zeitraum zugegriffen wurde, die physische Seite in die aktive Liste [k+1] verschoben. Wenn festgestellt wird, dass auf eine physische Seite innerhalb des zuletzt ersten voreingestellten Zeitraums nicht zugegriffen wurde, wird die physische Seite auf Grundlage des Wertes von Mapcount der physischen Seite in die entsprechende inaktive Liste verschoben. Wenn k gleich m-1 ist, d. h. wenn eine physische Seite in der aktiven Liste [m-1] gescannt wird, wird, wenn festgestellt wird, dass auf die physische Seite in dem zuletzt ersten voreingestellten Zeitraum zugegriffen wurde, die physische Seite an den Kopf der aktiven Liste [m-1] verschoben. Wird festgestellt, dass auf eine physische Seite innerhalb des zuletzt ersten voreingestellten Zeitraums nicht zugegriffen wurde, wird die physische Seite auf Grundlage des Wertes von Mapcount der physischen Seite in die entsprechende inaktive Liste verschoben.
  • Der Stand der Technik (in dem eine Speicherzone einer aktiven Liste und einer inaktiven Liste entspricht) und das Verfahren gemäß dieser Anmeldung (in dem eine Speicherzone vier aktiven Listen und vier inaktiven Listen entspricht) wurden getrennt verwendet, um für ein Startszenario von TOP40-Anwendungen auf dem aktuellen Markt einen Tarus-Test durchzuführen. Ein Test hat gezeigt, dass die Zeiten für das Lesen einer Systempartition und einer Datenpartition auf einer Magnetplatte um 3,3 % bzw. 3,9 % verringert wurden, was bedeutet, dass die Cache-Trefferrate des Speichers verbessert wird. Darüber hinaus ist die Startzeit der Anwendungen in Tabelle 7 wie folgt dargestellt: Tabelle 7
    Index Zeit für die durchschnittliche Anlaufphase (ms) Zeit für die erste Anlaufphase (ms) Durchschnittliche Zeit für den Kaltstart (ms) Durchschnittliche Zeit für den Warmstart (ms)
    Stand der Technik 0.803 0.854 0.906 0.562
    Erfindungsgemäßes Verfahren 0.781 0.846 0.868 0.352
    Optimierung um 2.7% 1.0% 4.2% 37.3%
  • Daraus ist abzuleiten, dass das Verfahren gemäß dieser Anmeldung die Lese-und Schreibleistung des Betriebssystems effektiv verbessert und den Ablauf von Anwendungen beschleunigt.
  • Ein für das Verstehen der Erfindung notwendiges Beispiel. Wie in 7 gezeigt, umfasst das Chipsystem zumindest einen Prozessor 1101 und zumindest eine Schnittstellenschaltung 1102. Der Prozessor 1101 und die Schnittstellenschaltung 1102 können durch eine Leitung miteinander verbunden sein. Die Schnittstellenschaltung 1102 kann beispielsweise so ausgebildet sein, dass sie ein Signal von einem anderen Gerät (z. B. einem Speicher der elektronischen Vorrichtung 100) empfängt. In einem anderen Beispiel kann die Schnittstellenschaltung 1102 so ausgebildet sein, dass sie ein Signal an ein anderes Gerät (z. B. den Prozessor 1101) sendet. Beispielsweise kann die Schnittstellenschaltung 1102 eine im Speicher gespeicherte Anweisung lesen und die Anweisung an den Prozessor 1101 senden.
  • Wenn die Anweisung vom Prozessor 1101 ausgeführt wird, ist die elektronische Vorrichtung in der Lage, verschiedene Schritte auszuführen, die von der elektronischen Vorrichtung 100 (z. B. einem Mobiltelefon) in den vorangegangenen Ausführungsformen durchgeführt werden. Natürlich kann das Chipsystem auch andere diskrete Vorrichtungen enthalten, welche die Ausführungsformen dieser Anmeldung nicht speziell einschränken.
  • Es kann davon ausgegangen werden, dass zur Implementierung der vorgenannten Funktionen das vorgenannte Endgerät und dergleichen entsprechende Hardwarestrukturen und/oder Softwaremodule zur Durchführung der Funktionen umfassen. Einem Fachmann sollte klar sein, dass die Ausführungsformen dieser Anmeldung unter Bezugnahme auf die Einheiten und Algorithmusschritte, die in den in dieser Beschreibung offenbarten Ausführungsformen beschrieben sind, in Form von Hardware oder in Form von Hardware und Computersoftware implementiert werden können. Ob eine Funktion von einer Hardware oder einer von Computersoftware gesteuerten Hardware ausgeführt wird, hängt von den jeweiligen Anwendungen und den konstruktiven Beschränkungen der technischen Lösungen ab. Der Fachmann kann für jede einzelne Anwendung verschiedene Verfahren zur Implementierung der beschriebenen Funktionen verwenden, aber es sollte nicht davon ausgegangen werden, dass die Implementierung über den Rahmen der Ausführungsformen der vorliegenden Erfindung hinausgeht.
  • In den Ausführungsformen dieser Anmeldung kann das vorstehende Endgerät und dergleichen auf Grundlage der vorstehenden Verfahrensbeispiele in Funktionsmodule unterteilt werden. Zum Beispiel kann jedes Funktionsmodul für eine entsprechende Funktion durch Teilung erhalten werden, oder zwei oder mehr Funktionen können in ein Verarbeitungsmodul integriert werden. Die integrierten Module können in Form von Hardware oder in Form eines Software-Funktionsmoduls implementiert sein. Es ist zu beachten, dass die Modulteilung in den Ausführungsformen der vorliegenden Erfindung beispielhaft ist und lediglich eine logische Funktionsteilung darstellt. In der tatsächlichen Implementierung kann es eine andere Art der Teilung sein.
  • Die vorstehenden Beschreibungen von Implementierungen ermöglichen dem Fachmann ein klares Verständnis dafür, dass die Teilung der vorgenannten Funktionsmodule nur als Beispiel zur Veranschaulichung verwendet wird. In der tatsächlichen Anwendung können die vorgenannten Funktionen verschiedenen Funktionsmodulen zugeordnet und je nach Bedarf implementiert werden, d. h. eine innere Struktur eines Geräts wird in verschiedene Funktionsmodule unterteilt, um alle oder einige der oben beschriebenen Funktionen zu implementieren. Für die oben beschriebenen spezifischen Betriebsabläufe des Systems, des Gerätes und der Einheiten kann auf die entsprechenden Abläufe in den oben erwähnten Verfahrensbeispielen verwiesen werden. Einzelheiten werden hier nicht noch einmal beschrieben.
  • Die Funktionseinheiten in den Ausführungsformen dieser Anmeldung können in eine Verarbeitungseinheit integriert sein, oder jede der Einheiten kann physisch für sich allein bestehen, oder zwei oder mehr Einheiten können in eine Einheit integriert sein. Die integrierte Einheit kann in Form von Hardware oder in Form einer Software-Funktionseinheit implementiert sein.
  • Die integrierten Einheiten können, wenn sie in Form einer Software-Funktionseinheit implementiert sind und als eigenständiges Produkt verkauft oder verwendet werden, in einem computerlesbaren Speichermedium gespeichert werden. Auf Grundlage dieses Verständnisses kann die technische Lösung der Ausführungsform dieser Anmeldung, die wesentlich zum Stand der Technik beiträgt oder ein Teil davon ist, oder die gesamte oder ein Teil der technischen Lösung, in Form eines Softwareprodukts realisiert sein, wobei das Computer-Softwareprodukt in einem Speichermedium gespeichert ist und mehrere Anweisungen enthält, um einen Prozessor einer Computervorrichtung (die ein Personalcomputer, ein Server oder eine Netzwerkvorrichtung sein kann) in die Lage zu versetzen, alle oder einige Schritte des Verfahrens gemäß dieser Anmeldung durchzuführen. Das vorgenannte Speichermedium umfasst: jedes Medium, welches Programmcode speichern kann, wie z.B. einen Flash-Speicher, eine entfernbare Festplatte, einen Festwertspeicher, einen Direktzugriffsspeicher, eine Magnetplatte oder eine optische Platte.
  • Bei den vorstehenden Beschreibungen handelt es sich lediglich um spezifische Ausführungsformen dieser Anmeldung, die jedoch den Schutzumfang dieser Anmeldung nicht einschränken sollen. Jede Abwandlung oder Ersetzung, die innerhalb des in dieser Anmeldung offenbarten technischen Bereichs vorgenommen wird, fällt in den Schutzbereich dieser Anmeldung. Daher unterliegt der Schutzumfang dieser Anmeldung dem Schutzumfang der Ansprüche.
  • 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
    • CN 201911118935 [0001]

    Claims (13)

    1. Eine elektronische Vorrichtung, aufweisend: einen Prozessor, einen Speicher und einen Touchscreen, wobei der Speicher und der Touchscreen mit dem Prozessor gekoppelt sind, der Speicher eine oder mehrere Speicherzonen aufweist, jede der einen oder mehreren Speicherzonen n inaktiven Listen und m aktiven Listen entspricht, wobei n eine ganze Zahl größer als 1 ist, m eine ganze Zahl größer oder gleich 1 ist, der Speicher so ausgebildet ist, dass er Computerprogrammcode speichert, der Computerprogrammcode Computeranweisungen umfasst und, wenn der Prozessor die Computeranweisungen aus dem Speicher liest, die elektronische Vorrichtung in die Lage versetzt wird, die folgenden Vorgänge durchzuführen: Einfügen jeder der von der elektronischen Vorrichtung zugewiesenen inaktiven physischen Seiten in eine entsprechende inaktive Liste der n inaktiven Listen auf Grundlage der Anzahl der Zugriffe auf die inaktive physische Seite durch Anwendungsprozesse; in dem Prozess der Rückforderung physischer Seiten durch die elektronische Vorrichtung, Scannen jeder der n inaktiven Listen und Durchführen einer Rückforderungsprüfung an physischen Seiten in jeder gescannten inaktiven Liste, wobei eine höhere Anzahl von Zugriffen auf die physische Seite in der inaktiven Liste durch die Anwendungsprozesse einen entsprechend der inaktiven Liste längeren Scanzyklus anzeigt; und wenn festgestellt wird, dass auf physische Seiten in den n inaktiven Listen in einem zuletzt voreingestellten Zeitraum nicht zugegriffen wurde, Rückfordern der physischen Seiten; oder wenn festgestellt wird, dass auf die physischen Seiten in den n inaktiven Listen in dem zuletzt voreingestellten Zeitraum zugegriffen wurde, Verschieben der physischen Seiten in die m aktiven Listen.
    2. Die elektronische Vorrichtung nach Anspruch 1, wobei das Scannen jeder der n inaktiven Listen umfasst: Sequenzieren der n inaktiven Listen auf Grundlage der Anzahl der Zugriffe auf jede physische Seite durch die Anwendungsprozesse; und in dem Prozess der Rückforderung der physischen Seiten durch die elektronische Vorrichtung, Durchführen von P Scan-Durchläufen an den n inaktiven Listen, wobei P eine ganze Zahl größer oder gleich 2 ist, wobei in jedem der P Scan-Durchläufe, auf Grundlage der Reihenfolge der n inaktiven Listen, das Scannen von der inaktiven Liste aus durchgeführt wird, in der sich die physische Seite mit der geringsten Anzahl an Zugriffen durch die Anwendungsprozesse befindet, wobei die Anzahl der in jedem Durchlauf gescannten inaktiven Listen unterschiedlich ist.
    3. Die elektronische Vorrichtung nach Anspruch 2, wobei in jedem der P Scan-Durchläufe, auf Grundlage der Reihenfolge der n inaktiven Listen, das Scannen von der inaktiven Liste aus durchgeführt wird, in der sich die physische Seite mit der geringsten Anzahl an Zugriffen durch die Anwendungsprozesse befindet, wobei die Anzahl der in jedem Durchlauf gescannten inaktiven Listen unterschiedlich ist, und zwar folgendermaßen: in jedem der P Scan-Durchläufe wird, ausgehend von der Reihenfolge der n inaktiven Listen, von der inaktiven Liste aus gescannt, in der sich die physische Seite mit der geringsten Anzahl an Zugriffen durch die Anwendungsprozesse befindet, wobei die Anzahl der in jedem Durchlauf gescannten inaktiven Listen sich um eine vorgegebene Anzahl erhöht, im Vergleich zu der Anzahl der in dem vorherigen Durchlauf gescannten inaktiven Listen.
    4. Die elektronische Vorrichtung nach einem der Ansprüche 1 bis 3, wobei die elektronische Vorrichtung ferner die folgenden Vorgänge durchführt: wenn m gleich 1 ist, im Prozess der Rückforderung der physischen Seiten durch die elektronische Vorrichtung, Scannen von einer Seite aus der aktiven Liste und Durchführen einer Rückforderungsprüfung an gescannten physischen Seiten; und wenn festgestellt wird, dass in dem zuletzt voreingestellten Zeitraum auf eine physische Seite in der aktiven Liste nicht zugegriffen wurde, Einfügen der physischen Seite in die inaktive Liste entsprechend der Anzahl an Zugriffen auf die physische Seite durch die Anwendungsprozesse; oder wenn festgestellt wird, dass auf eine physische Seite in der inaktiven Liste in dem zuletzt voreingestellten Zeitraum zugegriffen wurde, Verschieben der physischen Seite auf die andere Seite der aktiven Liste.
    5. Die elektronische Vorrichtung nach einem der Ansprüche 1 bis 4, wobei die elektronische Vorrichtung ferner die folgenden Vorgänge durchführt: wenn m größer als 1 ist, Einfügen jeder der von der elektronischen Vorrichtung zugewiesenen aktiven physischen Seiten in eine entsprechende aktive Liste der m aktiven Listen auf Grundlage der Anzahl der Zugriffe auf die physische Seite.
    6. Die elektronische Vorrichtung nach Anspruch 5, wobei, wenn festgestellt wird, dass auf physische Seiten in den n inaktiven Listen in dem zuletzt voreingestellten Zeitraum zugegriffen wurde, das Verschieben der physischen Seiten zu den m aktiven Listen insbesondere umfasst: wenn festgestellt wird, dass auf physische Seiten in den n inaktiven Listen in dem zuletzt voreingestellten Zeitraum zugegriffen wurde, das Verschieben der physischen Seiten in die aktive Liste mit der physischen Seite, auf die unter den m aktiven Listen am wenigsten zugegriffen wurde.
    7. Die elektronische Vorrichtung nach einem der Ansprüche 5 oder 6, wobei die elektronische Vorrichtung ferner die folgenden Vorgänge durchführt: in dem Prozess der Rückforderung der physischen Seiten durch die elektronische Vorrichtung, Scannen der m aktiven Listen und Durchführen einer Rückforderungsprüfung an physischen Seiten in den m gescannten aktiven Listen; wenn festgestellt wird, dass auf die physischen Seiten in den m aktiven Listen in dem zuletzt voreingestellten Zeitraum nicht zugegriffen wurde, Einfügen jeder der physischen Seiten in die inaktive Liste entsprechend der Anzahl an Zugriffen auf die physische Seite durch die Anwendungsprozesse; und wenn festgestellt wird, dass auf eine physische Seite in der ersten aktiven Liste der m aktiven Listen in dem zuletzt voreingestellten Zeitraum zugegriffen wurde, Verschieben der physischen Seite in die zweite aktive Liste der m aktiven Listen, wobei die Anzahl der Zugriffe auf die physische Seite in der zweiten aktiven Liste größer ist als die Anzahl der Zugriffe auf die physische Seite in der ersten aktiven Liste.
    8. Die elektronische Vorrichtung nach Anspruch 7, wobei das Scannen der m aktiven Listen umfasst: in dem Prozess der Rückforderung der physischen Seiten durch die elektronische Vorrichtung, Durchführen von Q Scan-Durchläufen auf den m aktiven Listen, wobei Q eine ganze Zahl größer oder gleich 2 ist, wobei in jedem der Q Scan-Durchläufe, auf Grundlage der Reihenfolge der m aktiven Listen, das Scannen von der aktiven Liste aus durchgeführt wird, in der sich die physische Seite befindet, auf die am wenigsten oft zugegriffen wurde, wobei die Anzahl der in jedem Durchlauf gescannten aktiven Listen unterschiedlich ist.
    9. Die elektronische Vorrichtung nach Anspruch 8, wobei in jedem der Q Scan-Durchläufe, auf Grundlage der Reihenfolge der m aktiven Listen, das Scannen von der aktiven Liste aus durchgeführt wird, in der sich die physische Seite befindet, auf die am wenigsten oft zugegriffen wurde, wobei die Anzahl der in jedem Durchlauf gescannten aktiven Listen unterschiedlich ist, und zwar folgendermaßen: in jedem der Q Scan-Durchläufe, auf Grundlage der Reihenfolge der m aktiven Listen, wird das Scannen von der aktiven Liste aus durchgeführt, in der sich die physische Seite befindet, auf die am wenigsten oft zugegriffen wurde, wobei sich die Anzahl der aktiven Listen, die in jeder Runde gescannt werden, um eine vorgegebene Anzahl erhöht, im Vergleich zu der Anzahl der aktiven Listen, die in dem vorherigen Durchlauf gescannt wurden.
    10. Eine elektronische Vorrichtung, aufweisend: einen Prozessor, einen Speicher und einen Touchscreen, wobei der Speicher und der Touchscreen mit dem Prozessor gekoppelt sind, der Speicher eine oder mehrere Speicherzonen aufweist, jede der einen oder mehreren Speicherzonen einer inaktiven Liste und m aktiven Listen entspricht, m eine ganze Zahl größer als 1 ist, der Speicher so ausgebildet ist, dass er Computerprogrammcode speichert, der Computerprogrammcode Computeranweisungen umfasst und, wenn der Prozessor die Computeranweisungen aus dem Speicher liest, die elektronische Vorrichtung in die Lage versetzt wird, die folgenden Vorgänge durchzuführen: Einfügen jeder der von der elektronischen Vorrichtung zugewiesenen aktiven physischen Seiten in eine entsprechende aktive Liste der m aktiven Listen auf Grundlage der Anzahl der Zugriffe auf die physische Seite; in dem Prozess der Rückforderung physischer Seiten durch die elektronische Vorrichtung, Scannen jeder der m aktiven Listen und Durchführen einer Rückforderungsprüfung an physischen Seiten in jeder der m gescannten aktiven Listen, wobei eine höhere Anzahl von Zugriffen auf die physische Seite in der aktiven Liste einen entsprechend der aktiven Liste längeren Scanzyklus anzeigt; wenn festgestellt wird, dass auf physische Seiten in den m aktiven Listen in dem zuletzt voreingestellten Zeitraum nicht zugegriffen wurde, Verschieben der physischen Seiten auf eine Seite der inaktiven Liste; und wenn festgestellt wird, dass auf eine physische Seite in der ersten aktiven Liste der m aktiven Listen in dem zuletzt voreingestellten Zeitraum zugegriffen wurde, Verschieben der physischen Seite in die zweite aktive Liste der m aktiven Listen, wobei die Anzahl der Zugriffe auf die physische Seite in der zweiten aktiven Liste größer ist als die Anzahl der Zugriffe auf die physische Seite in der ersten aktiven Liste.
    11. Die elektronische Vorrichtung nach Anspruch 10, wobei das Scannen jeder der m aktiven Listen umfasst: in dem Prozess der Rückforderung der physischen Seiten durch die elektronische Vorrichtung, Durchführen von Q Scan-Durchläufen auf den m aktiven Listen, wobei Q eine ganze Zahl größer oder gleich 2 ist, wobei in jedem der Q Scan-Durchläufe, auf Grundlage der Reihenfolge der m aktiven Listen, das Scannen von der aktiven Liste aus durchgeführt wird, in der sich die physische Seite, auf die am wenigsten oft zugegriffen wurde, befindet, wobei die Anzahl der in jedem Durchlauf gescannten aktiven Listen unterschiedlich ist.
    12. Die elektronische Vorrichtung nach Anspruch 11, wobei in jedem der Q Scan-Durchläufe, auf Grundlage der Reihenfolge der m aktiven Listen, das Scannen von der aktiven Liste aus durchgeführt wird, in der sich die physische Seite befindet, auf die am wenigsten oft zugegriffen wurde, wobei die Anzahl der in jedem Durchlauf gescannten aktiven Listen unterschiedlich ist, und zwar folgendermaßen: in jedem der Q Scan-Durchläufe, auf Grundlage der Reihenfolge der m aktiven Listen, wird das Scannen von der aktiven Liste aus durchgeführt, in der sich die physische Seite befindet, auf die am wenigsten oft zugegriffen wurde, wobei sich die Anzahl der aktiven Listen, die in jedem Durchlauf gescannt werden, um eine vorgegebene Anzahl erhöht, im Vergleich zu der Anzahl der aktiven Listen, die in dem vorherigen Durchlauf gescannt wurden.
    13. Die elektronische Vorrichtung nach einem der Ansprüche 10 bis 12, wobei die elektronische Vorrichtung ferner die folgenden Vorgänge durchführt: während des Prozesses der Rückforderung der physischen Seiten durch die elektronische Vorrichtung, Scannen von der anderen Seite der inaktiven Liste aus und Durchführen einer Rückforderungsprüfung an gescannten physischen Seiten; und wenn festgestellt wird, dass auf eine physische Seite in der inaktiven Liste in einem zuletzt voreingestellten Zeitraum nicht zugegriffen wurde, Rückfordern der physischen Seite; oder wenn festgestellt wird, dass auf eine physische Seite in der inaktiven Liste in dem zuletzt voreingestellten Zeitraum zugegriffen wurde, Verschieben der physischen Seite in die aktive Liste mit der physischen Seite, auf die von den m aktiven Listen am wenigsten zugegriffen wurde.
    DE202020006014.3U 2019-11-15 2020-11-02 Elektronische Vorrichtung zum Speichermanagement Active DE202020006014U1 (de)

    Applications Claiming Priority (2)

    Application Number Priority Date Filing Date Title
    CN201911118935.9 2019-11-15
    CN201911118935.9A CN112817736B (zh) 2019-11-15 2019-11-15 一种内存的管理方法及电子设备

    Publications (1)

    Publication Number Publication Date
    DE202020006014U1 true DE202020006014U1 (de) 2024-03-19

    Family

    ID=75851717

    Family Applications (1)

    Application Number Title Priority Date Filing Date
    DE202020006014.3U Active DE202020006014U1 (de) 2019-11-15 2020-11-02 Elektronische Vorrichtung zum Speichermanagement

    Country Status (5)

    Country Link
    US (1) US20240111666A1 (de)
    EP (1) EP4030301B1 (de)
    CN (3) CN115757193B (de)
    DE (1) DE202020006014U1 (de)
    WO (1) WO2021093626A1 (de)

    Families Citing this family (4)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    CN114116191B (zh) * 2021-06-24 2023-09-01 荣耀终端有限公司 内存冷页的处理方法及电子设备
    CN115328856B (zh) * 2022-07-05 2023-05-09 荣耀终端有限公司 一种文件页管理的方法、装置及电子设备
    CN115412893B (zh) * 2022-10-19 2023-04-21 成都锐成芯微科技股份有限公司 低功耗蓝牙属性访问方法及低功耗蓝牙系统
    CN116049024A (zh) * 2023-01-06 2023-05-02 广州匠芯创科技有限公司 内存页面回收优化方法及其系统、电子设备、存储介质

    Family Cites Families (17)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    US6804766B1 (en) * 1997-11-12 2004-10-12 Hewlett-Packard Development Company, L.P. Method for managing pages of a designated memory object according to selected memory management policies
    US7409518B2 (en) * 2004-05-21 2008-08-05 International Business Machines Corporation Method for improving disk space allocation
    US9026716B2 (en) * 2010-05-12 2015-05-05 Western Digital Technologies, Inc. System and method for managing garbage collection in solid-state memory
    JP2012093882A (ja) * 2010-10-26 2012-05-17 Toshiba Corp メモリ管理装置、マルチプロセッサシステム、及びメモリ管理方法
    KR20120097862A (ko) * 2011-02-25 2012-09-05 삼성전자주식회사 데이터 저장 시스템 및 그의 데이터 맵핑 방법
    EP2761471B1 (de) * 2011-09-30 2017-10-25 Intel Corporation Statistischer abnutzungsausgleich für einen nichtflüchtigen systemspeicher
    CN104008061B (zh) * 2013-02-22 2018-01-23 华为技术有限公司 内存回收方法及装置
    CN103150259B (zh) * 2013-03-22 2016-03-30 华为技术有限公司 一种内存回收方法和装置
    GB201322290D0 (en) * 2013-12-17 2014-01-29 Ibm Method and device for managing a memory
    CN107817945B (zh) * 2016-09-13 2021-07-27 中国科学院微电子研究所 一种混合内存结构的数据读取方法和系统
    CN107885666B (zh) * 2016-09-28 2021-07-20 华为技术有限公司 一种内存管理方法和装置
    CN106843756B (zh) * 2017-01-13 2019-12-31 中国科学院信息工程研究所 基于页面分类的内存页面回收方法及系统
    CN106970882B (zh) * 2017-03-10 2020-04-14 浙江大学 一种基于Linux大页内存的易扩展页面架构
    CN108205501B (zh) * 2017-06-26 2020-08-07 珠海市魅族科技有限公司 内存回收方法及装置、计算机装置及计算机可读存储介质
    CN108228339B (zh) * 2017-07-28 2021-08-13 珠海市魅族科技有限公司 一种内存回收方法及装置、终端设备及计算机可读存储介质
    CN108205475A (zh) * 2017-08-25 2018-06-26 珠海市魅族科技有限公司 内存管理方法、终端设备、计算机装置以及可读存储介质
    WO2020037686A1 (zh) * 2018-08-24 2020-02-27 袁振南 基于数据结构的垃圾回收方法、计算机及存储介质

    Also Published As

    Publication number Publication date
    CN112817736A (zh) 2021-05-18
    EP4030301A4 (de) 2022-11-09
    CN112817736B (zh) 2022-10-21
    EP4030301A1 (de) 2022-07-20
    EP4030301B1 (de) 2024-01-17
    CN114730288A (zh) 2022-07-08
    CN115757193A (zh) 2023-03-07
    WO2021093626A1 (zh) 2021-05-20
    CN115757193B (zh) 2023-11-03
    US20240111666A1 (en) 2024-04-04

    Similar Documents

    Publication Publication Date Title
    DE202020006014U1 (de) Elektronische Vorrichtung zum Speichermanagement
    WO2021083378A1 (zh) 一种加速应用程序启动的方法及电子设备
    CN112130742B (zh) 一种移动终端的全屏显示方法及设备
    WO2021135730A1 (zh) 显示界面适配方法、显示界面适配设计方法和电子设备
    WO2020093988A1 (zh) 一种图像处理方法及电子设备
    CN111724293A (zh) 图像渲染方法及装置、电子设备
    WO2022257748A1 (zh) 虚拟内存管理方法和电子设备
    WO2022127787A1 (zh) 一种图像显示的方法及电子设备
    WO2022052897A1 (zh) 调整内存配置参数的方法和装置
    WO2020107463A1 (zh) 一种电子设备的控制方法及电子设备
    CN111768352B (zh) 图像处理方法及装置
    CN114116191A (zh) 内存冷页的处理方法及电子设备
    CN116048933B (zh) 一种流畅度检测方法
    CN114816610A (zh) 一种页面分类方法、页面分类装置和终端设备
    CN115115679A (zh) 一种图像配准方法及相关设备
    WO2021104117A1 (zh) 一种构建应用程序资源包的方法、构建装置及终端设备
    CN114461589B (zh) 读取压缩文件的方法、文件系统及电子设备
    WO2022068596A1 (zh) 元数据管理方法和电子设备
    WO2022095906A1 (zh) 一种按键映射方法、电子设备及系统
    CN112783418B (zh) 一种存储应用程序数据的方法及移动终端
    WO2024046010A1 (zh) 一种界面显示方法、设备及系统
    CN116266159B (zh) 一种缺页异常处理方法和电子设备
    WO2022089206A1 (zh) 管控方法及电子设备
    CN116703741B (zh) 一种图像对比度的生成方法、装置和电子设备
    WO2024045841A1 (zh) 存储的方法、装置和电子设备

    Legal Events

    Date Code Title Description
    R150 Utility model maintained after payment of first maintenance fee after three years
    R207 Utility model specification