• Keine Ergebnisse gefunden

Job Entry

Im Dokument 90/60 (Seite 79-82)

PAPER TAPE PUNCH

B. OPERATING SYSTEM (OS/7)

1 NEW USER REGION UNUSED D

6.3. JOB CONTROL

6.3.2. Job Entry

As control streams enter the system from local and remote input devices, the input reader performs the following functions:

• recogniies calls on the procedure processor;

• expands the called procedures;

• checks the order and syntax of control statements;

• separates and files embedded data;

• summarizes facility requirements for subsequent use in scheduling the job or job step;

• recognizes job priorities;

• queues the job according to its priority; and

• deletes control streams of processed jobs.

71

All control statements in the input control stream, except those contained in embedded sets of data, are checked for correct order and syntax. If errors are detected, the control statements and the appropriate diagnostics are placed in the job output file for printing. When a syntax error is detected in the control statements, the input control stream and other information pertaining to the job are deleted. However, data which was embedded in the control stream

Figure 6-6. Information Flow - 05/7 Cataloged Job Control Procedures

6.3.3. Job Management

JOB EXECUTION

The job scheduling, initiation, and continuation functions of job control establish the operating environment for a job and provide the processing control required between job steps.

Jobs are not executed immediately upon entering the system. Instead, they are placed in an input work queue according to a user-specified scheduling algorithm.

Job scheduling is performed automatically by OS/7 and is based on the recognition of priorities assigned to each job by the user by means of the JOB control statement. At system generation time, an installation- determined number of priority levels, associated priority types, and job selection schemes are set up as a scheduling table. The job scheduler analyzes:

• the priority levels assigned to jobs by the user,

• the position of a job among all other jobs in the system which are not yet selected for processing,

• and schedules the jobs for processing based upon these characteristics and availability of resources in the system.

All priority levels are categorized into three functional divisions or priority types by the user. These priority types are explained in the following paragraphs.

• Normal Priority

This is the priority type which is intended for use by the major portion of all jobs to be processed. Such jobs are characterized by the lack of need for urgent job completion. Jobs of the normal priority type are those which may be optionally declared as subject to preemption or rollout.

• Override Priority

This is the second highest priority type in the system. If a job is assigned this priority, and no jobs having preemptive priority await resources, all available system resources necessary for completion of the job are allocated as soon as possible. If unallocated main storage is insufficient to satisfy the requirements for completion of a job having override priority, other jobs may be temporarily suspended and rolled out to disc storage in order to obtain the required main storage.

• Preemptive Priority

This is the highest priority in the system. If a job is assigned this priority, all system resources necessary for completion of the job are allocated as soon as possible. If unallocated resources are insufficient to satisfy the requirements for completion of a job having this priority, other jobs (which have been specified as preemptable) are preempted (aborted) in order to obtain the required resources.

These priorities are used in conjunction with the priority levels determined by the user at system generation time and provide an efficient and workable job scheduling relationship.

At system generation time, a job selection scheme also may be determined and assigned for each priority level. The following job selection schemes may be applied to each priority level.

• FI F I (First in, first initiated)

• FIFF (First in, first fit)

The basic job selection strategy of the OS/7 job scheduling function involves an attempt to initiate jobs from succeeding, numerical priority levels. If a priority level contains no jobs which can be initiated, due to insufficient resources, initiation of a job in the next lower priority level is attempted.

Within each priority level, the user can specify the number of job initiations to be attempted.

The user may designate fixed job regions in main storage with assigned peripheral devices. Such a fixed job region may then be occupied by one job after another whose resource requirements are satisfied by the region. A job which is to occupy a fixed job region need not compete with all other jobs to resources.

During job initiation, the user-specified switching priority of the job is established. The new job step task is entered in the program switch list at that priority. Up to 14 concurrently operating jobs can be managed. This number usually includes one or two system jobs for supporting services such as job stream reading, printer output writing, and data communications control.

73

Peripheral devices which have been assigned for the duration of the job remain allocated to the job. Those devices which have been assigned only for the duration of the job step are released to the system. Job control then continues to process the control stream as specified by the user until the next job step is ready for execution. The user may specify that the execution of a subsequent job step is dependent on certain conditions: the job may be terminated or one or more job steps skipped. Job step termination will normally cause the scheduler to do one of the following:

• Roll in a job step which has been suspended due to preemption by a higher priority job.

• Initiate a job step of a job which is partially completed, but which has been suspended between steps due to higher priority jobs.

• Initiate the first step of a new job for which all resources are now available.

Im Dokument 90/60 (Seite 79-82)