Skip to main content

Was ist falsches Teilen?

Falsches Teilen ist eine Situation, die in einem Computerprogramm auftreten kann, wenn zwei Anwendungen, die gleichzeitig ausführen, in derselben logischen Speicherregion zugreifen, die jedes Programm oder Prozess in seinem eigenen Cache gespeichert hat.Die Daten in den Cache jeder Anwendung werden aus einer gemeinsamen Quelle kopiert, sodass das Ändern eines Cache dazu führt, dass das andere aus der Quelle neu geladen werden muss.Der falsche Aspekt der Freigabe entsteht, wenn sich die Änderungen an der Cache -Linie von einem Programm nicht auf die von dem zweiten Programm verwendeten Daten auswirken. In diesem Fall ist es eine Verschwendung von Systemressourcen und kann sich negativ auswirkenDie Leistung des Programms.Das Problem der falschen Freigabe ist schwer zu erkennen, da es sich nicht um ein direktes Ergebnis eines in den Anwendungen enthaltenen Codes handelt, obwohl es wirksame Möglichkeiten gibt, falsche Freigaben zu verhindern, z..

Einer der Hauptgründe, warum eine falsche Freigabe auftreten kann, finden Sie in der Art und Weise, wie ein Betriebssystem oder Hardware das Lesen und Schreiben von Daten verarbeitet.Wenn Informationen von einer Festplatte oder einer anderen Quelle von einem Programm gelesen oder verfasst werden, wird normalerweise in einen temporären Cache geladen, sodass schnell zugegriffen werden kann.Die Menge an Informationen, die aus dem Quellort zwischengespeichert werden, wird als Cache -Zeile bezeichnet und ist ein logischer Speicherblock, der normalerweise zwischen 2 Bytes und 256 Bytes liegen kann.Unter einigen Betriebssystemen oder Systemarchitekturen können Programme gleichzeitig ausgeführt werden, z. B. in der parallelen Verarbeitung.Dies bedeutet, dass zwei separate Programme versuchen können, in derselben Cache -Zeile auf Informationen zuzugreifen, sodass jedes Programm eine eigene Kopie der Quelldaten enthält, wodurch Änderungen in einem Cache nicht im anderen Cache reflektiert werden können, was die ungültig machtDaten, die es hält.

Es gibt eine Reihe von Mechanismen, die zur Bearbeitung der Situation verwendet werden, wenn zwei Programme versuchen, auf die gleiche Cache -Linie zuzugreifenhat geändert.Diese Art von Vorfall wird als falsche Freigabe bezeichnet, wenn die Daten in der Cache -Zeile, auf die jedes Programm zugegriffen wird, nicht miteinander verbunden ist. Daher ist das Erzwingen eines Programms zum Nachladen des Cache eine Verschwendung von Verarbeitungsleistung und anderen Ressourcen.Dies ist am häufigsten ein Problem für ein Programm, das die Informationen niemals in seinem Cache ändern wird. Daher besteht kein Risiko, dass die Überschreibung des Anwendungen den anderen Prozess erfolgt.Teilen.Das erste besteht darin, vor oder nach den Daten im Speicher leere Informationen hinzuzufügen und sie im Wesentlichen in eine separate Cache -Zeile zu zwingen, auf die nicht von einem anderen Programm zugegriffen wird.Die zweite Methode besteht darin, die Häufigkeit des Lesens und Schreibens in die Cache -Zeile einzuschränken, damit sie so wenig wie möglich neu geladen wird.Komplexere Lösungen umfassen das Management auf Cache-Ebene oder sogar Änderungen an der Umstellung eines Betriebssystems.