实验五Linux消息传递实现(选做)一、实验目的综合利用Linux下的进程间通信机制和同步机制,实现用户空间的消息传递机制。二、实验题目使用共享存储区和信号量机制,编程实现消息传递机制,利用该机制编写应用程序。三、背景材料(一)需要用到的系统调用实验可能需要用到的主要系统调用和库函数在下面列出,详细的使用方法说明通过“man2系统调用名”或者“man3函数名”命令获取。fork()创建一个子进程,通过返回值区分是在父进程还是子进程中执行;wait()等待子进程执行完成;shmget()建立一个共享存储区;shmctl()操纵一个共享存储区;shmat()把一个共享存储区附接到进程内存空间;shmdt()把一个已经附接的共享存储区从进程内存空间断开;semget()建立一个信号量集;semctl()操纵一个信号量集,包括赋初值;semop()对信号量集进行wait和signal操作;signal()设置对信号的处理方式或处理过程。(二)程序功能参考实现的消息传递机制功能可以参考教材上相应章节内容,以及Linux下消息传递相关的系统调用功能。四、实验内容利用共享存储区和信号量实现进程间消息发送、接收的过程,在此基础上编写完成具备实验三中消息传递示例功能的程序。五、实验报告书写要求应在实验报告中说明如下事项:1、相关程序的名称及存储位置,以便指导教师抽查;2、定义的关键数据结构;3、实现的关键函数;4、实际的执行效果及分析。