Télécharger ooodmp.eso

Retour à la liste

Numérotation des lignes :

ooodmp
  1. C OOODMP SOURCE PV090527 26/04/24 08:23:04 12524
  2. SUBROUTINE OOODMP (IGO)
  3. C---------------------------------------------------------------------
  4. C
  5. C* IMPRESSIONS DE STATISTIQUES GESTION MEMOIRE ET DUMPS
  6. C*
  7. C* ENTREE : IGO TYPE DE DUMP
  8. C* SORTIE : SI TYPE DE DUMP=CONTROL ET ERREUR IGO=0
  9. C*
  10. C
  11. C PROGRAMMEUR : PALLAUD PUIS MOUGIN
  12. C MODIF : 29/09/86 SPECIFICATION DES FORMAT POUR LE SUN
  13. C MODIF : 18/09/87 SPECIFICATION DES FORMAT POUR LE HP9000
  14. C MODIF : 26/10/88 SPECIFICATION DES FORMAT POUR LE CONVEX
  15. C MODIF : 22/11/88 SPECIFICATION DES FORMAT POUR LE CONVEX
  16. C MODIF : 22/03/2016 WIN64 => INTRODUCTION
  17. C
  18. C-----------------------------------------------------------------------
  19. %INC IOODMP
  20. %INC IOOADR
  21. %INC IOOADZ
  22. %INC IOODES
  23. %INC IOOSGM
  24. %INC IOOVAL
  25. %INC IOOUNIT
  26. C
  27. DIMENSION IBIT(8)
  28. INTEGER LK(2)
  29. CHARACTER*3 LMOIS(12)
  30. CHARACTER*8 LCHAIN (12)
  31. C
  32. DATA LMOIS / 'JAN' , 'FEV' , 'MAR' , 'AVR' , 'MAI' , 'JUN'
  33. * , 'JUI' , 'AOU' , 'SEP' , 'OCT' , 'NOV' , 'DEC' /
  34. DATA LCHAIN / 'ACTIF ','FIXE ','LRU ','MRU '
  35. * , 'CACTIF ','CLRU ','CMRU ','OLIN '
  36. * , 'OLNOMOD ','OLMOD ','OMNOMOD ','OMMOD '/
  37. C
  38. C
  39. IDUMP=IGO+2
  40. C
  41. C****** CONTROLE DE VALIDITE DES SEGMENTS
  42. C
  43. IF (IDUMP.EQ.DMPT .OR. IDUMP.EQ.CONTROL) THEN
  44. C
  45. ICTR=0
  46. ID1=MZIDE1
  47. IDY=MZIDEY
  48. LDDE=MDLDE
  49. C
  50. DO 10 IDE=ID1,IDY,LDDE
  51. C DESCRIPTEUR ATTRIBUE
  52. IF (MDIDS(IDE).GE.0) THEN
  53. ITYP=MDTYP(IDE)
  54. IF (ITYP.LT.MDMINTYP .OR. ITYP.GT.MDMAXTYP) THEN
  55. CALL OOOERR (IDE,2,' DESTRUCTION SEGMENT DESCRIPTEUR')
  56. GO TO 10
  57. ENDIF
  58. IF (MDDISK(ITYP).EQ.MDMEM) THEN
  59. C SEGMENT EN MEMOIRE : CONTROLE DE VALIDITE
  60. ISG=MDISG(IDE)
  61. LSG=MSLS1(ISG)
  62. IDG=0
  63. IF (MSIDE(ISG).NE.IDE) IDG=IDG+1
  64. IF (MSLS2(ISG).NE.LSG) IDG=IDG+2
  65. IF (IDG.NE.0) THEN
  66. ICTR=1
  67. IF (IDUMP.EQ.CONTROL) IGO=0
  68. CALL OOOERR (IDE,2,' SEGMENT DETRUIT ')
  69. ENDIF
  70. ENDIF
  71. ENDIF
  72. 10 CONTINUE
  73. C
  74. IF (ICTR.EQ.0 .AND. IDUMP.EQ.CONTROL) RETURN
  75. C
  76. ENDIF
  77. C
  78. C****** IMPRESSION DE L'EN TETE DU DUMP
  79. C
  80. IVERS=OOOVAL(GO,NUMVERSION)
  81.  
  82.  
  83. LK(1)=IVERS/10
  84. LK(2)=IVERS-10*LK(1)
  85. IDATE=OOOVAL(GO,DATEVERSION)
  86. IMOIS=IDATE/100
  87. IYEAR=IDATE-IMOIS*100
  88. WRITE(JLST,1000) LK, LMOIS(IMOIS) , IYEAR
  89. C
  90. C****** APPEL DU MODULE STANDARD DE TRACE BACK ROUTINE
  91. C
  92. CALL OOOZZ5
  93. C
  94. C****** INFOS STATISTIQUES
  95. C
  96. NSTATS=MZNSTATS
  97. WRITE(JLST,2000) (MZJSS(I),I=1,NSTATS),(MZJSM(I),I=1,NSTATS)
  98. C
  99. C****** BILAN OCCUPATION MEMOIRE
  100. C
  101. C INDICES DEBUT/FIN DE ZONE ACTIVE
  102. J1=IZA
  103. J2=IZA+MZLEN(IZA)-1
  104. C CALCUL DE LA PLACE OCCUPEE PAR LES DONNEES = LZA
  105. C -ZONE DE CONTROLE (LZCTR)
  106. C -SGM GESTION DISQUE(LSGD)
  107. C -DIMENSION DU BUFFER (LSBUF)
  108. C -LG TROUS (MZLTROU)
  109. C -LG FILES D'ATTENTE BUFFERS
  110. ISD=MDISG(MZIDDX)
  111. LSD=MSLS1(ISD)
  112. LZCTR=ISD+LSD-IZA
  113. LFILES=OOOVAL(PLACE,FILES)
  114. IF (MZPTRK.NE.0) THEN
  115. LSGD =MSLS1(MDISG(MZPTRK))
  116. LSBUF=MSLS1(MDISG(MZPBUF))
  117. LBUF =OOOVAL(PLACE,FILESBUF)
  118. ELSE
  119. LSGD =0
  120. LSBUF=0
  121. LBUF =0
  122. ENDIF
  123. LDDYN=OOOVAL(PLACE,DISPDYN)
  124. LDFIX=OOOVAL(PLACE,DISPFIXE)
  125. LZAL =MZLEN(IZA)-LZCTR-LDDYN-LDFIX-(MSLZ1)
  126. WRITE(JLST,2010) MZLEN(IZA)
  127. WRITE(JLST,2011) LDDYN,LDFIX
  128. WRITE(JLST,2012) LZAL
  129. WRITE(JLST,2013) LFILES,LBUF
  130. C
  131. C****** INFOS DE CONTROLE
  132. C
  133. IF (IDUMP.EQ.DMPT .OR. IDUMP.EQ.INFO .OR. IDUMP.EQ.CONTROL) THEN
  134. WRITE(JLST,2005) MZOC4,MZLB,MZNDEX
  135. WRITE(JLST,2006) MZIDE1,MZIDEX,MZIDEY
  136. WRITE(JLST,2007) MZIDDX,MZPTRK
  137. WRITE(JLST,2008) MZPBUF,MZDLIM(IZA)
  138. NMM=MZNMM
  139. WRITE(JLST,2003) (MZJMM(I),I=1,2)
  140. WRITE(JLST,2004) (MZJMM(I),I=4,MZNMM)
  141. LPDYN=OOOVAL(PLACE,POTENTIELDISPDYN)
  142. WRITE(JLST,2002) LDDYN,LDFIX,LBUF,LPDYN
  143. WRITE(JLST,2009) MZQCHN
  144. ENDIF
  145. C
  146. C****** DUMP DE LA ZONE MEMOIRE GEREE PAR GEMAT
  147. C
  148. IF (IDUMP.EQ.INFO .OR.IDUMP.EQ.STAT ) GO TO 900
  149. C DUMP ZONES DE CONTROLE--->DEBUT DU SGM DES DESCRIPTEURS
  150. C J=INDICE(JSG),MSLSM MOTS/LIGNE
  151. WRITE(JLST,2100)
  152. J3=ISD
  153. LSMM=MSLSM
  154. DO 200 J=J1,J3,LSMM
  155. WRITE(JLST,3000) J,(JSG(J+I),I=1,MSLSM)
  156. 200 CONTINUE
  157. C DUMP SGM DES DESCRIPT.(ON INDIQUE LE DPLACT./DEBUT SGM DES
  158. C DESCRIPTEURS
  159. C IDE+MDLDE MOTS/DESCRIPTEUR
  160. ID1=MZIDE1
  161. IDY=MZIDEY
  162. LDDE=MDLDE
  163. DO IDE=ID1,IDY,LDDE
  164. IF (JDE(OOT+IDE).GT.0) THEN
  165. ITYP=MDTYP(IDE)
  166. JBIT=ITYP
  167. DO I=8,1,-1
  168. IBIT(I)=MOD(JBIT,2)
  169. JBIT = JBIT/2
  170. ENDDO
  171. IF (IDE.LT.MZIDDX) THEN
  172. WRITE(JLST,3100) IDE,(JDE(OOT+IDE+I-1),I=1,MDLDE),IBIT
  173. * ,'**',LCHAIN(MDNCHN (ITYP) )
  174. ELSE
  175. WRITE(JLST,3100) IDE,(JDE(OOT+IDE+I-1),I=1,MDLDE),IBIT
  176. ENDIF
  177. ELSE
  178. WRITE(JLST,3000) IDE,(JDE(OOT+IDE+I-1),I=1,MDLDE)
  179. ENDIF
  180. ENDDO
  181. C ON REPREND L'IMPRESSION DE MSLSM MOTS/LIGNE POUR LE RESTE DE
  182. C LA ZONE,LE DERNIER DESCRIPT. SERA REPETE
  183. J1=ISD+LSD-MDLDE-2
  184. C
  185. C**** DUMP DU RESTE DE LA ZONE MEMOIRE
  186. C
  187. NZER=0
  188. C LES LIGNES A ZERO NE SONT PAS IMPRIMEES
  189. DO 320 J=J1,J2,LSMM
  190. DO 300 I=1,LSMM
  191. IF (JSG(J+I).NE.0) GO TO 310
  192. 300 CONTINUE
  193. NZER=NZER+1
  194. GO TO 320
  195. C INTERLIGNE SI LIGNES A ZERO
  196. 310 IF (NZER.NE.0) WRITE(JLST,3000)
  197. WRITE(JLST,3000) J,(JSG(J+I),I=1,MSLSM)
  198. NZER=0
  199. 320 CONTINUE
  200. C
  201. C
  202. C****** TYPE DE RETOUR SUIVANT IGO
  203. C
  204. 900 IF (IDUMP.EQ.DMPS) STOP 16
  205. RETURN
  206.  
  207. C
  208. C******
  209. C
  210. 1000 FORMAT (' GEMAT ',I2,'.',I1,' ',A,I3, /
  211. 1 ,'*** DUMP DE LA MEMOIRE GEREE PAR GEMAT ***'/'1')
  212. C
  213. 2000 FORMAT ('0--- GEMAT --- STATISTIQUES',T108
  214. 1 ,15HNOMBRE DE BLOCS /
  215. 2 /5X,11H NOMBRE ,11H ACTUEL ,11H MAXIMUM
  216. 3 ,11H ACT-ACTIFS,11H MAX-ACTIFS
  217. 4 ,11H DEPLACES ,11H VIDES-MEM
  218. 5 ,11H RAP-MEM ,11HRAP-MEM+ACT
  219. 6 ,11H ECRITS ,11H LUS /
  220. 7 /5X,11HDE SEGMENTS,10I11
  221. 8 /5X,11HDE MOTS ,10I11/)
  222. C
  223. 2010 FORMAT (32H0***BILAN OCCUPATION MEMOIRE ***,7H TOTAL,
  224. 1 I12,5H MOTS/)
  225. 2011 FORMAT (T35,4HDONT,I12,35H MOTS LIBRES EN ZONE DYNAMIQUE ET ,
  226. 1 I12,25H MOTS LIBRES EN ZONE FIXE/)
  227. 2012 FORMAT (T35,4HET ,I12,16H MOTS DE DONNEES/)
  228. 2013 FORMAT (T40,4HDONT,I12,27H MOTS EN FILES D ATTENTE ET,
  229. 1 I12,22H MOTS EN FILES BUFFERS/)
  230. C
  231. 2002 FORMAT (25H ***DONNEES DE CONTROLE :,' DISPDYN = ',I10,
  232. 1 ' DISPFIXE = ',I10,
  233. 2 ' FILESBUF = ',I10,
  234. 3 ' POTDYN = ',I10)
  235. 2003 FORMAT (25H ***DONNEES DE CONTROLE :,' QBESOINPLACE = ',I10,
  236. 1 ' NTROUSBALAYES = ',I10)
  237. 2004 FORMAT (25H ***DONNEES DE CONTROLE :,' NXFNG = ',I10,
  238. 1 ' NXFND = ',I10,
  239. 2 ' QXFNINI = ',I10,
  240. 3 ' QXFNRAZ = ',I10)
  241. %IF UNIX32,UNIX64,WIN32,WIN64
  242. 2005 FORMAT (25H ***DONNEES DE CONTROLE :,
  243. 1 ' MZOC4 = ',I16,
  244. 2 ' MZLB = ',I10,
  245. 3 ' MZNDEX = ',I10)
  246. 2006 FORMAT (25H ***DONNEES DE CONTROLE :,
  247. 1 ' MZIDE1 = ',I16,
  248. 2 ' MZIDEX = ',I16,
  249. 3 ' MZIDEY = ',I16)
  250. 2007 FORMAT (25H ***DONNEES DE CONTROLE :,
  251. 1 ' MZIDDX = ',I16,
  252. 2 ' MZPTRK = ',I16)
  253. 2008 FORMAT (25H ***DONNEES DE CONTROLE :,
  254. 1 ' MZPBUF = ',I16,
  255. 2 ' MZDLIM = ',I16)
  256. %ENDIF
  257. C
  258. %IF XXX,IBM,VAX,APOLLO,FPS,CDC,UNIVAC,SEL,PRIME,CONVEX
  259.  
  260. 2005 FORMAT (25H ***DONNEES DE CONTROLE :,' MZOC4 = ',Z16,
  261. 1 ' MZLB = ',I10,
  262. 2 ' MZNDEX = ',I10)
  263. 2006 FORMAT (25H ***DONNEES DE CONTROLE :,' MZIDE1 = ',Z16,
  264. 1 ' MZIDEX = ',Z16,
  265. 2 ' MZIDEY = ',Z16)
  266. 2007 FORMAT (25H ***DONNEES DE CONTROLE :,' MZIDDX = ',Z16,
  267. 1 ' MZPTRK = ',Z16)
  268. 2008 FORMAT (25H ***DONNEES DE CONTROLE :,' MZPBUF = ',Z16,
  269. 1 ' MZDLIM = ',Z16)
  270. %ENDIF
  271. C
  272. %IF CRAY,CFT77
  273.  
  274. 2005 FORMAT (25H ***DONNEES DE CONTROLE :,' MZOC4 = ',Z16,
  275. 1 ' MZLB = ',I10,
  276. 2 ' MZNDEX = ',I10)
  277. 2006 FORMAT (25H ***DONNEES DE CONTROLE :,' MZIDE1 = ',Z16,
  278. 1 ' MZIDEX = ',Z16,
  279. 2 ' MZIDEY = ',Z16)
  280. 2007 FORMAT (25H ***DONNEES DE CONTROLE :,' MZIDDX = ',Z16,
  281. 1 ' MZPTRK = ',Z16)
  282. 2008 FORMAT (25H ***DONNEES DE CONTROLE :,' MZPBUF = ',Z16,
  283. 1 ' MZDLIM = ',Z16)
  284. %ENDIF
  285.  
  286. 2009 FORMAT (25H ***DONNEES DE CONTROLE :,' MZQCHN = ',8I10)
  287. C
  288. 2100 FORMAT (30H0--- GEMAT --- DUMP MEMOIRE /)
  289. C
  290. %IF UNIX32,UNIX64,WIN32,WIN64
  291. 3000 FORMAT (I10,5X,8I10)
  292. 3100 FORMAT (I10,5X,2I10,I3,7I1,2A)
  293. %ENDIF
  294. %IF IBM,VAX,APOLLO,CONVEX
  295. 3000 FORMAT (Z10,5X,8Z10)
  296. 3100 FORMAT (Z10,5X,2Z10,I3,7I1,2A)
  297. %ENDIF
  298. %IF CRAY,CFT77,FPS,CDC
  299. 3000 FORMAT (Z18,5X,4Z18)
  300. 3100 FORMAT (Z18,5X, Z18,I3,7I1,2A)
  301. %ENDIF
  302. %IF UNIVAC
  303. 3000 FORMAT (O13,5X,8O14)
  304. 3100 FORMAT (O13,5X, O14,I3,7I1,2A)
  305. %ENDIF
  306. END
  307.  
  308.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales