内核映射和共享内存段的使用。
在图2中,进程A请求一个共享内存段。
不过,共享内存段依然不能跨越象限边界。
However, Shared memory segments still can not cross quadrant boundaries.
代码实现通过共享内存段通信的父进程和子进程。
The code implements a parent and child process that communicates via a shared memory segment.
共享内存段要求是连续的,因此不能跨越象限边界。
Shared memory segments are required to be contiguous, and therefore can not be split across quadrant boundaries.
网络无法访问共享内存段。
发生内部错误。网络无法访问共享内存段。
An internal error occurred. The network cannot access a Shared memory segment.
最后,在图4中,进程a和B可以随意读写共享内存段。
Finally, in Figure 4, processes a and B can read and write from the Shared memory segment freely.
该参数按字节指定系统中可以分配的共享内存段的最大大小。
This parameter specifies the maximum size in bytes of a Shared memory segment which can be allocated on the system.
这个程序还允许您为调试目的显示子系统共享内存段。
This program also allows you to display the subsystem Shared memory segment for debugging purposes.
SHMMAX 按字节指定系统上可以分配的最大共享内存段。
The SHMMAX specifies the maximum size in bytes of a shared memory segment which can be allocated on the system.
shmmax按字节指定了系统中可以分配的最大共享内存段。
The shmmax specifies the maximum size in bytes of a Shared memory segment which can be allocated on the system.
POSIX为创建、映射、同步和取消共享内存段提供五个入口点。
POSIX provides five entry points to create, map, synchronize, and undo Shared memory segments.
由于shmseg内核参数被设得太低,有些共享内存段不能适当地分配。
Because SHMSEG kernel parameter is set too low, some Shared memory segments could not be allocated properly.
但是,共享内存段不能跨象限“拆分”,而应该保证是一个连续的地址空间。
However, a Shared memory segment cannot be "split" across quadrants and be guaranteed a contiguous address space.
真实的应用程序会使用信号量或其他技术控制对共享内存段的读写。
A real application would use semaphores or other techniques to control reading and writing to the Shared segment.
放在这个惟一空间内的共享内存段只能被相同内存窗中的进程访问。
Shared memory segments placed in the unique space can only be accessed by processes within the same memory window.
shm_open:创建共享内存段或连接到现有的已命名内存段。
Shm_open : Creates a Shared memory region or attaches to an existing, named region.
这个连接过程称为映射,它给共享内存段分配每个进程的地址空间中的本地地址。
Annexation is called mapping, where the Shared segment of memory is assigned local addresses in each process 'own address space. Figure 1, Figure 2, Figure 3, and Figure 4 depict the process.
现在可以指定创建操作系统平台或者SHMMAX参数所允许的最大共享内存段。
You can now specify that segments for shared memory be created as large as your operating system platform or the SHMMAX parameter allows.
shmat失败于0x000000c,即ENOMEM或可用数据空间不足以容纳共享内存段。
Shmat failed because of 0x000000c, which is ENOMEM or the available data space is not large enough to accommodate the Shared memory segment.
shm_unlink():根据(shm_open()返回的)文件描述符,删除共享内存段。
shm_unlink(): Deletes a shared memory region given a file descriptor (returned from shm_open()).
msync():用来让共享内存段与文件系统同步 —当把文件映射到内存时,这种技术有用。
msync(): Used to synchronize a shared memory segment with the file system—a technique useful when mapping a file into memory.
这低于1.75GB的共享内存限制,并且每个数据库共享内存段可以安全地连续映射到一个象限。
This is well under the 1.75gb Shared memory limit, and each database Shared memory segment can safely map contiguously to a quadrant.
因此,DB2允许分配的最大共享内存段在象限3 中的大小为1GB,在象限4 中的大小为 0.75GB。
Therefore, the largest shared memory segment, in quadrant 3, that DB2 is allowed to allocate is 1GB; and in quadrant 4 is 0.75GB.
这表明,进程试图访问因某种原因已破坏的共享内存段,并将不调用“fatal_error”或“panic”而崩溃。
This indicates that the process tried to access a Shared memory segment that was corrupted for some reason, and will crash without calling "fatal_error" or "panic."
使用ipcrm [ -mSharedMemoryID ] [ -MSharedMemoryKey ]删除共享内存段。
To remove shared-memory segments, use: ipcrm [ -m SharedMemoryID ] [ -M SharedMemoryKey ].
Solaris中另一个与分配数据库共享内存有关的常见问题是由于这样的一个事实导致的,即共享内存段的所有页都是固定在物理ram中的。
Another common problem with allocating database Shared memory on Solaris is due to the fact that all pages of a Shared memory segment are pinned in physical RAM.
shmat是一个UNIX函数,它将与 shmid(另一个Solaris 函数)所标识的共享内存相关的共享内存段附加到调用进程的数据段上。
shmat is a UNIX function that attaches the shared memory segment associated with the shared memory identified by shmid (another Solaris function) to the data segment of the calling process.
这将有效地为数据库共享内存一个段。
This effectively frees up one segment for database Shared memory.
应用推荐