Softwarebremse

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Eine Softwarebremse ist ein Computerprogramm, das dazu dient, die Ausführgeschwindigkeit anderer Programme herabzusetzen. Daher muss das ausführende Computersystem in der Lage sein, mehrere Programme auf einem CPU-Kern abzuwickeln. Softwarebremsen können meist im Grad ihrer Systembremsung angepasst werden.[1]

Notwendigkeit[Bearbeiten]

Hauptsächlich bei älteren DOS-Spielen wurden häufig Mechanismen angewandt, welche direkt vom Systemtakt abhängig waren. Dies führte dazu, dass ein Programm, welches z. B. für einen 286er Prozessor mit 8 Mhz geschrieben wurde bei einem CPU der gleichen Baureihe mit höherer Taktrate entsprechend schneller lief. Bei 16 Mhz wäre die Geschwindigkeit doppelt so hoch gewesen, was für die reine Datenverarbeitung wünschenswert ist. Wenn dadurch allerdings auch für die Benutzerinteraktion die gleiche Beschleunigung notwendig ist, führt dies dazu, dass die Programme nicht mehr wie vorgesehen benutzt werden können.

Reichten zu Beginn die Turbo-Taste für die gewünschte Verringerung der Rechenleistung aus, um die Abwärtskompatibilität zu gewährleisten, musste aufgrund der Vielfalt an Prozessoren und schnellen Leistungssteigerung zunehmend Softwarelösungen eingesetzt werden. Diese Software belastet die Systemressourcen künstlich und führte damit zu einer Verringerung der Leistung.

Moderne Computerprogramme synchronisieren ihre Ausführgeschwindigkeit, wenn notwendig, fast ausnahmslos über systemtaktunabhängige Timer oder Synchronisationsmechanismen des Betriebssystems.

Da Programme, die ohne Softwarebremse auf modernen Computersystemen nicht benutzbar sind, auf Grund der mangelnden Kompatibilität zu jetzigen Betriebssystemen meist ohnehin nicht lauffähig wären, werden solche Programme zunehmend in virtuellen Maschinen ausgeführt. Deren Konfigurationsumfang macht Softwarebremsen oft überflüssig.

Technik[Bearbeiten]

Es gibt folgende Ansätze für Softwarebremsen:

Bremsung durch rechenintensive Programme
Erstens kann durch das Ausführen von rechenintensivem Programmcode die Leistungsfähigkeit des Systems deutlich verringert werden. An die Instruktionen, die dazu verwendet werden, bestehen prinzipiell keine speziellen Anforderungen. Je nachdem auf welcher Hardware eine Software gebremst werden soll, kann es notwendig werden, deren speziellen Eigenschaften zu berücksichtigen. Beispielsweise ist es nicht unerheblich, ob mehrere parallele Prozessorkerne existent sind. Jede weitere parallel laufende Anwendung ist aber in diesem Fall ein Störfaktor bei der Konstanthaltung der dem zu bremsenden Programm zur Verfügung stehenden Rechenleistung.
Das Herabsetzen der Systemleistung durch eine derartige Softwarebremse steht eigentlich im Widerspruch zu einer ökonomischen Gerätenutzung.
Zuweisung von Ressourcen an andere Anwendungen
Als zweite Möglichkeit kann eine Softwarebremse über das Betriebssystem einer anderen Anwendung feste Ressourcen zuweisen. Dies hat den Vorteil, dass kaum Rechenleistung verschwendet wird. Häufig benötigt die Softwarebremse dazu jedoch besondere Systemrechte.

Verzögerungsschleifen können ebenfalls zur Verlangsamung eingesetzt werden, müssen aber im Gegensatz zu Softwarebremsen als integraler Bestandteil in das zu bremsende Programm eingebaut werden.

Siehe auch[Bearbeiten]

Weblinks[Bearbeiten]

Einzelnachweise[Bearbeiten]

  1. http://www.sierrahelp.com/Utilities/SlowdownUtilities.html Verschiedene Beispiele (engl.)