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