Paginierung

Im Computer Betriebssysteme ist Paginierung eines der Speichermanagement-Schemas, durch die ein Computer versorgen und Daten von der sekundären Lagerung für den Gebrauch im Hauptgedächtnis wiederbekommen kann. Im Paginierungsspeichermanagement-Schema bekommt das Betriebssystem Daten von der sekundären Lagerung in Blöcken der derselben-Größe genannt Seiten wieder. Der Hauptvorteil der Paginierung über die Speichersegmentation besteht darin, dass es dem physischen Adressraum eines Prozesses erlaubt, aneinander nichtgrenzend zu sein. Bevor die Zeitpaginierung verwendet wurde, mussten Systeme ganze Programme die Lagerung aneinander grenzend einbauen, die verschiedene Lagerungs- und Zersplitterungsprobleme verursacht hat.

Paginierung ist ein wichtiger Teil der virtuellen Speicherdurchführung in den meisten zeitgenössischen Mehrzweckbetriebssystemen, ihnen erlaubend, Plattenlagerung für Daten zu verwenden, die das physische Gedächtnis des zufälligen Zugangs (RAM) nicht einbaut.

Übersicht

Die Hauptfunktionen der Paginierung werden durchgeführt, wenn ein Programm versucht, auf Seiten zuzugreifen, die zum physischen Gedächtnis (RAM) nicht zurzeit kartografisch dargestellt werden. Diese Situation ist als eine Seitenschuld bekannt. Das Betriebssystem muss dann Kontrolle nehmen und die Seitenschuld behandeln, die gewissermaßen für das Programm unsichtbar ist. Deshalb muss das Betriebssystem:

  1. Bestimmen Sie die Position der Daten in der Hilfslagerung.
  2. Erhalten Sie einen leeren Seitenrahmen im RAM, um als ein Behälter für die Daten zu verwenden.
  3. Laden Sie die gebetenen Daten in den verfügbaren Seitenrahmen.
  4. Aktualisieren Sie den Seitentisch, um die neuen Daten zu zeigen.
  5. Geben Sie Kontrolle ins Programm zurück, durchsichtig die Instruktion neu verhandelnd, die die Seitenschuld verursacht hat.

Bis es nicht genug RAM gibt, um alle erforderlichen Daten zu versorgen, ist der Prozess, einen leeren Seitenrahmen zu erhalten, mit dem Entfernen einer anderen Seite vom RAM nicht verbunden. Wenn alle Seitenrahmen nichtleer sind, verlangt das Erhalten eines leeren Seitenrahmens, dass sich Auswahl eines Seitenrahmens, der Daten enthält leert. Wenn die Daten in diesem Seitenrahmen modifiziert worden sind, seitdem er in den RAM gelesen wurde (d. h., wenn es "schmutzig" geworden ist), muss er seiner Position in der sekundären Lagerung zurückgeschrieben werden, bevor er befreit wird; sonst ist der Inhalt des Seitenrahmens der Seite im RAM dasselbe als der Inhalt der Seite in der sekundären Lagerung, so braucht es nicht der sekundären Lagerung zurückgeschrieben zu werden. Wenn eine Verweisung dann zu dieser Seite gemacht wird, wird eine Seitenschuld vorkommen, und ein leerer Seitenrahmen muss erhalten werden, und der Inhalt der Seite in der sekundären Lagerung wieder in diesen Seitenrahmen gelesen.

Effiziente Paginierungssysteme müssen den Seitenrahmen bestimmen, um sich durch die Auswahl von demjenigen zu leeren, der mit geringster Wahrscheinlichkeit innerhalb einer kurzen Zeit erforderlich sein wird. Es gibt verschiedene Seitenersatzalgorithmen, die versuchen, das zu tun. Am meisten Betriebssysteme verwenden etwas Annäherung des Seitenersatzalgorithmus des am wenigsten kürzlich verwendet (LRU) (der LRU selbst kann auf der aktuellen Hardware nicht durchgeführt werden), oder ein Satz-basierter Arbeitsalgorithmus.

Um weiter Ansprechbarkeit zu vergrößern, können Paginierungssysteme verschiedene Strategien verwenden vorauszusagen, welche Seiten bald erforderlich sein werden. Solche Systeme werden versuchen, Seiten ins Hauptgedächtnis Vorkaufs-zu laden, bevor ein Programm in ihnen Verweise anbringt.

Seitenersatzalgorithmen

Nachfragepaginierung

Wenn reine Nachfragepaginierung verwendet wird, kommt Seite, die nur lädt, zur Zeit der Datenbitte, und nicht vorher vor.

Insbesondere wenn ein Nachfragepager verwendet wird, beginnt ein Programm gewöhnlich Ausführung mit keiner seiner im RAM vorgeladenen Seiten.

Seiten werden von der rechtskräftigen Datei in den RAM das erste Mal kopiert, wenn der Durchführungscode in ihnen gewöhnlich als Antwort auf Seitenschulden Verweise anbringt.

Demzufolge werden Seiten der rechtskräftigen Datei, die während eines besonderen Laufs nicht durchgeführten Code enthält, ins Gedächtnis nie geladen.

Vorwegnehmende Paginierung

Diese Technik, manchmal genannt "Tausch-Vorabruf", lädt nicht ansässige Seiten eines Prozesses vor, in denen wahrscheinlich in der nahen Zukunft (das Ausnutzen der Gegend der Verweisung) Verweise angebracht wird. Solche Strategien versuchen, die Anzahl von Seitenschulden zu vermindern, die ein Prozess erfährt. Einige jener Strategien sind, "wenn ein Programm in einer virtueller Adresse Verweise anbringt, die eine Seitenschuld verursacht, vielleicht wird der Wert der nächsten paar Seiten des virtuellen Adressraums bald" verwendet und, "wenn ein großes Programm gerade Ausführung beendet hat, viel freien RAM verlassend, vielleicht wird der Benutzer zum Verwenden von einigen der Programme zurückkehren, die kürzlich paginiert wurden".

Freie Seitenwarteschlange

Die freie Seitenwarteschlange ist eine Liste von Seitenrahmen, die für die Anweisung nach einer Seitenschuld verfügbar sind. Einige Betriebssysteme unterstützen Seitenreklamation; wenn eine Seitenschuld für eine Seite vorkommt, die gestohlen worden war und der Seitenrahmen nie wiederzugeteilt wurde, dann vermeidet das Betriebssystem die Notwendigkeit, die Seite zurück in durch das Zuweisen des unmodifizierten Seitenrahmens zu lesen.

Das Seitendiebstahl

Einige Betriebssysteme suchen regelmäßig nach Seiten, in denen kürzlich nicht Verweise angebracht worden ist und sie zur Freien Seitenwarteschlange, nach der Paginierung sie hinzufügen, wenn sie modifiziert worden sind.

Vorreinigung

Unix Betriebssysteme verwenden regelmäßig Gleichzeitigkeit, um alle schmutzigen Seiten vorzureinigen, d. h. alle modifizierten Seiten zur Festplatte zu sparen. Windows Betriebssysteme macht über "modifizierte" Schriftsteller-Seitenfäden dasselbe.

Vorreinigung macht das Starten eines neuen Programms oder die Öffnung einer neuen Datendatei viel schneller. Die Festplatte kann zu dieser Datei sofort suchen und aufeinander folgend die ganze Datei in vorgereinigte Seitenrahmen lesen. Ohne Vorreinigung wird die Festplatte gezwungen, hin und her zwischen Schreiben eines schmutzigen Seitenrahmens zur Platte und dann Lesen der folgenden Seite der Datei in diesen Rahmen zu suchen.

Dresche

Die meisten Programme erreichen einen unveränderlichen Staat in ihrer Nachfrage nach der Speichergegend sowohl in Bezug auf Instruktionen herbeigeholt als auch in Bezug auf Daten, die zugreifen werden. Dieser unveränderliche Staat ist gewöhnlich viel weniger als das durch das Programm erforderliche Gesamtgedächtnis. Dieser unveränderliche Staat wird manchmal den Arbeitssatz genannt: Der Satz von Speicherseiten, auf die am häufigsten zugegriffen wird.

Virtuelle Speichersysteme arbeiten am effizientesten, wenn das Verhältnis des Arbeitssatzes zur Gesamtzahl von Seiten, die im RAM versorgt werden können, niedrig genug ist, dass die Zeit verausgabte Auflösung von Seitenschulden nicht ein dominierender Faktor in der Leistung des Arbeitspensums ist.

Ein Programm, das mit riesigen Datenstrukturen arbeitet, wird manchmal einen Arbeitssatz verlangen, der zu groß ist, um durch das Seitensystem effizient geführt zu werden, das auf unveränderliche Seitenschulden hinausläuft, die drastisch das System verlangsamen. Diese Bedingung wird Dresche genannt: Seiten werden getauscht und haben dann auf das Verursachen häufiger Schulden zugegriffen.

Eine interessante Eigenschaft der Dresche ist, dass weil der Arbeitssatz wächst, gibt es sehr wenig Zunahme in der Zahl von Schulden bis zum kritischen Punkt (wenn Schulden drastisch steigen und die Mehrheit der in einer Prozession gehenden Macht des Systems für das Berühren von ihnen ausgegeben wird).

Ein äußerstes Beispiel dieser Sorte der Situation ist auf den Reihe-Großrechner-Computern von IBM System/360 Model 67 und IBM System/370 vorgekommen, in denen eine besondere Instruktion aus einer durchführen Instruktion bestehen konnte, die eine Seitengrenze durchquert, dass die Instruktion zu einer Bewegungsinstruktion hinweist, die selbst auch eine Seitengrenze durchquert, eine Bewegung von Daten von einer Quelle ins Visier nehmend, die eine Seitengrenze zu einem Ziel von Daten durchquert, das auch eine Seitengrenze durchquert. Die Gesamtzahl von Seiten, so durch diese besondere Instruktion verwendet, ist acht, und alle acht Seiten müssen im Gedächtnis zur gleichen Zeit da sein. Wenn das Betriebssystem weniger als acht Seiten des wirklichen Gedächtnisses in diesem Beispiel zuteilen wird, wenn es versucht, einen Teil der Instruktion oder Daten zu tauschen, um im Rest zu bringen, wird die Instruktion wieder Schuld paginieren, und es wird auf jedem Versuch verdreschen, die Mangel-Instruktion wiederanzufangen.

Um übermäßige Paginierung zu vermindern, und so vielleicht Dresche-Problem aufzulösen, kann ein Benutzer einigen des folgenden tun:

  • Vergrößern Sie den Betrag des RAM im Computer (allgemein die beste langfristige Lösung).
  • Reduzieren Sie die Anzahl gegen Programme, die auf dem Computer gleichzeitig führen werden.

Der Begriff Dresche wird auch in Zusammenhängen außer virtuellen Speichersystemen gebraucht, um zum Beispiel Probleme des geheimen Lagers in der Computerwissenschaft oder dummes Fenstersyndrom im Netzwerkanschluss zu beschreiben.

Fachsprache

Historisch hat sich Paginierung manchmal auf einen Speicherzuteilungsplan bezogen, der Seiten der festen Länge im Vergleich mit Segmenten der variablen Länge ohne impliziten Vorschlag verwendet hat, dass virtuelle Speichertechniken überhaupt verwendet wurden, oder dass jene Seiten der Platte übertragen wurden.

Solcher Gebrauch ist heute selten.

Einige moderne Systeme gebrauchen den Begriff, der zusammen mit der Paginierung tauscht. Historisch, verwiesen auf das Bewegen von\zu der sekundären Lagerung ein ganzes Programm auf einmal in einem bekannten Schema tauschend, wie/ausrollen hereinströmen.

In den 1960er Jahren, nachdem das Konzept des virtuellen Gedächtnisses - in zwei Varianten, entweder Verwenden-Segmente oder Seiten eingeführt wurde - wurde der tauschende Begriff auf das Bewegen, beziehungsweise, entweder Segmente oder Seiten, zwischen Platte und Gedächtnis angewandt. Heute mit dem virtuellen Gedächtnis, das größtenteils auf Seiten, nicht Segmenten gestützt ist, ist das Tauschen ein ziemlich nahes Synonym der Paginierung, obwohl mit einem Unterschied geworden.

In Systemen, die mit dem Gedächtnis kartografisch dargestellte Dateien unterstützen, wenn eine Seitenschuld vorkommt, kann eine Seite dann oder von jeder gewöhnlichen Plattendatei, nicht notwendigerweise einem hingebungsvollen Raum übertragen werden. Seite darin überträgt eine Seite von der Platte bis RAM. Seite überträgt eine Seite vom RAM bis die Platte. Tausch darin und bezieht sich nur auf überwechselnde Seiten zwischen dem RAM und dem gewidmeten Tausch-Raum oder der Tausch-Datei oder kratzt Speicherplatz und nicht jeden anderen Platz auf der Platte.

Auf gestützten Systemen von Windows NT ist gewidmeter Tausch-Raum als eine Seitendatei bekannt, und Paginierung/tauschen werden häufig austauschbar verwendet.

Durchführungen

Ferranti Atlas

Der erste Computer, um Paginierung zu unterstützen, war der Atlas, der gemeinsam von Ferranti, der Universität Manchesters und Plessey entwickelt ist. Die Maschine hatte ein assoziatives (zufriedenes-addressable) Gedächtnis mit einem Zugang für jede 512 Wortseite. Der Oberaufseher hat Nichtgleichwertigkeitsunterbrechungen behandelt und hat die Übertragung von Seiten zwischen Kern und Trommel geführt, um einen einstufigen Laden Programmen zur Verfügung zu stellen.

Windows 3.x und Windows 9x

Virtuelles Gedächtnis ist eine Eigenschaft von Windows von Microsoft seit Windows 3.0 1990 gewesen. Microsoft hat virtuelles Gedächtnis als Antwort auf die Misserfolge von Windows 1.0 und Windows 2.0 eingeführt, versuchend, Quellenvoraussetzungen für das Betriebssystem aufzuschlitzen.

Verwirrung ist über die Entscheidung des Microsofts im Überfluss, die Tausch-Datei als "virtuelles Gedächtnis" zu kennzeichnen. Mit dem Konzept fremde Anfänger akzeptieren diese Definition ohne Frage, und sprechen davon, die virtuelle Speichergröße von Windows anzupassen. Tatsächlich hat jeder Prozess eine feste, unveränderliche virtuelle Speichergröße, gewöhnlich 2 GB. Der Benutzer hat nur die Auswahl, der Paginierung gewidmete Plattenkapazität zu ändern.

Windows 3.x schafft eine verborgene Datei genannt oder für den Gebrauch als eine Tausch-Datei. Es wird allgemein im Wurzelverzeichnis gefunden, aber es kann anderswohin (normalerweise im WINDOWS-Verzeichnis) erscheinen. Seine Größe hängt ab, wie viel Tausch-Raum das System hat (eine Einstellung, die vom Benutzer unter dem Bedienungsfeld  ausgewählt ist, Erhöht unter dem "Virtuellen Gedächtnis".), Wenn der Benutzer bewegt oder diese Datei löscht, wird ein blauer Schirm das nächste Mal erscheinen, wenn Windows angefangen wird, mit der Fehlermeldung "Ist die dauerhafte Tausch-Datei korrupt". Der Benutzer wird aufgefordert zu wählen, ob man die Datei löscht (ob sie besteht).

Windows 95, Windows 98 und Windows Ich verwenden eine ähnliche Datei, und die Einstellungen dafür werden unter dem Bedienungsfeld  System  Registerkarte Performance  Virtuelles Gedächtnis gelegen. Windows veranlasst automatisch die Größe der Seitendatei, an 1.5&times anzufangen; die Größe des physischen Gedächtnisses, und breitet sich bis zu 3&times aus; physisches Gedächtnis nötigenfalls. Wenn ein Benutzer speicherintensive Anwendungen auf einem System mit dem niedrigen physischen Gedächtnis führt, ist es vorzuziehend, diese Größen auf einen Wert höher manuell zu setzen, als Verzug.

Windows NT

In NT-basierten Versionen von Windows (wie Windows XP, Windows-Aussicht und Windows 7), wird die für die Paginierung verwendete Datei genannt. Die Verzug-Position der Seitendatei ist im Wurzelverzeichnis der Teilung, wo Windows installiert wird. Windows kann konfiguriert werden, um freien Raum auf irgendwelchen verfügbaren Laufwerken für pagefiles zu verwenden. Es, ist jedoch, für die Stiefelteilung (d. h. der Laufwerk erforderlich, der das Windows-Verzeichnis enthält), einen pagefile darauf zu haben, wenn das System konfiguriert wird, um entweder volle oder Kernspeichermüllkippen nach einem Unfall zu schreiben. Windows verwendet die Paginierungsdatei als vorläufige Lagerung für die Speichermüllkippe. Wenn das System neu gestartet wird, kopiert Windows die Speichermüllkippe vom pagefile bis eine getrennte Datei und befreit den Raum, der im pagefile verwendet wurde.

Zersplitterung

In der Verzug-Konfiguration von Windows wird dem pagefile erlaubt, sich außer seiner anfänglichen Zuteilung, wenn notwendig, auszubreiten. Wenn das allmählich geschieht, kann es schwer gebrochen werden, der Leistungsprobleme potenziell verursachen kann. Der allgemeine Rat, der gegeben ist, um das zu vermeiden, ist unterzugehen eine Single hat pagefile Größe "geschlossen", so dass Windows es nicht ausbreiten wird. Jedoch breitet sich der pagefile nur aus, als er gefüllt worden ist, der, in seiner Verzug-Konfiguration, 150 % die Summe des physischen Gedächtnisses ist. So muss die Gesamtnachfrage nach dem pagefile-unterstützten virtuellen Gedächtnis um 250 % des physischen Gedächtnisses des Computers zu weit gehen, bevor sich der pagefile ausbreiten wird.

Die Zersplitterung des pagefile, der vorkommt, wenn es sich ausbreitet, ist vorläufig. Sobald die ausgebreiteten Gebiete nicht mehr im Gebrauch sind (am folgenden Neustart, wenn nicht eher), werden die zusätzlichen Speicherplatz-Zuteilungen befreit, und der pagefile ist zurück zu seinem ursprünglichen Staat.

Die Blockierung einer Seitendateigröße kann im Fall problematisch sein, dass eine Windows-Anwendung um mehr Gedächtnis bittet als die Gesamtgröße des physischen Gedächtnisses und der Seitendatei. In diesem Fall scheitern Bitten, Gedächtnis zuzuteilen, der Anwendungen und Systemprozesse veranlassen kann zu scheitern. Unterstützer dieser Ansicht werden bemerken, dass die Seitendatei selten gelesen oder in der folgenden Ordnung geschrieben wird, so ist der Leistungsvorteil, eine völlig folgende Seitendatei zu haben, minimal. Jedoch wird es allgemein zugegeben, dass eine große Seitendatei Gebrauch von speicherschweren Anwendungen erlauben wird, und es keine Strafe gibt, außer dass mehr Speicherplatz verwendet wird.

Der Extraspeicherplatz kann auf Systemen mit aktuellen Spezifizierungen, d. h. einem System mit 3 GB des Gedächtnisses trivial sein, das eine 6-Gigabyte-Tausch-Datei der festen Größe auf einem Computer mit einem 750-GB-Laufwerk hat, oder ein System mit 6 GB des GB des Gedächtnisses/16 hat Tausch und 2 TB des Speicherplatzes befestigt, in beiden Fällen verwendet das System über 8/10 von 1 % des Speicherplatzes mit der zum Maximum vorerweiterten Tausch-Datei.

Defragmenting die Seitendatei wird auch gelegentlich empfohlen, Leistung zu verbessern, wenn ein Windows-System viel mehr Gedächtnis dauernd verwendet als sein physisches Gesamtgedächtnis. Diese Ansicht ignoriert die Tatsache, dass, beiseite von den vorläufigen Ergebnissen der Vergrößerung, der pagefile gebrochen mit der Zeit nicht wird. Im Allgemeinen werden mit dem pagefile Zugang verbundene Leistungssorgen durch das Hinzufügen von mehr physischem Gedächtnis viel effektiver befasst.

Unix und Systeme von Unix-like

Systeme von Unix und andere Unix ähnliche Betriebssysteme, gebrauchen den Begriff "Tausch", um sowohl die Tat von bewegenden Speicherseiten zwischen RAM und Platte, als auch das Gebiet einer Platte zu beschreiben, auf der die Seiten versorgt werden. In einigen jener Systeme ist es üblich, eine komplette Teilung einer Festplatte zum Tauschen zu widmen. Diese Teilungen werden Tausch-Teilungen genannt. Viele Systeme ließen eine komplette Festplatte dem Tauschen widmen, das vom Datenlaufwerk (En) getrennt ist, nur eine Tausch-Teilung enthaltend. Eine dem Tauschen gewidmete Festplatte wird einen "Tausch-Laufwerk" oder einen "Kratzer-Laufwerk" oder eine "Kratzer-Platte" genannt. Einige jener Systeme unterstützen nur das Tauschen zu einer Tausch-Teilung; andere unterstützen auch das Tauschen zu Dateien.

Linux

Aus einem Softwaregesichtspunkt mit dem 2.6 Kern von Linux sind Tausch-Dateien genauso schnell wie Tausch-Teilungen. Der Kern behält eine Karte dessen, wo die Tausch-Datei besteht, und auf die Platte direkt zugreift, das Verstecken und filesystem oben umgehend. Roter Hut empfiehlt, eine Tausch-Teilung zu verwenden. Mit einer Tausch-Teilung kann man wählen, wo auf der Platte sie wohnt und legen Sie sie, wo der Plattendurchfluss am höchsten ist. Die Verwaltungsflexibilität von Tausch-Dateien kann die anderen Vorteile von Tausch-Teilungen überwiegen. Zum Beispiel kann eine Tausch-Datei auf jedem Laufwerk gelegt werden, kann auf jede gewünschte Größe gesetzt werden, und kann hinzugefügt oder wie erforderlich, geändert werden. Eine Tausch-Teilung verlangt jedoch, dass sie für die komplette Festplatte gesetzt wird, und für die meisten Festplatten es ein Maximum von 4 Teilungen gibt, und sobald die Größe einer Tausch-Teilung gesetzt wird, kann sie nicht geändert werden, ohne Werkzeuge zu verwenden, um den kompletten Laufwerk in der Größe anzupassen. Außerdem, wenn der besondere Computer beabsichtigt ist, um mehr als ein Betriebssystem zu führen (ein Prozess genannt Mehrstiefel), vermindert es die Anzahl von Systemen, die auf dieser Maschine verwendet werden können.

Unterstützungen von Linux mit einer eigentlich unbegrenzten Zahl von tauschenden Geräten, von denen jedes ein Vorrang zugeteilt werden kann. Wenn das Betriebssystem Seiten aus dem physischen Gedächtnis tauschen muss, verwendet es das Gerät des höchsten Vorrangs mit dem freien Raum. Wenn vielfache Geräte derselbe Vorrang zugeteilt werden, werden sie nach einer ÜBERFALL-Maßnahmen des Niveaus 0 ähnlichen Mode verwendet. Das stellt verbesserte Leistung zur Verfügung, so lange auf die Geräte effizient in der Parallele zugegriffen werden kann. Deshalb sollte Sorge genommen werden, die Prioritäten zuteilend. Zum Beispiel sollte auf derselben physischen Platte gelegener Tausch nicht in der Parallele, aber in der Ordnung im Intervall vom schnellsten zum langsamsten verwendet werden (d. h.: Den höchsten Vorrang schnellst zu haben).

Mac OS X

Mac OS X verwendet vielfache Tausch-Dateien. Der Verzug (und Apfelempfohlen) Installation legt sie auf der Wurzelteilung, obwohl möglich ist, sie stattdessen auf einer getrennten Teilung oder Gerät zu legen.

Solaris

Solaris erlaubt, zu rohen Plattenscheiben sowie Dateien zu tauschen. Die traditionelle Methode ist, Scheibe 1 (d. h. die zweite Scheibe) auf der OS Platte zu verwenden, um Tausch aufzunehmen.

Tausch-Einstellung wird durch den Systemstiefelprozess geführt, wenn es Einträge in der "vfstab" Datei gibt, aber auch manuell durch den Gebrauch des "Tausch"-Befehls geführt werden kann. Während es möglich ist, an der Durchlaufzeit, dem ganzen Tausch von einem leicht geladenen System umzuziehen, empfiehlt Sonne es nicht.

Neue Hinzufügungen zum ZFS Dateisystem erlauben Entwicklung von ZFS Geräten, die als Tausch-Teilungen verwendet werden können. Das Tauschen zu normalen Dateien auf ZFS Dateisystemen wird nicht unterstützt.

AmigaOS 4

AmigaOS 4.0 hat ein neues System eingeführt, um RAM und defragmenting physisches Gedächtnis zuzuteilen. Es verwendet noch geteilten Adressraum der Wohnung, der defragmented nicht sein kann. Es basiert auf der Plattenzuteilungsmethode und dem Paginierungsgedächtnis, das erlaubt zu tauschen. Paginierung wurde in AmigaOS 4.1 durchgeführt, aber kann System abschließen, wenn das ganze physische Gedächtnis verbraucht wird. Tausch-Gedächtnis konnte aktiviert und jeden Moment ausgeschaltet werden, dem Benutzer erlaubend, zu beschließen, nur physischen RAM zu verwenden.

Leistung

Der sich rückwärts bewegende Laden für ein virtuelles Gedächtnis Betriebssystem ist normalerweise viele Größenordnungen langsamer als RAM. Zusätzlich führt das Verwenden mechanischer Speichergeräte Verzögerung, mehrere Millisekunden für eine Festplatte ein. Deshalb ist es wünschenswert, das Tauschen, wo praktisch, zu reduzieren oder zu beseitigen. Einige Betriebssysteme bieten Einstellungen an, um die Entscheidungen des Kerns zu beeinflussen.

  1. Linux bietet den Parameter an, der das Gleichgewicht zwischen dem Tauschen des Laufzeitgedächtnisses im Vergleich mit fallenden Seiten vom geheimen Systemseitenlager ändert.
  2. Windows 2000, XP und Aussicht bieten die Registrierungseinstellung an, die kontrolliert, ob Kernweise-Code und Daten für die Paginierung berechtigt sein können.
  3. Großrechner-Computer haben oft Laufwerke des Kopfs-pro-spurig oder Trommeln für die Seite und Tausch-Lagerung verwendet, um Positionierungszeit und mehrere Technologien zu beseitigen, um vielfache gleichzeitige Bitten zu demselben Gerät zu haben, um Rotationslatenz zu reduzieren.
  4. Blitz-Gedächtnis hat eine begrenzte Zahl von Löschen-Schreibzyklen, (sieh Beschränkungen des Blitz-Gedächtnisses), und die kleinste Datenmenge, die sofort gelöscht werden kann, könnte (128 KiB für Intel X25-M SSD) sehr groß sein, selten mit pagesize zusammenfallend. Deshalb kann sich Blitz-Gedächtnis, schnell wenn verwendet, als Tausch-Raum unter dichten Speicherbedingungen abnutzen. Auf der attraktiven Seite ist Blitz-Gedächtnis praktisch delayless im Vergleich zu Festplatten, und nicht flüchtig als RAM-Chips. Schemas wie ReadyBoost und Intel Turbo Memory werden gemacht, diese Eigenschaften auszunutzen.

Viele Unix ähnliche Betriebssysteme (zum Beispiel AIX, Linux und Solaris) erlauben, vielfache Speichergeräte für den Tausch-Raum in der Parallele zu verwenden, Leistung zu vergrößern.

Die Einstimmung der Tausch-Raumgröße

In etwas älterem virtuellem Gedächtnis Betriebssysteme wird der Raum im Tausch-Unterstützungsladen vorbestellt, wenn Programme Gedächtnis für Laufzeitdaten zuteilen. OS Verkäufer geben normalerweise Richtlinien darüber aus, wie viel Tausch-Raum zugeteilt werden sollte.

Zuverlässigkeit

Das Tauschen kann Systemzuverlässigkeit um einen Betrag vermindern. Wenn getauschte Daten auf der Platte verdorben werden (oder an jeder anderen Position, oder während der Übertragung), wird das Gedächtnis auch falschen Inhalt haben, nachdem die Daten später zurückgegeben worden sind.

Das Wenden von Grenzen auf 32-Bit-Hardware

Paginierung ist eine Weise, der Größe der Adressen zu erlauben, die durch einen Prozess — der "virtuelle Adressraum des Prozesses" oder "logischer Adressraum" verwendet sind - vom Betrag des Hauptgedächtnisses wirklich verschieden zu sein, das auf einem besonderen Computer — der physische Adressraum installiert ist.

Hauptgedächtnis, das kleiner ist als virtuelles Gedächtnis

In den meisten Systemen ist die Größe eines virtuellen Adressraums eines Prozesses viel größer als das verfügbare Hauptgedächtnis.

In diesen Systemen ist der Betrag des durch einen Prozess verwendeten Hauptgedächtnisses, höchstens, der Betrag des physischen verfügbaren Hauptgedächtnisses.

Der Betrag des physischen verfügbaren Hauptgedächtnisses wird durch die Zahl von Adressbit auf dem Adressbus beschränkt, der die Zentraleinheit mit dem Hauptgedächtnis — zum Beispiel, die 68000 Zentraleinheit und die i386SX Zentraleinheit, verbindet

beide verwenden innerlich virtuelle 32-Bit-Adressen,

aber beide haben nur 24 mit dem Adressbus verbundene Nadeln, beschränkend, an an den meisten 16 Mb des physischen Hauptgedächtnisses richtend.

Sogar auf Systemen, die derselbe oder mehr physische Adressbit als virtuelle Adressbit häufig haben, ist der wirkliche Betrag des physischen installierten Hauptgedächtnisses viel weniger als die Größe, die aus Finanzgründen potenziell gerichtet werden kann, oder weil die Hardware-Adresstabelle große Gebiete für die Eingabe/Ausgabe oder anderen Hardware-Eigenschaften vorbestellt, so kann Hauptgedächtnis nicht in jene Gebiete gelegt werden.

Hauptgedächtnis dieselbe Größe wie virtuelles Gedächtnis

Es ist ziemlich üblich, 32-Bit-Computer mit 4 GB des RAM, der maximale Betrag addressable ohne den Gebrauch, z.B, PAE zu finden. Für einige Maschinen, z.B, IBM S/370 in der XA Weise, war das obere Bit nicht ein Teil der Adresse und nur 2 GB konnte gerichtet werden.

Paginierung und Tausch-Raum können außer dieser 4-GB-Grenze, wegen seiner verwendet werden, in Bezug auf Plattenpositionen aber nicht Speicheradressen gerichtet werden.

Während 32-Bit-Programme auf Maschinen mit geradlinigen Adressräumen fortsetzen werden, auf das 4 GB beschränkt zu werden, sind sie zum Wenden fähig, weil sie jeder besteht in ihrem eigenen virtuellen Adressraum, einer Gruppe von Programmen, außer dieser Grenze zusammen wachsen können.

Die Größe der kumulativen Summe von virtuellen Adressräumen wird noch durch die Zahl von "Prozess-ID-Bit beschränkt, die" im Seitentisch unterstützt sind.

Auf Maschinen mit Segment-Registern, z.B, den Zugriffsregistern auf IBM System/370 in der ESA Weise, wird die Adressraum-Größe nur durch OS Einschränkungen, z.B, das Bedürfnis beschränkt, die kartografisch darstellenden Tische die verfügbare Lagerung einzubauen.

Hauptgedächtnis, das größer ist als virtueller Adressraum

Einige Computer haben ein Hauptgedächtnis, das größer ist als der virtuelle Adressraum eines Prozesses,

solcher als Magischer 1,

einige PDP-11 Maschinen,

und ungefähr 32 Bit Verarbeiter mit der Physischen Adresserweiterung.

Das macht den Hauptvorteil des virtuellen Gedächtnisses, ungültig

da ein einzelner Prozess mehr Hauptgedächtnis nicht verwenden kann als der Betrag seines virtuellen Adressraums.

Solche Systeme verwenden häufig Paginierungstechniken, um sekundäre Vorteile zu erhalten:

  • Das "Extragedächtnis" kann im geheimen Seitenlager verwendet werden, um oft verwendete Dateien und metadata wie Verzeichnisinformation von der sekundären Lagerung zu verstecken.
  • Mit einem Verarbeiter, der vielfache virtuelle Adressräume (normalerweise durch das Verwenden "von Prozess-ID-Bit") unterstützt, kann das "Extragedächtnis" verwendet werden, um mehr Prozesse zu führen. Paginierung erlaubt der kumulativen Summe von virtuellen Adressräumen, physisches Hauptgedächtnis zu überschreiten.

Die Größe der kumulativen Summe von virtuellen Adressräumen wird noch durch die Zahl von "Prozess-ID-Bit beschränkt, die" im Seitentisch, oder durch den Betrag der sekundären verfügbaren Lagerung unterstützt sind.

Siehe auch

Geheimes
  • Seitenlager, ein geheimes Plattenlager, das virtuellen Speichermechanismus verwertet
  • Seitenersatzalgorithmus
  • Segmentation (Gedächtnis)
  • Seitengröße
  • Seitentisch
  • Speicherzuteilung

Zeichen

Außenverbindungen

,

Luftgeorgisch / Louis L'Amour
Impressum & Datenschutz