17 22FL ...#SEG SCHEDIN [DEK BEASLEY :CENT 4 22KH ...[ 15 22PD ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1983 4 22T* ...[ 8 22_= #OPT K0SCHEDIN=0 11 23DW #LIS K0SCHEDIN>K0ALLGEO>K0LLS 7 23YG 8HSCHEDIN 4 24D6 # 12 24XQ # THIS IS THE CORE SCHEDULER : 4 25CB # 21 25X2 # IT SELECTS,WHEN APPROPRIATE,A PROGRAM TO BE NEXT SWAPPED IN AND 6 26BL # RUN 4 26W= # 11 27*W SEGENTRY K1SCHEDIN,XX1S 8 285# ...#SKI JWPHASE4<1$1 16 28*6 POINT9 #34631463 [ 0.9 APPROX. 4 28SQ [ 14 29#B [ SUBROUTINE TO CLEAR BIGBITS IN JOBBLOCK 18 29S2 [ I.E TO RETURN PROGRAMS THAT HAVE FAILED TO SWAPIN OR ARE 20 2=?L [ AS LARGE AS ONE THAT FAILED,TO THE CORE SCHEDULERS CONSIDERATION 4 2=R= [ 4 2?=W # 5 2?QG TCLEAR 9 2#69 ... LDX 0 BIGPROGCP 17 2#FY ... BZE 0 (6) [EXIT IF NO BIG PROGS 9 2#TM ... STOZ BIGPROGCP 8 2*9B LDN 3 BJOBQ 9 2*P2 NN LDX 3 FPTR(3) 8 2B8L TXU 3 CXJO 15 2BN= BCC (6) [EXIT AT END 9 2C7W BC 3,JBBIG 8 2CMG BRN NN 2 2D76 4 2DLQ [ 4 2F6B ...[ 21 2FL2 ...[ HERE WE HAVE THE SUBROUTINE WHICH SELECTS CANDIDATE TO BE SWAPPED IN 21 2G5L ...[ IT SELECTS BETWEEN THE SWAPPED OUT,SPECIALLY SWAPPED OUT SUSPENDED 21 2GK= ...[ PROGRAMS,IGNORING ANY MARKED TOO BIG OR OF CORE PRIORITY < HIGHEST 19 2H4W ...[ CORE PRIORITY OF JOBS MARKED TOO BIG(STORED IN BIGPROGCP) 19 2HJG ...[ WE CHOOSE ANY REALTIME PROGRAM FIRST,THEN THE PROGRAM WITH 20 2J46 ...[ THE HIGHEST CORE PRIORITY.IF 2 EXIST OF THE SAME CORE PRIORITY 11 2JHQ ...[ WE USE FWT+LTR ALGORITHM. 4 2K3B ...[ 12 2KH2 ...[ LINK: X7,USES ALL ACCUMULATORS 14 2L2L ...[ EXITS +0,IF NONE FOUND,OTHERWISE +1 18 2LG= ...[ ON EXIT, X1=FX1,X2=FX2,X4=JOB NUMBER,X3-> JOB BLOCK 16 2L_W ...[ THROUGHOUT SUBROUTINE,X3 USED TO SEARCH JOBQ 11 2MFG ...[ X5=TLR+FWT OF BEST SO FAR 14 2M_6 ...[ X4= ADDRESS OF JOBBLOCKOF BEST SO FAR 13 2NDQ ...[ X6=CORE PRIORITY OF HIGHEST SO FAR 19 2NYB ...[ SETS AWORK4 TO THE HIGHEST CORE PRIORITY OF THE MOP JOBS 21 2PD2 ...[ WAITING TO COME IN (IF ANY) EVEN IF THEY ARE MARKED TOO BIG.WHEN 15 2PXL ...[ SET +VE,THIS IMPLIES A MOP ENVIRONMENT 17 2QC= ...[ THIS IS USED BY SCHEDOUT IF A SWAPOUT IS NEEDED 4 2QWW ...[ 5 2RBG ...SLLSIN 15 2RW6 ... LDN 4 0 [INITIALISE 14 2S*Q ... LDX 5 GMINUS1 [ALL BITS 7 2STB ... LDN 6 0 8 2T*2 ... LDX 1 FX1 8 2TSL ... LDX 2 FX2 16 2W#= ... STOZ AWORK4(2) [SET BACKGROUND 7 2WRW ... CANDINIT 8 2X?G ... LDN 3 BJOBQ 17 2XR6 ...ROUND LDX 3 FPTR(3) [X3 -> NEXT JOBBLOCK 9 2Y=Q ... BXE 3 CXJO,QEND 7 2YQB ... CANDCNT 14 2_=2 ... JMBS ROUND,3,JBPLUGGING,JBBEING 11 2_PL ... JMBAS TRY,3,JBSO,JBSUSP 12 329= ... JMBAC ROUND,3,JBSTSO,JBPISO 4 32NW ...TRY 20 338G ... [DROP THRU IF TO BE CONSIDERED 5 33N6 ...#SKI G3 4 347Q ...( 17 34MB ...[ WE LOOK FOR REALTIME REQUESTED JOBS FIRST IN GEORGE3 17 3572 ...[ BECAUSE SUPPOSE WE HAVE TO KICK OUT AHIGHER PRIORITY 16 35LL ...[ PROGRAM TO SWAP IN THE REALTIME ONE IN LOW ADDRESS 16 366= ...[ THEN ON NEXT TRIP THROUGH SLLLSIN WE'D PICK THAT 14 36KW ...[ INSTEAD OF THE REALTIME ONE AND THUS LOOP 10 375G ... JBS XIT1,3,JBREON 4 37K6 ...) 19 384Q ... JMBS NOTMOP,3,JBOFFL,JBSISS,JBSSTAR [J IF NOT MOP JOB 21 38JB ... LDEX 0 ACOREP(3) [LOAD CP - NB.IGNORE TOP CHAR. 19 3942 ... BXL 0 AWORK4(2),NOTMOP [J IF < HIGHEST MOP CP SO FAR 17 39HL ... STO 0 AWORK4(2) [SET MOP ENVIRONMENT 5 3=3= ...NOTMOP 18 3=GW ... JBS ROUND,3,JBBIG [J IF TOO BIG AT PRESENT 16 3?2G ... LDEX 0 ACOREP(3) [LOAD JOBS CP 18 3?G6 ... BXL 0 6,ROUND [J IF < BEST CP SO FAR 4 3?HT ...# 19 3?KJ ...# THE FOLLOWING CODE UP TO TLR IS INSERTED AS A RESULT OF 18 3?M? ...# CORRECTING B9127, SINCE BIGPROGCP IF SET NOW HAS B0=1 4 3?P2 ...# 9 3?QP ... LDX 0 BIGPROGCP 16 3?SD ... BPZ 0 TLR [J IF NO TOO BIGS 20 3?TQ ... [SET B0, SAME AS IN BIGPROGCP 9 3?X4 ... LDEX 0 ACOREP(3) 8 3?YB ... ORX 0 GSIGN 20 3?_Q ... BXL 0 BIGPROGCP,ROUND [J IF < HIGHEST CP OF TOO BIGS 4 3#9J ...TLR 20 3#FB ... LDX 0 JCTLR(3) [WORK OUT ITS TLR+FWT (FWT WILL 19 3#_2 ... ADX 0 JCFWT(3) [ BE ZERO WITH IGNOREFWT ON) 9 3*DL ...#SKI K6LLSTEST>499-499 9 3*Y= ... TRACEVER 0,TLR+FWT 9 3B=M ... LDEX 1 ACOREP(3) 20 3BK4 ... BXU 6 1,XBEST [J IF ITS CP IS HIGHEST SO FAR 20 3BXG ... BXGE 0 5,ROUND [AS CP'S =,CHOOSE LEAST TLR+FWT 4 3CC6 ...[ 11 3CWQ ...[ WE HAVE NEW BEST CANDIDATE 4 3DBB ...[ 16 3DW2 ...XBEST LDX 5 0 [SET ITS TLR+FWT 18 3F*L ... LDX 4 3 [ & ITS JOB BLOCK ADDR. 14 3FT= ... LDEX 6 ACOREP(3) [ & ITS CP 9 3G#W ...#SKI K6LLSTEST>499-499 12 3GSG ... TRACEVER JOBNUM(3),BSTSOFAR 8 3H#6 ... BRN ROUND 17 3HRQ ...QEND [END OF JOBQ FOUND 8 3J3J ... LDX 1 FX1 17 3J?B ... BZE 4 (7) [EXT IF NONE FOUND 7 3JR2 ... LDX 3 4 4 3K=L ...XIT1 7 3KQ= ... EXIT 7 1 4 3R66 [ 4 3RKQ [ 4 3S5B [ 13 3SK2 [ MAIN ENTRY TO SCHEDULER : IN ASWINT 4 3T4L [ 4 3TJ= [ 4 3W3W XX1S 21 3WHG R4 BSON BSTRAT,(GEOERR) [EXTERMINATE IF STRATEGY IN PROGRESS 15 3X36 JBS S1,,ASWCORJAM [J IF COREJAM 13 3XGQ OFF CJAMAB [NO 13 3Y2B S1 TEST 0,CSWAPAB,CDELAB,CJAMAB 20 3YG2 BNZ 0 TERM [ANY 'ACTIVE' ABORT MARKER SET 9 3Y_L #SKI K6LLSTEST>499-499 11 3_F= TRACEVER CLEANCT,SELNEXT 17 3_YW CALL 7 SLLSIN [SET NECT CANDIDATE 8 42DG BRN NONE 15 42Y6 TRACEDP 0,CLEANCT,4,5,JCSIZE(3),AWORK1(2) 18 43CQ S3 ON BSTRAT [STRATEGY NOW IN PROGRESS 9 43XB LDX 6 JOBNUM(3) 9 44C2 LDX 5 JCSIZE(3) 17 44WL JBC R4A,3,JBREON [J IF NOT REALTIME ON 16 45B= ORX 5 GSIGN [AID TO STRATEGY 4 45TW R4A 10 46*G ACROSS CORESHED,1 2 46T6 4 47#Q [ 13 47SB [ IF NO SWAPIN CANDIDATES,WE TERMINATE 17 48#2 [ UNLESS THERE HAS BEEN A FAILED SWAPIN I.E. BIGBIT SET 13 48RL [ IN WHICH CASE WE GO TO SCHEDOUT ING4 4 49?= [ 17 49QW [ FAILED SWAPIN INCLUDES FAILED O.P.CORE REQUEST IN G4 4 4==G [ 4 4=Q6 NONE 9 4?9Q TRACEDP 1,CLEANCT 9 4??J ... CALL 6 TCLEAR 7 4?KB ...#UNS FSHTEST 18 4?X8 ... BI FX2,BFSHACTB [INVERT MACHINE BIT 4 4#92 TERM 7 4#NL ENDCCYCLE 11 4*8= MENDAREA 50,K100SCHEDIN 4 4*MW #END 6 ____ ...141313030002