Die zentrale Verarbeitungseinheit (CPU ) eines Computers steuert die Berechnungen und die Befehle aller laufenden Programme auf dem Computer. Dies bedeutet, dass der Prozessor oft jongliert mehrere Programme gleichzeitig . Um ein beliebiges Programm , geschweige denn mehrere Programme laufen , muss die CPU auf bestimmte Informationen von einem Programm haben, so dass Programm funktionieren kann. Diese Informationen , die so genannte Zustand unterscheidet sich von Programm zu Programm . Beim Umschalten zwischen den Programmen , muss die CPU Implementierung von Änderungen zwischen den Zuständen von Programmen , die so genannte Context-Switching . Multitasking
Beim Ausführen mehrerer Programme aus dem Speicher , der Prozessor eines Computers nur scheint tatsächlich gleichzeitig Befehle ausführen . Beim Betrachten der Aktionen des Systems scheint es, dass alles zur gleichen Zeit läuft . Jedoch kann der Prozessor nur tatsächlich zurückgelegte ein einzelnes Programm zu einer Zeit. Der Prozessor schaltet zwischen Programmen ständig , abhängig von ihrer Priorität , so schnell, dass Benutzer nie wissen, dass Programme laufen unabhängig voneinander .
CPU Speicher Register
Während der Prozessor Arbeiten auf die Befehle eines bestimmten Programms , liegt die Daten von dem Programm in speziellen , lokalen Speicher Register. Diese Register halten Programmvariable und andere Informationen über den Zustand des auszuführenden Programms . Diese Information ist in der Regel in der Prozessor- Cache-Speicher gehalten wird, eine schnelle, aber teure Art der Lagerung in der Regel nur in geringen Mengen in den Prozessor selbst verwendet .
Context Switching
< p> Um mehrere laufende Programme zu verwalten, muss der Prozessor implementieren Context-Switches . Wenn der Prozessor Kontext wechselt , sind alle Informationen aus einer ausgeführten Programms in einen Teil des Speichers abgeladen . Die Informationen für den nächsten auszuführenden Programms in lokale Register geladen und die Befehle ausgeführt werden . Weil der Zustand eines Programms ist off- loaded , um den Zustand eines anderen zu bedienen , nennen Ingenieure dies eine Änderung des Kontextes. Der Zustand der Maschine verändert wird, um das neue Programm zu behandeln. Für jede Scheibe der Zeit, dass ein Programm, bekommt auf der CPU , muss ein Kontext-Switch auftreten .
CPU Scheduling
Kontext und Context-Switching , eine spezielle Routine in Verwaltung das Betriebssystem namens der Scheduler verwaltet Programm Zugriff auf die CPU . Verschiedene Algorithmen existieren, um diese Programme zu verwalten und sicherzustellen, dass sie alle eine Chance bekommen , um den Prozessor zu verwenden; diese Algorithmen auch bestimmen, wie viele Kontextwechsel auftreten . Typischerweise werden Algorithmen, die die Priorität eines Programms zur Ausführung von Programmen und verlassen auf dem Prozessor die längste ohne Sperrung aus anderen Programmen zu erhöhen Prozessor Effizienz . Dies liegt daran, alle Programme immer noch eine Chance mit dem Prozessor, bei gleichzeitiger Vermeidung der Overhead mit Context-Switching verbunden.