Erklären CPU-Cache-Paging in FreeBSD, speziell Paging-Warteschlangen
-
12-09-2019 - |
Frage
FreeBSD implementiert Seite Färbung mit Paging-Warteschlangen. Die Warteschlangen sind angeordnet, entsprechend der Größe des Prozessor des L1 und L2-Cache; und wann eine neue Seite zugewiesen werden muss, FreeBSD versucht, eine, die ist optimal für den Cache ausgerichtet ist.
Kann jemand bitte die oben genannten Linien erklären, was ist das Konzept der Paging-Warteschlangen?
Danke!
Lösung
Betriebssysteme haben die Größe des CPU-Caches, um die Verwaltung zu reduzieren Cache-Misses ( auch erklärt Seite Färbung). Einfacher ausgedrückt, die in den Cache-Speicher gespeicherten Daten (in so genannten Seiten) sorgfältig basierend auf gewählt werden muss, wie oft er verwendet wird, ob es wahrscheinlich ist, bald wieder verwendet werden soll, und wie ‚teuer‘ es die wieder abrufen wäre Daten aus dem Hauptspeicher / HD / SomeOtherDevice. Diese Entscheidungen sind wichtig in Anwendungen, bei denen die Speicherbandbreite ist ein Engpass.
Diese Art der Sache ist häufig mit einer Prioritätswarteschlange durchgeführt, die die Paging-Ersetzungsstrategie durch den OS-Entwickler ausgewählt implementiert. Diese Warteschlangen bestimmen, welche Seiten ersetzt werden, wenn neue Daten in den Cache bewegt und wo die Daten im Cache befinden. Sie sollten FreeBSD-Dokumentation, wenn Sie möchten, um herauszufinden, welche Strategie verwendet wird.
Zur Ausrichtung werden die Daten in dem Cache-Speicher (oder in dem Hauptspeicher) zu bestimmten Grenzen um werden muss platziert gestartet effizient zugegriffen werden soll (das heißt in ein CPU-Register bewegt werden). Wenn die Daten nicht ausgerichtet ist, zusätzliche Berechnung benötigt wird, um es auszurichten.