X-Git-Url: http://git.sky-visions.com/cgi-bin/gitweb.cgi/retro-software/dec/tops10/v4.5.git/blobdiff_plain/cda2ba6d27526e5ef6f27f7b3391cfb55055bf2e..0000ed8f3efcdbf411f6c91517909089e5d7ef5d:/src/clkcss.mac diff --git a/src/clkcss.mac b/src/clkcss.mac index 1412f7f..f5b3b2e 100644 --- a/src/clkcss.mac +++ b/src/clkcss.mac @@ -3,11 +3,11 @@ SUBTTL T. HASTINGS/TH TS3.17 6 SEP 67 V001 XP VOLKCS,001 ;PUT VERSION NUMBER IN GLOB LISTING AND LOADER STORAGE MAP + ;SCHEDULING ALGORITHM IS: ;CALLED EVERY 60TH OF A SECOND WHEN CURRENT JOB IS USER MODE ;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 @@ -31,8 +31,7 @@ NXTINI: MOVSI TAC,-NQUEUE ;NO. OF QUEUES POPJ PDP, ;MAY CHOOSE TO SET REQUEST TO MORE ;NEG. VALUE IF MORE THEN ON JOB CAN ;USE DEVICE AT ONCE - -INTERNAL NXTJOB + INTERNAL NXTJOB INTERNAL FTTRPSET,FTDISK EXTERNAL JOB,TIMEF,JBTSTS,JOBMAX,JOBN,PJBSTS,CPOPJ,CHKSHF ENTRY XCKCSS @@ -75,8 +74,7 @@ NXT5: CAIL ITEM,JOBN ;GREATER THEN HIGHEST JOB NO.? JRST NXT8 ;YES, IT IS RUNABLE AND IS IN THIS QUEUE NXT6: SOJLE C,NXT3 ;NO IT IS NOT, SCANNED ALL JOBS YET? AOJA ITEM,NXT5 ;NO, LOOK AT NEXT JOB - -;HERE IF NO JOBS FOUND TO RUN(Q=-1) + ;HERE IF NO JOBS FOUND TO RUN(Q=-1) NXT7: MOVEI C,JOBN ;SCAN ALL JOBS INCLUDING POSSIBLY NULL JOB MOVE ITEM,JOB ;STARTING WITH LAST JOB TO RUN @@ -106,8 +104,8 @@ IFN FTTRPSET,< MOVE T,QUANTS(Q) ;SET QUANTUM RUNNING TIME FOR QUEUE HRRM T,JBTSTS(ITEM) ;WHICH JOB HAS JUST LEFT POPJ PDP, ;RETURN - -INTERNAL FTCHECK,FTMONP + + INTERNAL FTCHECK,FTMONP IFN FTCHECK+FTMONP,< EXTERNAL JOBP,AVALTB,REQTAB,QUANTS @@ -122,12 +120,14 @@ DEFINE X(A,B) QUEUES LOC=ZZ > + IFE FTCHECK+FTMONP,< ;APPROPRIATE ENTRY IS NON-ZERO WHEN SCHEDULER SHOULD LOOK ;AT THAT QUEUE TO FIND A JOB TO RUN ;WSAVAL CONTAINS THE NO. OF JOBS WITH IO WAIT SATISFIED(0=NONE) ;SIMILARLY FOR TSAVAL + DEFINE X(A,B) < INTERNAL A'AVAL,A'Q A'Q=.-AVALTB @@ -151,10 +151,9 @@ DEFINE X(A) A'Q=LOC LOC=LOC+1 > - + CODES - -IFE FTCHECK+FTMONP,< + IFE FTCHECK+FTMONP,< ;LAST JOB SCHEDULED FOR EACH QUEUE JOBP: REPEAT NQUEUE,< EXP 1> @@ -171,13 +170,14 @@ DEFINE X(A,B) INTERNAL REQTAB REQTAB: QUEUES - -;QUANTUM RUNNING TIME FOR EACH QUEUE IN JIFFIES(CLOCK TICKS) + + ;QUANTUM RUNNING TIME FOR EACH QUEUE IN JIFFIES(CLOCK TICKS) DEFINE X(A,B) < A'QUNT: EXP 2 INTERNAL A'QUNT > + QUANTS: QUEUES > END,