d Program SYS c. Computes system information for SYS.COM. ,c. c. USES SYSSHOW.VX and SYSLAST.VX c. SYSSHOW.VX in generated by SYS.COM at the current system Xc. system status. C.-end.of.info- C. [SCI.EXE] SYS.FOR C.  PARAMETER IU=100 LC.  CHARACTER FLAG*1  CHARACTER TOD*20 x DATA TOD /' '/  CHARACTER LSYS*80, LOUT*80, LINE*80 @ CHARACTER LPLT*10  DATA LINE/' '/  CHARACTER UIC*2, STATE*4 lC.  INTEGER NU 4 REAL CTIM  CHARACTER UPID(IU)*8, UPRO(IU)*12, USTA(IU)*10  REAL UTIM(IU),UCPU(IU),UDIO(IU),UPAG(IU),UPHY(IU) ` C. CHARACTER PID*8, PRO*12 ( INTEGER IAC(IU) C. C... TWO LINES OF HEADER T C. C. 3-10 PID  C.12-23 PNAME C.27-33 UIC C.35-37 STATE H C.41-42 PRIORITY C.44-51 DIR. I/O C.53-62 CPU TIME tC.64-71 PAGE FLTS C.73-76 PH. MEM. <C. C......... 41 FORMAT( 10A ) h42 FORMAT( 5F10.1 ) C......... 0C. 100 CONTINUE  CALL DATE( TOD ) \ CALL TIME( TOD(13:))  WRITE( 6,41 ) ' ', TOD,' ------ System Status ------' $C. WRITE(6,41) '$First :' C. READ( 5,41 ) FLAG  OPEN( UNIT=1, NAME='SYSSHOW.VX', TYPE='OLD' ) PC.  NU = 0  OPEN( UNIT=2,NAME='SYSLAST.VX',TYPE='OLD',FORM='UNFORMATTED' | 1 , ERR=150 ) C. D IF( FLAG.EQ.'Y' ) GOTO 150 C.  READ( 2, ERR=150 ) CTIM p110 FORMAT( F20.2 ) C. 8120 CONTINUE  NU = NU+1  READ( 2,ERR=135 ) UPID(NU) d 1, UTIM(NU), UCPU(NU),UDIO(NU),UPAG(NU),UPHY(NU) 130 FORMAT( A, 4F10.1 ) , GOTO 120 C. 135 CONTINUE X NU = NU-1 C. 150 CONTINUE  OPEN( UNIT=99,NAME='SYSLAST.VX',TYPE='NEW',FORM='UNFORMATTED' ) C. L READ( 1, 41 ) LSYS C. WRITE( 6, 41 ) LSYS C. x TIM = 3600*IVAL(LSYS(41:42))+ 60*IVAL(LSYS(44:45))  1 + IVAL(LSYS(47:48))+ 0.01*IVAL(LSYS(50:51)) @C. C. READ( 1, 41 )  READ( 1, 41 ) l DTIM = TIM - CTIM WRITE( 6, 190 ) DTIM 4!190 FORMAT( ' Sta',F12.2,' pri CPU% DIO/sec' ! 1 , ' PAGE/sec 3000pgs Mem') !C. `"200 CONTINUE " READ( 1, 41, END=9000 ) LSYS (#C. # UIC='U' # IF( LSYS(27:29).LE.'001' ) UIC = ' ' T$C. $ STATE = LSYS(35:37) % IF( STATE.EQ.'HIB') STATE = ' ' %C. % PID = LSYS(3:10) H& PRO = LSYS(12:24) & CPU = 3600*IVAL(LSYS(53:54))+ 60*IVAL(LSYS(56:57)) ' 1 + IVAL(LSYS(59:60))+ 0.01*IVAL(LSYS(62:63)) t' DIO = IVAL(LSYS(44:51)) ' PAG = IVAL(LSYS(64:72)) <( PHY = IVAL(LSYS(73:77)) (C. ) DO 210 I=1,NU h) IF( PID .EQ. UPID(I) ) THEN ) IP = I 0* GOTO 215 * ENDIF *210 CONTINUE \+ NU = NU+1 + IP = NU $, UIC(2:2) = '*' , UCPU(IP) = 0 , UDIO(IP) = 0 P- UPAG(IP) = 0 - UPHY(IP) = 0 .C. |.215 CONTINUE . IAC(IP) = 1 D/ LOUT = UIC// STATE// LSYS(12:24) / IF( LSYS(49:51).NE.'-- ' ) THEN 0 PTIM = TIM - UTIM(IP) p0 PTIM = TIM - CTIM 0C. 81 FCPU = (CPU-UCPU(IP))/PTIM 1 LPLT = ' ' 2 IF( FCPU.GT. 0.00005 ) LPLT(1:1) = '-' d2 DO 275 I=1,10 2 IF( FCPU+.05.GE.I/10.0 ) LPLT(I:I)='*' ,3275 CONTINUE 3C. 3 WRITE( 6, 310 ) ' ', LOUT(1:20), LSYS(41:42) X4 1 , 100.0*(CPU-UCPU(IP))/PTIM 4 1 , (DIO-UDIO(IP))/PTIM, (PAG-UPAG(IP))/PTIM 5 1 , PHY, PHY-UPHY(IP), LPLT 5310 FORMAT( 3A, 3F10.1, F10.0, F7.0, A ) 5C. L6 NACT = NACT+1 6 IF( UIC(1:1).EQ.'U' ) TUCPU = TUCPU+CPU-UCPU(IP) 7 TDIO = TDIO + DIO - UDIO(IP) x7 TPAG = TPAG + PAG - UPAG(IP) 7 TPHY = TPHY + PHY @8 UPID(IP) = PID 8 UPRO(IP) = PRO 9 UTIM(IP) = TIM l9 UCPU(IP) = CPU 9 UDIO(IP) = DIO 4: UPAG(IP) = PAG : UPHY(IP) = PHY : ELSE `; NACT = NACT+1 ; NSWP = NSWP+1 (< TSWP = TSWP+PHY < TPHY = TPHY + PHY < WRITE( 6, 320 ) ' ', LOUT(1:20), LSYS(41:42) T= 1 , PHY, PHY-UPHY(IP) =320 FORMAT( 3A, 30X, F10.0, F7.0,' swap ' ) > UPID(IP) = PID > ENDIF > GOTO 200 H?C. ?9000 CONTINUE @ WRITE( 6,41 ) LINE t@ WRITE( 6, 9010 ) NACT,NSWP, 100*TUCPU/DTIM @ 1 , TDIO/DTIM, TPAG/DTIM, TPHY/30.0