-
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.