A class object contains the run attributes that control the run-time
environment of a job. IBM-supplied class objects, or classes, meet the needs
of both typical interactive and batch applications. The following classes
(by name) are supplied with the system:
- QGPL/QBATCH: For use by batch jobs
- QSYS/QCTL: For use by the controlling subsystem
- QGPL/QINTER: For use by interactive jobs
- QGPL/QPGMR: For use by the programming subsystem
- QGPL/QSPL: For use by the spooling subsystem printer writer
- QGPL/QSPL2: For general spooling use in the Base system pool
Run-time attributes
The following is a list of some
of the run-time attributes, or parameters, that are found in a class object
that are important to work management.
- Run priority (RUNPTY)
- A number that specifies the priority level assigned to all jobs running
that use the class. The priority level is used to determine which job, of
all the jobs competing for system resources, is run next. The value can be
1 through 99, where 1 is the highest priority (all jobs having a 1 priority
are run first). This value is the highest run priority allowed for any thread
within the job. Individual threads within the job may have a lower priority.
Changing the run priority of the job will affect the run priorities of all
threads within the job. For example, if the job is running at priority 10,
thread A within the job is running at priority 10 and thread B within the
job is running at priority 15. If the priority of the job is changed to 20,
then the priority of thread A is adjusted to 20 and the priority of thread
B is adjusted to 25.
- Time slice (TIMESLICE)
- The maximum amount of processor time (in milliseconds) given to each thread
in a job using this class before other threads in a job or other jobs are
given the opportunity to run. The time slice establishes the amount of time
needed by a thread in a job to accomplish a meaningful amount of processing.
At the end of the time slice, the thread might be put in an inactive state
so that other threads can become active in the storage pool.
- Default wait time (DFTWAIT)
- The default amount of time that the system waits for the completion of
an instruction that performs a wait. This wait time applies to times when
an instruction is waiting for a system action, not to the time an instruction
is waiting for a response from a user. Normally, this is the amount of time
you are willing to wait for the system before ending the request. If the wait
time is exceeded, an error message is passed to the job. This default wait
time is used when a wait time is not otherwise specified for a given situation.
The wait time used for allocating file resources is specified in the file
description and can be overridden by an override command. It specifies that
the wait time specified in the class object is used. If file resources are
not available when the file is opened, the system waits for them until the
wait time ends.
Note: The class attributes apply to each routing step
of a job. Most jobs have only one routing step, but if the job is rerouted
(because of something like the Reroute Job (RRTJOB) or
Transfer Job (TFRJOB) command) the class attributes will
be reset.
- Maximum CPU time (CPUTIME)
- The maximum amount of processor time allowed for a job's routing step
to complete processing. If the job's routing step is not completed in this
amount of time, it is ended, and a message is written to the job log.
- Maximum temporary storage (MAXTMPSTG)
- The maximum amount of temporary storage that can be used by a job's routing
step. This temporary storage is used for the programs that run in the job,
for the system objects used to support the job, and for temporary objects
created by the job.
- Maximum threads (MAXTHD)
- The maximum number of threads in which a job in this class can run at
any time. If multiple threads are initiated simultaneously, this value may
be exceeded. The excess threads will be allowed to run their normal completion.
Initiation of additional threads will be inhibited until the maximum number
of threads in the job drops below this maximum value.
Note: The resources
used by the threads and the resources available on the system can vary. Therefore,
the initiation of additional threads may be inhibited before this maximum
value is reached.