Was ist "Priorität festlegen" bei Windows 7 >> Taskmanager

7 Antworten

Das alles klingt recht schön, ist aber leider etwas ungenau. Höhere Priorität bedeutet zwar nicht direkt Leistungsverteilung, denn es wird keine Rechenleistung proportional zur Priorität vergeben. Dennoch bedeuten bestimmte Prioritätsklassen, dass im Endeffekt einem Prozess mehr oder weniger Resourcen zur Verfügung stehen. Je nachdem, ob es sich um I/O- oder CPU-gebundene Prozesse handelt, können die Auswirkungen bestimmter Prioritäten ganz unterschiedlich sien.

Was hier als "Umleitungen" beschrieben wird sind in der Tat Unterbrechungen des Programmablaufs, um die Behandlung interner oder externe Ereignisse zu ermöglichen. Wie genau, das wird über Prioritätsklassen geregelt. Dabei geht es nicht nur darum, welchem Programm ein externer Interrupt (so heißen die Unterbrechungen eigentlich) zugeordnet wird, sondern ob diese z.B. ignoriert werden und, in der Tat, wann ein CPU-gebundener Prozess zum Zuge kommt. Die Zuordung der Tastatureingabe ist eigentlich eher eine Sache der Programmlogik (der Interruptroutine) und weniger eine Sache der Priorität.

Selbst wenn man einen Prozess auf "höchste Priorität" setzt, sollten Systemprozesse eigenlich sicher sein, andere Programme könnten aber sehr langsam werden oder hängen. Setzt man hingegen die Priorität auf "Echtzeit", dann werden externe Interrupts blockiert und das System reagiert mitunter nicht mehr. Das macht allenfalls für zeitkritische Anwendungen wie Steuerungssysteme Sinn, und diese beinhalten im Allgemeinen eigene Prozeduren, mit denen man in das System eingreifen kann.

Genaueres über die Prioritätsklassen, leider auf englisch, findest Du hier: http://msdn.microsoft.com/en-us/library/windows/desktop/ms685100(v=vs.85).aspx

Was hier mehrfach falsch Angenommen wird, dass es sich bei der Priorität der Programme um die Leistungsverteilung handelt.

Tatsächlich funktionieren unsere Systeme aus einem Netz von Unterbrechungen (Umleitungen, wenn du es so willst). Ein Programm wird stets von Anfang bis Ende ausgelesen, es sei denn es beinhaltet eine Umleitung auf eine andere Stelle oder Subprogramm. Wenn du zB einen Befehl erteilst (wie eine Tastatureingabe), so reagieren gleichzeitig mehrere im Hintergrund laufende Programme auf diesen Befehl, vorausgesetzt es steht natürlich in ihrem Code.

Welches aber zuerst reagieren darf, wird heute von der Priorität geregelt:

Bei den allerersten Systemen galt - das allerletzte geladene Programm darf zuerst reagieren.

Bei modernen Systemen sind die meisten Programme gleichberechtigt und werden vom Betriebssystem dazu autorisiert eine Aktion durchzuführen. Bei Windows 7 zB wählt das System immer das im Vordergrund laufendes Programm als erstes aus. Du kannst aber als Nutzer einzelne Prioritäten höher oder tiefer ansetzen, sodass andere Programme benachteiligt / höher gewertet werden. Damit änderst du nicht direkt die Leistungsverteilung(!), die einem einzelnen Programm zusteht, sondern setzt die Ausführung dessen Prozesse an höhere/tiefere Stelle. Damit reagiert das Programm dementsprechend schnell oder langsam, da dessen Anfragen vom Prozessor an verschiedenen Takten bearbeitet werden.

Aufpassen:

Wenn du ein Programm tiefer ansetzt als normal, wird es sehr langsam oder kaum reagieren, da es kaum Prozessortakte abbekommt. (Nur ratsam, wenn ein Prozess laufen muss, aber einen anderen bei der Ausführung stört!)

Wenn du eine höhere Priorität für etwas ansetzt, solltest du genau wissen, dass es auf keine laufenden Systemprozesse angewiesen ist. Denn dadurch machst du die Programmfolge kaputt und könntest im schlimmsten Fall einen Systemabsturz oder Freeze erreichen. (Grundsätzlich ist das hochsetzen einer Priorität in neuen Systemen NUR ratsam, wenn es nicht anders geht - was kaum der Fall ist. Win7 geht mit der Prioritätsreihenfolge sehr intelligent um und bedarf in diesem Sinne keine Hilfe.)

Ich kann dir zuletzt nur raten Prioritäten niemals dauerhaft zu verändern! Im Taskmanager wird die Priorität eines Prozesses nur für die laufende Sitzung geändert - wenn du hierbei einen Fehler machst, ist es nicht so schlimm, da nach dem Neustart die Standardeinstellungen wiederherstellt werden.


Reborn11  09.02.2016, 13:22

Eine Frage ^^ unszwar kann was passieren wenn ich ein bestimmtes Spiel/Programm eine höhere Priorität zulege also überlastet sich irgendwas..? Im Endeffekt gibt es irgendwelche Nebenwirkung/Nachwirkung wenn ich eine höhere Priorität zulege ? 

0

Da kannst du festlegen, welche Priorität dein Rechner für einen gewissen Prozess setzen soll. Gibst du ihm eine höhere Priorität wird der Rechner diesen Prozess vor andere Prozesse setzen und dieser wird dadurch beschleunigt (andere jedoch verlangsamt). Andersrum hat es den gegenteiligen Effekt.

Diese Funktion dient der Leistungseinteilung für einzelne Programme. Das heißt, dass du dem Programm damit einfach mehr oder weniger Arbeitsspeicher zuteilen kannst, damit es schneller läuft.