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