Task Management
The task management service routines provide three kinds
task execution control, task synchronization, and
of services:
Task execution control includes initiating and terminating tasks. In
general, the only task to request these services is the REX system control task, which is described below. Task execution control also
includes the dispatcher, DMTDSP, which activates task execution as secn
as that task is initiated and while the task is active.
Task synchronization comprises a mechanism by which tasks are made ready or not ready for execution. When a task requests the services cf
another task, the requestor task may suspend its execution while the
request is being processed. The synchronization mechanism that
accomplishes this consists of two routines, and DMTPST. DMTWAT causes the requestor task to temporarily halt execution. DMTPST causes
a temporarily-halted task to resume execution. For more information cn
task synchronization refer to the section "Synchronizing and Dispatching
There are tvo types of task-to-task communications: (1) the DMTSIG routine (ALERT) and (2) the DMTGIV and DMTAKE routines (GIVE/TAKE). The DMTSIG
task to pass asynchronous
routine allows a task to immediately interrupt another
it information. The interrupted task must have an
exit routine defined to handle the interruption. DMTSIG performs a function analagous to an SVC The DMTGIV and DMTAKE routines allow tasks to exchange informaticn
buffers with other tasks. The GIVE/TAKE function provides the means fer
organized enqueuing and delivery of requests for services or informaticn from one task to another.
For more information on task-to-task communications, refer to the
section "Task-to-Task Communications" in this section. liO Management I/O management for tasks consists of the following functions: Handling requests for I/O operations Handling 1/0 interrupts Starting an I/O operation Completing an I/O request Whenever a task requests the services of the I/O manager, that task builds an I/O request table to be passed to the 110 manager. This table
consists of the following information: A synchrcnization lock for signaling I/O completion The address of the device on which the I/O operation is to take place The number of SENSE bytes to be returned, when applicable The address of the channel program to be executed RSCS Introduction 3-9
The following information is returned to the task by the I/O manager, in the I/O request table: The condition code for the SIO issued for the I/O operation The compcsite esw The SENSE tytes returned by the operation (if any) Using the information in this table, the I/O manager enqueues the
request on the specified subchannel, starts the I/O operation, assembles the return information in the requestor's I/O request table, and posts
the synchronization lock in the I/O request tatle signalling that the I/O operation is comFlete. Interruption Handling Supervisor service routines handle three kinds of interruptions:
external interruptions, sve interruptions, and I/O interruptions.
In RSeS, supervisor routines use the SVC (SUPERVISOR CALL) to suspend
the execution or dispatching of a task when that supervisor routine
received control. On an SVC interruption in RSCS, tMTSve is entered. DMTSVC saves the status of the executing task and passes control to the
calling sUFervisor rcutine in supervisor execution mode. RSCS handles external interruptions fro. tasks by searching fer
asynchronous exit requQsts supplied by tasks. When a request with a
code matching the external interruption code is found, its asynchronous exit is taken; otherwise, the external interruption is ignored. I/O interruptions are handled by the Rses I/O manager. When an
active IIO request causes an I/O interruption, the status of tbe I/C request is updated to reflect the new information. Otherwise, a search
is made for an asynchronous exit request for the interrupting device. When one is found, the asynchronous exit is taken. Otherwise, tbe
interruption is ignored. Virtual Storage Management
The supervisor virtual storage service routine IftTSTO bandIes requests
ty tasks fer main When a task requests main storage, DftTSiC reserves page(s) of storage for it. Main storage is freed directly by
task programs.
DMTQRQ manages requests for free
queue. SUFervisor routines call
supervisor status queue elements.
clements of the supervisor status DftTQRQ to reserve and release 3-10 IBM VM/370: System Logic and Problem Determination--Volume 3
Previous Page Next Page