内核为每一个共享内存段维护着一个特殊的数据结构,就是shmid_ds,这个结构在include/linux/中定义
如下:
struct shmid_ds{
struct ipc_perm shm_perm;/* 操作权限*/
int shm_segsz; /*段的大小(以字节为单位)*/
time_t shm_atime; /*最后一个进程附加到该段的时间*/
time_t shm_dtime; /*最后一个进程离开该段的时间*/
time_t shm_ctime; /*最后一个进程修改该段的时间*/
unsigned short shm_cpid; /*创建该段进程的pid*/
unsigned short shm_lpid; /*在该段上操作的最后1个进程的pid*/
short shm_nattch; /*当前附加到该段的进程的个数*/
/*下面是私有的*/
unsigned short shm_npages; /*段的大小(以页为单位)*/
unsigned long *shm_pages; /*指向frames->SHMMAX的指针数组*/
struct vm_area_struct *attaches; /*对共享段的描述*/
};
相关文章
- 数据结构作业——P53算法设计题(6):设计一个算法,通过一趟遍历确定长度为n的单链表中值最大的结点
- 蓝桥杯关于栈这个数据结构的一个算法题目-3.代码解析
- 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数。
- 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。时间复杂度都是O(1)
- shmid_ds 一个特殊的数据结构
- 正则表达式:密码必须至少包含八个字符、至少包含一个数字、小写和大写的字母以及特殊字符
- 从string.size()和string.length()聊到长度的问题和一个关于数据结构定义的技巧
- [数据结构] 用C语言模拟一个简单的队列程序
- (使用STL中的数据结构进行编程7.3.15)UVA 630 Anagrams (II)(求一个单词在字典中出现的次数)
- 在JavaScript中,arguments是对象的一个特殊属性。