Der Seitenverwaltungs-Algorithmus (System-Working-Set-Verfahren, SYS-WS) verwaltet die Hauptspeicher-Seiten global, wobei die Einteilung entsprechend ihrem „Zugriffsalter“ in vier Gruppen erfolgt:
Die Seiten jeder Gruppe sind miteinander verkettet.
Prinzipieller Ablauf
Beim Auftreten des Ereignisses „Seite nicht im Hauptspeicher“ (Page Fault) wird ein Seitenrahmen aus der Gruppe 4 mittels Paging-Ein-/Ausgabe (Page Read) mit der angeforderten Seite gefüllt und nach Gruppe 1 gebracht (Gruppen-Übergang 4 ->
1; Reference-Bit=ON).
Grundsätzlich wird versucht, möglichst viele Seiten aktiv zu halten. Der Free-Pool ist daher relativ klein. Eine gewisse Minimalgröße zur Befriedigung schnell aufeinander folgender Seitenanforderungen ist jedoch notwendig.
Bei Erreichen der Minimalgröße erfolgt der Anstoß einer Routine zur Auffüllung des Free-Pools mit Seiten aus Gruppe 3 (Gruppen-Übergang 3 ->
4).
Seiten mit Reference-Bit=ON werden an das Ende der Kette von Gruppe 2 gebracht und das Reference-Bit gelöscht.
Seiten, die zwei mal hintereinander mit Reference-Bit=OFF angetroffen werden, kommen in die Gruppe 4.
Die Durchsuchung der Gruppe 3 erfolgt solange, bis die benötigte Anzahl Seiten zur Auffüllung des Free-Pools gefunden ist.
Enthält Gruppe 3 nicht genügend freigebbare Seiten, so erfolgt die Auffüllung von Gruppe 3, indem sämtliche Seiten von Gruppe 2 nach Gruppe 3 gebracht werden (Gruppen-Übergang 2 ->
3).
Ebenso wird die nun leere Gruppe 2 wieder aufgefüllt durch Umkettung sämtlicher Seiten von Gruppe 1 nach Gruppe 2 (Gruppen-Übergang 1 ->
2).
Da die Seitenanforderungen sowohl für die automatische Auffüllung der Gruppe 1 sorgen, als auch den Seitenersetzungs-Algorithmus anstoßen, ergibt sich ein konsistenter Zustand.
Der einfache Algorithmus des SYS-WS-Verfahrens führt zu einer Aufwandsreduzierung im Paging-Management, aber auch zu einer „gröberen“ Bestimmung des Working-Set-Bedarfs der einzelnen Tasks. Die Aufwandsreduzierung macht sich besonders bei großem Hauptspeicher bemerkbar.
Wird eine Task deaktiviert, so behält sie auch im inaktiven Zustand ihren Working-Set. Wird die Task erneut aktiviert, sind keine Page-Reclaims zur Wiederbeschaffung ihres Working-Sets notwendig.
Das SYS-WS-Verfahren kennt zwar den UPG-Wert (Used-Pages) jeder Task, hat jedoch keine Möglichkeit festzustellen, in welcher Phase sich die Task befindet (auch inaktive Tasks haben einen UPG-Wert !=
0).
Die Bestimmung des PPC-Wertes (Planned Page Count) erfolgt daher näherungsweise durch einen Vergleich des UPG-Wertes mit einem angenommenen, vom Kategorietyp abhängigen, mittleren Working-Set-Wert.
Da möglichst viele Seiten aktiv gehalten werden, liegt der Summen-UPG-Wert praktisch immer in der Größenordnung des verfügbaren seitenwechselbaren Hauptspeichers und hat nur begrenzte Aussagekraft. Der Working-Set-Bedarf wird ausschließlich durch den PPC-Wert ausgedrückt. Der Wert ist eine grobe Schätzung. Bei den heute üblichen großen Speicherausbauten ergeben sich Vorteile dadurch, dass die Aufwände für die ohnehin nicht benötigte genaue Abschätzung des Speicherbedarfs unterbleiben.