? Seit dem Aufkommen des modernen Computing, Prozessoren mussten die Befehle von mehreren Programmen gleichzeitig zu verwalten. Der Prozess-Manager beschäftigt Algorithmen zur besten planen , welche Programme auszuführen und zu welchem Zeitpunkt . Mit der Einführung der Hyper-Threading von Intel , geändert Prozessmanagement. Prozessmanager müssen Algorithmen, die zwei abstrakte Prozessorkerne berücksichtigen , anstelle eines einzigen Prozess - Kontext. Multi- Programmierung Systeme
In den frühen Tagen der Computer , lief Systeme Programme ein zu einer Zeit , entweder durch manuelle Eingabe oder durch Programm Batch- Systeme, die Programme liefen einer nach dem anderen in einer Sequenz . Mit der Erfindung des stabilen , quick- access memory , wurde Multi- Programmierung erstellt . Multi- Programmierung ermöglicht es Entwicklern, mehrere laufende Programme mit Wohnsitz im Hauptspeicher , mit Prozessoren der Lage Abrufen Code aus diesen Programmen , um zu einem bestimmten Zeitpunkt ausgeführt werden müssen . Mit mehreren Programmen im Speicher , wird der Computer nicht in eine Reihe Routine wie in Batch-Verarbeitung gesperrt , aber es ist in der Lage zu wählen und zu bestimmen, welche Programme auf der Programmierer Befehle Basis laufen .
Process Scheduling
mehrere Programme im Speicher könnte theoretisch Prozessoren laufen mehrere Programme gleichzeitig . Ein einzelner Prozessor kann nur einen einzigen Befehl zu einem Zeitpunkt auszuführen. Um mehrere Programme gleichzeitig laufen , schaltet der Prozessor -Steuerung von einem Programm zum anderen mehrmals pro Sekunde den Anschein zu erwecken , als ob Programme gleichzeitig laufen . Um die verschiedenen Kontext-Switches zwischen Programmen zu verwalten, wurden Prozess-Management -Algorithmen entwickelt, um zu kontrollieren , welche Programme Zugriff auf den Prozessor hat zu einem bestimmten Zeitpunkt .
Hyper Threading
So können Prozesse in wahre gleichzeitige Bedingungen , ohne die Notwendigkeit für die Prozess- Umschaltung führen , entwickelt Ingenieure Prozessoren, die in Sub- Prozessoren aufgeteilt wurden . Jede Sub - Prozessor können einen Thread der Ausführung . Während nur ein Prozessorkern besteht , ermöglicht Hyper-Threading eine Abstraktionsschicht , um mit der Software interagieren , so dass Prozesse , als ob zwei Kerne existieren handeln . Dies ermöglicht zwei Threads zu laufen, eine auf jeder abstrakten Kern , auf Kosten der Geschwindigkeit des Prozessors .
Scheduling Hyper Thema Execution
Jeder Thread braucht seine eigene Disposition, weil jeder Thread arbeitet mit internen Schaltern Zusammenhang zwischen der Prozesse laufen . Hyper -Threading gezwungen Ingenieure Prozessverantwortlichen in Bezug auf hyper Themen zu überdenken. Hyper- Threads gemeinsam den Prozessor , so neue Scheduler kann besser tun , indem sie die zwei Threads berücksichtigt . Scheduler vermeiden können zwei unterschiedliche Verfahren gemeinsam genutzten Speicher . Hyper -Threading Kontexten Kraft Prozessverantwortlichen zu zwei Themen von Context-Switching anstelle eines zu betrachten.