IBM 000-8697 Bedienungsanleitung Seite 120

  • Herunterladen
  • Zu meinen Handbüchern hinzufügen
  • Drucken
  • Seite
    / 702
  • Inhaltsverzeichnis
  • LESEZEICHEN
  • Bewertet. / 5. Basierend auf Kundenbewertungen
Seitenansicht 119
2-26 IBM Informix OnLine Database Server Administrator’s Guide
How User Processes Attach to Shared Memory
The first shared-memory segment is attached to the virtual address space of
each process at the same virtual address defined as SHMBASE. SHMBASE
identifies the specific virtual address where the database server processes
attach the first, or base, shared-memory segment. (Refer to Figure 2-2 on
page 2-23 for an illustration of the virtual address space of a database server
process.)
The reason thatall user processessharethe sameSHMBASE value is to speed
execution. All user processes can reference locations in shared memory
withoutrecalculatingshared-memoryaddressesbecauseall addressesbegin
at the same base address. All addresses assume that shared memory begins
at the address specified as SHMBASE. That is, all addresses are relative to
SHMBASE. If each user process attached to shared memory at a different
location, shared-memory addresses would be relative to the start of shared
memory and would have to be recalculated for each user process, slowing
execution.
The specific value of SHMBASE is often machine-dependent. It is not an
arbitrary number. Informix selects a value for SHMBASE that will keep the
shared-memorysegments safe incase theuser process dynamically acquires
additional memory space.
DifferentUNIXsystemsaccommodateadditional memoryatdifferentvirtual
addresses.SomeUNIX architecturesextendthe highest virtualaddressof the
user process data segment to accommodate the next segment. In this case, it
is possible that the data segment could grow into the shared-memory
segment.
The server process function stack or (heap) can pose another threat. Some
UNIX architecturesbegin the function stack at a high virtual address tokeep
it clear of the growing data segments. If the stack begins too close to the
shared-memorysegments,thestackcanoverwritetheendofsharedmemory.
Some versions of UNIX require the user to specify a SHMBASE of virtual
address of 0. The 0 address informs the UNIX kernel that the kernel should
pick the best address at which to attach the shared-memory segments. This
kernel-selects option is an attemptto respond to the many differentways that
anapplicationcanaffectthegrowthof the serverprocess.However, allUNIX
architecturesdonotsupportthekernel-selectsoption. Moreover,thekernel’s
selection is not always the best choice for all applications.
Informix recommends that you do not attempt to change the value of
SHMBASE.
Seitenansicht 119
1 2 ... 115 116 117 118 119 120 121 122 123 124 125 ... 701 702

Kommentare zu diesen Handbüchern

Keine Kommentare