作业六:共享内存通信程序.pptVIP

  • 10
  • 0
  • 约1.66千字
  • 约 10页
  • 2017-05-07 发布于河南
  • 举报
作业六:共享内存通信程序

作业六 进程IPC通信实验 ——共享内存通信程序 一、实验目的 了解IPC通信中的管道、共享存储区的通信原理和基本技术 掌握在Linux环境下构造这些通信机制的方法和步骤 二、实验内容 用共享存储区方式实现多个进程的通信 多进程通信,其中第一个进程建立共享内存 使用semaphore对共享内存的读写作保护 实现广播功能:每个进程可以发送消息,所有进程都打印收到的所有消息 完善程序,实现有趣的通信 使用 signal 通知其它进程去读取共享内存中的内容 分别给不同进程发送消息 发送结构化的消息,消息内容可变长度 三、预备知识 共享存储区 共享存储区(share memory) 是linux系统中通信速度最快的一种通信机制。该机制允许若干进程共享主存中的某一个区域,并且该区域映射到多个进程的虚拟地址空间中。当进程之间需要利用共享存储区进行通信时,必须先在主存中建立一个共享存储区,然后将它附接到自己的虚拟地址空间上。此后,进程对该区域的访问操作,与对其虚拟地址空间的其他部分的操作可以完全相同,进程之间便可以通过对共享存储区中数据的读、写实现直接通信。 三、预备知识 共享内存相关的系统调用及函数 shmget() :用来创建或获得一个共享存储区。 int shmget(key_t key,size_t size,int shmflag);

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档