shm -- 1




共享存储共享内存允许两个或更多个进程共享一个给定的存储区域,这是最快的一种 IPC但是,当某个进程正在读写共享存储的某个区域时,其他进程同时不应该对该区域进行操作,信号量通常被用来实现对共享存储访问的同步,当然,记录所也可以用于这种场合,但是记录锁在时间上要比信号量多消耗约 60% 共享内存描述结构 -- shmid_ds 结构内核为每个共享存储段设置了一个 shmid_ds 结构struct shmid_ds { struct ipc_perm shm_perm; // 权限结构 size_t shm_segsz; // 存储段大小(字节数) pid_t shm_lpid; // 最后一个操作共享内存段的进程 ID pid_t shm_cpid; // 创建共享内存段的进程 ID shmatt_t shm_nattch; // 连接计数 time_t shm_atime; // 最后执行 attach 操作的时间 time_t shm_dtime; // 最后执行 detach 操作的时间 time_t shm_ctime; // 最后执行 change 操作的时间 ... ... } 各系统的具体实现会包含额外的字段 共享存储的创建与
#读书笔记    #技术帖    #linux    #unix   



京ICP备15018585号