Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

MPOOL - define a common memory pool (BS2000 systems)

The MPOOL control statement allows you to define the properties of a common memory pools.

The MPOOL statement can be issued several times, the only limit being the number of pools that can be created by a single process. Support is provided for up to eight common memory pools with SCOPE=GROUP or SCOPE=GLOBAL under a single user ID.

The common memory pools are always created as FIXED. Every task that connects to an existing common memory pool is assigned the same address as the task that set up the common memory pool.

The sequence of MPOOL statements within the generation run determines the order in which the common memory pools are created. Firstly, all common memory pools generated with SCOPE=GLOBAL are created in accordance with the sequence of MPOOL statements. This is followed by the creation of all common memory pools generated with SCOPE=GROUP, as defined by the sequence of MPOOL statements.

MPOOL

 poolname 
 [ ,ACCESS={ READ | WRITE } ]
 [ ,PAGE=X'xxxxxxxx' ]
 [ ,SCOPE={ GROUP | GLOBAL } ]
   ,SIZE=poolsize

poolname

Name of the common memory pool. poolname must be unique within the UTM application and can be up to 50 characters in length.

A number is appended to the name.

ACCESS=

Access authorization

    READ

Read-only access to the common memory pool

Default: READ

    WRITE

Read and write access to the common memory pool

PAGE=

X’xxxxxxxx’

Hexadecimal address in the format X’xxxxxxxx’.

  • 24-bit addressing mode: If the address is not a multiple of 64K (the four low-order half-bytes are 0), it is rounded off to a multiple of 64K.

  • 31-bit addressing mode: The address is a multiple of 1MB. If this is not the case, it is rounded off to a multiple of 1MB.

Default:

  • 24-bit addressing mode: The pool is created starting with the lowest possible address.

  • 31-bit addressing mode: The pool is created starting with the lowest possible address above X'01000000'.

If, on BS2000, global common memory pools are used in several UTM applications with the same contents/names, the parameter PAGE=X'xxxxxxxx' must be specified with the same address in all applications. The address specified using PAGE= must be selected in such a way that the address area reserved is available in all these applications.

The common memory pools are always created as FIXED, i.e. all tasks of the UTM application find the pool at the same address in their virtual address space.

An alternative to the use of PAGE= is to ensure that all the shared pools are generated in the same sequence in all applications. The MPOOL statements for shared pools must be specified at the beginning of the MPOOL statements.

SCOPE=

Scope of the memory pool

    GLOBAL

All processes in the system

    GROUP

All processes that run under the same user ID.

Default: GROUP

SIZE=

poolsize

Number of 64 KB memory segments in the pool (1 unit corresponds to 64KB)

In 31-bit addressing mode, the memory segments are 1MB in length. The size of the common memory pool is thus rounded up to the nearest MB, which is calculated by multiplying poolsize by 64KB.

This is a mandatory operand.