BS2000 wird mit vordefinierten Job-Klassen geliefert. Wenn in einem BS2000-System keine Job-Klassen definiert sind, so werden alle Aufträge der Klasse $SYSJC zugeordnet (auf die der Anwender keinen Zugriff hat) und vom fest mit dem System gekoppelten System-Job-Scheduler $SYSJS verwaltet.
Der System-Job-Scheduler ist eine System-Task und läuft privilegiert im Funktionszustand TPR. Seine auf dem LIFO-Prinzip (Last in first out) beruhende Auswahlstrategie ist nicht beeinflussbar.
Unabhängig von definierten Job-Klassen und eventuell realisierten Auswahlstrategien lässt der System-Job-Scheduler während des gesamten Systemlaufs das Starten von Aufträgen unter der Kennung TSOS zu.
Definierte Job-Klassen mit dem Parameter JOB-TYPE=*BATCH werden einem Job-Stream (auch Job-Scheduler genannt) zugeordnet (STREAM=name). Eine Job-Klasse kann nur einem Job-Stream angehören, aber ein Job-Stream kann mehrere Job-Klassen verwalten.
Die Bearbeitung der Jobs im Stream (Sortieren nach vorgegebener Auswahlstrategie) übernimmt der Standard-Job-Scheduler. Der Standard-Job-Scheduler ist ein Anwenderprogramm und läuft im Funktionszustand TU unter der Kennung TSOS. Die Auswahlstrategie wird durch den Stream-Parameter (STREAM-PARAMETER) bestimmt. Er wird durch das Dienstprogramm JMU (//DEFINE-JOB-STREAM) eingestellt.
Um verschiedene Auswahlstrategien zu realisieren, können die bei der Stream-Definition festgelegten Scheduling-Parameter dynamisch geändert werden (//MODIFY-JOB-STREAM des Dienstprogramms JMU).
Bis zu 16 Job-Streams können maximal gleichzeitig installiert sein.
Auswahl-Strategien (STREAM-PARAMETER='...')
Auswahl nach Ankunftszeit
JOB-PRIORITY=NO,CPU-TIME=NO,WAIT-TIME=NO
WAIT-TIME ist die Wartezeit des Auftrags nach Annahme.
Diese Strategie empfiehlt sich, wenn die CPU-Zeitanforderungen der Aufträge in etwa gleich sind.Auswahl nach Priorität
JOB-PRIORITY=YES,CPU-TIME=NO,WAIT-TIME=NO
Gewährleistet die Bevorzugung wichtiger Jobs.
Auswahl nach CPU-Zeitbedarf
JOB-PRIORITY=NO,CPU-TIME=YES,WAIT-TIME=NO
Jobs mit geringeren CPU-Zeitanforderungen werden vorgezogen.
Auswahl nach Priorität und CPU-Zeitbedarf
JOB-PRIORITY=YES,CPU-TIME=YES,WAIT-TIME=NO
Bei Aufträgen mit gleicher Job-Scheduling-Priorität entscheidet der geringere CPU-Zeitbedarf. Bei gleichem CPU-Zeitbedarf ist die höhere Priorität maßgebend.
Auswahl nach Priorität und Wartezeit
JOB-PRIORITY=YES,CPU-TIME=NO,WAIT-TIME=YES
Durch Einbeziehung der Wartezeit nach der Job-Annahme haben auch niederpriore Aufträge die Chance, ausgewählt zu werden.
Auswahl nach Durchsatz
JOB-PRIORITY=NO,CPU-TIME=YES,WAIT-TIME=YES
Bevorzugung von Aufträgen mit geringem CPU-Zeitbedarf unter Einbeziehung der Wartezeit nach der Annahme.
Auswahl nach Durchsatz und Priorität
JOB-PRIORITY=YES,CPU-TIME=YES,WAIT-TIME=YES
Zusätzlich zur Auswahl nach Durchsatz wird die Job-Scheduling-Priorität berücksichtigt.
Der Job-Scheduler übergibt die von ihm ausgewählten und sortierten Jobs an den Klassen-Scheduler.
Der Klassen-Scheduler ist keine eigene Task, sondern gehört zum Kern des Job-Managements. Er sorgt für die Einhaltung des von der Systembetreuung gewünschten Job-Mixes (über die CLASS-LIMIT-Parameter der einzelnen Job-Klassen).
Bei der Auflösung von Stau-Situationen nach einer Systemsättigung (Sättigung des Seitenwechselbereichs) bestimmt der Parameter CLASS-WEIGHT die Dringlichkeit der einzelnen Job-Klassen.