-TITLE CLKCSS - SCHEDULING ALOGRITHM FOR NON-SWAPPING SYSTEMS\r
+TITLE CLKCSS - SCHEDULING ALGORITHM FOR NON-SWAPPING SYSTEMS\r
SUBTTL T. HASTINGS/TH TS3.17 6 SEP 67 V001\r
-XP VOLKCS,001\r
+XP VCLKCS,001\r
;PUT VERSION NUMBER IN GLOB LISTING AND LOADER STORAGE MAP\r
\r
\r
;CALLED WHEN CURRENT JOB IS IN EXEC MODE AND:\r
; 1. JUST STARTED TO WAIT FOR IO\r
; 2. JUST STARTED TO WAIT FOR A BUSY SHARABLE DEVICE\r
-; 3. RETURNING TO USER AFTER TYPING CONTROL C\r
-; 4. RETURNING TO USER AFTER CLOCK TRIED TO INTERRUPT\r
+; 3. RETURNING TO USER MODE AFTER TYPING CONTROL C\r
+; 4. RETURNING TO USER MODE AFTER CLOCK TRIED TO INTERRUPT\r
; CURRENT JOB WHILE IT WAS IN EXEC MODE\r
-; 5. AND ERROR OCCURRED IN CURRENT JOB\r
+; 5. AN ERROR OCCURRED IN CURRENT JOB\r
\r
;CALL: SETOM TIMEF ;IF CLOCK HAS GONE OFF SINCE LAST CALL\r
; PUSHJ PDP,NXTJOB\r
; RETURN WITH NEXT JOB TO RUN IN AC ITEM\r
\r
-;INTIALIZE SCHEDULER(CALLED FROM IOINI1 BEFORE ALL OTHER\r
+;INITIALIZE SCHEDULER(CALLED FROM IOINI1 BEFORE ALL OTHER\r
; DEVICES ARE INITIALIZED)\r
\r
INTERNAL NXTINI\r
;IE NO JOB WAITING OR USING DEVICE\r
AOBJN TAC,.-2 ;OTHER DEVICE INITIALIZATION\r
POPJ PDP, ;MAY CHOOSE TO SET REQUEST TO MORE\r
- ;NEG. VALUE IF MORE THEN ON JOB CAN\r
+ ;NEG. VALUE IF MORE THAN ON JOB CAN\r
;USE DEVICE AT ONCE\r
\fINTERNAL NXTJOB\r
INTERNAL FTTRPSET,FTDISK\r
XCKCSS:\r
NXTJOB: PUSHJ PDP,CHKSHF ;SHUFFLE CORE IF NEEDED\r
SETZM T\r
- SKIPN ITEM,JOB ;CURRENT JOB NO.. IS IT NULL JOB?\r
+ SKIPN ITEM,JOB ;CURRENT JOB NO., IS IT NULL JOB?\r
JRST NXT0 ;YES, DO NOT DECREMENT QUANTUM RUN TIME\r
SKIPE TIMEF ;NO, IS THIS A CLOCK INTERRUPT CALL?\r
SOSA T,JBTSTS(ITEM) ;YES, DECREMENT QUANTUM RUN TIME\r
;IN JOB STATUS WORD\r
SKIPA T,JBTSTS(ITEM) ;NO, JUST PICKUP STATUS WORD\r
- TRNE T,-1 ;REDUCE TIME TO ZERO YET?\r
+ TRNE T,-1 ;REDUCED TIME TO ZERO YET?\r
JRST NXT1 ;NO\r
HRR T,RNQUNT ;YES, RESET FOR RUN QUEUE QUANTUM\r
NXT0: SETOM RNAVAL ;FLAG TO SCAN RUN QUEUE FOR DIFFERENT JOB\r
NXT1: HRRM T,JBTSTS(ITEM) ;STORE MODIFIED QUANTUM RUN TIME\r
MOVEI Q,MAXQ ;HIGHEST PRIORITY QUEUE SCANNED FIRST\r
NXT2: SKIPN AVALTB(Q) ;SHOULD THIS QUEUE BE SCANNED FOR A RUNABLE JOB?\r
-NXT3: SOJGE Q,NXT2 ;NO, LOOK AT NEXT LOWEST PRIORITY QUEUE\r
- JUMPL Q,NXT7 ;YES, LOOKED AT QUEUES NQUEUE-1..,0?\r
+NXT3: SOJGE Q,NXT2 ;NO. LOOK AT NEXT LOWEST PRIORITY QUEUE\r
+ JUMPL Q,NXT7 ;YES, LOOKED AT QUEUES NQUEUE-1...0?\r
MOVE Q1,Q ;MOVE QUEUE INDEX TO PROPER POS.\r
ROT Q1,^D17-JWPOS ;TO MATCH JOB STATUS WORD\r
- MOVEI C,JOBMAX ;NO, SACN ALL JOBS(EXECEPT NULL JOB)\r
+ MOVEI C,JOBMAX ;NO, SCAN ALL JOBS(EXCEPT NULL JOB)\r
AOSA ITEM,JOBP(Q) ;SCAN ALL OTHER JOBS IN THIS QUEUE FIRST\r
\r
NXT4: SETOM RNAVAL ;FLAG RUN QUEUE BEING SCANNED\r
\r
-NXT5: CAIL ITEM,JOBN ;GREATER THEN HIGHEST JOB NO.?\r
+NXT5: CAIL ITEM,JOBN ;GREATER THAN HIGHEST JOB NO.?\r
MOVEI ITEM,1 ;YES, RESET TO 1(SKIP NULL JOB)\r
HLRZ T,JBTSTS(ITEM) ;IS JOB RUNABLE?\r
TRZ T,RUNMSK+CMWB ;MASK OUT JOB STATUS BITS WHICH DO NOT MATTER\r
\r
NXT7: MOVEI C,JOBN ;SCAN ALL JOBS INCLUDING POSSIBLY NULL JOB\r
MOVE ITEM,JOB ;STARTING WITH LAST JOB TO RUN\r
- SKIPN Q1,RNAVAL ;HAS RUN QUEUE(Q,Q1=7) BEEN SCANNED?\r
- AOJA Q,NXT4 ;NO, FLAG THAT IS HAS AND SCAN RUN QUEUE(Q,Q1=2)\r
+ SKIPN Q1,RNAVAL ;HAS RUN QUEUE(Q,Q1=0) BEEN SCANNED?\r
+ AOJA Q,NXT4 ;NO, FLAG THAT IS HAS AND SCAN RUN QUEUE(Q,Q1=0)\r
SETZB ITEM,RNAVAL ;YES, CLEAR FLAG, SET NULL JOB TO RUN\r
POPJ PDP, ;RETURN\r
\r
NXT8:\r
IFN FTTRPSET,<\r
EXTERNAL STOPTS\r
- MOVE T,STOPTS ;HAS A TRPSET UUO BEEN DONE FOR JOB1\r
+ MOVE T,STOPTS ;HAS A TRPSET UUO BEEN DONE FOR JOB1\r
;WITH NON ZERO AC?\r
- CAIE ITEM,1 ;IS THIS JOB 1?\r
- JUMPN T,NXT6 ;KEEP LOOKING IF NOT JOB1 AND\r
+ CAIE ITEM,1 ;IS THIS JOB 1?\r
+ JUMPN T,NXT6 ;KEEP LOOKING IF NOT JOB1 AND\r
;STOPTS FLAG SET\r
>\r
\r
ZZ=0\r
QUEUES\r
LOC=ZZ\r
->\r
\r
+>\r
IFE FTCHECK+FTMONP,<\r
;APPROPRIATE ENTRY IS NON-ZERO WHEN SCHEDULER SHOULD LOOK\r
;AT THAT QUEUE TO FIND A JOB TO RUN\r
\r
JOBP: REPEAT NQUEUE,< EXP 1>\r
\f\r
-;SHARABLE DEVICE REQUEST TABLE(GENERAL;IZED FOR OTHER QUEUES TOO)\r
+;SHARABLE DEVICE REQUEST TABLE(GENERALIZED FOR OTHER QUEUES TOO)\r
;CONTAINS THE NUMBER OF JOBS WAITING TO USE SHARABLE DEVICE\r
-;WSREG AND RNREG ARE UNUSED\r
+;WSREQ AND RNREQ ARE UNUSED\r
\r
DEFINE X(A,B)\r
< A'REQ: 0\r
\f;QUANTUM RUNNING TIME FOR EACH QUEUE IN JIFFIES(CLOCK TICKS)\r
\r
DEFINE X(A,B)\r
-< A'QUNT: EXP 2\r
+< A'QUNT: EXP B\r
INTERNAL A'QUNT\r
>\r
\r