更多技术文章地址:http://www.hqyj.com/news/emb211.htm?lcg-csdn
1.实验目的
通过编写共享内存实验,进一步了解使用共享内存的具体步骤,同时加深对共享内存的理解。在本实验中,采用信号量作为同步机制完善两个进程(“生产者”和“消费者”)之间的通信,其功能类似于4.6节中的实例。在实例中使用信号量同步机制。
2.实验内容
该实现要求利用共享内存实现文件的打开和读写操作。
3.实验步骤
(1)画出流程图。该实验流程图如图1所示。
图1 实验流程图
(2)编写代码。下面是共享内存缓冲区的数据结构的定义:
/* shm_com.h */
#include
#include
#include
#include
#include
#include
#include
#define SHM_BUFF_SZ 2048
struct shm_buff
{
int pid;
char buffer[SHM_BUFF_SZ];
};
以下是“生产者”程序部分:
/* sem_com.h 和 sem_com