Wie kann ich Prozesse mit hoher Priorität weiterlaufen lassen, wenn Prozesse mit niedriger Priorität zu wenig freiem Speicher führen?

Wie kann ich Prozesse mit hoher Priorität weiterlaufen lassen, wenn Prozesse mit niedriger Priorität zu wenig freiem Speicher führen?

Ok, ich bin nicht sicher, ob dies der richtige Ort ist, um das zu posten. Es ist eher eine „Warum nicht“-Frage als eine „Wie geht das?“ (man geht davon aus, dass es nicht geht/nicht geht).

Warum erlauben wir nicht, dass RAM in zwei (oder mehr) Blöcke partitioniert wird, die für verschiedene Prozesstypen verwendet werden können? Der Hauptgrund hierfür ist, dass der RAM zu fast 100 % genutzt wird und es zu Einfrierungen kommt, während (wie ich annehme) RAM auf die Festplatte ausgelagert wird. In den meisten Fällen liegt dies an einem Speicherleck und wird behoben, indem der Prozess beendet und neu gestartet wird. Dies kann mit ein paar Befehlen erledigt werden, aber Sie müssen warten, bis die Maschine „losgeht“. Wenn es eine Vorstellung von partitioniertem RAM gäbe, könnten Sie eine Priorität einrichten, z. B. System-/Dienstprogramm- + Nicht-Systempartitionen (mit Überlauf, der System-RAM zulässt). Dann könnten Sie das Problem statt bei einem „Einfrieren“ (Anwendungsspeicherleck) leicht beheben.

Mit meinen eingerosteten Kenntnissen der Speicherarchitektur müssten Sie an der Hardware nicht viel (oder gar nichts) ändern, stattdessen könnte der Paging-/virtuelle Speicher in der Software erweitert werden, um ein zusätzliches Flag und einen Koordinationsmanager zu unterstützen.

Das Obige hat eindeutig ein Problem, entweder technisch oder einfach unpraktisch. Mich interessiert nur, WARUM nicht.

verwandte Informationen