Guardian Procedure Calls Reference Manual (G06.25+)

Guardian Procedure Calls (C)
Guardian Procedure Calls Reference Manual522629-013
3-27
CHECKALLOCATESEGMENT Procedure
(Superseded by SEGMENT_ALLOCATE_CHKPT_
maximum size, and the underlying virtual memory is expanded
dynamically as the user accesses various addresses within the
extended data segment. When the user first accesses a portion of an
extensible data segment for which the corresponding swap file extent
hasn’t 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.
pin-and-flags (continued)
<3> If 1, requests allocation of a “shared segment.” A shared segment is
an extended data segment that can be shared with other processes in
the processor. The
file-name parameter must be supplied when a
shared segment is allocated. Processes sharing segments by this
mechanism can reference the address space by different segment IDs
and can supply different values of
segment-size to
ALLOCATESEGMENT. The value of
segment-size supplied by the
very first allocator of a particular shared segment (as identified by the
swap file name) limits the size of the segment for subsequent
processes attempting to share that segment.
<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, indicating a shared segment.
<1> If 1, bits <8:15> are ignored.
If 0, designates that the extended data segment specified by
segment-id is to be shared with the process specified by the PIN in
bits <8:15> of
pin-and-flags. For this sharing to occur, the
processes must execute in the same processor and one of the
following must be true:
The processes share the same process access ID (PAID).
This process’s PAID must be the group manager for the PAID of
the other process.
This process’s PAID must be the super ID (255,255).
Processes sharing a segment by the PIN method reference the
segment by the same value of
segment-id.