• Aucun résultat trouvé

Concurrent Tasks Within Job Steps (MVT and MFT With Subtaesking)

Dans le document its it it (Page 58-61)

At an MVT installation, the same task management facilities that initiate and control the concurrent performance of jobs and job support tasks are direc·tly

available for use by a customer. The facilities are also available a:t an MFT installation when the subtasking option is selected at systerrl generation.

58

Previous control programs, other than the MFT and MVT control prograrrs of the operating system, have provided means for concurrently performing data processing tasks. But these were special purpose control programs, such as the! airline reservation system application discussed earlier. In these applications, many of the advantages offered by a multiple task system, such as fast handling- of the workload, were essential to the

application. Therefore, they justified the high cost of a special purpose control program.

An MVT configuration of the operating system, or the MFT-with-subtasking

configuration, is a true general-purpose task management system. It is not

restricted to performing specific types of tasks, a group of related tasks, or a fixed designing processing programs that can be executed to concurrently perform tasks within a job step. Therefore, the advantage of a multiple task system, heretofore limited to a few specialized applications, can be realized in a wide range of applications. The general purpose task management facilities of the control program can, in fact, be used in

innumerable ways by both IBM and its

customers to increase the productivity and utility of system/360 and to broaden or extend its application.

At an installation of either MVT or MFT can be dynamically initiated and terminated in the process of performing a single job step.

The programmer is provided with a complete set of general purpose task

management language statements. With these he can program dynamic control over the concurrent performance of the tasks of a

job step. He can, for example, initiate the performance of new tasks as the

workload increases and terminate the tasks

I

as the work is completed freeing those

resources. He can also synchronize the performance of one task with that of

another or with I/O operation; for example, he can indicate that further performance of one task should await the completion of one or more other tasks or other occurrences such as the end of the time interval.

The programmer can also establish a system of relative priorities among the tasks of a job step. If necessary, he can specify changes in priority based on events that occur as the tasks are being

performed. For example, he may raise the priority of a task i f i t s t i l l is not completed after a specific period of time.

The programmer can also establish new resources and, with the help of the control program, control their use in performing concurrent tasks. A new resource may be a self-initializing program that can be used serially:, but not concurrently, in

performing different tasks, or i t may be a table of data that can be used either serially, or concurrently, depending upon whether or not the table can be modified while i t is being used to perform a task.

The programmer is given the means to ensure that a resource is used serially if i t is subject to change and concurrently if i t is not.

Main storage may be shared or passed Qetween tasks in an MVT environment by using a subpool -- a 2K block of main storage allocated for a task under the label called a sub pool number. Subpools can be shared by other tasks, or they can be passed from the task that created them to another task.8

Normally" main storage space requested by a job step program is allocated from a

partition or region of main storage that is assigned to the job step when i t is

initiated. However, an optional feature of the MVT supervisor allows the temporary assignment of an additional region (or regions) of main storage to a job step that has outgrown its previously assigned

region. When additional space is requested during a job step, the supervisor attempts to satisfy the request from an unassigned portion of the dynamic area of main

storage. If space is not available, then the contents of a region assigned to

another job step are transferred to direct access storage (rolled out), and the

vacated region is assigned to the step that requires additional space. When the region is no longer needed, its original contents are restored (rolled in) and the delayed step is allowed to continue.

The user indicates which steps can be rolled out and which cannot. However, the relative priority of the steps determines the order in which they are rolled out and whether or not a particular step will be rolled out.

The multiple-task management facilities described in this section provide the basic tools required for many applications that are beyond the capability of a single-task system. These include many

telecommunication applications that would otherwise be impractical without a

specially designed control program. The same facilities can also be used for more conventional applications. They enable the programmer to design highly efficient

production programs that, when executed, result in a high degree of resource sharing among concurrent tasks.

Task Management 59

At a System/360 Operating System

installation, the actual work of processing data is performed by the computing system under control and direction of the

supervisor. However, before any work can be performed by the system, i t must be scheduled and initiated by either the

master scheduler or the job scheduler. The master scheduler is used by the operator to schedule and initiate the work performed by the job scheduler. The job scheduler, is used to read, interpret, schedule,

initiate, record output for, and terminate the steps of a series of jobs that are defined and submitted for processing by the programming staff.

In all configurations of the operating system, the job scheduler is designed to process a continuous series of jobs without unnecessary delays between one job or job step and another. In the MFT and MVT

configurations of the operating system, the supervisor is capable of directing and controlling the performance of more than one data processing task at a time. The master and job schedulers for these

configurations are designed to take advantage of this capability, and by so doing increase the performance of the

system as a whole. This is accomplished in two major ways: by scheduling and

initiating the performance of more than one job at a time, and by performing job

support tasks concurrently with the jobs.

Dans le document its it it (Page 58-61)

Documents relatifs