• Aucun résultat trouvé

using the preceding example, you may wish to indicate that a maximum bffour volumes will be used. volumes A17932 and A17936

Dans le document IBM System/360 Operating System: (Page 132-158)

will still be'mounted in parallel. When an additional volume is

"cneeded,thesystetnwill demOllnt a

volume

and:(eplace i t with another .. : volumes are not demounted at the end of the job s'tep because you co,ded DISP= ( , PASS) •

//DASD19 DD DSNAME=&&iJIM,DISP=( ,PASS):, UNIT=(2314,P) ,

// VOLUME=(PRIVATE, ,',4, SER= (A17932,A17936) ,SPACE:;: (TRK,

//

(2~OO,l500»

Direct Ace!

Devices

2. The format of the VOLUME parameter for requesting volumes used by other data sets is:

r---,

I dsname I

I *.ddname I

IVOLUME=(PRIVATE[,RETAIN]["VOlcount,]REF= *.stepname. ddname )

I

I ,

*.stepname.procstepnarr.e.

I

I

ddname

I

L, ______________________________________________________ , ______________ J

132

The PRIVATE subparameter is required. The R~TAIN subparameter means that the volume will not be demounted at the end of the step.

(RETAIN has the same effect on volume mounting as coding PASS in the DISP parameter.) Private volumes are demounted at the end of the step unless i t is an unremovable volume, such as a 2301 drum, or unless i t has been designated by your installation to be c.

permanently resident volume, for example, the system residence volume. It is recommended that you use the RETAIN subparameter whenever you want the volume to remain mounted at the end of the step.

The REF subparameter identifies the volumes assigned to an earlier data set. If the earlier data set resides on more than one volume, all the volumes are assigned to your data set. If your data set needs more volumes, you should indicate so with the "volcount"

subparameter. Replace "volcount" with the maximum number of volumes that can be used for your data set. When you use the REF subparameter the system obtains UNIT information from the previous data set. However, you can use the UNIT parameter to assign

additional units. For example,

VOLDt-IE= (PRIVATE", 4,REF=SYST. NINE) , tlNIT=(, 3)

The REF subparameter is coded as described for "Specific Request Public Volume."

The following example shows how to code theR15~ subparameter to use the -volume specified in a 00 statement in a:i';avious step.

~ ~~'r ".,i .' ~

r---~-,

f//STEP5 EXEC...

I

1//001 DD UNIT=2301,VOLUME=SER=75934

I

I . I

I • I

I · I

1//STEP7 EXEC...

I

I//DDA DD VOLUME=(PRIVATE,REF=*.STEP5.DD1),...

I

I . I

I · I

I

· 1

L_-_______ ~----~ ___ ----_--___ - ____ - - - -__________ ~J

The following example shows how to code the REF subparameter to use the volumes specified in a DD statement in a previous step. In addition to the volumes used by the previous data set, the new data set may use three more vollli~es. The UNIT parameter is used to request one additional unit.

r---·---,

I/ISTEPC EXEC... \

\/IDDl DD VOLUME=(PRIVATE,RETAIN,SER=(ABClll,ABC321», I

1/1 UNIT=(2314,2) I

I . I

I . I

\

.

\

1//DD5 DD VOLUME=(PRIVATE",5,REF=*.DD1),UNIT=(,3),... I

I . \

\ . I

I . I

L _________________________________________________________________ J

When the earlier DD statement is contained in a cataloged procedure step, you must give both the name of the job step that invokes the procedure and the procedure step name, i.e.,

VOLUME=REF=*.stepname.procstepname.ddname

The first part of the following example shows your input deck; the second part shows a cataloged procedure called by the STEP9 EXEC statement in your job. The new data set requests a maximum of 7 volumes.

r---,

I INPUT DECK I

~---~

I . I

I . I

I . I

I /ISTEP9 EXEC PROC=ABC I

I · ____________ I

I .

stepname

I

I . _________ I

I / I STEP12 E X E C . . . - - - . . . \ I

I / /DDA DD VOLUME=REF (PRIVATE, ,

,7,

RKF'=*. STEP9. PHASE3 • FILE) I

I p:r.-ocstepn.9me ~ I

I ~ddname I

~---.---~---~

I CATALOGED PROCEDURE'

~ ~ I

r-~---~---l

I /IPHASE3 EXEC I

I /IFILE~ VOLUME=SER=(123456,654321),UNIT=(2311,2) I

I . I

I • I

I . L _________________________________________________________________ J I

If you want to use the volume assigned to a kept data set defined in another job, you must use VOLUME=SER.

Direct Acces Devices

LABEL: The LABEL parameter is used to describe the type of label of the volume you selected with the VOLUfV1E parameter:. (The labels of direct access data sets are called data set control blocks (DSCB). The DSCBs are part of the volume table of contents (VTOC) which is the volun,e label.) The LABEL parameter is also used to assign a retention period and password protection to your data set, and to indicate whether this data set is to be used for input or output exclusively. If the volume has standard labels you may omit this parameter. The format of the LABEL parameter is:

r---,

I LABEL= (

[i'

s~ ] [, PASSWORD] [, IN ] [ , ) {EXPlJT=yyddd}) I

I ,SUL , ,OUT RETPD=nnnn I

I L ______________________________________________________________________ , .1 I The first subparameter indicates the type of labels used for the specific volume you requested, or, if you are requesting a nonspecific volume, the type of labels you want on that volllille. You can omit this subparameter if standard labels are used. You must specify one of the following:

SL

if the data set has standard labels.

SUL

if the data set has both standard and user labels.

The type of label used is determined by your installation. Most installations use only one type of labels. Check with your manager or supervisor before you specify a label type other than the type used in your installation.

PASSWORD is a positional subparameter. It tells the system that the data set you are creating cannot be used by another jOb step or job unless the operator can supply the system with the correct password.

Password protected data sets must have standard labels, that is you mus1:

code the SL subparameter (or omit the second positional subparameter), for example:

//DD26 DD DSNAME=HUSH.HUSH,DISP=(,CATLG,DELETE),UNIT=2301, / / VOLUME=SER=SECRET,LABEL=("PASSWORD), •••

Before or after you create the data set you must tell the system programmer the name of your data set and the password. he will create an entry in a data set named PASSWORD containing those two items.

Whenever a request is made for your data set the system will verify the password supplied by the operator against the entry in the PASSWORD data set.

The next positional subparameter (IN or OUT) is used only if you coded your program in the assembler language or in FORTRAN. If you coded in the assembler language i t allows you to override the

specification of the OUTIN parameter in the OPEN macro instruction (for BSAM data sets only). If OUTIN is specified and you want the data set processed for output only code:

LABEL== ( , , , OUT)

If you are a FORTRAN user, OUT means that the data set is to be

processed for output only; IN means that the data set is to be processed for input. only.

134

You can assign a retention period (length of time during which the data set cannot be changed or deleted) to your nontemporary data set with either the RETPD=nnnn o:r' EXPDT=yyddd subparameter. These

subparameters are keyword subparameters. You must code the one you choose after the last positional subparameter you code. For example,

I~ABEL= (,., IN,RETPD=34)

I~ABEL= (, SUL, EXPDT=69251)

I~ABEL= ( , , PASSWORD,RETPD=100)

I~ABEL=( ,SUL, ,OUT, EXPDT=71 00) 1 .. ABEL=RETPD=17 0

']~he RETPD subparameter expresses the retention period in terms of the numher of days you want the data set retained. The format of RETPD is:

HETPD=nnnn

RepJLace "nnnn" with a number from 1 to 9999.

The EXTPD subparameter states the expiration data of your data set.

The format of EXPDT is:

EXPDT=yyddd

Replace "yyddd" with the 2-digit year number and the 3-digit day number.

For example, January 1.1971 is coded as J['ABEL=EXPDT=710 0 1

and February 1, 1971 is coded as :LABEL=EXPDT= 71 032

CiVlany calendars indicate the Clay number for each day of the year.) If neither RETPD or EXPDT is specifiedw a retention period of zero days is assumed. That is, your data set can be modified or deleted at anytime. Do not specify a retention period for temporary data sets, because they are always deleted at t~e end of the job step or the jon.

size of the Data Set

You must specify the size of your data se·t using the SPACE, SPLIT or SUBALLOC parameter. The parameter you use depends on the type of data set.

Data set Sequential Direct Partitioned Generation

You can use

SPACE, SPLIT, or SUBALLOC SPACE, or SUBALLOC

SPACE, or SUBALLOC SPACE

The SPACE parameter lets you specify the space required for your data set.. The SPLIT and SUBALLOC parameters are used when your data set is sharing space with other data sets.

The SPLIT parameter is used when your step has two or more data sets having corresponding records. You can minimize access arm movemant by defining split cylinders. In the split-cylinder mode each data set is given a certain number of tracks on each cylinder allocated. You must

Direct Acce:

Devices

use the SPLIT parameter in each of the DD statements that define the data sets that are to split the cylinders.

The SUBALLOC parameter le·ts you use the technique of suballocation.

Suballocation allows you to reserve a contiguous area of space on one volume and to place a series of data sets in a certain sequence in that area. Syballocation allows you to mimimize access-arm movement when data sets are processed serially. DD statements for the data sets that are to share that area must use the SUBALLOC parameter.

The SPACE, SPLIT and SUBALLOC parameters let you specify the amount of space needed for your data set as a B:r;imary quantity. If you think your data set may need some extra space either during the current job step or at son~e future time, you can specify a secondary quantity. If your data set exceeds the space in the primary quantity, the system allocates the space in the secondary quantity. If the secondary

quantity runs out, another secondary quantity is allocated, and so on.

The primary quantity is completely allocated on one volume. The system will try to allocate the secondary quantity on the same volume. If there is not enough space left on that volume, the system will allocate the secondary quantity on another volume provided you requested more than one volume with the VOLUNE parameter. If you do not request more volumes or if the data set exceeds the volumes you requested the job step ABENDs. The job step will also ABEND if the primary quantity does not fit on the volume or if the data set exceeds the primary quantity and you did not specify a secondary quantity. (If you made a specific volume request with the VOLUNE parameter, you must make sure there is enough space on the volume requested for the primary quantity. If there isn't, your step will ABEND. If you made a nonspecific volume request, the system will find a volume that has enough space for the primary quantity. )

In the SPACE and SUBALLOC parameters, you can specify the space

required for your data set in units of tracks, cylinders, or blocks. In the SPLIT parameter you specify i t in units of cylinders, or blocks.

Table 10 shows the capacities of the different direct access device.

Table 11 shows the number of given-length records that can fit into a track. Table 11 is divided into two parts since the capacity varies depending on whether the record' s forrr;at has keys. (For more

information on direct access data sets refer to Introduction to IBM System/360: Direct Access storage Dey.i~~_!? Organization Methods, GC20-1649.)

The following example illustrates how to use the tables. Suppose you are writing a data set on a 2311 volume. This data set consists of 80-byte records grouped in blocks of 5 records. Therefore, each block has 400 bytes. You expect to write 2000 blocks, for a total of 800,000

bytes~ A 2311 volume has over 7 million bytes, therefore, your data set will fit in one volume. According to Table 11, you can write seven 400-byte blocks on each track. You can allocate the space in one of the three following ways:

1. units of blocks: You request 2000 400-byte blocks as follows:

(400,2000)

2. units of tracks: There are 2000 blocks and you are writing 7 blocks per track:

2000/7=286 tracks (round up) You request 286 tracks as follows:

(TRK,286)

136

3.

"uri.its"',of~

t5yXlrtd.s t1 s:

There "~re lQ'

t'racks

in eacl;l

231'1

cylinder , 2

a ~;~~~~1. ~l' 1 l.ri<ie

r:a ,(i:Gund;' \l[J) '. '

~.... You r,eqltest 29 cylinders ,af?f6Ilow$:'

. _

...

.

(q~:6.'i9)

, " : y Y

,:[f19u,'thip.k:Yollr,d~t.a set:.tna,Y,"need 50 !mor~ blpCKS"you can make a secondGlry' ~lloc~,!=:lon'as follows: " '

1. ' rfni:ts'Jjf~;blo6k$';

.

A'secondal:'y a.l.lo~atiori o£SO bloCKS is requested

"as fo+'loW'I?:':":'":~ < ". ' , ' .

( 400,:;f2'OOO,pOl) 2. untta'of ·tracKs:

5017=8'trapks, (round' up)

YOU reqn,estthe seconda:r;y ail;(roa·tion as follows:

, (TRR lt2~l6, R) )

3. . U:o:!

t$~'~(if¢Y:liriaerJ:1':

-'"" 4 , -i- y "~,, A Y !

8/1

Ot=.l "(round

",up)

You' fe~;n:,!;e$tt1ie: secondary alloca:tion as follows:

, . (C:Yt. j. (,29;,!J;)')

For most efficient performance, request space in units of cylinders.

How/ever, if you need to conserve space, be sure the cylinder is

reasonably full.. For example, i t would be waste of space to request one cylinder on a 2302 for a dat.a set that only needs two 2302 tracks.

For greater device independence, request space in units of blocks.

ThE~ system calculates for you number of tracks or cylinders needed. The following considerations apply when you are requesting space in terms of blocks:

II The blocksize cannot exceed 65,535.

II If you have variable-length records (or blocks) give the average record (or block) length as the block size. You must specify the maximum record length in the BLKSIZE subparameter of the DeB parameter.

o If your blocks are written with keys, give the key length in the KEYLEN subparameter of the DeB parameter •

( Creating

Direct Accel Devices

In addition to the primary quantity, p-artitioned data sets require a directory quantity. (A secondary quantity can also be specified for partitioned data sets.) The directory quantity is the number of 256-byte blocks that are to be contained in the directory of the

partitioned data set. Each block contains from 3 to 21 entries. There must be one entry for each member name and for each alias in the

partitioned data set. The length of the entries depends on the length of a user's data field. For example, if your partitioned data set has 20 members and each member has aliases, you need 60 entries. If you can fit five entries into each directory block, you need 12 directory

blocks. Therefore you must specify 12 as the directory quantity. The directory quantity is always the same whether you specify your space allocation in blocks, tracks, or cylinders. For exawple,

(400,(2000,50,12»

(TRK, (286, 8, 12) ) (CYL, (29,1,12»

For more information on partitioned data sets, refer to IBM

System/360 Operating System: Supervisor and Data Management Services.

Table 10. Direct Access capacities

r---T---T---T---T---,

1 1 1 1 I Bytes Per 1

I 1 Storage 1 ITracks per~---T---T---~

1 Device IMedium 1 Cylinders 1 Cylinder 1 1 IDevice (inl

I 1 I I ITrack ICylinder Imillions) 1

~---+---+---+---t---+---+---~

1 I I 1 I I 4 .. 09 I I

1 2301 1 Drum I 25* 1 8 120,4831 (million) I 4.09 I

~---+---+---t---+---t---+---~

1 1

I

f.lodel 3:

I

1

I

1 Model 3:

I

1 2302 1 Disk

I

492 1 46 1 4,9841 229,264 1 112.79

I

I

1

I

Model 4:

I

1

I I

Model 4:

I

I I I

984

I I I I

225.59

I

~---t---t---+---+---t---t---JI 1 2303

I

Drum

I

80 1 10 1 4 , 892 1 4 8 , 920

i

3 . 9 II

~---+---+---+---t---+---+---11 1 2311 I Disk I 200 1 10 1 3 ,6251 36, 250 1 7.25 II

~---t---+---+---t---+---+---~

1 231L~ 1 I 1 I 1 I I!

I (each volume) I Disk I 200 I 20 1 7,2941 145,880 1 29.17 Ii

~---+---+---t---t---+---+---1

I I

strip

I I I I I I

I 2321 I 0 f Ta pe I 98 0 * * I 20 1 2, 000 1 40 , 000 I 39 . 2 I

~---~--_----~---L---L---L---

______

~

__________

~

I

*There are 25 logical cylinders in a 2301 Drum.

I

I**A volume is equal to one bin in a 2321 Data Cellw

I

L _________________________________________________________ . ______________ J

138

Table 11. Track capacity

r--'---T---T'---,

I r.laximum Bytes per Record 1 I Maximum Bytes per Record 1 I Formatted without Keys IRecords I Formatted with Keys I

~--·--T----T----T----T---T----~ per ~----T----T----T----T---T----~

123111231412302123031 2301123211 Track 123111231412302123031 2301123211

~--.--+----+----+----+---+----+---+----+----+----+----+---+----~

13625172941498414892120483120001 1 13605172491496414854120430119841 117401352012403123921101751 9351 2 117201347612383123541101221 9201 111311229811570115581 67391 5921 3 111111225411550115201 66861 5761 1 830116 93 11158111421 50211 4221 4 I 8111164911139111041 49681 40 6 1 1 651113321 9121 8921 39901 3201 5 I 632\12881 8931 8541 39371 30 5 1

~----+----+----+----+---+----+---+----+----+----+----+---+----~

I 532110921 7491 7251 33031 2531 6 I 512\10491 7301 6871 32501 2 38 1 I 4471 921 1 6341 6061 28121 2051 7 I 428\ 8771 6141 5681 27591 1 90 1 I 3841 7931 5461 5171 24441 1691 8 I 3641 7501 5271 4791 23911 1541 I 3341 6 94 1 4791 4471 2157\ 1421 9 I 3151 6501 4601 4091 21041 12 6 1 I 2951 6151 4251 3921 19281 119i 10 I 2751 5711 4061 3541 18751 1 03 1

~----+----+----+----+---+----+---+----+----+----+----+---+----~

I 2631 5501 3811 3461 17411 1011 11 I 2441 5061 3621 3081 16881 8 5 1 I 2361 49 6 1 3441 3081 15851 861 12 I 2171 4521 3251 2701 15321 70 1 I 2131 4501 3131 2761 14521 731 13 I 1941 4071 2941 2381 1399\ 58 1 1 1931 4111 2861 2491 13391 621 14 I 1741 3681 2671 2111 12861 471 I 1771 377 1 2641 2251 12411 531 15 1 1581 333\ 2451 1871 11881 381

~---+----+----+----+---+----+---+----+----+----+----+---+----~

I 1621 3471 2441 2041 11551 441 16 1 1431 3041 2241 1661 11021 2 9 1 I 1491 3 21 1 2251 1861 10791 371 17 I 1301 2771 2061 1481 10261 211 I 1381 2981 2091 1691 10121 301 18 1 1191 2541 1901 1311 9591 151 I 1271 2761 1961 1551 9521 241 19 I 1081 2331 1761 1171 8991 91 I 1181 2581 1831 1421 8971 201 20 I 991 2151 1631 1041 8441 I

~----+----+----+----+---+----+---+----+----+----+----+---+----~

I 10 9 1 2411 1711 1301 8481 15\ 21 1 901 1981 1521 92\ 7951 \ I 1021 2261 1611 1191 8041 101 22 I 821 1831 1421 811 7511 \ 1 951 2111 1511 1091 7631 61 23 1 76\ 1681 1321 71\ 7101 I I 88\ 1991 1431 1001 7261 I 24 I 69\ 1561 1231 621 6731 I

I

821 1871 1351 921 6911

I

25 1 631 1441 1161 541 6381 \

~---+----+----+----+---+----+---+----+----+----+----+---+----~

I 771 176\ 127\ 841 6591 I 26 I 58\ 1331 108\ 461 6061 \ 1 721 16 6 1 121\ 77\ 6301

I

27 1 531 1231 102\ 391 5771

I

1 671 1571 114\ 701 603\ \ 28 I 481 1141 951 321 550\ I

I 63 1 1481 108\ 641 577\ I 29 \ 441 1051 891 261 524\ \ I 59 1 1 39 1 102\ 581 5541 I 30 I 40 \ 961 831 20 \ 5011 I

l_. ___ L ____ i ____ i ____ i _____ i ____ L ________ i ____ ~ ____ i __ __ L ____ L _____ L ____ J

SPACE: The SPACE parameter lets you request space for your data set in one of two ways:

1. You can request the quantity of space and let the system assign specific tracks, or

2. You can request specific tracks.

Direct Acc4 Devices

The system assigns tracks: The format of the SPACE parameter for letting the system assign specific track~ is:

f:::::~{~~~::-:=:::r~::::::~-::::ti:-~:::::da:~-:::::::~]---l

I

I [,directory])

[,RLSE]

['CONTIG] ,rtlXIG [,ROUND]) I I

I ,

,ALX

I

I , I

L _______________ . ___________________________________________ ~ _________ J

The first positional parameter indicates whether you are requesting space in tracks (TRK), cylinders (CYL), or blocks. If you are using blocks, replace the term nblock length n with average block length of your data. Replace the term nprimary quantityn with the amount of spac€~

you desire in the units you have chosen. The system tries to allocate the primary quantity in contiguous tracks or cylinders. If contiguous space is not available, the system satisfies the space request with up to five noncontiguous blocks (extents) of space. You can override these system actions by coding the CONTIG, MXIG, or ALX subparameter. If you want additional space allocated to your data set when the primary

quantity runs out, specify a "secondary quantity." As with the primary quantity, the system will try to allocate the secondary quantity in contiguous tracks or cylinders. If this is not possible, the system will allocate the secondary quantity in up to five extents.

If you are defining a partitioned data set, you must define a ndirectory quantity." Replace the term "directory quantity" with the number of 256-byte blocks you need for the directory. If you code a directory quantity but do not request a secondary quantity, indicate the absence of a secondary quantity with a comma.

If you are only coding the primary quantity you need not enclose i t in parentheses. For example:

SPACE=(TRK,200)

In the following example you request 30 cylinders for your data set.

If

the data set needs more space you want the system to allocate

5

,more cylinders at a time:

SPACE=(CYL,(30,S»

In the following example you request 300 2000-byte blocks fox:: your partitioned data set. The directory needs 50 2S6-byte blocks.

SPACE= (2000, (300, ,50»

Using the previouS example, if you also want to make a secondary allocation of 10 2000-byte blocks code:

SPACE=(2000,(300,10,SO»

The RLSE positional subparameter allows you to release unused space when you are finished writing the data set. If space was requested in terms of tracks, space is released starting with the first unused track.

If space was requested in terms of cylinders, space is released starting with the first unused cylinder. If space was requested in terms of blocks, any unused tracks are released. Any released space is available

140

...

-for allocation to other data sets. You can use the RLSE subparameter and still be able to update your data set at a later time if you specify a secondary quantity for the data set. For example, if you code

SPACE=(CYL,(10,2),RLSE)

10 cylinders will be allocated to your data set. If you use only 9 cylinders, the remaining cylinder is released. If during a later job step or job you want to update the data set, two cylinders (secondary allocation) will be allocated to your data set each time you need more space. If you do not code the RLSE subparameter, and other

subparameters follow, you must indicate its absence by a comma.

'rhe next positional subparameter allows you to override the system's allocation technique. The system tries to allocate space in contiguous track or cylinders. If contiguous space is not available, the system satisfies the space request with up to five noncontiguous blocks of space (extents). You can choose one of the following to override these actions.

CONTIG (contiguous)

specifies that the space allocated to the data set must be contiguous. If the request cannot be satisfied, the job is terminated. For example,

SPACE=(TRK,(50"2),,CONTIG)

requests 50 contiguous tracks for your partitioned data set.

MXIG (maximum contiguous)

requests the largest area of contiguous space available on the volume that is at least as large as the primary quantity. For example, if you code

SPACE=CCYL,10"MXIG)

and there are three blocks of unused space on the volume -- a 10 cylinder block, a 12 cylinder block, and a 20 cylinder block -- the system will assign your data set the 20 cylinder block even if you only requested ten. MXIG is useful when your data set is likely to exceed the primary quantity requested.

ALX (all extents)

requests up to five different areas of contiguous space. Each area is at least as large as the primary quantity. The system allocates as many areas as are available. For example, if you code

SPACE=(TRK,(100,20)"ALX)

and there are four blocks of unused space on the volume -- a 120-track block, a 200-track block, a 35-track block, and a 155-track block -- the system will assign the 120-200- and

155-track blocks to your data set. If your data set still needs more space, a secondary allocation of 20 tracks is made on the remaining 35 tracks. If more space is still needed, the system will allocate 20 more tracks on another volume, provided you

155-track blocks to your data set. If your data set still needs more space, a secondary allocation of 20 tracks is made on the remaining 35 tracks. If more space is still needed, the system will allocate 20 more tracks on another volume, provided you

Dans le document IBM System/360 Operating System: (Page 132-158)