Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Task-Steuerung

Während die Job-Steuerung alle Jobs verwaltet, werden alle Tasks von der Task-Steuerung gesteuert und verwaltet.

Die zentralen Aufgaben der Task-Steuerung lassen sich wie folgt zusammenfassen:

  • Tasks erzeugen

  • Unterbrechungsanalyse und -bearbeitung

  • Verwaltung der Registersicherstellungsbereiche

  • Versorgung zentraler Tabellen des Ablaufteils

  • Tasks aktivieren

  • Tasks initiieren

  • Tasks innerhalb und zwischen den Warteschlangen bewegen

  • Tasks deaktivieren

  • Tasks beenden

Unter dem Namen PRIOR sind nun jene Routinen der Task-Steuerung zu verstehen, die folgende Steuerungen übernehmen:

  • die Steuerung von Tasks mittels Kategorien und Task-Scheduling-Prioritäten

  • die Steuerung der System-Auslastung durch interne Regelfunktionen

Die Tasks sind allgemein Träger für unterbrechbare Abläufe in BS2000, wobei zwischen Benutzer- und Systemtasks unterschieden wird.

Benutzertask

Als Benutzertask werden alle – auch privilegierte – Benutzer-Jobs geführt, die von der Job-Steuerung der Task-Steuerung übergeben worden sind als:

  • Dialogtask (Teilnehmerbetrieb; Task-Typ X'40')

  • Batchtask (Batch-Betrieb; Task-Typ X'20')

Systemtask

Systemtasks nehmen die unterschiedlichsten Systemaufgaben wahr, wobei einige permanent sind (TCB im Klasse-1-Speicher vorgeneriert), die meisten jedoch dynamisch bei Bedarf erzeugt und wieder beendet werden.
Diesen Systemtasks sind vorgegebene Task-Identifier (TID) und TSNs zugeordnet, nach denen sie eindeutig identifiziert werden können.
Die wichtigsten Systemtasks, permanente und dynamisch (während Startup oder bei Bedarf) erzeugte, sind in den folgenden Übersichten zusammengefasst.

TID

TSN

Aufgaben

0001 0001

TSC

Emergency Job Scheduler $SYSJS für die Job-Klasse $SYSJC, in der insbesondere alle anderen Job Scheduler laufen.

0001 0003

RMM

Prüfung des Hauptspeichers bei Startup

0001 0005

PT5

Periodic Task 5: Prüft alle 10 Sekunden u.a. die LIFETIME
(Wartezeitüberschreitung) beim Börsenmechanismus

0001 0006

PT6

Periodic Task 6 des Job-Managements: Für Operationen, die zu einem bestimmten Zeitpunkt („AT“) durchgeführt werden sollen; Überprüfen der Repeat-Jobs (Intervall abgelaufen ?)

0001 0007

PGE

Paging Error Recovery Task

0001 0008

UCO

Universelle Konsole UCON: Verteilt die Konsolkommandos und Meldungen an die zuständige Instanz (Operator-Task für Operator-Normalkommandos;
$CONSOLE-Anwendung für Operator-Spezialkommandos);
realisiert die Anwendung $CONSOLE

0001 0009

REK

Zuständig für Rekonfiguration

0001 000A

VMM

Memory Management Task: Verwaltet die Slotpools; z.B für Stacks, Börsenkontrollblöcke

0001 000B

MSG

Zuständig für Meldungswesen

0001 000C

KTT

Konsol Treiber Task: Ein-/Ausgabe-Treiber für Konsolgeräte

Tabelle 28: Permanente (preallocated) Systemtasks

TSN

gehört zu den ...

Aufgaben

RUNT


Operatortask: Zum Bearbeiten von aus einer RUN-Datei stammenden Operator-Normalkommandos

Xxxx


Allgemeine Arbeitstasks des Systems, z.B. MSCF-Servertask, Import-/Exporttask, Operatortask (Bearbeitung und Ausführung der Operator-Normalkommandos)

CLOG


Konsol-Logging (SYS.CONSLOG)

RP01


SRPM-Task; verwaltet den Benutzerkatalog des Home-Pubsets

RP02


SRPM-Task; verwaltet den Benutzerkatalog aller anderen Pubsets

HELT


Verwaltet die Hardware-Fehlerdatei SYS.HEL.<datum>.<uhrzeit>

HERS


HERS-Task; veranlasst HEL-Einträge bei Maschinenfehlern

SERS


Verwaltet die Fehlerdatei SYS.SERSLOG....

REPL


Führt die Loggingdatei REPLOG und protokolliert Rep before
image

DSSM
HTnn

Tasks der dyn.
Subsystemverwaltung

Dynamic Subsystem Monitor
Hilfs-Tasks für DSSM

NKA
DM
TM
NKS

Tasks des Nucleus
Device Management
(NDM)

Betriebsmittelverwaltung
Disk-Monitor
Tape-Monitor
Betriebsmittelbelegung

ACCT
PACT

Tasks des
Abrechnungssystems

Bearbeitet die Abrechnungsdatei
Task für die Funktion Periodisches Accounting

BCAM
BCAH
BCAF
BCAC
BCA0
BCAT

Tasks der
Systemkomponente
openNet Server

Nachrichtenpoolverwaltung; Verarbeitung der /BC-Kommandos
Holder-Task für Daten, die einen /BCEND überdauern
Dateizugriffstask (z.B. Lesen der Prozessor-Datei)
Kryptografie-Task; behandelt ver- und entschlüsselte Jobs bei Einsatz von IPSec
Transfer-Task für Datenverkehr über TCP/IP
Transfer-Task für Datenverkehr über andere Protokolle

DIAA


TIAM-Task: erzeugt Dialog-Tasks
(für virtuelle Hosts auch: DIAB, DIAC, ...)

DBxx


Tasks des Disk Access Buffers DAB

DRV


Task des Softwareprodukts DRV

SNAP


SNAP-Task für die Realisierung der Funktion SNAP-Dump

S

SPAx
SPMG
xxxx

RSO
RSAx
EQS

Systemtasks von
SPOOL

Spool-Scheduler; erzeugt Spool-Tasks und versorgt sie mit Jobs, zuständig für die Spool-Kommandos
Spool-Output-Writer; zuständig für SPOOLOUT
Spool-Message-Task; zuständig für Meldungsausgabe
Spool-Task (Device Controller Task); einem Spoolgerät zugeordnet (TSN wird vom System vergeben)
Remote SPOOL (RSO-Spool)
RSO-Output-Writer
Verwaltung der Datei $TSOS.EQUISAMQ

M


New Message Handler

ISDS


Verwaltung der ISAM-Pools

IOTD
IOTT


Tasks zur Ein-/Ausgabeverwaltung bei Rekonfiguration von Platten (IOTD) und Bändern (IOTT)

JOBP


Job-Pool-Controller-Task: Verwaltung der Job-Pool-Datei für Batch-Jobs

TSNA


TSN-File-Manager: Verwaltung der Datei TSOJOIN.TSNN

TIME
TIMC


Timer-Management: Uhrensynchronisation mit externem Zeitgeber zur Sommer-/Winterzeitumstellung

DRTx


Domänen-Rekonfigurationstasks auf SU x86

MSCF
MSCM
WDGS

Systemtasks des
Softwareprodukts MSCF

Tasks für die Realisierung der MRS-Kopplung

FTCP

Task des Softwareprodukts
openFT

File Transfer Control Process (zentrale FT-Steuertask)

SM2G
SM2W
SM2U

Systemtasks des
Softwareprodukts
openSM2

Software-Monitor-Erfassungs-Task
openSM2-Schreib-Task
openSM2-Task für User-Messungen

SATP
PRxx

SATT

Systemtasks des
Softwareprodukts SECOS

SAT-Parameterdatei-Verwaltung
GUARDS-Server-Tasks; verwalten den Guards-Katalog eines Pubsets
SECURITY-AUDIT-TRAIL-Task für die SAT-Dateiverwaltung

Tabelle 29: Wichtige, dynamisch erzeugte Systemtasks

Task-Kategorien

Jede Task ist einer Kategorie zugeordnet. Neben den vier Standardkategorien SYS, TP, DIALOG und BATCH unterstützt die Task-Steuerung 12 weitere Kategorien, deren Namen bei der Definition der Job-Klassen vereinbart werden.

Für die vier Standardkategorien gilt:

SYS

TP

DIALOG

BATCH

nur für Systemtasks

für Transaktions-Tasks (Teilhaberbetrieb)

für Dialogtasks (Teilnehmerbetrieb)

für Batch-Tasks (Batch-Betrieb)

Zusätzlich gibt es vier Task-Attribute, deren Namen identisch sind mit den Standardkategorienamen SYS, TP, DIALOG und BATCH. Den Task-Attributen sind spezielle, für das Task-Scheduling wichtige Ablaufparameter zugeordnet.

Das Task-Attribut TP zeichnet sich gegenüber den anderen Task-Attributen durch eine speziell auf die Bedürfnisse des Teilhaberbetriebs optimierte Hauptspeicher-Verwaltung aus. Dieses Attribut kann entweder durch Definition in der den Jobs zugeordneten Job-Klassen oder durch Aufruf des TINF-Makros (siehe Handbuch „Makroaufrufe an den Ablaufteil“ [30]) erlangt werden. Die dazu notwendige Berechtigung muss im Benutzerkatalog eingetragen sein.

Das Konzept der Task-Kategorien ist nur der Systemverwaltung (im Ausnahmefall auch dem Operator) über die Kommandoschnittstelle zugänglich.
Mit dem MODIFY-TASK-CATEGORIES-Kommando spezifiziert die Systembetreuung die Wichtigkeit der Kategorien untereinander für die Aktivierung (= Zuteilung des Betriebsmittels Hauptspeicher).

Zu diesem Zweck werden folgende Kategorie-Attribute vereinbart:

WEIGHT

MINMPL

MAXMPL

IO-PRIO

Wichtigkeit (Gewicht)

Minimum an aktiv zu haltenden Tasks

Maximum an aktiv zu haltenden Tasks

I/O-Priorität aller Tasks dieser Kategorie

Ob eine Task-Aktivierung, -Deaktivierung oder -Verdrängung durchgeführt wird, ist neben den Kategorie-Attributen noch abhängig von der System-Auslastung und der Priorität der betroffenen Task.

Da einer Kategorie in der Regel mehrere Tasks zugeordnet sind, ist die Kategoriensteuerung immer gruppenspezifisch zu betrachten. Will man eine Beurteilung der Auswirkungen der Kategoriensteuerung versuchen, so ist zwischen den folgenden Situationen zu unterscheiden:

  • Im Unterlast- bzw. Normallast-Bereich hat die Kategoriensteuerung keinen nennenswerten Einfluss.

  • Im Vollast- bzw. Überlast-Bereich (also bei Betriebsmittelengpässen) hat sie eine starke Wirkung und dient zur Lastbegrenzung, d.h. weniger wichtige Kategorien werden in den Hintergrund gedrängt.

Mit dem Kommando MODIFY-TASK-CATEGORIES, Operand IO-PRIORITY, kann die I/O-Priorität aller Tasks der angegebenen Katagorie bestimmt werden. Dieser Wert wird nur ausgewertet, wenn das Subsystem IORM gestartet ist. Die Voreinstellung *NONE bedeutet, dass alle Tasks dieser Kategorie eine aus der Task-Priorität abgeleitete I/O-Priorität erhalten (implizite I/O-Priorität). Die I/O-Prioritäten werden ausschließlich vom Subsystem IORM zur task-spezifischen Steuerung von Ein-/Ausgaben ausgewertet und zwar mit Ablaufsteuerung sowohl durch PRIOR als auch durch das Subsystem PCS.

Mit dem Kommando MOVE-TASK-TO-CATEGORY kann die Systembetreuung die Zuordnung einer Task zu einer Kategorie ändern, wenn etwa eine andere (bessere) Bedienung dieser Task oder auch eine Entlastung einer Kategorie erreicht werden soll (mit oder ohne Einsatz von PCS).
Zielkategorien müssen JMS-Kategorien und dürfen keine Folgekategorien sein. Die Kategorie SYS wird weder als Ausgangs- noch als Zielkategorie unterstützt.

Die Wahl geeigneter Kategorienwerte ist häufig ein Problem. Deshalb empfiehlt es sich (vor allem für große Server) über längere Zeiträume hinweg Performance-Untersuchungen durchzuführen. Die dazu notwendigen Daten liefert der Software Monitor openSM2 (siehe Handbücher „openSM2“ [49] und „SM2-PA“ [50]). Weitere Informationen enthält das „Performance-Handbuch“ [37]. 

Kommando                                           

Bedeutung

ADD-USER

Eintrag im Benutzerkatalog erstellen mit der Vereinbarung, ob die Tasks des Benutzers deaktiviert werden dürfen oder nicht

CANCEL-JOB

Benutzerauftrag abbrechen

CHANGE-TASK-CPU-LIMIT

Maximale CPU-Zeit eines Batch-Jobs erhöhen

CHANGE-TASK-PRIORITY

Job- oder Task-Priorität ändern

ENTER-JOB

Kommandofolge, die in einer ENTER-Datei als Batch-Job gespeichert ist, unter Angabe der Task-Priorität starten

FORCE-JOB-CANCEL

Benutzerauftrag abbrechen

HOLD-TASK

Benutzerauftrag anhalten

MODIFY-TASK-CATEGORIES

Verteilung der Betriebsmittel CPU, Hauptspeicher und I/O-Prozessor auf die einzelnen Kategorien regeln, Dringlichkeiten der Kategorien festlegen und I/O-Prioritäten für alle Tasks einer Kategorie vergeben

MOVE-TASK-TO-CATEGORY

Kategorie-Zuordnung einer Task ändern

RESUME-TASK

Angehaltenen Benutzerauftrag freigeben

SET-LOGON-PARAMETERS

Dialog-/Batch-Job unter Angabe der Task-Priorität einleiten

SHOW-JOB-STATUS

Informationen über einen Benutzer-Job anfordern

SHOW-SYSTEM-STATUS

Informationen über Job-Klassen und Job-Streams anfordern

SHOW-USER-ATTRIBUTES

Maximale Task-Priorität abfragen

SHOW-USER-STATUS

Informationen über Gruppen von Benutzer-Jobs anfordern

Makro

Bedeutung

PASS

eine Sekunde warten

TINF

Task-Attribute lesen und ändern

TSPRIO

Runprioritäten ausgeben

VPASS

warten

Tabelle 30: Schnittstellenübersicht zur Task-Steuerung