OpenVMS Alpha Galaxy Guide
←Previous Next→ Contents Tables Close Help
  15.1  Using Shared Memory

  Application programs access shared memory by mapping
  galaxywide shared sections.  The programming model is the
  same as for standard OpenVMS global sections, that is you
  create, map, unmap, and delete them on each instance where
  you want to use them.  Some shared memory section????
  characteristics are:

  *   Pages start out as demand zero with pre-allocated shared

      PFNs.

  *   Pages are not counted against your working set.

  *   Once the page is valid in your process' page table it stays
      valid until it is deleted; shared memory section pages are
      never paged to disk.

  *   You must create the shared section on each instance
      where you want to access shared memory.

  *   Sections can be temporary or permanent.

  *   Sections can be group or system global sections.

  *   Galaxywide shared sections use a different name space
      than traditional global sections.

  *   Section versions specified in the ident_64 field are vali-
      dated throughout the Galaxy.

  *   Only one shared section with a given name and UIC
      group can exist in a sharing community.  This is different
      from traditional global sections where multiple versions
      can coexist.

  *   The SHMEM privilege is required to create a shared
      memory section.

  From a programmer's point of view, shared memory global
  sections are similar to memory resident sections.  You use the
  same system services to create galaxywide shared sections
  that you would also use to create memory resident sections.
  Setting the flag SEC$M_SHMGS lets the service operate on a
  shared memory global section.

  In contrast to memory resident sections the Reserved

  Memory Registry is not used to allocate space for galaxywide
  sections.  Shared memory is not used for normal OpenVMS
  paging operations and therefore need not be reserved.
←Previous Next→ Contents Tables Close Help