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 management

&pagelevel(3)&pagelevel

While the job management system handles all jobs, all tasks are controlled and managed by the task management system.

The central functions of task management are:

  • creating tasks

  • interrupt analysis and processing

  • management of register save areas

  • supply of data to central tables of the Executive

  • activating tasks

  • initiating tasks

  • moving tasks within and between queues

  • deactivating tasks

  • terminating tasks

The name PRIOR designates those task management routines which control:

  • tasks by means of categories and task scheduling priorities

  • system utilization through internal control functions

Tasks are generally vehicles for interruptible BS2000 processes. A distinction is made between user and system tasks.

User task

All user jobs, including privileged ones, are managed as user tasks which were passed by the job management system to the task management system as:

  • interactive tasks (timesharing mode; task type X'40')

  • batch tasks (batch mode; task type X'20')

System task

System tasks assume a wide range of system functions. Some system tasks are permanent (TCB pregenerated in class 1 memory), but most are dynamically generated and terminated as required.
These system tasks are assigned specific task identifiers (TIDs) and TSNs, by means of which they can be unambiguously identified.
The most important system tasks, both permanent and dynamically (during startup or as required) generated, are described in the tables below.

TID

TSN

Functions

0001 0001

TSC

Emergency job scheduler $SYSJS for job class $SYSJC, in which in particular all other job schedulers run.

0001 0003

RMM

Main memory check during startup

0001 0005

PT5

Periodic task 5: every 10 seconds it checks, among other things, the lifetime (waiting time excess) in the bourse mechanism

0001 0006

PT6

Periodic task 6 of job management: for operations that are to execute at a defined time (“AT”); checks repeat jobs (interval elapsed?)

0001 0007

PGE

Paging error recovery task

0001 0008

UCO

Universal console UCON: distributes console commands and messages to the responsible agency (operator task for normal operator commands, $CONSOLE application for special operator commands); implements the application $CONSOLE

0001 0009

REK

Responsible for reconfiguration

0001 000A

VMM

Memory management task: manages the slot pools, e.g. for stacks, bourse control blocks

0001 000B

MSG

Responsible for message handling

0001 000C

KTT

Console driver task: I/O for console devices

Table 28: Permanent (preallocated) system tasks

TSN

belongs to ...

Functions

RUNT


Operator task: processes normal operator commands from a RUN file

Xxxx


General system work tasks, e.g. MSCF server task, import/export task, operator task (processing and execution of the normal operator commands)

CLOG


Console logging (SYS.CONSLOG)

RP01


SRPM task; manages the user catalog of the home pubset

RP02


SRPM task; manages the user catalog of all other pubsets

HELT


Manages the hardware error file SYS.HEL.<date>.<time>

HERS


HERS task; initiates HEL entries in the case of machine errors

SERS


Manages the error file SYS.SERSLOG....

REPL


Maintains the logging file REPLOG and logs REP before-image

DSSM

Tasks of dyn. subsystem management

Dynamic subsystem monitor

HTnnHelp tasks for DSSM

NKA

Task of nucleus device management NDM

Resource management

DMDisk monitor
TMTape monitor
NKSResource allocation

ACCT
PACT

Tasks of the accounting system

Processes the accounting file
Task for the Periodic Accounting function

BCAM

Tasks of the openNet server system component

Message pool management; processing of /BC commands

BCAHHolder task for data which survives a /BCEND
BCAFFile access task (e.g. reading the processor file)
BCACCryptographic task; handles encrypted and decrypted requests when IPSec is used
BCA0Transfer task for data communication using TCP/IP
BCATTransfer task for data communication using other protocols

DIAA


TIAM task; generates dialog tasks (for virtual hosts also: DIAB, DIAC, ...)

DBxx


Tasks of the disk access buffer DAB

DRV


Task of the software product DRV

SNAP


SNAP task for the implementation of the SNAP dump function

S

System tasks of SPOOL

SPOOL scheduler; generates SPOOL tasks and supplies them with jobs, responsible for SPOOL commands

SPAxSPOOL output writer; responsible for SPOOLOUT
SPMG spool message task; responsible for message output
xxxxSPOOL task (device controller task); assigned to a SPOOL device (TSN is allocated by the system)
RSORemote SPOOL (RSO-Spool)
RSAxRSO output writer
EQSManagement of file $TSOS.EQUISAMQ

M


New message handler

ISDS


Management of the ISAM pools

IOTD
IOTT


Tasks for input/output management when disks (IOTD) and tapes (IOTT) are reconfigured

JOBP


Job pool controller task: management of the job pool file for batch jobs

TSNA


TSN file manager: management of the file TSOJOIN.TSNN

TIME
TIMC


Timer management: clock synchronization with external timers for setting summer/winter time

DRTx


Domain reconfiguration tasks on SU x86

MSCF
MSCM
WDGS

System tasks of the software product MSCF

Task for the implementation of the MRS link

FTCP

Task of the openFT software product

File Transfer Control Process

SM2G

System tasks of the openSM2 software product

Software monitor scanning task

SM2WopenSM2 write task
SM2UopenSM2 task for user monitoring operations

SATP

System tasks of the software product SECOS

SAT parameter file management

PRxxGUARDS server task, manages the guards catalog of a pubset
SATTSECURITY-AUDIT-TRAIL task for SAT file management

Table 29: Important dynamically generated system tasks

Task categories

Every task is assigned to a category. In addition to the four standard categories SYS, TP, DIALOG and BATCH, the task management system supports twelve further categories, the names of which are specified during job class definition.

The following applies for the four standard categories:

SYS

TP

DIALOG

BATCH

for system tasks only

for transaction tasks (inquiry and transaction processing)

for interactive tasks (timesharing mode)

for batch tasks (batch mode)

In addition, there are four task attributes whose names are identical to the standard category names SYS, TP, DIALOG and BATCH. Special runtime parameters important for task scheduling are assigned to the task attributes.

As opposed to the other task attributes, the TP task attribute features optimized memory management especially geared to the requirements of inquiry and transaction processing. This attribute can be obtained either by definition in the job classes allocated to the jobs or by calling the TINF macro (see the “Executive Macros” manual [30]). The required authorization must be contained in the user catalog.

The task category feature is available only to the system management (in exceptional cases to the operator as well) via the command interface. Using the MODIFY-TASK-CATEGORIES command the system administration specifies the relative importance of each category for the activation process (= allocation of main memory).

For this purpose the following category attributes are specified:

WEIGHT 

Importance

MINMPL 

Minimum number of tasks to be kept active

MAXMPL 

Maximum number of tasks to be kept active

IO-PRIO

I/O priority of all tasks in this category

Whether a task is activated, deactivated or preempted depends not only on the category attributes, but also on the system workload and the priority of the task concerned.

As a category is usually assigned several tasks, category control is always group-specific. In an evaluation of the effects of category control, the following situations have to be distinguished:

  • In the underload and normal-load ranges, category control is negligible.

  • In the full-load and overload ranges, i.e. during resource bottlenecks, category control is of major importance in load limitation (categories of minor significance are restrained.

The MOVE-TASK-TO-CATEGORY command, IO-PRIORITY operand, can be used to determine the I/O priority of all tasks in the specified category. This value is evaluated only if the IORM subsystem has been started. The default *NONE means that all tasks in this category are assigned an I/O priority derived from the task priority (implicit I/O priority). The I/O priorities are evaluated by the IORM subsystem solely for the purpose of task-specific control of inputs/outputs, with runtime control both by PRIOR and by the PCS subsystem.

Systems support can use the MOVE-TASK-TO-CATEGORY command to modify the assignment of a task to a category if, for example, different (better) support of this task or a reduction of the load on a category is required (with or without the use of PCS). Target categories must be JMS categories and may not be successor categories. The SYS category is not supported as a source or target category.

Choosing the right category values is not an easy undertaking. Therefore it is advisable - particularly for large servers - to carry out performance studies over a prolonged period of time. The necessary data can be obtained with the aid of the software monitor SM2 (see the “openSM2” [49] and “SM2-PA” [50] manuals). Further information is contained in the “Performance Handbook” [37].

Command

Meaning

ADD-USER

Create an entry in the user catalog, indicating whether or not the user tasks may be deactivated

CANCEL-JOB

Cancel a user job

CHANGE-TASK-CPU-LIMIT

Increase the maximum CPU time of a batch job

CHANGE-TASK-PRIORITY

Change the job or task priority

ENTER-JOB

Start the command sequence stored in an ENTER file as a batch job, specifying the task priority

FORCE-JOB-CANCEL

Cancel a user job

HOLD-TASK

Hold a user job

MODIFY-TASK-CATEGORIES

Control allocation of CPU, main memory and I/O processor to the individual categories, define priorities of the categories, and specify I/O priorities for all tasks of a category

MOVE-TASK-TO-CATEGORY

Modify the category assignment of a task

RESUME-TASK

Release a user job on hold

SET-LOGON-PARAMETERS

Start an interactive or batch job, specifying the task priority

SHOW-JOB-STATUS

Request information about a user job

SHOW-SYSTEM-STATUS

Request information on job classes and job streams

SHOW-USER-ATTRIBUTES

Request information on maximum task priority

SHOW-USER-STATUS

Request information on groups of user jobs

Macro

Meaning

PASS

Wait one second

TINF

Read and change task attributes

TSPRIO

Output run priorities

VPASS

Wait

Table 30: Interface overview for task management