DE69722979T2 - Betriebsmittelverwaltungsverfahren und -einrichtung eines Multitasking-Datenverarbeitungssystems - Google Patents

Betriebsmittelverwaltungsverfahren und -einrichtung eines Multitasking-Datenverarbeitungssystems Download PDF

Info

Publication number
DE69722979T2
DE69722979T2 DE69722979T DE69722979T DE69722979T2 DE 69722979 T2 DE69722979 T2 DE 69722979T2 DE 69722979 T DE69722979 T DE 69722979T DE 69722979 T DE69722979 T DE 69722979T DE 69722979 T2 DE69722979 T2 DE 69722979T2
Authority
DE
Germany
Prior art keywords
main memory
page
file
free
size
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE69722979T
Other languages
English (en)
Other versions
DE69722979D1 (de
Inventor
Yutaka 1-1 Shibaura 1-chome Numajiri
Hiroshi 1-1 Shibaura 1-chome Sakai
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Publication of DE69722979D1 publication Critical patent/DE69722979D1/de
Application granted granted Critical
Publication of DE69722979T2 publication Critical patent/DE69722979T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/123Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
    • G06F12/124Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list being minimized, e.g. non MRU
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/126Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
    • G06F12/127Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning using additional replacement algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F2003/0697Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/40Specific encoding of data in memory or cache
    • G06F2212/401Compressed data
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99956File allocation
    • Y10S707/99957Garbage collection

Landscapes

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

Description

  • Die Erfindung bezieht sich auf ein Verfahren und eine Vorrichtung für Ressourcenmanagement für ein Informationsverarbeitungssystem einer Multitaskeinrichtung und insbesondere auf eine Vorrichtung und ein Verfahren für Ressourcenrückforderung bei Knappheit von Ressourcen.
  • In den letzten Jahren wurde das Ressourcenmanagement bedeutsamer, da die Größe und die Anzahl von Verfahren bei einem Computersystem ansteigt.
  • Wenn ein Prozess herkömmlicherweise zum Beispiel eine bestimmte Größe des Hauptspeichers anfordert und die Menge des freien Hauptspeichers geringer als die erforderliche Größe ist, empfängt das Verfahren ein Ergebnis des Speicherzuteilungsfehlers (memory allocation failure) oder der Prozess ist im Wartezustand, bis es möglich wird, diese Speichermenge zuzuteilen. Wenn insbesondere die Menge des freien Hauptspeichers bei einer Prozesserzeugung unzureichend ist, würde das Verfahren beendet.
  • Wenn ein Verfahren eine bestimmte Größe des Dateibereiches (file area) auf der Platte anfordert und die Menge des Dateibereiches kleiner als die erforderliche Größe ist, empfängt der Prozess auf ähnliche Art und Weise ein Ergebnis eines Dateibereichszuteilungsfehlers (file area allocation failure) oder der Prozess ist im Wartezustand, bis es möglich wird, diese Menge des Dateibereichs zuzuteilen.
  • Somit kann das Problem beim Stand der Technik wie folgt zusammengefasst werden.
  • Für das Hauptspeicherressourcenmanagement empfängt, wenn ein Prozess eine Zuteilung des Hauptspeichers anfordert und die Menge des freien Hauptspeichers geringer als die erforderliche Größe ist, der Prozess ein Ergebnis eines Speicherzuteilungsfehlers oder der Prozess ist im Wartezustand, bis es möglich wird, diese Speichermenge des Speichers zuzuteilen. Daher ist es häufig der Fall, dass die Speicherzuteilungsanforderung eines Prozesses mit höherer Priorität für eine lange Zeit blockiert wird, da ein Prozess mit niedrigerer Priorität einen übermäßigen Anteil des Hauptspeichers belegt. Hauptspeicherplatz-Rückforderungsverfahren, die bei einem herkömmlichen Computersystem verwendet werden, schaffen es nicht, mit diesem Fall ausreichend umzugehen.
  • Für das Plattenplatzressourcenmanagement empfängt, wenn ein Prozess eine Zuteilung des Dateibereichs auf der Platte anfordert und die Menge des freien Bereichs kleiner als die erforderliche Größe ist, der Prozess ein Ergebnis des Dateibereichszuteilungsfehlers, oder der Prozess ist im Wartezustand, bis es möglich wird, diese Menge zuzuteilen. Daher ist es häufig der Fall, dass die Dateizuteilungsanforderung eines Prozesses mit höherer Priorität für eine lange Zeit blockiert oder aufgrund der Plattenvolumenknappheit beendet wird. Bei einem herkömmlichen Computersystem verwendete Plattenplatz-Rückforderungsverfahren schaffen es nicht, mit dem Fall ausreichend umzugehen.
  • Die EP 0 567 421 A1 offenbart einen Klassifizierungsprozess zum Verwalten von Seiten, um eine Reihenfolge zum Auswählen eines Prozesses zu erzeugen, dessen Seiten auszulagern sind, wobei PTE's periodisch abgetastet werden. Mit anderen Worten offenbart dieses Dokument eine Klassifizierung jedes einer Mehrzahl von Prozessen in eine einer Mehrzahl von Klassen, und ein Kennzeichnen von Seiten der Prozesse für eine Ruheliste basierend auf den Klassen und einer Zugriffs/Nicht-Zugriffs-Historie.
  • Außerdem schlägt BREVETAS ET AL.: "BLOCKED PAGE-OUT" IBM Technical DISCLOSURE BULLETIN, Band 26, Nr. 9, Februar 1994, Seiten 4753–4754, vor, nach verfügbaren Seiten abzutasten, wenn der freie Platz unter eine Schwelle fällt. Das heißt, dieses Dokument offenbart eine Ausführung einer Tabellenabtastung, um ein verfügbares Seitenframe zu erfassen, wenn eine Seitenframeknappheit detektiert wird.
  • Der Artikel "A SELF-CORRECTING SEGMENT AGING FREQUENCY HEURISTIC", Research Disclosure, Nr. 328, 1 August 1991, Seite 578, schlägt eine Technik vor, die die Alterungsrate verändert, um sich dynamischen Betriebssystembedingungen anzupassen. Wenn das System das Auslagern oder Verwerfen von Speicherobjekten startet, wird die Alterungsrate erhöht. Wenn das Auslagern aufhört, wird die Alterungsrate erneut abgesenkt.
  • R. P. Larowe Jr. et al.: "THE ROBUSTNESS OF NUMA MEMORY MANAGEMENT", Proceedings of the symposium on operating systems principles, Pacific Grove, Oktober 13–16, 1991, Association for Computing Machinery, Seiten 137–151, beschreibt eine Vorgehensweise mit einem Seitenscanner an jedem Prozessorknoten, um die Neubewertung früherer Anordnungsentscheidungen auszulösen, einschließlich Abtastverzögerungs- und Abtastdurchlaufparameter, um die Häufigkeit der Neubewertung zu steuern.
  • Demgemäß ist es die Aufgabe der Erfindung ein Ressourcen-Rückforderungsverfahren und Vorrichtung bereitzustellen, das auf ein jeweiliges Computersystem abstimmbar ist.
  • Die obige Aufgabe wird durch ein Hauptspeicherplatz-Rückforderungsverfahren gemäß Anspruch 1, eine Hauptspeicherplatz-Rückforderungsvorrichtung gemäß Anspruch 4 und durch ein Computer-Programm gemäß Anspruch 5 erreicht, das imstande ist, einen Hauptspeicherplatz-Rückforderungsprozess durchzuführen. Die abhängigen Ansprüche beziehen sich auf weitere vorteilhafte Aspekte der Erfindung.
  • Im allgemeinen benutzt ein virtuelles Speichersystem Seitenframes (page frames), um die jeweiligen physikalischen Hauptspeicherseiten und einen Seitenauslagerungs-Hintergrundprozess und einen virtuellen Speicherunterstützungsmechanismus eines Prozessors zu verwalten. Ein Seitenframe, das jeder physikalischen Hauptspeicherseite zugeteilt ist, umfasst ein Bezugsbit sowie auch andere Information. Wenn ein Prozessor einen Zugriff auf eine physikalische Hauptspeicherseite durchführt, stellt der virtuelle Speicherunterstützungsmechanismus des Prozessors das Bezugsbit des entsprechenden Seitenframe ein.
  • Der Seitenauslagerungs-Hintergrundprozess tastet bei der Ausführung einen Teil der Seitenframes ab. Für ein Seitenframe, dessen Bezugsbit gesetzt ist, löscht der Seitenhintergrundprozess das Bezugsbit. Für ein Seitenframe, dessen Bezugsbit gelöscht ist, fordert der Seitenauslagerungs-Hintergrundprozess die entsprechende Hauptseite zurück. Wenn der Seitenauslagerungs-Hintergrundprozess das letzte Seitenframe erreicht, geht er zu dem ersten Seitenframe zurück.
  • Gemäß der Erfindung wird, wenn die Menge des freien Hauptspeichers klein ist, ein Seitenframe mit kürzeren Intervallen abgetastet. Daher ist es wahrscheinlicher, dass ein Bezugsbit gelöscht bleibt, wenn der Seitenauslagerungs-Hintergrundprozess das Seitenframe das nächste Mal abtastet, was dazu führt, dass mehr Hauptspeicherseiten zurückgefordert werden.
  • Wenn die Menge des freien Hauptspeichers andererseits groß ist, wird ein Seitenframe mit längeren Intervallen abgetastet. Daher ist es wahrscheinlicher, dass ein Bezugsbit gesetzt ist, wenn der Seitenauslagerungs-Hintergrundprozess das Seitenframe das nächste Mal abtastet. Indem verhindert wird, dass Hauptspeicher-Seiten übermäßig zurückgefordert werden, zeigt das Computersystem eine bessere Leistung.
  • Gemäß einem weiteren Hauptspeicherplatz-Rückforderungsverfahren, das von der beanspruchten Erfindung nicht abgedeckt ist, wird ein geordneter Satz von Auswahlverfahrensweisen und eine Schwelle vorzugsweise gemäß dem jeweiligen Computersystem bestimmt. Wenn die Menge des freien Hauptspeichers unter die Schwelle fällt, wird ein Prozess, der einen Teil des Hauptspeichers verwendet, basierend auf dem geordneten Satz von Verfahrensweisen und den dem ausgewählten Prozess zugeteilten Hauptspeicher zurückgefordert. Hier ist die Bedeutung eines geordneten Satzes von Verfahrensweisen wie folgt. Es gibt eine "lineare" Reihenfolge unter den Verfahrensweisen, wenn es mehr als eine Verfahrensweise gibt. Die erste Verfahrensweise wird zuerst angewendet, um einen Prozess zu finden. Wenn es einen Prozess gibt, der mit der ersten Verfahrensweise übereinstimmt, wird dieser Prozess ausgewählt. Ansonsten wird die zweite Verfahrensweise als nächstes angewendet, und so weiter.
  • Durch geeignetes Bestimmen des geordneten Satzes von Verfahrensweisen wird eine gute Leistung in einer weiten Vielfalt der Computersysteme erreicht. Es ist beispielsweise im allgemeinen vorzuziehen, einen Prozess mit einer kleinen Anzahl von aktualisierten Hauptspeicherseiten auszuwählen.
  • Es ist ebenfalls bedeutsam, die Schwelle gemäß der Art des Computersystems zu bestimmen. Wenn das Risiko eines Blockierens einer Speicherzuteilung für eine lange Zeit nicht ernst ist, sollte die Schwelle ein kleiner positiver Wert sein. Wenn die Blockierzeitspanne innerhalb einer bestimmten Zeit sein muss, sollte die Schwelle gleich der maximalen Größe der Speicherzuteilungsanforderung sein.
  • Außerdem kann das Hauptspeicherplatz-Rückforderungsverfahren als ein Prozess implementiert sein, der in einem privilegierten Modus auf einem Betriebssystem läuft. Dem Hauptspeicherplatz-Rückforderungsprozess wird am Anfang seiner Ausführung der geordnete Satz von Verfahrensweisen und die Schwelle von einem Systemverwalter oder durch eine von einem Systemverwalter aufbereiteten Parameterdatei gegeben. Dann bewegt sich der Hauptspeicherplatz-Rückforderungsprozess in einen Wartezustand. Der Hauptspeicherplatz-Rückforderungsprozess wird aktiviert, wenn die Menge des freien Hauptspeichers unter die Schwelle fällt. Der Hauptspeicherplatz-Rückforderungsprozess wählt einen Prozess aus, in dem auf die Prozesstabelle innerhalb des Betriebssystems Bezug genommen wird, und fordert die dem ausgewählten Prozess zugeteilten Hauptspeicher zurück. Das Implementieren des Hauptspeicherplatz-Rückforderungsverfahren als einen Prozess bringt einen Vorteil, das ein Systemverwalter das Auswählen einer Prozessstrategie optimieren kann und sogar eine neue Verfahrensweise durch Editieren und Kompilieren des Quellenprogramms hinzufügen kann.
  • Gemäß einem weiteren Plattenplatz-Rückforderungsverfahren, das nicht von der beanspruchten Erfindung abgedeckt ist, werden ein geordneter Satz zum Auswählen von Verfahrensweisen und einer Schwelle vorzugsweise gemäß dem jeweiligen Computersystem bestimmt. Wenn die Menge des freien Platz des Plattenvolumens niedriger als die Schwelle wird, wird eine Datei, die in dem Plattenvolumen existiert, basierend auf dem geordneten Satz von Verfahrensweisen ausgewählt, die ausgewählte Datei wird komprimiert und der durch die Kompression erzeugte Überschussbereich zurückgefordert.
  • Durch geeignetes Bestimmen des geordneten Satzes von Verfahrensweisen wird eine gute Leistung in einer breiten Vielfalt von Computersystemen erreicht. Es ist beispielsweise vorzuziehen, eine Datei auszuwählen, auf die in letzter Zeit nicht zugegriffen wurde.
  • Es ist ebenfalls bedeutsam, die Schwelle gemäß der Art des Computersystems zu bestimmen. Wenn das Risiko eines Blockierens einer Dateizuteilung für eine lange Zeit nicht ernst ist, sollte die Schwelle Null oder ein kleiner positiver Wert sein. Wenn die Blockierzeitspanne innerhalb einer bestimmten Zeit sein muss, sollte die Schwelle gleich der maximalen Größe der Dateizuteilungsanforderung sein.
  • Ferner kann das Plattenplatz-Rückforderungsverfahren als ein Prozess mit privilegierter Dateizugriffsberechtigung implementiert sein. Dem Plattenplatz-Rückforderungsprozess wird am Anfang seiner Ausführung der geordneten Satz von Verfahrensweisen und die Schwelle von einem Systemverwalter oder von einer von einem Systemverwalter aufbereiteten Parameterdatei gegeben. Dann bewegt sich das Plattenplatz-Rückforderungsverfahren in den Wartezustand. Der Plattenplatz-Rückforderungsprozess wird aktiviert, wenn die Menge des freien Bereichs des Plattenvolumens niedriger als die Schwelle wird. Der Plattenplatz-Rückforderungsprozess wählt eine Datei innerhalb des Plattenvolumens aus, komprimiert die ausgewählte Datei und fordert den durch die Kompression erzeugten Überschussbereich zurück. Das Implementieren des Plattenplatz-Rückforderungsverfahren als ein Prozess bringt dadurch einen Vorteil mit sich, dass ein Systemverwalter die Dateiauswahlstrategie optimieren und sogar eine neue Verfahrensweise durch Editieren und Kompilieren des Quellenprogramms hinzufügen kann.
  • Diese Erfindung kann vollständiger aus der folgenden ausführlichen Beschreibung in Verbindung mit den begleitenden Zeichnungen verstanden werden, in denen zeigen:
  • 1 ein Funktionsblockdiagramm, das einen schematischen Aufbau einer Hauptspeicherplatz-Rückforderungsvorrichtung gemäß einer ersten Ausführungsform der Erfindung zeigt;
  • 2 ein Funktionsblockdiagramm, das den schematischen Aufbau einer Hauptspeicherplatz-Rückforderungsvorrichtung gemäß einer zweiten Ausführungsform der Erfindung zeigt;
  • 3 ein Ablaufdiagramm zur Darstellung der Betriebsprozedur der Hauptspeicherplatz-Rückforderungsvorrichtung gemäß der zweiten Ausführungsform;
  • 4A und 4B Beispiele von Verfahrensweisen, die auf einem Monitorschirm angezeigt werden, um es einem Systemverwalter zu ermöglichen, Verfahrensweisen gemäß der zweiten Ausführungsform auszuwählen;
  • 5 ein Konzeptdiagramm zur Darstellung des Betriebsprinzips der Hauptspeicherplatz-Rückforderungsvorrichtung gemäß der zweiten Ausführungsform;
  • 6 ein Funktionsblockdiagramm, das den schematischen Aufbau einer Plattenplatz-Rückforderungsvorrichtung gemäß einer dritten Ausführungsform der Erfindung zeigt;
  • 7 ein Ablaufdiagramm zur Darstellung der Betriebsprozedur der Plattenplatz-Rückforderungsvorrichtung gemäß der dritten Ausführungsform;
  • 8 ein Konzeptdiagramm zur Darstellung des Betriebsprinzips der Plattenplatz-Rückforderungsvorrichtung gemäß der dritten Ausführungsform;
  • 9 ein Konzeptdiagramm zur Darstellung des Betriebsprinzips der Plattenplatz-Rückforderungsvorrichtung gemäß der dritten Ausführungsform;
  • 10A und 10B Ablaufdiagramme zur Darstellung der Betriebsprozedur der Plattenplatz-Rückforderungsvorrichtung gemäß der dritten Ausführungsform; und
  • 11 ein Funktionsblockdiagramm, das den schematischen Aufbau einer Plattenplatz-Rückforderungsvorrichtung gemäß einer vierten Ausführungsform der Erfindung zeigt.
  • Nun werden Ausführungsformen der Erfindung mit Bezug auf die beigefügten Zeichnungen beschrieben.
  • (Erste Ausführungsform)
  • 1 ist ein Funktionsblockdiagramm, das den schematischen Aufbau der Hauptspeicherplatz-Rückforderungsvorrichtung gemäß einer ersten Ausführungsform der Erfindung zeigt.
  • Bei der Hauptspeicherplatz-Rückforderungsvorrichtung gemäß dieser Erfindung wird der gesamte Steuerbetrieb durch ein Betriebssystem 10 veranlasst, und bei dem Betriebssystem 10 erzeugt ein Intervallzeitgeber 11 ein Interruptsignal bei vorbestimmten Intervallen. Als Antwort auf dieses Interruptsignal führt eine Taktinterrupt-Bearbeitungsvorrichtung 16 einen Seitenauslagerungs-Hintergrundprozess (page-out daemon process) 20 aus.
  • Wenn er ausgeführt wird, tastet der Seitenauslagerungs-Hintergrundprozess 20 eine bestimmte Anzahl von Seitenframes 29 ab (er tastet die Seitenframes zyklisch ab) und prüft das Bezugsbit jedes Seitenframes und löscht das Bezugsbit (auf "0"), wenn das Bezugsbit (auf "1") gesetzt war.
  • Ein Bezugsbit wird gesetzt, wenn der Prozessor auf die dem Bezugsbit entsprechende Seite zugreift. Daher bedeutet ein gelöschtes Bezugsbit, das kein Zugriff auf die Seite von dem Prozessor seit der vorhergehenden Abtastung durchgeführt wurde. Daher fordert in diesem Fall der Seitenauslagerungs-Hintergrundprozess 20 die Speicherseite zurück.
  • Das Hauptspeichermanagementmodul 12 behält bei dieser Ausführungsform die Zahl von verfügbaren Seiten in dem Hauptspeicher 30 innerhalb des Speichermanagementtabelle 14 bei. Der Seitenauslagerungs-Hintergrundprozess 20 bestimmt die Zahl der abzutastenden Seitenframes. Nach Abtasten dieser Zahl der Seitenframes ruht der Seitenauslagerungs-Hintergrundprozess 20, bis ein nächstes Interruptsignal von dem Intervallzeitgeber 11 erzeugt wird. Mit einem anderen Verfahren ist es möglich, einzurichten, dass das Hauptspeichermanagementmodul 12 die Zahl der Seitenframes bestimmt und sie an den Seitenauslagerungs-Hintergrundprozess 20 liefert.
  • Wenn die Menge des freien Hauptspeichers klein ist, sollte die abzutastende Zahl der Seitenframes bei jedem Ausführen eines Seitenauslagerungs-Hintergrundprozesses 20 ein großer Wert sein, um die Abtastrate der Seitenframes zu beschleunigen.
  • Wenn die Menge des Hauptspeichers ausreichend groß ist, kann die Leistung des gesamten Systems in einem guten Zustand gehalten werden, in dem die Zahl der bei jedem Ausführen des Seitenauslagerungs-Hintergrundprozesses 20 abzutastenden Seitenframes auf einen kleinen Wert eingestellt wird, um zu verhindern, dass die verwendet Hauptspeicherseiten übermäßig zurückgefordert werden.
  • Somit kann die ausreichende und wirksame Hauptspeicherplatz-Rückforderung gemäß der Menge des freien Hauptspeichers veranlasst werden. Anstatt die Zahl der Seitenframes zu ändern, die bei jedem Ausführen des Seitenauslagerungs-Hintergrundprozesses 20 abgetastet werden, ist es möglich, die Häufigkeit zu ändern, mit der die Taktinterrupt-Bearbeitungsvorrichtung 16 den Seitenauslagerungs-Hintergrundprozess 20 ausführt, um die gleiche Wirkung zu erreichen.
  • (Zweite Ausführungsform)
  • Als nächstes wird eine zweite Ausführungsform der Erfindung mit Bezug auf 2 bis 5 erläutert.
  • 2 ist ein Funktionsblockdiagramm, das den schematischen Aufbau einer Hauptspeicherplatz-Rückforderungsvorrichtung gemäß einer zweiten Ausführungsform der Erfindung zeigt.
  • Bei der Hauptspeicherplatz-Rückforderungsvorrichtung gemäß dieser Ausführungsform wird der gesamte Steuerbetrieb durch ein Betriebssystem 10 veranlasst, und das Betriebssystem 10 verwaltet die Speichermanagementtabelle 13 und die Prozessmanagementtabelle 14. Das Betriebssystem 10 führt einen Hauptspeicherrückforderungsprozess 40 aus, wenn die Menge des freien Hauptspeichers 10 in der Speichermanagementtabelle 13 kleiner als ein voreingestellter Wert wird.
  • Der Hauptspeicherrückforderungsprozess 40 arbeitet mit Bezug auf die Speichermanagementtabelle 13 und die Prozessmanagementtabelle 14.
  • Wie es in 2 gezeigt ist, führt der Hauptspeicherrückforderungsprozess 40 einen Schritt 41 aus. Bei Schritt 41 wird ein Systemaufruf 10a aufgerufen, um auf das Ereignis einer Knappheit des verfügbaren Bereichs zu warten.
  • Es sei nun angenommen, dass ein Teil des Hauptspeichers 30 einem der Prozesse neu zugeteilt ist und als Ergebnis die Menge des verfügbaren Speichers unter eine Schwelle fällt. Dann führt das Betriebssystem 10 den Hauptspeicherrückforderungsprozess 40 aus.
  • Danach wählt bei Schritt 42 der Hauptspeicherrückforderungsprozess 40 beispielsweise mit Bezug auf die Prozessmanagementtabelle 14 einen Prozess aus, dessen Prioritätsstufe die niedrigste ist. Bei Schritt 43 werden die dem ausgewählten Prozess zugeteilten Seiten zurückgefordert. Als das Verfahren eines Rückforderungsvorgangs wird die Beendigung oder Auslagerung des Prozesses betrachtet. Durch den Rückforderungsvorgang wird die Speicherknappheit gelöst.
  • Als Ergebnis tritt kein Problem dahin gehend auf, dass beispielsweise ein Prozess mit hoher Priorität aufgrund der Anwesenheit von Prozessen mit niedriger Priorität für eine lange Zeit nicht ausgeführt wird, und eine ausreichende Hauptspeicherplatz-Rückforderung kann erzielt werden.
  • Wenn es Prozesse gibt, die in regelmäßigen Intervallen ausgeführt werden, ist es wirksam, einen Prozess basierend auf dessen nächste geplante Zeit anstatt der Priorität auszuwählen. In einem anderen Fall ist es wirksam, einen Stapelprozess auszuwählen, dessen Beendigungszeit nicht spezifiziert ist, oder einen Prozess mit einer geringeren Anzahl von aktualisierten Speichern auszuwählen, indem die erforderliche Speicherrückforderungszeit berücksichtigt wird. Die Auswahl kann mittels der Prozessmanagementtabelle 14 veranlasst werden. Es ist außerdem manchmal wirksam, den dem Hauptspeicherrückforderungsprozess 40 selber zugeteilten Speicher zurückzufordern.
  • Da der Hauptspeicherrückforderungsprozess 40 nur ausgeführt wird, wenn die Menge des freien Hauptspeichers kleiner als ein voreingestellter Wert wird, wird kein unnötiger Mehraufwand auftreten, wenn die Menge des freien Hauptspeichers ausreichend groß ist. Da er ferner als ein Prozess aufgebaut ist, der im privilegierten Modus unter der Steuerung des Betriebssystems 10 läuft, kann die Hauptspeicherplatz-Rückforderungsregel des Hauptspeichers 13 hinzugefügt und einfach durch Neuschreiben und Kompilieren des Programmquellencodes modifiziert werden, und Flexibilität kann erzielt werden.
  • 3 zeigt die Betriebsprozedur des Hauptspeicherplatz-Rückforderungsprozesses dieser Ausführungsform.
  • Bei dem Hauptspeicherplatz-Rückforderungsprozess dieser Ausführungsform wird ein Menü der Prozessauswahlverfahrensweisen angezeigt (Schritt A1), wie es in 4A gezeigt ist, so dass der Systemverwalter die gewünschten Verfahrensweisen auswählen kann. Dann gibt der Systemverwalter die Nummer der gewünschten Verfahrensweisen in ein Feld 51 ein (Schritt A2).
  • 4B zeigt das Ergebnis der Auswahl durch den Systemverwalter, und in diesem Fall werden die Verfahrensweise 2, die Verfahrensweise 1 und die Verfahrensweise 4 in dieser Reihenfolge ausgewählt.
  • Auf diese Art und Weise wird der geordnete Satz von Verfahrensweisen zum Auswählen eines Prozesses bestimmt. Anschließend wird eine Schwelle bestimmt (Schritt A3).
  • Danach wartet der Hauptspeicherrückforderungsprozess 40 auf das Ereignis einer verfügbaren Bereichsknappheit (Schritt A4). Wenn der Bereich des freien Hauptspeichers unter die Schwelle fällt, wird der Hauptspeicherrückforderungsprozess 40 ausgeführt und wählt somit einen Zielprozess aus (Schritt A5), und der dem ausgewählten Prozess zugeteilte Hauptspeicher 30 wird zurückgefordert (Schritt A6). Danach wird der Vorgang der Schritte A4 bis A6 wiederholt ausgeführt, bis eine Anweisung zum Beenden des Hauptspeicherrückforderungsprozesses 40 von dem Betriebssystem 10 ausgegeben wird.
  • Bei Schritt A5 werden die Verfahrensweisen einzeln gemäß der in Feld 51 von 4B spezifizierten Priorität angewendet. Das heißt, dass bei dem in 4B gezeigten Feld 51 die Nummern 2, 1, 4 in dieser Reihenfolge spezifiziert werden. Genauer gesagt wird, wenn ein Prozess gemäß der Verfahrensweise "2" vorhanden ist, dieser Prozess ausgewählt. Falls nicht, wird bestimmt, ob ein der Verfahrensweise "1" entsprechender Prozess vorhanden ist oder nicht. Wenn der der Verfahrensweise "1" entsprechende Prozess vorhanden ist, wird dieser Prozess ausgewählt. Falls nicht, wird bestimmt, ob ein der Verfahrensweise "4" entsprechender Prozess vorhanden ist oder nicht.
  • Als nächstes wird das Betriebsprinzip des Hauptspeicherplatz-Rückforderungsprozesses mit Bezug auf 5 beschrieben.
  • Es sei nun angenommen, dass der Hauptspeicher 30 zugeteilt ist, wie es auf der linken Seite von 5 gezeigt ist. Wenn der Anwendungsprozess A die Menge des Speichers neu anfordert, die größer als die Menge des freien Hauptspeichers ist, fordert der Hauptspeicherrückforderungsprozess 40 zwangsweise den von dem Anwendungsprozess B der niedrigsten Priorität verwendeten Speicher zurück. Dann wird der zurückgeforderte Speicherbereich dem Anwendungsprozess A zugeteilt, und der Anwendungsprozess A mit hoher Priorität kann kontinuierlich ausgeführt werden, wie es auf der rechten Seite von 5 gezeigt ist.
  • Wenn der Anwendungsprozess A durch die Speicherrückforderung nicht angehalten werden soll, muss die voreingestellte Schwelle hoch genug sein. Dann würde die Speicherrückforderung im voraus durchgeführt.
  • Als Ergebnis kann eine ausreichende Hauptspeicherplatz-Rückforderung erhalten werden.
  • (Dritte Ausführungsform)
  • Als nächstes wird eine dritte Ausführungsform der Erfindung mit Bezug auf 6 bis 10 erläutert.
  • 6 ist ein Funktionsblockdiagramm, das den schematischen Aufbau einer Plattenplatz-Rückforderungsvorrichtung gemäß der dritten Ausführungsform der Erfindung zeigt.
  • Bei der Plattenplatz-Rückforderungsvorrichtung dieser Ausführungsform wird der gesamte Steuerbetrieb von einem Betriebssystem 10 veranlasst, und das Betriebssystem 10 verwaltet die Dateimanagementtabelle 15. Das Betriebssystem 10 führt einen Dateikompressionsprozess 60 aus, wenn die Menge des freien Bereichs der Platte 70 kleiner als ein voreingestellter Wert wird.
  • Der Dateikompressionsprozess 60 arbeitet mit Bezug auf die Dateimanagementtabelle 15, die das Betriebssystem 10 verwaltet. Wie es in 6 gezeigt ist, umfasst ein Dateikompressionsprozess 60 einen Schritt 61 zum Warten auf das Ereignis einer Knappheit des verfügbaren Bereichs, einen Schritt 62 zur Dateiauswahl und einen Schritt 63 zur Dateikompression. Zuerst ruft bei Schritt 61 der Dateikompressionsprozess 60 das Betriebssystem 10 auf und ruht, bis der freie Bereich der Platte 70 unzureichend wird.
  • Es sei nun angenommen, dass eine Anforderung zur Erzeugung oder Erweiterung einer Datei neu gestellt wird, und als Ergebnis die Größe des verbleibenden freien Bereichs kleiner als der voreingestellte Wert wird, d. h., die Menge des freien Bereichs der Platte 70 unzureichend wird. Dann führt das Betriebssystem 10 den Dateikompressionsprozess 60 aus. Der Dateikompressionsprozess 60 wählt beispielsweise eine Datei mit dem ältesten Datum mit Bezug auf die Dateimanagementtabelle 15 bei Schritt 62 aus. Bei Schritt 63 wird die Datei komprimiert und der Überschussbereich für eine zukünftige Zuteilung zurückgefordert.
  • Es ist beispielsweise ebenfalls wirksam, eine als Backup-Datei verwendete Datei auszuwählen. Es ist ferner wirksam, die Größe einer Datei zu schätzen, nachdem sie komprimiert ist, und eine Datei basierend auf der geschätzten Größe nach der Kompression und der erforderlichen zurückzufordernden Größe auszuwählen.
  • Es sei beispielsweise betrachtet, dass eine Textdatei mehr als eine Bilddatei vom MPEG- oder JPEG-Format komprimiert werden kann.
  • Da der Dateikompressionsprozess 60 ausgeführt wird, wenn die Menge des freien Dateibereichs der Platte 70 kleiner als ein voreingestellter Wert wird, wird kein unnötiger Mehraufwand auftreten, wenn die Menge des freien Bereichs der Platte 70 groß genug ist. Da er außerdem als ein Prozess implementiert wird, der unter der Steuerung des Betriebssystems 10 läuft, wird es möglich, die Plattenplatz-Rückforderungsregel der Platte 70 einfach durch Neuschreiben des Quellencodes hinzuzufügen und zu modifizieren, und dessen Flexibilität kann verbessert werden.
  • 7 zeigt die Betriebsprozedur des Plattenplatz-Rückforderungsprozesses dieser Ausführungsform.
  • Bei dem Plattenplatz-Rückforderungsprozess dieser Ausführungsform wird ein Menü der Dateiauswahlverfahrensweisen bereitgestellt, wie es in 4A gezeigt ist, sodass der Systemverwalter die gewünschten Verfahrensweisen auswählen kann. Dann gibt der Systemverwalter die Anzahl der gewünschten Verfahrensweisen in ein Feld ein (Schritt B2).
  • Auf diese Art und Weise wird der geordnete Satz von Verfahrensweisen zum Auswählen einer Datei bestimmt. Anschließend wird eine Schwelle bestimmt (Schritt B3).
  • Danach wartet der Dateikompressionsprozess 60 auf das Ereignis einer Knappheit des freien Plattenvolumens (Schritt B4). Wenn die Menge des freien Dateibereiches der Platte 70 niedriger als die Schwelle wird, wird der Dateikompressionsprozess 60 ausgeführt und wählt somit eine Datei aus (Schritt B5), komprimiert die Datei und fordert den Überschussplattenplatz zurück (Schritt B6). Danach wird der Vorgang der Schritte B4 bis B6 wiederholt veranlasst, bis eine Anweisung zum Beenden des Dateikompressionsprozesses 60 von dem Betriebssystem 10 ausgegeben wird.
  • Bei Schritt B5 werden die Verfahrensweisen einzeln gemäß ihrer Prioritäten angewendet, wie in dem Fall der zweiten Ausführungsform. Als eine beispielhafte Verfahrensweise wird bei dieser Ausführungsform gewünscht, vorzugsweise eine Datei, die vor der längsten Zeit aktualisiert wurde, oder eine Backup-Datei auszuwählen.
  • Das Betriebsprinzip dieser Ausführungsform wird mit Bezug auf 8 erläutert.
  • Es sei nun angenommen, dass die Platte 70 zugeteilt ist, wie es auf der linken Seite von 8 gezeigt ist. Wenn ein Prozess einen freien Dateibereich neu anfordert, der größer als die Menge des aktuellen freien Dateibereichs der Platte 70 ist, wählt der Dateikompressionsprozess 60 in Übereinstimmung mit dem geordneten Satz von Verfahrensweisen eine Datei B aus und komprimiert sie. Der als Ergebnis der Kompression zurückgeforderte Dateibereich wird der Anforderung zugeteilt.
  • Wenn ein Prozess durch die Kompression nicht angehalten werden sollte, muss die voreingestellte Schwelle hoch genug sein. Dann wird die Dateikompression im voraus durchgeführt. Als Ergebnis kann eine ausreichende Plattenplatz-Rückforderung erzielt werden.
  • Ferner kann, wie es beispielsweise in 9 gezeigt ist, wenn eine als eine Backup-Datei vorgesehene Datei (eine Datei, an der ".bak" als eine Dateinamenerweiterung hinzugefügt ist) vorhanden ist, eine adäquatere Plattenplatz-Rückforderung durch bevorzugtes Auswählen dieser Datei erzielt werden.
  • Bei dem oben beschriebenen Ablaufdiagramm von 7 werden die Auswahl und die Kompression ausgeführt, wenn die Menge des freien Dateibereichs kleiner als ein voreingestellter Wert (eine Schwelle L1) wird. In diesem Fall kann die Auswahl und die Erweiterung ebenfalls ausgeführt werden, wenn die Menge des freien Dateibereichs größer als ein zweiter voreingestellter Wert (eine Schwelle L2) wird. Ein Vorgang in diesem Fall wird mit Bezug auf 10A und 10B beschrieben. 10A bezieht sich auf einen Kompressionsprozess, wohingegen sich 10B auf einen Erweiterungsprozess bezieht.
  • Zuerst wird der Kompressionsprozess nachstehend beschrieben.
  • Die Menge des freien Dateibereichs der Platte 70 wird von dem Betriebssystem 10 überwacht (Schritt C1). Das Betriebssystem 10 bestimmt, ob die Menge des freien Dateibereichs kleiner als die Schwelle L1 ist oder nicht (Schritt C2). Falls ja, führt das Betriebssystem 10 den Dateikompressionsprozess 60 aus. Folglich wird eine Datei durch den Dateikompressionsprozess 60 in Übereinstimmung mit dem geordneten Satz von Verfahrensweisen ausgewählt, der in einer oben erwähnten Art und Weise spezifiziert ist (Schritt C3). Dann wird die ausgewählte Datei komprimiert (Schritt C4).
  • Als nächstes wird der Expansionsprozess nachstehend beschrieben.
  • Auf ähnliche Weise zu dem obigen Fall wird die Menge des freien Dateibereichs der Platte 70 von dem Betriebssystem 10 überwacht (Schritt D1). Das Betriebssystem 10 bestimmt, ob die Menge des freien Dateibereichs größer als die Schwelle L2 ist (Schritt D2). Falls ja, führt das Betriebssystem 10 den Dateiexpansionsprozess (nicht gezeigt) aus. Folglich wird eine Datei durch den Dateierweiterungsprozess ausgewählt (Schritt D3). Dann wird die Datei expandiert (entkomprimiert) (Schritt D4).
  • Wie es oben beschrieben ist, ist es mit dem Expansionsprozess möglich, auf eine Datei ohne irgendeinen Leistungsmehraufwand zuzugreifen, wenn die Menge des freien Dateibereichs ausreichend groß wird.
  • (Vierte Ausführungsform)
  • Als nächstes wird eine vierte Ausführungsform der Erfindung mit Bezug auf 11 beschrieben.
  • 11 ist ein Funktionsblockdiagramm, das den schematischen Aufbau einer Plattenplatz-Rückforderungsvorrichtung gemäß einer vierten Ausführungsform dieser Erfindung zeigt.
  • Bei der Plattenplatz-Rückforderungsvorrichtung dieser Ausführungsform umfasst zusätzlich zu der dritten Ausführungsform der Dateikompressionsprozess 60 ferner einen Verknüpfungserzeugungsschritt 64 und einen Dateiverschiebungsprozess 65.
  • Bei dem Dateikompressionsprozess 60 dieser Ausführungsform verschiebt beispielsweise, wenn der Dateikompressionsschritt 63 eine Datei einer Platte 70a komprimiert, die durch den Dateiauswahlschritt 62 ausgewählt wird, der Dateiverschiebungsschritt 65 die komprimierte Datei von der Platte 70a zu einer Platte 70b, die eine Subplatte ist, und der Verknüpfungserzeugungsschritt 64 erzeugt eine Verknüpfungsinformation an der ursprünglichen Stelle in der Platte 70a.
  • Als Ergebnis kann für die Platte 70a, die eine Hauptplatte ist, die adäquatere Plattenplatz-Rückforderung erzielt werden.
  • Wie es oben beschrieben wurde, wird erfindungsgemäß eine wirksame und flexible Ressourcenverwaltung für eine weite Vielfalt von Computersystemen erhalten.
  • Zusätzliche Vorteile und Modifikationen werden Fachleuten ohne weiteres offensichtlich sein. Daher ist die Erfindung in ihren breiteren Aspekten nicht auf die spezifischen Einzelheiten, repräsentativen Vorrichtungen und dargestellten Beispiele beschränkt, die hier gezeigt und beschrieben sind. Dem gemäß können verschieden Modifikationen durchgeführt werden. Beispielsweise können der Prozess und die Einheiten, die entweder in der Hauptspeicherrückforderungsvorrichtung oder der Plattenplatz-Rückforderungsvorrichtung enthalten sind, in einem Speichermedium in der Form eines Computerprogramms vorgespeichert und daraus nach Bedarf von einem Prozessor gelesen und ausgeführt werden.

Claims (5)

  1. Hauptspeicherplatz-Rückforderungsverfahren in einem virtuellen Speichercomputersystem, bei dem ein Seitenauslagerungs-Hintergrundprozess (20) periodisch Seitenframes des Hauptspeichers (30) abtastet, um Hauptspeicherseiten zurück zu fordern, wobei das Verfahren folgende Schritte umfasst: Erfassen der Größe des freien Hauptspeichers (30): und Bestimmen einer Rate, mit der der Seitenauslagerungs-Hintergrundprozess (20) die Seitenframes abtastet, gemäß dem Größe des freien Hauptspeichers (30).
  2. Verfahren gemäß Anspruch 1, dadurch gekennzeichnet, dass der Ratenbestimmungsschritt folgende Schritte umfasst: Veranlassen bei der Ausführung des Seitenauslagerungs-Hintergrundprozesses (20), dass mehr Seitenframes abgetastet werden, wenn sich die Größe des freien Hauptspeichers (30) verringert, und Veranlassen bei der Ausführung des Seitenauslagerungs-Hintergrundprozesses (20), dass weniger Seitenframes abgetastet werden, wenn die Größe des freien Hauptspeichers (30) ansteigt.
  3. Verfahren gemäß Anspruch 1, dadurch gekennzeichnet, dass der Ratenbestimmungsschritt folgende Schritte umfasst: Ausführen des Seitenauslagerungs-Hintergrundprozesses (20) häufiger, wenn die Größe des freien Hauptspeichers (30) abnimmt; und Ausführen des Seitenauslagerungs-Hintergrundprozesses (20) seltener, wenn die Größe des freien Hauptspeichers (30) ansteigt.
  4. Hauptspeicherplatz-Rückforderungsvorrichtung, die bei einem virtuellen Speichercomputersystem verwendet wird, mit: einem Seitenauslagerungs-Hintergrundprozess (20), der Seitenframes des Hauptspeichers (30) periodisch abtastet und Hauptspeicherseiten zurückfordert, auf die zuletzt nicht zugegriffen wurde; Mittel (10) zum Erfassen der Größe des freien Hauptspeichers (30); und Mittel (10) zum Steuern einer Rate, mit der der Seitenauslagerungs-Hintergrundprozess (20) die Seitenframes abtastet, gemäß dem Größe des freien Hauptspeichers (30).
  5. Computerprogramm, das imstande ist, einen Hauptspeicherplatz-Rückforderungsprozess in einem virtuellen Speichercomputersystem durchzuführen, wenn es von einem Prozessor ausgeführt wird, wobei das Computerprogramm umfasst: einen Seitenauslagerungs-Hintergrundprozess (20), der Seitenframes eines Hauptspeichers (30) periodisch abtastet und Hauptspeicherseiten zurückfordert, auf die zuletzt nicht zugegriffen wurde; Mittel (10) zum Erfassen der Größe des freien Hauptspeichers (30); und Mittel (10) zum Steuern einer Rate, mit der der Seitenauslagerungs-Hintergrundprozess (20) die Seitenframes abtastet, gemäß der Größe des freien Hauptspeichers (30).
DE69722979T 1996-01-31 1997-01-20 Betriebsmittelverwaltungsverfahren und -einrichtung eines Multitasking-Datenverarbeitungssystems Expired - Fee Related DE69722979T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP1566196 1996-01-31
JP1566196 1996-01-31

Publications (2)

Publication Number Publication Date
DE69722979D1 DE69722979D1 (de) 2003-07-31
DE69722979T2 true DE69722979T2 (de) 2004-05-19

Family

ID=11894935

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69722979T Expired - Fee Related DE69722979T2 (de) 1996-01-31 1997-01-20 Betriebsmittelverwaltungsverfahren und -einrichtung eines Multitasking-Datenverarbeitungssystems

Country Status (6)

Country Link
US (1) US6038571A (de)
EP (2) EP0788053B1 (de)
JP (1) JP2000215099A (de)
KR (2) KR100289627B1 (de)
CN (1) CN1154928C (de)
DE (1) DE69722979T2 (de)

Families Citing this family (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6928653B1 (en) * 1997-11-06 2005-08-09 United Video Properties, Inc. Interactive electronic television program guide with database configurability
US7024512B1 (en) * 1998-02-10 2006-04-04 International Business Machines Corporation Compression store free-space management
JP3218007B2 (ja) * 1998-03-20 2001-10-15 富士通株式会社 インデックスの管理装置,更新方法及び管理方法並びにコンピュータ読取可能な記憶媒体
EP1116094B1 (de) * 1998-09-01 2002-08-07 Siemens Aktiengesellschaft Verfahren zum speichern von daten auf einem speichermedium mit begrenzter speicherkapazitaet
US6910210B1 (en) * 1998-11-24 2005-06-21 Microsoft Corp. System and method for terminating applications
US6967680B1 (en) * 1999-05-28 2005-11-22 Microsoft Corporation Method and apparatus for capturing images
FR2795196B1 (fr) * 1999-06-21 2001-08-10 Bull Sa Processus de liberation de pages physiques pour mecanisme d'adressage virtuel
US7111297B1 (en) * 2000-05-02 2006-09-19 Microsoft Corporation Methods and architectures for resource management
GB0015891D0 (en) 2000-06-28 2000-08-23 Royal College Of Art Improved in or relating to snowboards
KR20020063459A (ko) * 2001-01-29 2002-08-03 팜팜테크 주식회사 내장형 리눅스 운영체제를 위한 비사용 메모리 회수기법
US7349930B2 (en) * 2002-02-05 2008-03-25 Quantum Corporation Emulated backup tape drive using data compression
CA2479526C (en) * 2002-03-20 2015-11-17 Research In Motion Limited System and method of secure garbage collection on a mobile device
US6857046B1 (en) * 2002-03-28 2005-02-15 Cisco Technology, Inc. Caching for context switching applications
JP4085695B2 (ja) * 2002-05-24 2008-05-14 日本電気株式会社 バックアップ装置及びバックアップ方法並びにバックアップ評価プログラム
US6775751B2 (en) * 2002-08-06 2004-08-10 International Business Machines Corporation System and method for using a compressed main memory based on degree of compressibility
US7296043B2 (en) * 2003-05-30 2007-11-13 Microsoft Corporation Memory file size adjustment
AU2003295260A1 (en) * 2003-12-16 2005-07-05 Real Enterprise Solutions Development B.V. Memory management in a computer system using different swapping criteria
KR100608606B1 (ko) * 2004-01-28 2006-08-03 삼성전자주식회사 적응형 가비지 컬렉션 방법 및 상기 방법을 수행하는 장치
JP2005301801A (ja) * 2004-04-14 2005-10-27 Nec Corp 情報処理装置、メモリ管理装置、およびプログラム
US20050246762A1 (en) * 2004-04-29 2005-11-03 International Business Machines Corporation Changing access permission based on usage of a computer resource
US7590803B2 (en) * 2004-09-23 2009-09-15 Sap Ag Cache eviction
US7418560B2 (en) 2004-09-23 2008-08-26 Sap Ag Centralized cache storage for runtime systems
US20060112155A1 (en) * 2004-11-24 2006-05-25 Agami Systems, Inc. System and method for managing quality of service for a storage system
US7600217B2 (en) * 2004-12-14 2009-10-06 Sap Ag Socket-like communication API for Java
US7580915B2 (en) 2004-12-14 2009-08-25 Sap Ag Socket-like communication API for C
US7552303B2 (en) * 2004-12-14 2009-06-23 International Business Machines Corporation Memory pacing
US20060143398A1 (en) * 2004-12-23 2006-06-29 Stefan Rau Method and apparatus for least recently used (LRU) software cache
US7971001B2 (en) * 2004-12-28 2011-06-28 Sap Ag Least recently used eviction implementation
US7552284B2 (en) * 2004-12-28 2009-06-23 Sap Ag Least frequently used eviction implementation
US7694065B2 (en) * 2004-12-28 2010-04-06 Sap Ag Distributed cache architecture
US20060143256A1 (en) 2004-12-28 2006-06-29 Galin Galchev Cache region concept
US7552153B2 (en) 2004-12-28 2009-06-23 Sap Ag Virtual machine monitoring using shared memory
US7539821B2 (en) * 2004-12-28 2009-05-26 Sap Ag First in first out eviction implementation
US7523263B2 (en) * 2004-12-28 2009-04-21 Michael Wintergerst Storage plug-in based on shared closures
US7451275B2 (en) * 2004-12-28 2008-11-11 Sap Ag Programming models for storage plug-ins
US20060143389A1 (en) * 2004-12-28 2006-06-29 Frank Kilian Main concept for common cache management
US8204931B2 (en) 2004-12-28 2012-06-19 Sap Ag Session management within a multi-tiered enterprise network
US7581066B2 (en) * 2005-04-29 2009-08-25 Sap Ag Cache isolation model
US7831634B2 (en) 2005-04-29 2010-11-09 Sap Ag Initializing a cache region using a generated cache region configuration structure
JP2006333338A (ja) * 2005-05-30 2006-12-07 Kyocera Corp 通信要求報知方法及び携帯端末装置並びにコンピュータプログラム
JP4352028B2 (ja) * 2005-06-29 2009-10-28 富士通株式会社 運用ポリシー評価システムおよび運用ポリシー評価プログラム
US7966412B2 (en) * 2005-07-19 2011-06-21 Sap Ag System and method for a pluggable protocol handler
US7984084B2 (en) * 2005-08-03 2011-07-19 SanDisk Technologies, Inc. Non-volatile memory with scheduled reclaim operations
US7543123B2 (en) * 2005-11-07 2009-06-02 International Business Machines Corporation Multistage virtual memory paging system
US20080010421A1 (en) * 2006-07-10 2008-01-10 Inventec Corporation Snapshot expansion system and method thereof
KR100900439B1 (ko) 2006-12-05 2009-06-01 한국전자통신연구원 임베디드 시스템을 위한 메모리 부족상황 관리 방법 및장치
JP4942179B2 (ja) * 2006-12-11 2012-05-30 キヤノン株式会社 印刷制御装置及びその制御方法及びデバイスドライバ
US8321546B2 (en) 2007-01-10 2012-11-27 Ricoh Company, Ltd. Integrating discovery functionality within a device and facility manager
US20080163063A1 (en) * 2006-12-29 2008-07-03 Sap Ag Graphical user interface system and method for presenting information related to session and cache objects
US8239876B2 (en) 2007-06-12 2012-08-07 Ricoh Company, Ltd. Efficient web services application status self-control system on image-forming device
US8453164B2 (en) 2007-09-27 2013-05-28 Ricoh Company, Ltd. Method and apparatus for reduction of event notification within a web service application of a multi-functional peripheral
US8838928B2 (en) 2008-02-08 2014-09-16 Freescale Semiconductor, Inc. Memory management and method for allocation using free-list
CN101430670B (zh) * 2008-12-16 2010-06-23 中国科学院计算技术研究所 一种在虚拟化环境中i/o设备重构的方法及系统
JP5405663B2 (ja) * 2010-05-31 2014-02-05 パナソニック株式会社 メモリ管理装置、メモリ管理方法、メモリ管理プログラム、メモリ管理プログラムを記録したコンピュータ読み取り可能な記録媒体及び集積回路
JP2012190064A (ja) * 2011-03-08 2012-10-04 Nec Corp 情報処理装置、メモリ管理方法、およびメモリ管理プログラム
JP2012221217A (ja) * 2011-04-08 2012-11-12 Sony Corp メモリ管理装置、メモリ管理方法、および、制御プログラム
US9195581B2 (en) * 2011-07-01 2015-11-24 Apple Inc. Techniques for moving data between memory types
US8918579B2 (en) * 2012-02-06 2014-12-23 Sandisk Technologies Inc. Storage device and method for selective data compression
JP6183034B2 (ja) 2013-07-30 2017-08-23 富士通株式会社 アクセス制御プログラム、アクセス制御方法およびシステム
CN103593298B (zh) * 2013-10-16 2016-08-31 北京航空航天大学 内存回收方法和装置
CN103777871B (zh) * 2014-02-14 2017-10-10 北京猎豹移动科技有限公司 一种锁屏状态下启动应用的方法及装置
CN105487984B (zh) * 2014-09-17 2020-04-03 中兴通讯股份有限公司 一种主机系统对虚拟机磁盘数据的动态压缩方法及装置
US10572460B2 (en) * 2016-02-11 2020-02-25 Pure Storage, Inc. Compressing data in dependence upon characteristics of a storage system
US20170371593A1 (en) * 2016-06-23 2017-12-28 Qualcomm Incorporated Selective flash memory compression/decompression using a storage usage collar
US20180336131A1 (en) * 2017-05-22 2018-11-22 Dell Products L.P. Optimizing Memory/Caching Relative to Application Profile
US10613972B2 (en) * 2017-12-29 2020-04-07 Intel Corporation Dynamic configuration of caches in a multi-context supported graphics processor
CN110928635B (zh) * 2018-09-19 2023-05-02 阿里巴巴集团控股有限公司 工作集划分方法和系统
CN111488316B (zh) * 2020-04-12 2023-09-22 杭州迪普科技股份有限公司 文件缓存回收方法及装置
CN111984374B (zh) * 2020-08-20 2021-07-23 海光信息技术股份有限公司 用于管理安全内存的方法及其系统、装置和存储介质
KR20220101847A (ko) * 2021-01-12 2022-07-19 삼성전자주식회사 전자 장치 및 전자 장치의 스토리지 운영 방법

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5065141A (de) * 1973-10-11 1975-06-02
JPS6063678A (ja) * 1983-09-16 1985-04-12 Toshiba Corp 画像処理装置
JPS6145345A (ja) * 1984-08-09 1986-03-05 Nec Corp スワツピング制御方式
JPH0340150A (ja) * 1989-07-07 1991-02-20 Nec Corp ジョブのプライオリティに応じたスワップ領域確保制御方式
JPH03127149A (ja) * 1989-10-13 1991-05-30 Hitachi Ltd 主記憶管理方法
JPH04167152A (ja) * 1990-10-31 1992-06-15 Nec Corp 空きメモリ管理方式
JP3208160B2 (ja) * 1991-10-24 2001-09-10 シャープ株式会社 コンピュータにおける記憶管理方式
US5423017A (en) * 1992-04-22 1995-06-06 International Business Machines Corporation Method of and apparatus for increasing efficiency of ager
US5432917A (en) * 1992-04-22 1995-07-11 International Business Machines Corporation Tabulation of multi-bit vector history
US5392415A (en) * 1992-12-15 1995-02-21 International Business Machines Corporation System for grouping non-contiguous pages belonging to a storage object for page out
WO1995018996A2 (en) * 1993-12-30 1995-07-13 Connectix Corporation Lossless data compression system and method
US5463776A (en) * 1994-09-22 1995-10-31 Hewlett-Packard Company Storage management system for concurrent generation and fair allocation of disk space among competing requests

Also Published As

Publication number Publication date
KR970059941A (ko) 1997-08-12
DE69722979D1 (de) 2003-07-31
EP1164491A2 (de) 2001-12-19
CN1162786A (zh) 1997-10-22
EP0788053B1 (de) 2003-06-25
CN1154928C (zh) 2004-06-23
EP1164491A3 (de) 2002-01-02
US6038571A (en) 2000-03-14
EP0788053A2 (de) 1997-08-06
KR100289627B1 (ko) 2001-05-02
EP0788053A3 (de) 1998-09-09
JP2000215099A (ja) 2000-08-04
KR100289628B1 (ko) 2001-05-02

Similar Documents

Publication Publication Date Title
DE69722979T2 (de) Betriebsmittelverwaltungsverfahren und -einrichtung eines Multitasking-Datenverarbeitungssystems
DE69930855T2 (de) Verfahren und vorrichtung zur durchführung einer deterministischen speicherzuordnungsantwort in einem computer-system
DE69814170T2 (de) Inkrementeller freispeichersammler
DE60313783T2 (de) Bewegen von daten zwischen speichereinheiten
DE69737709T2 (de) Verfahren und Vorrichtung für Informationsverarbeitung und Speicherzuordnungsanordnung
DE69738139T2 (de) Verfahren und gerät zur verbesserung von disk-drive-funktion
DE60020817T2 (de) Ablaufsteuerung für Betriebsmittel
DE60316783T2 (de) Erkennung von Speichermangel und Feinabschaltung
DE4218025C2 (de) Vorrichtung und Verfahren zur automatischen Zuordnung von Datenspeichereinrichtungen in einem Computersystem
DE69836796T2 (de) Datenverarbeiter mit lokalisierter gedächtnisreklamierung
DE60033994T2 (de) Verfahren und System zur Ausgabe an und zum Ordnen von Befehlen in einem Festplattenlaufwerk
DE69726088T2 (de) Methode und Apparat zur Speicherverwaltung
DE102010029209B4 (de) Verfahren zur dynamischen Verteilung von einem oder mehreren Diensten in einem Netz aus einer Vielzahl von Rechnern
DE19733151B4 (de) Vorrichtung und Verfahren für einen virtuellen Gerätezugriff in einem Computersystem
DE102012217202A1 (de) Verfahren und System zum Optimieren des Platzierens virtueller Maschinen in Cloud-Computing-Umgebungen
DE4221073A1 (de) Datenspeichersystem und -verfahren mit geraeteunabhaengigen dateiverzeichnissen
DE202010017613U1 (de) Datenspeichervorrichtung mit host-gesteuerter Speicherbereinigung
DE2912738A1 (de) System mit direkter uebertragung zwischen subsystemen
DE69923658T2 (de) Dynamische speicherplatzzuordnung
DE102005029852A1 (de) Multiprozessorsystem mit mehreren Speicherpositionen zum jeweiligen Speichern von TLB-Abschussdaten für mehrere Prozessorknoten
DE4210126A1 (de) Verfahren und system zur dynamischen dateierweiterung fuer online-datenbanksysteme
DE10296957T5 (de) Ein Verfahren zum Verwenden nicht-temporaler Streaming-Speicheroperationen zum Verbessern eines Algorithmus zur Sammlung wertloser Daten
DE102004036323A1 (de) Erweiterte Speicherverwaltungsarchitektur für große Datenumfänge
DE602005005086T2 (de) Ressourcenverwaltung für datenspeicherdienste
DE1499182B2 (de) Datenspeichersystem

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee