shm_overview(7)
SHM_OVERVIEW(7)?2008-06-25
NAME
shm_overview —— POSIX共享內(nèi)存概述
DESCRIPTION
POSIX共享內(nèi)存API允許矜持通過(guò)共享的內(nèi)存區(qū)域交換信息。
此接口提供的API有:
shm_open(3) 創(chuàng)建和打開(kāi)一個(gè)新的對(duì)象,或打開(kāi)一個(gè)已存在的對(duì)象。這與open(2)類(lèi)似。此調(diào)用返回一個(gè)文件描述符供下列接口使用。
ftruncate(2) 設(shè)置共享內(nèi)存對(duì)象的大小。(一個(gè)新創(chuàng)建的共享內(nèi)存對(duì)象具有0長(zhǎng)度。)
mmap(2) 映射共享內(nèi)存對(duì)象到調(diào)用進(jìn)程的虛擬地址空間。
munmap(2) 解除調(diào)用進(jìn)程虛擬空間與共享內(nèi)存對(duì)象的映射。
shm_unlink(3) 移除共享內(nèi)存對(duì)象的名字。
close(2) 關(guān)閉shm_open分配的文件描述符,在不再需要它之后。
fstat(2) 獲取描述共享內(nèi)存對(duì)象的stat結(jié)構(gòu)。此調(diào)用返回的有效信息有對(duì)象大小(st_size),權(quán)限(st_mode),屬主(st_uid),屬組(st_gid)。
fchown(2) 改變共享內(nèi)存對(duì)象的所有者。
fchmod(2) 改變共享內(nèi)存對(duì)象的訪(fǎng)問(wèn)權(quán)限。
版本
POSIX共享內(nèi)存從Linux2.4和glibc 2.2開(kāi)始支持。
持久性
POSIX共享內(nèi)存對(duì)象有內(nèi)核持久性:一個(gè)共享內(nèi)存對(duì)象在系統(tǒng)關(guān)閉之前一直存在,直到所有進(jìn)程都解除了映射,且被shm_unlink刪除。
鏈接
使用POSIX共享內(nèi)存API的程序必須這樣編譯cc -lrt以鏈接到實(shí)時(shí)庫(kù)librt。
通過(guò)文件系統(tǒng)訪(fǎng)問(wèn)共享內(nèi)存對(duì)象
Linux下,共享內(nèi)存對(duì)象在虛擬文件系統(tǒng)中創(chuàng)建,通常掛載在/dev/shm。內(nèi)核2.6.19以后,Linux支持使用訪(fǎng)問(wèn)控制列表(ACLs)控制虛擬文件系統(tǒng)中的對(duì)象權(quán)限。
CONFORMING TO
POSIX.1-2001.
NOTES
典型的,進(jìn)程必須同步訪(fǎng)問(wèn)一個(gè)共享內(nèi)存對(duì)象,比如POSIX信號(hào)量。
System V共享內(nèi)存(shmget,shmop等)是更老一些的信號(hào)量API。POSIX共享內(nèi)存提供一個(gè)簡(jiǎn)單的,設(shè)計(jì)得更好的接口,但POSIX共享內(nèi)存不如System V共享內(nèi)存那樣廣泛被支持。
SEE ALSO
fchmod(2), fchown(2), fstat(2), ftruncate(2), mmap(2), mprotect(2),
munmap(2), shmget(2), shmop(2), shm_open(3), shm_unlink(3), sem_over‐
view(7)
COLOPHON
This page is part of release 3.23 of the Linux man-pages project. A
description of the project, and information about reporting bugs, can
be found at http://www.kernel.org/doc/man-pages/.
?
轉(zhuǎn)載于:https://www.cnblogs.com/huyc/archive/2011/10/31/2230164.html
總結(jié)
以上是生活随笔為你收集整理的shm_overview(7)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: android开发相关资料整理【2011
- 下一篇: C#操作数据库,DataSet,Data