Was ist Jobkontrolle?
Jobsteuerung ist der Begriff für die Verwaltung verschiedener Aktionen auf einem Computersystem. Computer können mehrere Aufgaben gleichzeitig ausführen, in vielen Fällen kann jedoch jeweils nur ein Prozess in einem bestimmten Bereich ausgeführt werden. Computer verwenden ein Auftragssteuerungssystem, um ihre Aufgaben zu verwalten, sodass ein Prozess Ressourcen in einem Bereich verwendet, während ein anderer Ressourcen in einem anderen Bereich verwendet. Diese Systeme überwachen die Priorität von Vorgängen und sorgen dafür, dass wichtige Aufgaben schneller und weniger wichtige Aufgaben im Hintergrund ausgeführt werden.
Jobkontrollsysteme wurden früh im Design moderner Computer entwickelt, um Geschwindigkeitsprobleme zu verringern. In vielen frühen Systemen waren die zentralen Systeme des Computers mehr als in der Lage, die ihnen übertragenen Aufgaben zu beschleunigen. Die Geschwindigkeitsprobleme traten bei der Kommunikation mit peripheren Systemen auf. Die Systeme waren nicht nur langsamer, sondern die Übertragungszeit zwischen den Systemgruppen war auch ziemlich lang. Zusätzliche Peripheriegeräte wie Puffer und Cache-Systeme haben bestimmte Prozesse nur beschleunigt und das Problem nicht gelöst.
Multitasking war ein früher Versuch der Jobkontrolle. Der Computer erhielt ein neues System, mit dem aktive und inaktive Jobs nachverfolgt werden konnten. Wenn ein System zu beschäftigt war, um einen neuen Auftrag zu verarbeiten, wurde es in eine inaktive Warteschlange gestellt. Wenn die Hardware einen neuen Prozess ausführen konnte, wurde der Prozess mit der höchsten Priorität aktiviert. Dieser Vorgang würde dann in die Hardware übergehen.
Das Problem bei diesem System lag in seiner Dezentralität. Während eine einzelne Warteschlange alle aktiven und inaktiven Prozesse enthielt, stammten Informationen zur Hardware von der Hardware selbst. Der Treiber für die Hardware meldet dem Scheduler, ob sie verfügbar ist oder nicht. Wenn ein Prozess in einen Fehlerzustand übergeht und die Hardware weiterhin verwendet, wird sie niemals verfügbar. Darüber hinaus benötigten einige Prozesse nur den Zentralprozessor oder ein bestimmtes Peripheriegerät. Dies würde das gesamte System binden, bis diese Prozesse beendet sind. Um diesem Problem entgegenzuwirken, wurden moderne Jobkontrollsysteme entwickelt.
Die Jobkontrolle konzentriert sich auf die Idee des Präventiv-Computing. Jeder Prozess erhält eine allgemeine Priorität und gelegentlich sekundäre Prioritäten für bestimmte Systeme. Der Scheduler des Computers verwaltet die Warteschlange der Prozesse. Wenn ein Prozess gestartet wird, der wichtiger ist als der derzeit aktive, wird der aktive angehalten und der neue Prozess übernimmt. Wenn das angehaltene Programm der wichtigste Prozess ist, wird es erneut gestartet.