webentwicklung-frage-antwort-db.com.de

Was ist dreschen? Warum tritt es auf?

In einem Betriebssystem hängt das Thrashing mit der Speicherverwaltung zusammen. Warum wird geschlagen? Wie können wir das verhindern?

Ich habe Wikipedia überprüft (aber ich brauche ein einfaches Verständnis).

31
user2803850

In Betriebssystemen, die einen virtuellen Speicherbereich implementieren, weisen die Programme Speicher aus einem Adressraum zu, der viel größer sein kann als der tatsächliche Umfang von RAM das System besitzt. Das Betriebssystem ist verantwortlich für die Entscheidung, welche Programme " memory "befindet sich im eigentlichen RAM. Es benötigt einen Platz, an dem Dinge aufbewahrt werden können, während sie" draußen "sind. Dies wird als" Swap Space "bezeichnet, da das Betriebssystem die Dinge nach Bedarf ein- und auslagert. Wenn diese Auslagerungsaktivität auftritt, z dass it der Hauptverbraucher der CPU-Zeit ist, dann dreschen Sie effektiv. Sie verhindern dies, indem Sie weniger Programme ausführen, Programme schreiben, die den Speicher effizienter nutzen, und RAM = an das System, oder vielleicht sogar durch Erhöhen der Swap-Größe.

Ein Seitenfehler tritt auf, wenn der angeforderte Speicherzugriff (aus dem virtuellen Adressraum) nicht auf etwas im RAM abgebildet wird. Anschließend muss eine Seite von RAM zum Auslagern gesendet werden, damit die angeforderte neue Seite vom Auslagerungsspeicher in den Arbeitsspeicher übertragen werden kann. Wie Sie sich vorstellen können, 2 Festplatten-E/As für ein RAM gelesen wird tendenziell ziemlich schlechte Leistung.

36
aet

Thrashing Dies ist ein Zustand, in dem unsere CPU weniger 'produktive' Arbeit leistet und mehr 'austauscht'. Die CPU ist so sehr mit dem Auslagern von Seiten beschäftigt, dass sie nicht wie erforderlich auf das Benutzerprogramm reagieren kann. Warum es auftritt In unserem System tritt Thrashing auf, wenn sich zu viele Seiten in unserem Speicher befinden und jede Seite auf eine andere verweist Seite. Der reale Speicher hat eine geringere Kapazität, um alle Seiten aufzunehmen, sodass der virtuelle Speicher verwendet wird. Wenn jede Seite in Ausführung diese Seite anfordert, die sich derzeit nicht im realen Speicher (RAM) befindet, werden einige Seiten im virtuellen Speicher abgelegt und die erforderliche Seite im RAM angepasst. Wenn die CPU bei dieser Aufgabe sehr beschäftigt ist, kommt es zu Thrashing.

11
Sehrish Akram

Ich weiß, dass diese Frage schon lange gestellt wurde, aber ich wollte nur Informationen mit anderen teilen.

Der Begriff Thrashing bezieht sich eigentlich auf den virtuellen Speicher, den ein Betriebssystem verwendet, um den Prozessen zusätzlichen Speicher oder Speicherplatz zur Verfügung zu stellen. Was unter Thrashing eigentlich zu verstehen ist, ist, dass, wenn der Prozess bereit ist, in den Speicher geladen zu werden, nur wenige oder einige Seiten (Teile) des Prozesses in den tatsächlichen physischen Speicher geladen werden und sich der Rest im Swap befindet -space (der virtuelle Speicher oder die Festplatte).

Wenn nun die Seite, die der Prozess ausführen muss, nicht in den Speicher geladen ist, wird ein Seitenfehler generiert und das Betriebssystem aufgefordert, die Seite zu ersetzen. Hier setzt der Prozess seine Ausführung fort.

Manchmal wird die durch das Betriebssystem ersetzte Seite erneut vom Prozess benötigt, weshalb das Betriebssystem erneut aufgefordert wird, sie in den Speicher zu laden, eine andere Seite zu ersetzen usw. Da der Prozess nicht ausgeführt wird, ist die CPU-Auslastung 0. Das Lesen und Schreiben auf der Festplatte ist jedoch am höchsten.

Unsere Betriebssysteme sind so konzipiert, dass sie bei abnehmender CPU-Auslastung einen weiteren Prozess im Speicher auslösen. Der nächste Prozess muss jetzt warten, da der erste Prozess beschäftigt ist. Da die CPU nicht ausgelastet ist oder 0 ist (in unserem Beispiel), leitet das Betriebssystem einen anderen Prozess ein, und dasselbe passiert.

Daher sinkt die CPU-Auslastung auf ein extremes Minimum, während die Prozesse lesen und schreiben (die Seiten tauschen). Das nennt man Thrashing!

7
user4435781

Logische Adressen werden von der CPU generiert, bei denen es sich zwar nicht um einen realen Speicherort handelt, ein Prozess jedoch denkt, dass es sich um den tatsächlichen Speicherort handelt. Ein vollständiger Prozess ist in verschiedene Teile unterteilt, die in Seiten im logischen Speicher gespeichert sind, aber nur Teilbereichen oder nur einigen Seiten wird tatsächlicher Speicher zur Ausführung zugewiesen, der zu diesem Zeitpunkt erforderlich ist, während sich andere Seiten im logischen Speicher befinden und nicht zugewiesen werden eine physikalische Adresse. Wenn nun andere Seiten geladen werden müssen und es nicht genügend Rahmen gibt, um ihn zuzuweisen, tritt ein Interrupt auf, der einen Seitenfehler verursacht, und ein Ersetzungsalgorithmus ist erforderlich, um einige Seiten aus Rahmen zu entfernen und die aktuelle Seite zu laden.

Angenommen, es sind nicht genügend Frames vorhanden, um die Anforderungen für alle Seiten zu erfüllen, die geladen werden müssen. Dann muss der entfernte Frame erneut geladen werden, und es tritt erneut ein Seitenfehler auf. Das geht in Schleife. In der Zwischenzeit ist die CPU-Auslastung niedrig, da der Prozess nicht ausgeführt werden kann, und der Dispatcher lädt mehr Prozesse in die CPU, was das Szenario noch weiter verschlechtert.

Dieser Vorgang wird als Thrashing bezeichnet. Thrashing tritt im Allgemeinen auf, wenn einem Prozess nicht genügend Frames zugeordnet sind, als benötigt werden.

Möglichkeiten, um Schläge zu vermeiden:

  1. weisen Sie den Mid-Term-Scheduler an, einen Teil des Prozesses auszutauschen, um sich vom Thrashing zu erholen
  2. anweisen des Dispatchers, nach einem Schwellenwert keine weiteren Prozesse zu laden
3
Sneh Shikhar

Das Betriebssystem verwendet das Konzept des virtuellen Speichers, um Speicher bereitzustellen, der zu Zeiten verarbeitet werden soll, in denen der Hauptspeicher voll ist, und um eingehenden Prozessen Speicherplatz zur Verfügung zu stellen. Dieser Mechanismus der Verwendung von virtual memory Als Ersatzspeicher ist abstrakt und der Benutzer erfährt nicht, was dahinter steckt. Dem Benutzer erscheint, dass der neue Prozess, den er gerade ausgeführt hat, Platz im main memory hat.

Um eingehende Prozesse im Hauptspeicher unterzubringen, müssen die inaktiven Prozesse im Hauptspeicher in den virtuellen Speicher verschoben werden. Diese Verschiebung vom Hauptspeicher in den virtuellen Speicher erfolgt, wenn page fault Auftritt.

Jetzt kommt es zum Prügeln.

Wenn der operating system Einen solchen page replacement algo Verwendet, bei dem eine hohe Wahrscheinlichkeit für das Auftreten von page fault Besteht, wird ein Großteil des CPU-Zyklus durch das Hin- und Herwechseln von Seiten zwischen main memory Und virtual memory. Dies unterdrückt die CPU-Leistung. Dieser Prozess der Verschlechterung der CPU-Leistung aufgrund des Auftretens einer großen Anzahl von Seitenfehlern wird als Thrashing. Bezeichnet.

0
a874

In einem virtuellen Speichersystem ist Thrashing das übermäßige Austauschen von Datenseiten zwischen Speicher und Festplatte, wodurch die Anwendung langsamer reagiert. Die virtuelle Speicherfunktion verfolgt die Seitennutzung und speichert häufig verwendete Seiten so weit wie möglich.

0
ansar khan

Thrashing ist ein Zustand, in dem unsere CPU weniger 'produktive' Arbeit leistet und mehr 'tauscht'. Die CPU ist so sehr mit dem Auslagern von Seiten beschäftigt, dass sie nicht wie erforderlich auf das Benutzerprogramm reagieren kann. Warum es auftritt: In unserem System tritt Thrashing auf, wenn zu viele Seiten in unserem Speicher sind und jede Seite auf eine andere Seite verweist. Der reale Speicher hat eine geringere Kapazität, um alle Seiten aufzunehmen, sodass der virtuelle Speicher verwendet wird. Wenn jede Seite in Ausführung diese Seite anfordert, die sich derzeit nicht im realen Speicher (RAM) befindet, werden einige Seiten im virtuellen Speicher abgelegt und die erforderliche Seite im RAM angepasst. Wenn die CPU bei dieser Aufgabe sehr beschäftigt ist, kommt es zu Thrashing. Zum Beheben von Thrashing können Sie die folgenden Vorschläge ausführen: * Erhöhen Sie die Menge von RAM im Computer. * Verringern Sie die Anzahl der auf dem Computer ausgeführten Programme. * Passen Sie die Größe des Swap an Datei.

0
abi

Speicher-Thrashing ist ein Problem, das auftritt, wenn dem Speicher mehr als der physische Speicher zugewiesen ist und er im System nicht verfügbar ist. Um zu wissen, was los ist, müssen Sie zuerst über Auslagerungs- und Seitenfehler informiert sein. Beginnen wir also mit diesen Konzepten: Seitenfehler und Auslagerung: - Ein Seitenfehler tritt auf, wenn der angeforderte Speicherzugriff (aus dem virtuellen Adressraum) nicht auf etwas im RAM abgebildet wird. Anschließend muss eine Seite von RAM zum Auslagern gesendet werden, damit die angeforderte neue Seite vom Auslagerungsspeicher in den Arbeitsspeicher übertragen werden kann. Dies führt zu 2 Datenträger-E/As. Jetzt kennen Sie möglicherweise den Datenträger I/Os sind im Vergleich zum Speicherzugriff sehr langsam.

Um zu wissen, was Memory Thrashing ist, klicken Sie bitte auf den folgenden Link:

http://www.firmcodes.com/memory-thrashing-in-operating-system/

0
Mohit Rohilla