Guardian Procedure Calls Reference Manual (G06.25+)
Guardian Procedure Calls (A-B)
Guardian Procedure Calls Reference Manual—522629-013
2-25
ALLOCATESEGMENT Procedure
(Superseded by SEGMENT_ALLOCATE_
bit 1 is set to 1 (see bit <1> later). A shared segment is an extended
data segment that can be shared with other processes in the same
processor.
<5:7> Not used; must be zero (0).
<4> If 1, requests allocation of an “extensible segment.” 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 swap file is
expanded dynamically as the user accesses various 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
this 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.
<3> If 1, requests allocation of a “shared segment” that is shared by the file-
name method. A shared segment is an extended data segment that
can be shared with other processes in the same processor. The
file-name parameter must be supplied when this type of shared
segment is allocated. (It is with the
pin-and-flags parameter that
sharing is specified.) Processes sharing a segment through the file-
name method can reference the address space by different
segment-ids and may supply different values of segment-size
to ALLOCATESEGMENT. The
segment-size supplied by the first
allocator of a particular shared segment (as identified by the swap file
name) will limit the size of the segment for subsequent processes
attempting to share that segment. All processes that share segments
with the file-name method must have bit 3 and bit 1 set to 1 (see
examples later).
<2> If 1, requests allocation of a “read-only segment.” 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
file-name parameter must specify the name of an existing swap file
that is not empty. If this bit is 1, bit <4> of
pin-and-flags must be
0 (writeback-inhibit extensible segments are not allowed) and bit 1
must be set to 1.
<1> If 1, bits <8:15> are ignored.
If 0, designates that segment sharing is to be done by the PIN method.
The process calling ALLOCATESEGMENT with bit 1 set to 1 shares
the segment specified with the currently running process specified by
the PIN in bits <8:15> of the
pin-and-flags word. The segment
specified by
segment-id must have been previously allocated by the
process specified in the
pin-and-flags word. Processes sharing a
segment by this method reference the segment by the same
segment-id.