Shared memory
By using the shmat() or mmap() subroutines, files can be explicitly mapped into memory. This process avoids buffering and avoids system-call overhead.
The memory areas are known as the shared memory segments or regions. For the 32-bit applications that were affected, the segment 14 was released to provide 11 shared memory segments that do not include the shared library data or shared library text segments. This method applies for processes with segments 3-12 and 14. Each of these segments is 256 MB in size. Applications can read or write the file by reading or writing to the segment. Applications can avoid overhead of read or write system calls by manipulating pointers in these mapped segments.
Files or data can also be shared among multiple processes or threads. However, this requires synchronization between these processes or threads and handling of such request depends on the application. Typical use of the shared memory is by database applications, which uses the database as a large database buffer cache.
Paging space is allocated for shared memory regions similar to the process private segment. The paging space is used when the pages are accessed, if deferred page space allocation policy is turned off.