skip book previous and next navigation links
go up to top of book: HP OpenVMS Alpha Partitioning and Galaxy Guide HP OpenVMS Alpha Partitioning and Galaxy Guide
go to beginning of chapter: Shared Memory Programming Interfaces Shared Memory Programming Interfaces
go to previous page: Using Shared Memory Using Shared Memory
go to next page: Galaxy-wide Global SectionsGalaxy-wide Global Sections
end of book navigation links

System Services  



The following sections describe new and changed system services that support shared memory global sections.

Enhanced Services  

The following system services have been enhanced to recognize the new shared memory global section flag SEC$M_SHMGS:

The following system services have been enhanced to work with shared memory, but no interfaces were changed:

New Section Flag SEC$M_READ_ONLY_SHPT  

The new section flag SEC$M_READ_ONLY_SHPT is recognized by the SYS$CREATE_GDZRO and SYS$CRMPSC_GDZRO_64 services. When this bit is set, it directs the system to create shared page tables for the sections that allow read access only. This feature is particularly useful in an environment where a memory resident or Galaxy shared section is used by many readers but only a single writer.

When you map a Galaxy shared section or a memory resident section that has an associated shared page table section, you have the following options for accessing data:

Shared Page Tables Read Only Read and Write
None created
Do not set the SEC$M_WRT flag in the map request.

Private page tables are always used, even if you specify a shared page table region into which to map the section.
Set the SEC$M_WRT flag in the map request.

Private page tables are used, even if you specify a shared page table region into which to map the section.
Write access
Do not set the SEC$M_WRT flag in the map request.

Ensure that private page tables are used. Do not specify a shared page table region into which to map the section. If you do, the error status SS$_IVSECFLG is returned.
Set the SEC$M_WRT flag in the map request.

The shared page table section is used for mapping if you specify a shared page table region into which to map the section.
Read access
Do not set the SEC$M_WRT flag in the map request. The shared page table section is used for mapping if you specify a shared page table region into which to map the section.
Set the SEC$M_WRT flag in the map request. Ensure that private page tables is used. Do not specify a shared page table region into which to map the section. If you do, the error status SS$_IVSECFLG is returned.


NoteShared page tables for Galaxy shared sections are also implemented as Galaxy shared sections. This implies that they allow either read access only on all OpenVMS instances connected to this section or read and write access on all instances. The setting of the SEC$M_READ_ONLY_SHPT flag as requested by the first instance to create the section is used on all instances.

Using the SYS$CRMPSC_GDZRO_64 service always implies that the SEC$M_WRT flag is set and that you want to map the section for writing. If you want to use this service to create a section with shared page tables for read-only access, you must use private page tables and you cannot specify a shared page table region into which to map the section.



go to previous page: Using Shared Memory Using Shared Memory
go to next page: Galaxy-wide Global SectionsGalaxy-wide Global Sections