CALCULO DE CILINDROS Un disco 3390 tiene las siguientes características: 15 TRACK por CYLINDER 3,300 CYLINDER por UNIT 49,500 TRACK por UNIT 56,664 Bytes por TRACK 849,960 Bytes por CYLINDER 42,073,020,000 Bytes por UNIT CALCULO DE ESPACIO EN DISCO: Para calcular el espacio en cilindros, favor de seguir los siguientes pasos: 1.- Calculo en bytes para el caso de archivos secuenciales. ESPACIO = (TAMAÑO DEL REGISTRO) X (EL NUMERO TOTAL DE REGISTROS) + 20 % DE ESPACIO LIBRE POR CRECIMIENTO. 2.- Conversión a tracks. TRACKS = ESPACIO TOTAL DEL ARCHIVO EN BYTES / 56664 (1 TRACK = 56664 BYTES) 3.- Conversión a cilindros. CYLS = NUMERO DE TRACKS / 15 (1 CYL = 15 TRACKS) EJEMPLOS: Se requiere calcular el espacio de un archivo que va a tener 1,233,500 registros con longitud de 247 bytes. 1.- ESPACIO = 247 x 1233500 = 304,674,500 BYTES + 60,934,900 (20%) = 365,609,400 BYTES 2.- TRACKS = 365,609,400 / 56,664 = 6,452.234 TRACKS 3.- CYL = 6,452.234 / 15 = 430.15 CYL Por lo anterior el espacio de este archivo se codifica SPACE=(CYL,(450,225),RLSE) Y su definición completa es: //SALIDA DD DSN=XXXX.AP.FIX.XXXXX.XXXX, // DISP=(NEW,CATLG,DELETE), // UNIT=3390, // SPACE=(CYL,(450,225),RLSE), // DCB=(RECFM=FB,LRECL=247,BLKSIZE=0,DSORG=PS) Se requiere calcular el espacio de un archivo que va a tener 23 registros con longitud de 80 bytes. 1.- ESPACIO = 80 x 23 = 1,840 BYTES + 368 (20%) = 2,208 BYTES 2.- TRACKS = 2,208 / 56,664 = 0.03896 TRACKS 3.- CYL = 0.03896 / 15 = 0.0026 CYL Como el espacio mínimo en producción es 1 CYL, en casos como este se recomienda codificar el siguiente espacio: SPACE=(CYL,(2,1),RLSE) para respetar la regla que el espacio primario siempre sea el doble del secundario. Y su definición completa es: //SALIDA DD DSN=XXXX.AP.FIX.XXXXX.XXXX, // DISP=(NEW,CATLG,DELETE), // UNIT=3390, // SPACE=(CYL,(2,1),RLSE), // DCB=(RECFM=FB,LRECL=80,BLKSIZE=0,DSORG=PS) Se requiere calcular el espacio de un archivo que va a tener 50,000 registros con longitud variable de 850 a 1100 bytes.Para registros de longitud variable en el parámetro LRECL, al principio de cada registro, debe incluirse el RECORD DESCRIPTOR WORD con longitud de 4 bytes. En casos de archivos con registros de longitud variable, se toma la longitud del registro más largo y se le suman 4 bytes (RECORD DESCRIPTOR WORD), estos 4 bytes los usa el Sistema para guardar la longitud de cada registro, en nuestro ejemplo la longitud es de 1100 + 4 = 1104 bytes, y el valor 1104 es el número que se codifica en el parámetro LRECL de la DCB. 1.- ESPACIO = 1104 x 50000 = 55,200,000 BYTES + 11,040,000 (20%) = 66,240,000 BYTES 2.- TRACKS = 66,240,000 / 56,664 = 1,168.9961 TRACKS 3.- CYL = 1,168.9961 / 15 = 77.93 CYL Por lo anterior el espacio de este archivo se codifica SPACE=(CYL,(80,40),RLSE) Y su definición completa es: //DATAVAR0 DD DSN=XXXX.AP.FIX.XXXXX.XXXX, // DISP=(NEW,CATLG,DELETE), // UNIT=3390, // SPACE=(CYL,(80,40),RLSE), // DCB=(RECFM=VB,LRECL=1104,BLKSIZE=0,DSORG=PS) Se requiere calcular el espacio de un archivo que va a tener 650,000 registros con longitud de 1100 bytes.1.- ESPACIO = 1100 x 650000 = 715,000,000 BYTES + 143,000,000 (20%) = 858,000,000 BYTES 2.- TRACKS = 858,000,000 / 56,664 = 15,141.8890 TRACKS 3.- CYL = 15,141.8890 / 15 = 1,009.459 CYL Como el espacio máximo a codificar es de SPACE=(CYL,(1000,500),RLSE) la definición completa del archivo es: //DATAFIX0 DD DSN=XXXX.AP.FIX.XXXXX.XXXX, // DISP=(NEW,CATLG,DELETE), // UNIT=3390, // SPACE=(CYL,(1000,500),RLSE), // DCB=(RECFM=FB,LRECL=1100,BLKSIZE=0,DSORG=PS,BUFNO=30) NOTA.- Para respetar la regla que el espacio primario siempre sea el doble del secundario, se sugiere codificar siempre el primario con un número par, por ejemplo: SPACE=(CYL,(6,3),RLSE), SPACE=(CYL,(8,4),RLSE), SPACE=(CYL,(100,50),RLSE), etc.