.PROC,SSCONTL. * THIS JOB BUILDS TWO PROGRAMS THAT ARE NEEDED TO TIME EVENT * A SSMOVE DESTAGE JOB OR A LOW DISK SPACE SSMOVE JOB. * * *TIMESCR* PROGRAM IS CALLED BY A JOB THAT PLACES A SSMOVE * PROGRAM IN THE ROLLOUT QUEUE WAITTING FOR A PRESET TIME * TO START THE SSMOVE EXECUTION. * THIS DESTAGE RELATED PROCEEDURE IS CALL BY THE PROC *DESTAGE*. * ** THE BINNARY DECK IS CALLED *TIMEB*. * * *PROFULL* PROGRAM IS CALLED BY A JOB THAT PLACES A SSMOVE * PROGRAM IN THE ROLLOUT QUEUE WAITTING FOR A LOW DISK SPACE * THRESHOLD FLAG TO BE SET. * THE *PROFULL* BINNARIES MUST BE SYSEDITED OR BE PLACED ON * THE DEAD START TO EXECUTED. (AN SSJ= PROGRAM THAT READS * THE EST AND MST WITH SYSTEM MACRO-S FOR THE LOW DISK * THRESHOLD FLAGS.) * * THE BINNARY DECK IS CALLED *DKFULL*. * * THIS LOW DISK SPACE PROGRAM IS CALLED BY THE PROC *DKFULL* * ATTACH,OPL/UN=LIBRARY. COPYBR,TIMESRC,X. COPYBR,PROFULL,X1. REWIND,*. COPYBF,X,TIMESRC. COPYBR,X1,PROFULL. REWIND,*. MODIFY,P=0,C=0,N=N,F,Z./*CREATE,TIMESRC REWIND,*. MODIFY,P,LO=E,Z./*OPLFILE,N/*EDIT,TIMESRC FTN,I=COMPILE,L=L,B=TIMEB,S=PSSTEXT,S=NOSTEXT. REWIND,*. MODIFY,P=0,C=0,N=N,F,Z./*CREATE,PROFULL REWIND,*. MODIFY,P,LO=E,Z./*OPLFILE,N/*EDIT,DKFULL COMPASS,I,B=DKFUL,S=NOSTEXT,S=PSSTEXT,L=M. REWIND,*. MODIFY,P,LO=E,Z./*EDIT,MAC2 COMPASS,I,B=MACBIN,S=NOSTEXT,S=PSSTEXT,S=SSYTEXT,L=0. REWIND,*. LIBGEN(F=MACBIN,P=MACLIB,NX=0) LDSET(LIB=MACLIB,PRESET=0,MAP=SBEX/MAP) LOAD(DKFUL) NOGO(DKFULL,DKFULL,$RFL=$,$SSJ=$) PURGE,TIMEB,DKFULL/NA. SAVE,TIMEB,DKFULL. REVERT. SAVE TIMEB AND DKFULLB. DIS. EXIT. REVERT. ERRORS...... .DATA,TIMESRC. TIMESRC PROGRAM TIMESRC ( TAPE1 ) CCC *TIMESRC* CONTROLS THE CALLING OF *SSMOVE*. C C *TIMESRC* READS LOCAL FILE TAPE1 TO DETERMINE C THE NEXT TIME TO CALL *SSMOVE*. WHEN THE C TRIGGER TIME IS HIT, THEN *TIMESRC* ENDS AND C THE CCL PROCEDURE FILE IS ALLOWED TO CONTINUE. C C THE CCL PROCEDURE WILL THEN CALL *SSMOVE*. C C FORMAT OF TAPE1. C C N RECORDS OF FORMAT I4 - HHMM. C HH = HOUR OF NEXT DESTAGE. C MM = MINUTES OF NEXT DESTAGE. INTEGER CURTM C C READ NEXT TIME TO DESTAGE. C READ ( 1 , 9000 ) IHR , ISE 9000 FORMAT ( 2I2 ) NTM = SHIFT ( IHR , 6 ) .OR. ISE C C DETERMINE CURRENT TIME C 10 CALL GETCTM ( CURTM ) CURTM = CURTM .AND. 777700B CURTM = SHIFT ( CURTM , -6 ) C C IF CURRENT TIME .GT. TIME TO DESTAGE, THEN C END TO ALLOW PROCEDURE TO CALL *SSMOVE*. C IF ( NTM .GT. CURTM ) GOTO 100 STOP C C IF *SSMOVE* SHOULD RUN IN LESS THAN 15 MINUTES, C INCREASE THE FREQUENCY OF THE ROLLINS. C 100 CURTM = CURTM - 15 IF ( CURTM .GT. NTM ) 110 , 120 110 ITIME = 3 CALL ROLL ( ITIME ) GOTO 10 120 ITIME = 15 CALL ROLL ( ITIME ) GOTO 10 END IDENT GETCTM ENTRY GETCTM SPACE 4 GETCTM BSSZ 1 SA1 A1 PDATE X1 EQ GETCTM END IDENT ROLL ENTRY ROLL SPACE 4 ROLL BSSZ 1 SA1 X1 SX2 60D CONVERT TIME TO SECONDS IX6 X1*X2 SA6 ADDR ROLLOUT ADDR EQ ROLL RETURN AFTER ROLLOUT ADDR BSSZ 1 END .DATA,PROFULL. DKFULL IDENT DKFULL SYSCOM B1 SST ENTRY RFL= ENTRY SSJ= ENTRY DKFULL EXT RDESTC *** *DKFULL* CONTROLS THE CALLING OF *SSMOVE* WHEN THE * DISK LOW SPACE THRESHOLD IS REACHED. * DKFULL SB2 ESTB BUFFER TO RECEIVE EST ENTRIES SB1 1 SB3 ESTN SB4 -B1 READ MASS STORAGE ENTRIES RJ =XRDESTC READ EST INTO *ESTB* SA5 ESTN SB6 X5 SET LAST MASS STORAGE ORDINAL + 1 *SEARCH EST FOR MASS STORAGE DEVICES THAT ARE FULL. DFL1 SB4 B4+B1 EQ B4,B6,DFL2 IF END OF MASS STORAGE DEVICES SX1 B4 CALCULATE *ESTB* OFFSET R= X6,ESTE IX1 X1*X6 SA1 ESTB+X1+EQDE GET NEXT EST ENTRY PL X1,DFL1 IF NOT MASS STORAGE DEVICE BX6 X1 LX6 59-54 NG X6,DFL1 IF DEVICE UNAVAIBLE FOR ACCESS RJ RDM READ MST SA2 MSTB+ACGL-TDGL LX2 59-4 NG X2,DFL1 IF ERROR IDLE SET ON DEVICE SA2 MSTB+MDGL-TDGL LX2 59-58 NG X2,DFL1 IF AUXILIARY DEVICE SA2 MSTB+DULL-TDGL LX2 59-11 NG X2,DFL1 IF FAMILY IDLE DOWN FLAG IS SET SA2 MSTB+THLL-TDGL LX2 59-35 NG X2,DFL3 FULL DISK FOUND EQ DFL1 CHECK NEXT ENTRY DFL2 ROLLOUT ADDR EQ DKFULL CHECK REASON FOR ROLLIN DFL3 ENDRUN *** RDM - READ FULL *MST* ENTRY. * * ENTRY (X1) = EST ENTRY. * * EXIT (X3) = MST ADDRESS. * (MSTA) = MST POINTER PARAMETER. * (MSTB) = *MSTN* CONTIGUOUS WORDS STARTING AT *TDGL* * OF THE MST ENTRY. * * USES A - 6, 7. * X - 0, 2, 3, 6, 7. * * MACROS SYSTEM. RDM SUBR ENTRY/EXIT MX0 -12 BX3 -X0*X1 GET ADDRESS OF MST ENTRY LX3 3 SX2 X3+TDGL READ WORD *TDGL* OF MST LX2 35-17 MX7 1 SA7 MSTB SX7 MSTXL NUMBER OF MST ENTRY WORDS TO READ LX7 59-23 BX6 X7+X2 SX2 MSTB BX6 X2+X6 SA6 MSTA SYSTEM RSB,R,A6 EQ RDMX RETURN SSJ= BSS 0 SSJ= PARAMETER BLOCK BSSZ 1 CON 0 BSSZ SSJL PAD SSJ= PARAMETERS BSS 1 * BUFFERS ADDR VFD 24/0,24/LSPE,12/7020B LOW SPACE THRESHOLD/ HOUR TIMER ESTB BSS ESMX*ESTE EST BUFFER ESTN BSS 1 LAST MASS STORAGE ORDINAL + 1 MSTA BSS 1 MST POINTER PARAMETER WORD MSTB BSS MSTXL MST ENTRY BUFFER * COMMON DECKS *CALL COMSEVT *CALL COMCMAC USE // RFL= BSS 0 USE * END DKFULL