ibm:vm370-lib:copy:alloc.copy_src
Table of Contents
ALLOC Source
References
- Fixes Applied : 1
- This Source Date : Friday, December 8, 1978
- Last Fix ID : [HRC106DK]
Source Listing
- ALLOC.COPY.txt
- *COPY ALLOC 00001000
- PUSH PRINT 00001200
- AIF ('&SYSPARM' NE 'SUP').ALL01 00001400
- PRINT OFF,NOGEN 00001600
- .ALL01 ANOP 00001800
- OWNDLIST DSECT 00004000
- SPACE 00005000
- *** OWNDLIST - CP OWNED VOLUME LIST 00006000
- * 00007000
- * 0 +-----------------------------------+-----------+ 00008000
- * | OWNDVSER | OWNDRDEV | 00009000
- * 8 +-----------------------------------+-----------+ 00010000
- * 00011000
- *** OWNDLIST - CP OWNED VOLUME LIST 00012000
- SPACE 00015000
- OWNDVSER DS CL6 VOLUME SERIAL NUMBER 00016000
- OWNDRDEV DS 1H DISPLACEMENT OF RDEVBLOK FOR THE VOLUME 00017000
- ORG OWNDRDEV 00018000
- OWNDPREF DS 1H ALLOCATION PREFERENCE 00019000
- EJECT 00020000
- ALOCBLOK DSECT 00021000
- SPACE 1 00022000
- *** ALOCBLOK - DASD CYLINDER ALLOCATION BLOCK 00023000
- * 00024000
- * 0 +-----------------------+-----------+-----------+ 00025000
- * | ALOCPNT | ALOCUSED | ALOCMAX | 00026000
- * 8 +-----------+-----------+-----------+-----------+ 00026500
- * | ALOCNTMP | | 00027000
- * 10 +-----------+-----------------------------------+ 00027500
- * | | 00028000
- * = ALOCMAP = 00029000
- * | | 00030000
- * +-----------------------------------------------+ 00031000
- * 00032000
- *** ALOCBLOK - DASD CYLINDER ALLOCATION BLOCK 00033000
- SPACE 1 00034000
- ALOCPNT DS 1F POINTER TO NEXT ALOCBLOK ON CHAIN 00035000
- ALOCUSED DS 1H NUMBER OF CYLINDERS CURRENTLY IN USE 00036000
- ALOCMAX DS 1H MAXIMUM NUMBER OF CYLINDERS AVAILABLE 00037000
- ALOCNTMP DS 1H NO. OF NON-TEMP CYLINDERS 00037250
- DS 3H RESERVED FOR IBM USE 00037500
- ALOCMAP DS 0F CYLINDER ALLOCATION BIT MAP 00038000
- SPACE 1 00039000
- * BITS DEFINED IN ALOCMAP 00040000
- * BIT = 0 - CYLINDER IS AVAILABLE 00041000
- * BIT = 1 - CYLINDER HAS BEEN ASSIGNED 00042000
- SPACE 1 00043000
- * NOTE THAT THE SIZE OF THE ALOCMAP IS VARIABLE AND DEPENDS ON 00044000
- * THE NUMBER OF CYLINDERS ON THE DEVICE. GENERALLY, THE SIZE 00045000
- * OF THE ALOCBLOK IS GIVEN BY THE FORMULA 00046000
- * 00047000
- * ALOCSIZE(DOUBLE WORDS) = ((ALOCMAX+63)/64)+2 00047500
- * = (NO OF CYLS / BITS PER DOUBLEWORD) + HEADER 00048000
- * 00049000
- * WHERE ALOCMAX FOR 2314 = 203, FOR 3340 = (35MB=349,70MB=698), 00050100
- * FOR 3330 MODEL 1 = 404, FOR 3330 MODEL 11 = 808, 00050200
- * FOR 3350 = 555, FOR 2305 MODEL 1 = 48 AND MODEL 2 = 96 00050300
- * ANY BITS IN THE MAP THAT REPRESENT CYLINDERS NOT PRESENT ON 00052000
- * THE DEVICE ARE SET TO ONE 00053000
- SPACE 1 00054000
- * FOR TDISK ALLOCATION BLOCKS 00055000
- ORG ALOCUSED 00056000
- ALOCCYL1 DS 1H FIRST CYLINDER OF TDISK AREA 00057000
- ALOCCYL2 DS 1H LAST CYLINDER OF TDISK AREA 00058000
- SPACE 1 00059000
- * BYTES DEFINED IN ALOCMAP 00060000
- * BYTE = X'00' - CYLINDER IS AVAILABLE 00061000
- * BYTE = X'AA' - CYLINDER HAS BEEN ALLOCATED 00062000
- SPACE 1 00063000
- * NOTE THAT THE SIZE OF THE TDISK ALOCMAP IS VARIABLE AND 00064000
- * DEPENDS ON THE NUMBER OF CYLINDERS IN THE RANGE ALOCCYL1 TO 00065000
- * ALOCCYL2. GENERALLY, THE SIZE OF A GIVEN BLOK IS GIVEN BY 00066000
- * THE FORMULA 00067000
- * ALOCSIZE(DOUBLE WORDS) = ((ALOCCYL2-ALOCCYL1+1+7)/8)+2 00067500
- * = (NO OF CYLS (INCLUSIVE) / BYTES PER DOUBLEWORD) + HEADER 00068000
- * ALOCSIZE(DOUBLE WORDS) = ((ALOCCYL2-ALOCCYL1+8)/8)+1 00069000
- * 00070000
- * BYTES FOR CYLINDERS NOT AVAILABLE WILL BE MARKED ALLOCATED 00071000
- EJECT 00072000
- RECBLOK DSECT 00073000
- SPACE 1 00074000
- *** RECBLOK - DASD PAGE ALLOCATION BLOCK 00075000
- * 00076000
- * 0 +-----------------------+-----------+-----+-----+ 00077000
- * | RECPNT | RECCYL | R*1 | R*2 | 00078000
- * 8 +-----------------------+-----------+-----+-----+ 00079000
- * | RECMAP | 00080000
- * | (192 pages max) | C106DK 00081300
- * 20 +-----------------------------------------------+ C106DK 00081400
- * 00082000
- *** RECBLOK - DASD PAGE ALLOCATION BLOCK 00083000
- SPACE 1 00086000
- RECPNT DS 1F POINTER TO NEXT RECBLOK ON CHAIN 00087000
- RECCYL DS 1H CYLINDER ADDRESS FOR PAGES IN THIS BLOCK 00088000
- RECUSED DS 1X R*1 NUMBER OF PAGES CURRENTLY IN USE 00089000
- RECMAX DS 1X R*2 MAXIMUM NUMBER OF PAGES AVAILABLE 00090000
- RECMAP DS CL24 Page allocation bit map HRC106DK 00091200
- SPACE 1 00092000
- RECSIZE EQU (*-RECBLOK)/8 RECBLOK SIZE IN DOUBLE WORDS 00093000
- SPACE 1 00094000
- * BITS DEFINED IN RECMAP 00095000
- * BIT = 0 - PAGE IS AVAILABLE 00096000
- * BIT = 1 - PAGE HAS BEEN ASSIGNED 00097000
- * 00098000
- * NOTE THAT ALTHOUGH THE SIZE OF RECMAP IS FIXED, THE MAXIMUM 00099000
- * NUMBER OF PAGES AVAILABLE ON A CYLINDER IS DEVICE DEPENDENT 00100000
- * ANY PAGES THAT ARE NOT PHYSICALLY PRESENT ON A CYLINDER 00101000
- * WILL HAVE THEIR CORRESPONDING BITS SET TO ONE 00102000
- EJECT 00103000
- POP PRINT 00104000
- SPACE 00105000
ibm/vm370-lib/copy/alloc.copy_src.txt ยท Last modified: 2023/08/06 13:36 by Site Administrator