Type ASSEMBLE
Source Lines : 1,735
Fixes Applied : 5
Most Recent Version : Thursday, December 7, 1978
Last Fix ID : [HRC066DK]
Module
DMKSCH
Function
TO MAINTAIN QUEUES OF RUNNABLE AND ELIGIBLE USERS, TO ALTER USERS DISPATCHING STATUS, AND TO PERIODICALLY RECALCULATE USERS WORKING SET AND DISPATCHING PRIORITY, AND TO MAINTAIN STATISTICS ON UTILIZATION AND CONTENTION FOR MAJOR RESOURCES DMKSCH ALSO CONTAINS THE ROUTINES THAT MAINTAIN THE SYSTEM TOD CLOCK COMPARATOR REQUEST QUEUE AND THE CODE THAT MONITORS FAV- ORED EXECUTION USERS
Attributes
SERIALLY REUSABLE, RESIDENT, CALLED VIA BALR
Operation
A. MAIN STATUS CHANGE MAINTENANCE 1. STAMP/UNSTAMP USER'S "REAL" TIMER(S) 2. IF USER IS RUNNABLE, SKIP TO STEP 6. 3. IF USER WAS RUNNABLE BEFORE, MARK NOT RUNNABLE IF IN ELIGIBLE LIST DROP FROM LIST. 4. IF USER IS IN AN IDLE WAIT STATE, DROP FROM Q 5. GO TO SECTION B TO LOOK FOR ELIGIBLE USERS TO ADD TO Q 6. IF USER IS RUNNABLE, MARK IT RUNNABLE. 7. IF USER WAS RUNNABLE BUT NOT IN Q BEFORE, GO TO SECTION B TO LOOK FOR USERS TO ADD TO Q 8. IF USER WAS NOT RUNNABLE BEFORE, ADD TO APPROPRIATE RUN- NABLE LIST 9. IF USER'S TIME SLICE HAS BEEN EXCEEDED, DROP FROM Q 10. IF USER HAS GONE COMPUTE BOUND, DROP TO LOW PRIORITY 11. GO TO SECTION B
Calls to Other Routines
DMKMIDNT - CALLED TO ALTER DATE AT MIDNIGHT DMKFRET - TO RELEASE STORAGE DMKQCNWT - TO WRITE OVERLOAD DIAGNOSTICS TO OPERATOR. DMKPTRRS COUNT REF. PAGES AND ADD TO FLUSH LIST DMKLOKSP - TO OBTAIN SPIN LOCKS