Table of Contents

DMTDSP Abstract

Statistics

Type ASSEMBLE
Source Lines : 174
Fixes Applied : 0
Most Recent Version : Thursday, December 7, 1978
Last Fix ID : [Unmodified]

Synopsis

Module

       DMTDSP

Function

        THE DMTDSP  MODULE IS  THE MSUP  DISPATCHER. IT  IS
        INTENDED TO BE ENTERED AS  AN EXIT FROM SUPERVISOR
        FUNCTIONS   WHICH   WERE  ENTERED   FOLLOWING   AN
        INTERRUPT, OR WHICH "UNDISPATCHED" A TASK BY MEANS
        OF THE FREEZE SVC FUNCTION.  DMTDSP MUST BE ENTERED
        WITH ALL PSW MASKS OFF (EXCEPT MACHINE CHECK).

Attributes

       REUSABLE, NON-INTERRUPTABLE

Operation

       DMTDSP  SCANS THE  TASK ELEMENT  QUEUE  FOR A  TASK
       WHICH IS READY FOR EXECUTION.  THE FIRST SUCH TASK
       FOUND IS  DISPATCHED. IF NO  READY TASK  IS FOUND,
       DMTDSP LOADS A MASKED ON WAIT STATE PSW.   WHEN  A
       TASK IS DISPATCHED,  ITS TASK ELEMENT  IS ENQUEUED
       AT THE END OF THE TASK QUEUE, REDUCING THE TASK TO
       LOWEST PRIORITY FOR THE NEXT DISPATCH.  THE EFFECT
       OF THIS IS A 'ROUND ROBIN' DISPATCHING ALGORITHM.

       THE TASK TO  BE DISPATCHED IS INSPECTED  TO SEE IF
       IT HAD BEEN  WAITING ON A LIST OF  SYNCH LOCKS. IF
       SO, EACH  SYNCH LOCK  IN THE  LIST WHICH  HAD BEEN
       WAITED ON  AND HAD NOT  BEEN POSTED IS  CLEARED TO
       ZERO. THE TASK ID AND TASK ELEMENT FOR THE TASK TO
       BE  DISPATCHED  ARE  STORED IN  LOW  STORAGE.  THE
       TASK'S  GENERAL REGISTERS  ARE  RELOADED FROM  THE
       TASK SAVE AREA, AND THE TASK'S RESUME PSW FROM THE
       TASK SAVE AREA IS LOADED.

Calls to Other Routines

       NONE