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

&pagelevel(3)&pagelevel

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

Tasks der dyn. Subsystemverwaltung

Dynamic Subsystem Monitor

HTnnHilfs-Tasks für DSSM

NKA

Tasks des Nucleus Device Management
(NDM)

Betriebsmittelverwaltung

DMDisk-Monitor
TMTape-Monitor
NKSBetriebsmittelbelegung

ACCT

Tasks des Abrechnungssystems

Bearbeitet die Abrechnungsdatei

PACT
Task für die Funktion Periodisches Accounting

BCAM

Tasks der Systemkomponente openNet Server

Nachrichtenpoolverwaltung; Verarbeitung der /BC-Kommandos

BCAHHolder-Task für Daten, die einen /BCEND überdauern
BCAFDateizugriffstask (z.B. Lesen der Prozessor-Datei)
BCACKryptografie-Task; behandelt ver- und entschlüsselte Jobs bei Einsatz von IPSec
BCA0Transfer-Task für Datenverkehr über TCP/IP
BCATTransfer-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

Systemtasks von SPOOL

Spool-Scheduler; erzeugt Spool-Tasks und versorgt sie mit Jobs, zuständig für die Spool-Kommandos
SPAxSpool-Output-Writer; zuständig für SPOOLOUT
SPMGSpool-Message-Task; zuständig für Meldungsausgabe
xxxxSpool-Task (Device Controller Task); einem Spoolgerät zugeordnet (TSN wird vom System vergeben)
RSORemote SPOOL (RSO-Spool)
RSAxRSO-Output-Writer
EQSVerwaltung 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

Systemtasks des Softwareprodukts openSM2

Software-Monitor-Erfassungs-Task

SM2WopenSM2-Schreib-Task
SM2UopenSM2-Task für User-Messungen

SATP

Systemtasks des Softwareprodukts SECOS

SAT-Parameterdatei-Verwaltung

PRxxGUARDS-Server-Tasks; verwalten den Guards-Katalog eines Pubsets
SATTSECURITY-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