-TITLE COMMON - MONITOR COMMON DATA AREA AND CONFIGURATION DEFINITION - V437\r
+\fTITLE COMMON - MONITOR COMMON DATA AREA AND CONFIGURATION DEFINITION - V437\r
SUBTTL PART 3 COMMON.MAC - T. HASTINGS/RCC TS 03 JUN 69\r
XP VCOMMN,437\r
;PUT VERSION NUMBER IN GLOB AND LOADER STORAGE MAP\r
;HAVING PREVIOUSLY DEFINED THEM ON THE CONFIG.MAC FILE USING \r
;MONGEN PROGRAM\r
\r
-\r
IFNDEF LISTSN, <LISTSN==1> ;FORCE S.MAC TO BE LISTED WITH COMMON FILE ONLY\r
;UNLESS 'LISTSN' DEFINED TO BE 0 WITH MONGEN\r
IFNDEF APRSN,<APRSN==0> ;SERIAL NUMBER OF APR\r
\r
;STANDARD MAG TAPE DENSITY(556 BPI),PARITY(ODD-BINARY)\r
INTERN STDENS ;STANDARD MAG TAPE DENSITY(556 BPI),PARITY(ODD-BINARY)\r
+\r
IFNDEF STDENS, <STDENS==2> ;STAND. == BINARY AT 556 BPI\r
;STDENS==D+P WHERE D AND P ARE:\r
;D==1(200 BPI);D== (556 BPI);D==3(800 BPI)\r
IFNDEF MINCOR,<MINCOR==^D54*JOBN> ;DISK DDB AND ACCESS ENTRY\r
; ALLOCATION REQUIRMENTS IN FREE CORE\r
;USED TO EXPAND SIZE OF MONITOR AT ONCE ONLY TIME\r
+\r
;32 WORDS/DDB AND 4 WORDS/ACCESS ENTRY = 36 WORDS\r
;ASSUME 1.5 OPEN FILE/JOB\r
\r
+\r
INTERN LOGSIZ\r
IFNDEF LOGSIZ, <LOGSIZ==2> ;MINSIZ OF VIRTUAL CORE LEFT\r
;AND STILL ALLOW LOGIN. MUST BE\r
FULCNT: 0 ;PRINT DISK IS FULL EVERY 30 SECONDS\r
MAXSIZ: 0 ;SIZE OF LARGEST JOB WHICH MIGHT BE SWAPPED OUT\r
MAXJBN: 0 ;NUMBER OF THAT JOB\r
-SUMCOR: 0 ;TEMPORARY STORAGE CELL USED BY SWAPPER FOR SUM OF\r
- ; CORE NEEDED FOR SWAP IN\r
+SUMCOR: 0 ;TEMP USED BY SWAPPER FOR SUM OF CORE NEEDED FOR SWAP IN\r
IFN FT2REL,<\r
INTERN SWPIN,SWPOUT\r
SWPIN: 0 ;JOB NUMBER BEING SWAPPED IN IF IT HAS A HIGH SEG\r
; USED TO REMEMBER THE JOB NUMBER DURING HIGH SEG\r
+\r
SWPOUT: 0 ;JOB NUMBER BEING SWAPPED OUT IF IT HAS A HIGH SEG\r
; USED TO REMEMBER THE JOB NUMBER DURING HIGH SEG\r
+\r
>\r
INTERN FTTRACK\r
IFN FTTRACK, < \r
INTERN LASIN,LASOUT\r
-\r
LASIN: 0 ;LAST JOB OR HIGH SEG SWAPPED IN\r
LASOUT: 0 ;LAST JOB OR HIGH SEG SWAPPED OUT\r
; ABOVE TWO FOR DEBUGGING ONLY\r
;SAME AS JBTADR (JDAT==PROG)\r
INTERN JBTSGN\r
JBTSGN: IFG SEGN, <\r
- BLOCK JOBN ;RH=SEGMENT NUMBER OF HIGH SEGMENT THIS JOB\r
+ BLOCK JOBN ;SEGMENT NUMBER OF HIGH SEGMENT THIS JOB\r
; IS USING IN CORE OR ON DISK\r
; 0 MEANS JOB DOES NOT HAVE HIGH SEG\r
- ;LH=USER DEPENDENT HIGH SEG STATUS BITS (SEE S.MAC)\r
+ ;LH=USER DEPENDENT HIGH SEG STATUS BITS\r
+ ; (SEE S.MAC)\r
XP ITMSGN,ITEM+JOBMXL ;LH SYMBOL FOR GETTAB UUO\r
>\r
IFE SEGN, <\r
- 0 ;SINGLE-ENTRY NULL JBTSGN TABLE....\r
- XP ITMSGN,JOBMXL ;LH SYMBOL FOR GETTAB UUO SO THAT JBTSGN IS\r
- ; UNDEFINED, I.E., MAKE INDEXING BY ITEM BE 0, BUT\r
- ; ALLOW REFERENCES UP TO JOBMXL.\r
+ 0\r
+ XP ITMSGN,JOBMXL ;LH SYMBOL FOR GETTAB UUO\r
+ ;SO THAT JBTSGN IS UNDEFINED\r
+ ;I.E., MAKE INDEXING BY ITEM BE 0\r
+ ; BUT ALLOW REFERENCES UP TO JOBMXL\r
>\r
IFG DSKN, < ;DISK SYSTEM ?\r
INTERN PRJPRG,JBTDIR\r
RTIME: BLOCK JOBN ;TOTAL RUN TIME SINCE LAST IJOB OR RUNTIME\r
TTIME: BLOCK JOBN ;TOTAL RUN TIME SINCE LAST IJOB\r
>\r
-\r
- IFG SYS50N,< ;SWAPPING SYSTEM ?\r
+\f IFG SYS50N,< ;SWAPPING SYSTEM ?\r
INTERNAL JBTSWP,JBTCHK\r
JBTSWP: BLOCK JOBN+SEGN ;LH:==PROTECT TIME WHILE JOB IS IN CORE.\r
; DISK ADDRESS WHILE SWAPPED OUT\r
>\r
IFG DSKN, <\r
INTERN MQUEUE,MQTOP\r
-\r
MQUEUE: BLOCK JOBN ;DISK MONITOR I/O QUEUE\r
MQTOP=. ;LAST LOC+1 OF MONITOR QUEUE\r
>\r
\r
LALL ;LIST QUEUE DEFINITIONS FOR ALL TO SEE\r
\r
- DEFINE X <MXQUE==MXQUE+1;>\r
+ DEFINE X <MXQUE==MXQUE+2;>\r
QUEUES\r
DEFINE X (A)\r
\r
XALL ;BACK TO NORMAL MACRO EXPANSION\r
\r
INTERN JBTQ,JBTQM1,JBTQP1,JBTQMN\r
-\r
BLOCK MXQUE ;NUMBER OF QUEUES FOR SWAPPING SCHEDULER\r
JBTQ: BLOCK JOBN ;ONE ENTRY PER JOB,\r
- ; LH=PREVIOUS JOB, RH=NEXT JOB IN QUEUE\r
+ ; LH=PREVIOUS JOB, RH=NEXT JOB IN QUEUE\r
; NEGATIVE MEANS THIS IS FIRST (LH) OR LAST (RH)\r
; JOB IN QUEUE\r
JBTQM1==JBTQ-1 ;JBTQ-1\r