Guardian Procedure Calls Reference Manual (G06.25+)

Guardian Procedure Calls (S)
Guardian Procedure Calls Reference Manual522629-013
14-12
SEGMENT_ALLOCATE_ Procedure
if present and not equal to -1, requests allocation of a segment that is shared by
the PIN method.
pin specifies the process identification number (PIN) of the
process that has previously allocated the segment and with which the caller wants
to share the segment. The process designated by
pin must be in the same
processor as the caller. Processes sharing a segment by this method must
reference the segment by the same
segment-id.
If
pin is specified, filename must be omitted.
segment-type input
INT:value
describes the attributes of the segment to be allocated:
Read-only
A read-only segment is an extended data segment that is initialized from a
preexisting swap file and used only for read access. A read-only segment can
be shared by either the PIN or file-name method. It can also be shared by file
name between processes in different processors. Note that the
filename
parameter must specify the name of an existing swap file that is not empty.
Extensible read-only segments are not supported.
Shared by file name
The
filename parameter must be supplied when this type of shared segment
is allocated. Processes sharing segments by the file-name method can refer to
the address space by different segment IDs and can supply different values for
the segment size to SEGMENT_ALLOCATE_. The segment size supplied by
the first allocator of a particular shared segment (as identified by the swap file
name) establishes the upper limit for the segment size that can be set by
processes subsequently attempting to share the segment.
Callers that request sharing by file name must not supply the
pin parameter.
Extensible
An extensible segment is an extended data segment for which the underlying
swap file disk space is not allocated until needed. In this case,
segment-
size is taken as a maximum size and the underlying virtual memory is
expanded dynamically as the user accesses addresses within the extended
data segment. When the user first accesses a portion of an extensible
segment for which the corresponding swap file extent has not been allocated,
the operating system allocates the extent. If the extent cannot be allocated,
the user process terminates: a TNS Guardian process terminates with a “no
memory available” trap (trap 12); an OSS or native process receives a
SIGNOMEM signal.
If
segment-type is omitted, the default value is 0. Valid values are:
0 Allocate a segment; sharing by the PIN method can be specified.