ooodmp
C OOODMP SOURCE PV090527 26/04/24 08:23:04 12524 SUBROUTINE OOODMP (IGO) C--------------------------------------------------------------------- C C* IMPRESSIONS DE STATISTIQUES GESTION MEMOIRE ET DUMPS C* C* ENTREE : IGO TYPE DE DUMP C* SORTIE : SI TYPE DE DUMP=CONTROL ET ERREUR IGO=0 C* C C PROGRAMMEUR : PALLAUD PUIS MOUGIN C MODIF : 29/09/86 SPECIFICATION DES FORMAT POUR LE SUN C MODIF : 18/09/87 SPECIFICATION DES FORMAT POUR LE HP9000 C MODIF : 26/10/88 SPECIFICATION DES FORMAT POUR LE CONVEX C MODIF : 22/11/88 SPECIFICATION DES FORMAT POUR LE CONVEX C MODIF : 22/03/2016 WIN64 => INTRODUCTION C C----------------------------------------------------------------------- %INC IOODMP %INC IOOADR %INC IOOADZ %INC IOODES %INC IOOSGM %INC IOOVAL %INC IOOUNIT C DIMENSION IBIT(8) INTEGER LK(2) CHARACTER*3 LMOIS(12) CHARACTER*8 LCHAIN (12) C DATA LMOIS / 'JAN' , 'FEV' , 'MAR' , 'AVR' , 'MAI' , 'JUN' * , 'JUI' , 'AOU' , 'SEP' , 'OCT' , 'NOV' , 'DEC' / DATA LCHAIN / 'ACTIF ','FIXE ','LRU ','MRU ' * , 'CACTIF ','CLRU ','CMRU ','OLIN ' * , 'OLNOMOD ','OLMOD ','OMNOMOD ','OMMOD '/ C C IDUMP=IGO+2 C C****** CONTROLE DE VALIDITE DES SEGMENTS C IF (IDUMP.EQ.DMPT .OR. IDUMP.EQ.CONTROL) THEN C ICTR=0 ID1=MZIDE1 IDY=MZIDEY LDDE=MDLDE C DO 10 IDE=ID1,IDY,LDDE C DESCRIPTEUR ATTRIBUE IF (MDIDS(IDE).GE.0) THEN ITYP=MDTYP(IDE) IF (ITYP.LT.MDMINTYP .OR. ITYP.GT.MDMAXTYP) THEN CALL OOOERR (IDE,2,' DESTRUCTION SEGMENT DESCRIPTEUR') GO TO 10 ENDIF IF (MDDISK(ITYP).EQ.MDMEM) THEN C SEGMENT EN MEMOIRE : CONTROLE DE VALIDITE ISG=MDISG(IDE) LSG=MSLS1(ISG) IDG=0 IF (MSIDE(ISG).NE.IDE) IDG=IDG+1 IF (MSLS2(ISG).NE.LSG) IDG=IDG+2 IF (IDG.NE.0) THEN ICTR=1 IF (IDUMP.EQ.CONTROL) IGO=0 CALL OOOERR (IDE,2,' SEGMENT DETRUIT ') ENDIF ENDIF ENDIF 10 CONTINUE C IF (ICTR.EQ.0 .AND. IDUMP.EQ.CONTROL) RETURN C ENDIF C C****** IMPRESSION DE L'EN TETE DU DUMP C IVERS=OOOVAL(GO,NUMVERSION) LK(1)=IVERS/10 LK(2)=IVERS-10*LK(1) IDATE=OOOVAL(GO,DATEVERSION) IMOIS=IDATE/100 IYEAR=IDATE-IMOIS*100 WRITE(JLST,1000) LK, LMOIS(IMOIS) , IYEAR C C****** APPEL DU MODULE STANDARD DE TRACE BACK ROUTINE C CALL OOOZZ5 C C****** INFOS STATISTIQUES C NSTATS=MZNSTATS WRITE(JLST,2000) (MZJSS(I),I=1,NSTATS),(MZJSM(I),I=1,NSTATS) C C****** BILAN OCCUPATION MEMOIRE C C INDICES DEBUT/FIN DE ZONE ACTIVE J1=IZA C CALCUL DE LA PLACE OCCUPEE PAR LES DONNEES = LZA C -ZONE DE CONTROLE (LZCTR) C -SGM GESTION DISQUE(LSGD) C -DIMENSION DU BUFFER (LSBUF) C -LG TROUS (MZLTROU) C -LG FILES D'ATTENTE BUFFERS ISD=MDISG(MZIDDX) LSD=MSLS1(ISD) LZCTR=ISD+LSD-IZA IF (MZPTRK.NE.0) THEN LSGD =MSLS1(MDISG(MZPTRK)) LSBUF=MSLS1(MDISG(MZPBUF)) ELSE LSGD =0 LSBUF=0 LBUF =0 ENDIF LZAL =MZLEN(IZA)-LZCTR-LDDYN-LDFIX-(MSLZ1) WRITE(JLST,2010) MZLEN(IZA) WRITE(JLST,2011) LDDYN,LDFIX WRITE(JLST,2012) LZAL WRITE(JLST,2013) LFILES,LBUF C C****** INFOS DE CONTROLE C IF (IDUMP.EQ.DMPT .OR. IDUMP.EQ.INFO .OR. IDUMP.EQ.CONTROL) THEN WRITE(JLST,2005) MZOC4,MZLB,MZNDEX WRITE(JLST,2006) MZIDE1,MZIDEX,MZIDEY WRITE(JLST,2007) MZIDDX,MZPTRK WRITE(JLST,2008) MZPBUF,MZDLIM(IZA) NMM=MZNMM WRITE(JLST,2003) (MZJMM(I),I=1,2) WRITE(JLST,2004) (MZJMM(I),I=4,MZNMM) WRITE(JLST,2002) LDDYN,LDFIX,LBUF,LPDYN WRITE(JLST,2009) MZQCHN ENDIF C C****** DUMP DE LA ZONE MEMOIRE GEREE PAR GEMAT C IF (IDUMP.EQ.INFO .OR.IDUMP.EQ.STAT ) GO TO 900 C DUMP ZONES DE CONTROLE--->DEBUT DU SGM DES DESCRIPTEURS C J=INDICE(JSG),MSLSM MOTS/LIGNE WRITE(JLST,2100) J3=ISD LSMM=MSLSM DO 200 J=J1,J3,LSMM WRITE(JLST,3000) J,(JSG(J+I),I=1,MSLSM) 200 CONTINUE C DUMP SGM DES DESCRIPT.(ON INDIQUE LE DPLACT./DEBUT SGM DES C DESCRIPTEURS C IDE+MDLDE MOTS/DESCRIPTEUR ID1=MZIDE1 IDY=MZIDEY LDDE=MDLDE DO IDE=ID1,IDY,LDDE IF (JDE(OOT+IDE).GT.0) THEN ITYP=MDTYP(IDE) JBIT=ITYP DO I=8,1,-1 IBIT(I)=MOD(JBIT,2) JBIT = JBIT/2 ENDDO IF (IDE.LT.MZIDDX) THEN WRITE(JLST,3100) IDE,(JDE(OOT+IDE+I-1),I=1,MDLDE),IBIT * ,'**',LCHAIN(MDNCHN (ITYP) ) ELSE WRITE(JLST,3100) IDE,(JDE(OOT+IDE+I-1),I=1,MDLDE),IBIT ENDIF ELSE WRITE(JLST,3000) IDE,(JDE(OOT+IDE+I-1),I=1,MDLDE) ENDIF ENDDO C ON REPREND L'IMPRESSION DE MSLSM MOTS/LIGNE POUR LE RESTE DE C LA ZONE,LE DERNIER DESCRIPT. SERA REPETE J1=ISD+LSD-MDLDE-2 C C**** DUMP DU RESTE DE LA ZONE MEMOIRE C NZER=0 C LES LIGNES A ZERO NE SONT PAS IMPRIMEES DO 300 I=1,LSMM IF (JSG(J+I).NE.0) GO TO 310 300 CONTINUE NZER=NZER+1 GO TO 320 C INTERLIGNE SI LIGNES A ZERO 310 IF (NZER.NE.0) WRITE(JLST,3000) WRITE(JLST,3000) J,(JSG(J+I),I=1,MSLSM) NZER=0 320 CONTINUE C C C****** TYPE DE RETOUR SUIVANT IGO C 900 IF (IDUMP.EQ.DMPS) STOP 16 RETURN C C****** C 1 ,'*** DUMP DE LA MEMOIRE GEREE PAR GEMAT ***'/'1') C 2000 FORMAT ('0--- GEMAT --- STATISTIQUES',T108 1 ,15HNOMBRE DE BLOCS / 2 /5X,11H NOMBRE ,11H ACTUEL ,11H MAXIMUM 3 ,11H ACT-ACTIFS,11H MAX-ACTIFS 4 ,11H DEPLACES ,11H VIDES-MEM 5 ,11H RAP-MEM ,11HRAP-MEM+ACT 6 ,11H ECRITS ,11H LUS / 7 /5X,11HDE SEGMENTS,10I11 C 2010 FORMAT (32H0***BILAN OCCUPATION MEMOIRE ***,7H TOTAL, C 2002 FORMAT (25H ***DONNEES DE CONTROLE :,' DISPDYN = ',I10, 1 ' DISPFIXE = ',I10, 2 ' FILESBUF = ',I10, 3 ' POTDYN = ',I10) 2003 FORMAT (25H ***DONNEES DE CONTROLE :,' QBESOINPLACE = ',I10, 1 ' NTROUSBALAYES = ',I10) 2004 FORMAT (25H ***DONNEES DE CONTROLE :,' NXFNG = ',I10, 1 ' NXFND = ',I10, 2 ' QXFNINI = ',I10, 3 ' QXFNRAZ = ',I10) %IF UNIX32,UNIX64,WIN32,WIN64 2005 FORMAT (25H ***DONNEES DE CONTROLE :, 1 ' MZOC4 = ',I16, 2 ' MZLB = ',I10, 3 ' MZNDEX = ',I10) 2006 FORMAT (25H ***DONNEES DE CONTROLE :, 1 ' MZIDE1 = ',I16, 2 ' MZIDEX = ',I16, 3 ' MZIDEY = ',I16) 2007 FORMAT (25H ***DONNEES DE CONTROLE :, 1 ' MZIDDX = ',I16, 2 ' MZPTRK = ',I16) 2008 FORMAT (25H ***DONNEES DE CONTROLE :, 1 ' MZPBUF = ',I16, 2 ' MZDLIM = ',I16) %ENDIF C %IF XXX,IBM,VAX,APOLLO,FPS,CDC,UNIVAC,SEL,PRIME,CONVEX 2005 FORMAT (25H ***DONNEES DE CONTROLE :,' MZOC4 = ',Z16, 1 ' MZLB = ',I10, 2 ' MZNDEX = ',I10) 2006 FORMAT (25H ***DONNEES DE CONTROLE :,' MZIDE1 = ',Z16, 1 ' MZIDEX = ',Z16, 2 ' MZIDEY = ',Z16) 2007 FORMAT (25H ***DONNEES DE CONTROLE :,' MZIDDX = ',Z16, 1 ' MZPTRK = ',Z16) 2008 FORMAT (25H ***DONNEES DE CONTROLE :,' MZPBUF = ',Z16, 1 ' MZDLIM = ',Z16) %ENDIF C %IF CRAY,CFT77 2005 FORMAT (25H ***DONNEES DE CONTROLE :,' MZOC4 = ',Z16, 1 ' MZLB = ',I10, 2 ' MZNDEX = ',I10) 2006 FORMAT (25H ***DONNEES DE CONTROLE :,' MZIDE1 = ',Z16, 1 ' MZIDEX = ',Z16, 2 ' MZIDEY = ',Z16) 2007 FORMAT (25H ***DONNEES DE CONTROLE :,' MZIDDX = ',Z16, 1 ' MZPTRK = ',Z16) 2008 FORMAT (25H ***DONNEES DE CONTROLE :,' MZPBUF = ',Z16, 1 ' MZDLIM = ',Z16) %ENDIF 2009 FORMAT (25H ***DONNEES DE CONTROLE :,' MZQCHN = ',8I10) C 2100 FORMAT (30H0--- GEMAT --- DUMP MEMOIRE /) C %IF UNIX32,UNIX64,WIN32,WIN64 3000 FORMAT (I10,5X,8I10) 3100 FORMAT (I10,5X,2I10,I3,7I1,2A) %ENDIF %IF IBM,VAX,APOLLO,CONVEX 3000 FORMAT (Z10,5X,8Z10) 3100 FORMAT (Z10,5X,2Z10,I3,7I1,2A) %ENDIF %IF CRAY,CFT77,FPS,CDC 3000 FORMAT (Z18,5X,4Z18) 3100 FORMAT (Z18,5X, Z18,I3,7I1,2A) %ENDIF %IF UNIVAC 3000 FORMAT (O13,5X,8O14) 3100 FORMAT (O13,5X, O14,I3,7I1,2A) %ENDIF END
© Cast3M 2003 - Tous droits réservés.
Mentions légales