SYS V 进程间通信 国防科大操作系统课件.ppt

(1)先根据文件和文件位置查找page cache,因为别的进程可能已经为映射的共享内存区页面已经申请了一个物理页帧。如果找到,修改本进程页表即可。否则继续下一步。 (2)检查被是否映射的共享内存区页面被访问过,但已被换出到交换分区。如果是,则调入该页面,修改进程页表。否则继续下一步。 (3)被映射的共享内存区页面从未被访问过,这种情况向内存子系统申请一个物理页帧,修改进程页表。 进程可以调用shmdt()函数解除地址空间与共享内存区的映射关系,主要是修改页表及释放vm_area_struct结构。 * * 10.6??SYS V 进程间通信 内容 信号量 消息队列 共享内存 10.6.1 三者共有的特性 IPC资源 表示单独的消息队列、共享内存或是信号量集合 三者均有XXXget()及XXXctl()函数 (XXX代表msg、sem、shm三者之一) (a) XXXget()函数 两个共同参数:key和oflag。 key既可由ftok()函数产生,也可以是IPC_PRIVATE常量,key值是IPC资源的外部表示。 oflag包括读写权限,还可以包含IPC_CREATE和IPC_EXCL标志位。它们组合的效果如下: (1)指定key为IPC_PRIVATE保证创建一个唯一的IPC资源。 (2)设置oflag参数的IPC_CREATE标志位但不设置IPC_EXCL

文档评论(0)

1亿VIP精品文档

相关文档