shm_overview(7)
SHM_OVERVIEW(7)?2008-06-25
NAME
shm_overview —— POSIX共享內存概述
DESCRIPTION
POSIX共享內存API允許矜持通過共享的內存區域交換信息。
此接口提供的API有:
shm_open(3) 創建和打開一個新的對象,或打開一個已存在的對象。這與open(2)類似。此調用返回一個文件描述符供下列接口使用。
ftruncate(2) 設置共享內存對象的大小。(一個新創建的共享內存對象具有0長度。)
mmap(2) 映射共享內存對象到調用進程的虛擬地址空間。
munmap(2) 解除調用進程虛擬空間與共享內存對象的映射。
shm_unlink(3) 移除共享內存對象的名字。
close(2) 關閉shm_open分配的文件描述符,在不再需要它之后。
fstat(2) 獲取描述共享內存對象的stat結構。此調用返回的有效信息有對象大小(st_size),權限(st_mode),屬主(st_uid),屬組(st_gid)。
fchown(2) 改變共享內存對象的所有者。
fchmod(2) 改變共享內存對象的訪問權限。
版本
POSIX共享內存從Linux2.4和glibc 2.2開始支持。
持久性
POSIX共享內存對象有內核持久性:一個共享內存對象在系統關閉之前一直存在,直到所有進程都解除了映射,且被shm_unlink刪除。
鏈接
使用POSIX共享內存API的程序必須這樣編譯cc -lrt以鏈接到實時庫librt。
通過文件系統訪問共享內存對象
Linux下,共享內存對象在虛擬文件系統中創建,通常掛載在/dev/shm。內核2.6.19以后,Linux支持使用訪問控制列表(ACLs)控制虛擬文件系統中的對象權限。
CONFORMING TO
POSIX.1-2001.
NOTES
典型的,進程必須同步訪問一個共享內存對象,比如POSIX信號量。
System V共享內存(shmget,shmop等)是更老一些的信號量API。POSIX共享內存提供一個簡單的,設計得更好的接口,但POSIX共享內存不如System V共享內存那樣廣泛被支持。
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/.
?
轉載于:https://www.cnblogs.com/huyc/archive/2011/10/31/2230164.html
總結
以上是生活随笔為你收集整理的shm_overview(7)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android开发相关资料整理【2011
- 下一篇: C#操作数据库,DataSet,Data