• Aucun résultat trouvé

SUPERVISORY FUNCTIONS

Dans le document 5 November 1970 (Page 77-82)

NUMBER OF REMOTE BATCH TERMINALS

3.2.6 SUPERVISORY FUNCTIONS

The supervisory functions include the job scheduler and job management. The job scheduler selects the jobs to be activated. Job management initiates jobs activated by the scheduler.

3.2.6.1

Job Scheduler

The selection criteria used by the scheduler to activate a job are:

• The class (parallel/production/or serial) to which a job belongs

• The availabi lity of the system resources needed by the job

• The relative priority of the job (for serial class jcbs)

At system generation time, the user defines the different classes among which user jobs will later be distributed. The system implicity recognizes two classes, the parallel job class and the serial job class. Up tofive subclasses of production class jobs may be explicitly defined. The user speci-fies the relative priorities of these subclasses and the serial class. The parallel job class auto-matically has the highest priority.

The job scheduler leaves the idle state and takes control of the system during the release of system resources,at the completion of a job or job step, and during the introduction of a new job into the system after it has been processed by th e contro I command interpreter.

For each job class (and subclass) there may exist a file of jobs waiting to be activated. The scheduler examines the waiting job queues in the order of class priority. If any parallel class job are waiting, the scheduler will attempt to activate them if the required system resources are available. If resources are not available, the scheduler returns to the idle state. If the parallel job waiting queue is empty, the scheduler then examines the waiting queues for the production and serial classes.

If a production class job is already active, the scheduler examines the next fi Ie in order (which may belong to the production or serial class). If no production class job is active, the scheduler wi II follow one of two paths. If the resources required by a job are available, the job will be acti-vated and the scheduler will proceed to examine the next file in order. If resources are not avail-able, the scheduler returns to the idle state. Within the waiting queues for the production sub-classes the scheduler examines jobs in chronological order.

The job scheduler activates serial class jobs similar to production class jobs except that the single waiting job queue for the serial class is sorted by job priority. If no serial class job is active, the scheduler looks for the first job which can be activated; i.e., one for which the necessary re-sources are available. If no job in the waiting queue fulfills this condition, the scheduler returns to the idle state.

The job schedu ler recogni zes three types of system resources. These are:

• The shared resources - CPU time, memory space, system disk space reserved for handling temporary fi les

• The common resources - peripherals that the user wishes to appropriate for the duration of the execution of his job without precisely naming them. The system chooses the specifier de-vices from the free dede-vices

• The reserved resources - peripherals requested by the user supplying a specific device ad-dress

During system generation, the maximum va lues of the different types of resources are establ ished by the user. When a job is brought into the system, its resource demands are compared with the maximum available resources for the class in which the job is to be executed. If there is an in-compatibility, the job is rejected. The same resource may be assigned to several classes. For example, if there are three tape units in the system, all three may be assigned to several classes.

A job is effectively activated only when the totality of the resources it requires are available.

However, the user may optimize his management of resources by furnishing the system supplementary information with the following command cards:

• The 5 LIMIT card enables an increase, during the job step to which it applies, of the implicit or LIMIT card fi xed lim i ts of the shared resources. The presence of th i s card causes, at step activation time, a call to the job scheduler for verification of the availability of the con-cerned resource. In case of unavailability, the job is put on wait. At the end of the job step, the limit values are brought back to the initial values

The resource card allows the user to specify to the system, for the common resources it iden-tifies, some minimal requirements for job initiation. The job will be able to make resource requests which exceed these values. The job scheduler will be activated and the job placed in wait if the request cannot be satisfied. The reservation of common resources which are not stated in the RESOURCE card take place globally at the time of activation

Restitution of the common resourcer is done as soon as possible. When a certain number of units are no longer necessary for the following job steps, they are returned to the system.

3.2.6.2 Job Management

Job management controls the initiation of jobs activated by the scheduler, program loading and the chaining of job steps. Before the initiation of a program, job management verifies the presence of the removable volumes which will be used during execution. It sends "mount" messages to the op-erator asking for the volumes not present and sends "dismount" messages for volumes to be saved at the end of a job.

Job management also keeps accounting data to allow the installation to evaluate the cost of each job.

3.2.7 MONITOR SERVICES

Monitor service routines provide the connection between the user and the nucleus of the monitor.

The user invokes the monitor servic~s through macro-instruction in META-SYMBOL.

3.2.7

.1

Management of Job Storage Space

These services allow the user to dynamically check the number of free pages available to him.

If any pages are ava i labl e, he may then request a number of pages up to the Ii mi ts establ i shed for him. The free pages may come from the user's local dynamic area or from the common dynamic area shared by the user and the monitor. When the user has finished with a block of space, he frees it to be used by others.

3.2.7.2 Program Management

Program management services enable the user to bring into memory an overlay (program seg-ment) or a whole program. The user may choose to retain or destroy the calling program.

3.2.7.3 Checkpoi nt/Restart Servi ces

The checkpoint-restart services give the user the capability to preserve the state of his job at a given moment and to return at a later time to the same state. The systelTl preserves all of the information necessary to restart the user job and the corresponding states at the time of the call to checkpoint. The information is saved on a file established by the user. After the call to check-point is processed, the user's job continues execution in sequence.

When the call to restart is made, the job is re-initiated in the state in· which it had been when the checkpoint was created. In particular, the removable volumes which were unloaded at the crea-tion of the checkpoint are now remounted and reposicrea-tioned. The Data Control Blocks are reset to their state at the time of the checkpoint.

3.2.7.4 Trap Management

Trap management allows the user to specify to the system the action to be taken when a trap oc-curs duri ng the execution of a program. The user may request that hi s program be gi ven control on the occurrence of a particular trap. He may ask the system to ignore such traps as those associated with fixed point and decimal arithmetic. Should the user decide that he no longer wanted to main-tain control over traps, he can instruct the system to establish the form of trap management that was in effect prior to his asking for control.

3.2.7.5 Input/Output Services

XOS includes monitor services that assist the user in accessirg his data files. The monitor services enable the user to:

Access the next record or a specified record in a fi Ie Insert or modify a record in a fi Ie

Skip to the first record of the next block from any position in the current block Delete records from fi les

Move to the next volume of a mul ti -volume fi Ie Note his current position in a file

Positi on a fi I e at a specified place

Send specific commands such as page skipping on the printer and forward and backward skip-pi ng on magneti c tape to certai n types of devi ces

• Select a partition in accessing files with partitioned organization

• Insert a new principle partition identifier in the index of a partitioned file

• Read and wri te phys i ca I records

• Check the completion of I/O operations

3.2.7.6 Debug Control

XOS debug controls provide the user with a means of displaying selected parts of his program or data during the execution of his program. The display may be produced conditionally or uncondi-tionally. Monitor services are available to set up the conditional tests.

3.2.7.7 Miscellaneous Services

Included in the miscellaneous procedures are those that: provide the time and date; set and check interval timers; provide user communication with the operator; set, reset, and check the 32 pseudo keys; put a program in the wait or idle state.

Dans le document 5 November 1970 (Page 77-82)